首页 > 全部 > 二级C语言 > 二级C语言选择题专项强化真题试卷28

二级C语言选择题专项强化真题试卷28

本单篇文档共6874字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 真题试卷 5647人下载
价格: 0.80 原价:¥9.00
收藏

二级C语言选择题专项强化真题试卷28

选择题

1.有两个关系R,S如下:

(B)

A. 选择

B. 投影

C. 插入

D. 连接

解析:关系S是由关系R的第1、2列的元组组成,很显然这是对关系R进行投影运算的结果。可以简单理解为:选择运算是对行的操作,投影运算是对列的操作。投影是指将对象转换为一种新形式的操作,该形式通常只包含那些将随后使用的属性。由选择、投影、插入、连接的定义可知,本题所使用的运算是投影。

2.有以下程序:

#include<stdio.h>

main()

{

int a,b;

for(a=0;a<3;a++)

{

scanf(\\(A)

A. 2 3 3 4 5 6

B. 2 3 4

C. 2 2 3 4 4 4

D. 2 3 4 3 4 4

解析:本题是一个循环结构嵌套选择结构,按照外层循环,内层选择一步一步处理即可。重点注意地是,switch语句中并没有出现break语句,所以内层循环是不会跳出的。

3.一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般都有一个教练,则实体运动队和队员的联系是( )。(A)

A. 一对多

B. 一对一

C. 多对一

D. 多对多

解析:一个运动队有多个队员,表明在运动队表中的每个队与队员表中的一个或多个队员相关;一个队员仅属于一个运动队,表明队员表中的每个队员只可以与运动队表中的一个队相关,为一对多关系。故正确答案为A。

4.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(B)

A. 循环队列

B. 栈

C. 队列

D. 二叉树

解析:栈是按“先进后出”的原则组织数据的;队列是按“先进先出”的原则组织数据的,因此本题答案为B。

5.设有定义:double x=5.16894;,则语句printf(\\(A)

A. 5.16900

B. 5.16800

C. 0.00000

D. 输出格式说明符与输出项不匹配,产生错误信息

解析:(x*1000+0.5)表示x向右移动3位小数,加0.5,也就是x的小数第4位加5,若这位大于等于5,则进1到个位。因为“5.16894*1000=5168.94,5168.94+0.5=5169.44”,所以(int)(x*1000+0.5)强制转换为整型结果为5169。“5169/1000.0=5.169”,由于分母1000.0为浮点型所以结果自动转换为浮点数,故printf(“%If\n”,5.169)结果是5.16900。故答案为A选项。

6.以下函数实现按每行8个输出w所指数组中的数据:

#include<stdio.h>

void fun(int*w,int n)

{int i;

for(i=0;i<n;i++)

{

______________

prinff(\\(C)

A. if(i/8==0)prinff(\\

B. if(i/8==0)continue;

C. if(i%8==0)prinff(\\

D. if(i%8==0)continue;

解析:要按照每行8个输出数据的话,横线处语句的功能应付该为:当i是8的倍数时(即i%8==0),输出一个换行符。因此C选项正确。

7.以下合法的转义字符是( )。(D)

A. ’\0X41’

B. ’\0x41’

C. ’\X41’

D. ’\x41’

解析:“\xhh”表示1到2位十六进制所代表的字符,故答案为D选项。

8.下列关于线性链表的叙述中,正确的是( )。(C)

A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致

B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续

C. 进行插入与删除时,不需要移动表中的元素

D. 以上说法均不正确

解析:一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。

9.以下选项中的编译预处理命令行,正确的是( )。(A)

A. #define E 2.38

B. ##define PI_2 1.56

C. #define int INT

D. #DEFINE TRUE

解析:无参宏定义格式:#deftne标识符字符串,标识符与C语言规定相同,因此,可知选项B多了一个#,选项C使用了C语言的关键字,选项D格式不对。因此答案为A选项。

10.以下叙述中错误的是( )。(A)

A. 可以通过typedef增加新的类型

B. 可以用typedef将已存在的类型用一个新的名字来代表

C. 用typedef定义新的类型名后,原有类型名仍有效

D. 用typedef可以为各种类型起别名,但不能为变量起别名

解析:关键字typedef的作用只是将C语言中的已有的数据类型作了置换,并不是增加新的类型,所以A)错误。

11.有以下程序:

#include

struet S

{ int a,b;}data[2]={10,100,20,200};

main()

{struct S p=data[1];

printf(\\(D)

A. 10

B. 11

C. 20

D. 21

解析:声明data是结构s数组。初始化data[0].a=10;,data[0].b=100;,data[1].a=20;,data[1].b=200。主函数中p=data[1];,即p.a:data[1].a;,p.b:data[1].b;。执行语句printf(\\

12.有以下程序:

#include<stdio.h>

main( )

{

char a=4:

prinff(\\(B)

A. 16

B. 8

C. 40

D. 4

解析:本题考查位运算,题目中将4向左移一位然后重新赋值给a,4左移一位为8,程序运行结果为8,选项B正确。

13.以下叙述中正确的是( )。(A)

A. 在C语言中,预处理命令行都以“#”开头

B. 预处理命令行必须位于C源程序的起始位置

C. #include必须放在C程序的开头

D. C语言的预处理不能实现宏定义和条件编译的功能

解析:预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,所以B)、C)错误。C)语言的预处理能够实现宏定义和条件编译等功能,所以D)错误。

14.下

本文档预览:3600字符,共6874字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
二级C语言选择题专项强化真题试卷28

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号