第 1 页:选择题 |
第 3 页:程序填空题 |
第 4 页:程序修改题 |
第 5 页:程序设计题 |
点击查看:2017年12月计算机二级《C语言》强化模拟题汇总
一、选择题(每小题1分,共40分)
1[单选题] 若有定义语句:double a,* P=&a;以下叙述中错误的是( )。
A.定义语句中的*号是一个间址运算符
B.定义语句中的*号是一个说明符
C.定义语句中的P只能存放double类型变量的地址
D.定义语句中,*P=&a把变量a的地址作为初值赋给指针变量P
参考答案:A
参考解析:在变量定义double a,* P=&a;中,*号是一个指针运算符,而非间址运算符,所以A错误。
2[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.321
B.12300
C.1
D.123
参考答案:D
参考解析:程序首先将数组a[10]中的元素1、2、3分别写入了文件dl.dat文件中,然后又将dl.dat文件中的数据123,整体写入到了变量n的空间中,所以打印n时输出的数据为123。
3[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.1,0,7,0,
B.1,2,3,4,
C.1,4,5,9,
D.3,4,8,l0,
参考答案:A
参考解析:该程序首先在定义变量时,对二维数组a[][N]进行赋值操作;调用函数fun,函数fun的功能是将二维数组中的a[0][0]、a[1][1]、a[2][2]和a[3][3]赋值给一维数组,最后将一维数组元素1,O,7,0,输出。
4[单选题] 有以下程序段:
程序运行后的输出结果是( )。
A.a=10 b=50 c=30
B.a=10 b=50 c=10
C.a=10 b=30 c=10
D.a=50 b=30 c=50
参考答案:B
参考解析:本题中a>b的条件不满足,所以不执行逗号表达式a=b,b=c;的操作,而是执行c=a操作,即c的值为10。
5[单选题] 有以下程序:
程序执行后的输出结果是( )。
A.y=0
B.y=-1
C.y=1
D.while构成无限循环
参考答案:B
参考解析:执行y--直到值为0,由于y--是先用再减,所以退出循环时,y的值为-l。
6[单选题] 若有定义语句:int x=10;,则表达式x-=x+x的值为( )。
A.0
B.-20
C.-10
D.10
参考答案:C
参考解析:算术运算符+的优先级高于-=,且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成x=x-(x+x)=10-(10+10)=-10,选择C。
7[单选题] 有以下程序段:
程序段:
当执行上述程序段,从键盘上输入555667777abc后,Y的值为( )。
A.566.0
B.55566.0
C.7777.0
D.566777.0
参考答案:A
参考解析:它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。其中的格式命令可以说明最大域宽。在百分号(%)与格式码之间的整数用于限制从对应域读入的最大字符数。所以j的值为55,y的值为566.0,字符数组name为7777abc。
8[单选题] 若有定义语句:double x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是( )。
A.scanf(”%If%le”,px,py);
B.scanf(”%f%f”&x,&y);
C.sceanf(”%f%f”,x.y);
D.scanf(”%If%If'’,x,y);
参考答案:A
参考解析:因为x,y都是double型数据,所以输入时的格式字符应为%lf,所以B与C错误。D选项中scanf("%lf%If",x,y);应为scanf(“%If%If"”,&x,&y);。
9[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.1,2
B.1,0
C.3,2
D.0,0
参考答案:A
参考解析:首先打印b=a+b=1+0=1的值1,此时已给b赋值为1。然后打印a=2*b=2*1=2的值2。所以结果是1,2。
10[单选题] 有两个关系R、S如下:
由关系R通过运算得到关系S,则所使用的运算为( )。
A.选择
B.投影
C.插入
D.连接
参考答案:B
参考解析:投影运算是指对于关系内的域指定可引入新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。所以选择B。
相关推荐:
【考试吧整理】计算机等级考试各科目历年真题