2021年计算机二级C语言习题
2021年计算机二级C语言精选习题
1.下列说法正确的是。
A.在C语言中,可以使用动态内存分配技术定义元素个数可变的数组
B.在c语言中,数组元素的个数可以不确定,允许随机变动
C.在C语言中,数组元素的数据类型可以不一致
D.在C语言中,定义一个数组后.就确定了它所容纳的元素的个数
2.表达式“~0x11”的值是。
A.0xFFEE
B.0x71
C.0x0071
D.0xFFF1
3.下列程序的输出结果是。
main
int p=11,12,13,14,15,16,17,18,i=0,j =0;
whilei++7
ifp[i]%2j+=p[i];
printf“%d\n",j;
A.42
B.45
C.56
D.60
4.下列程序的输出结果是。#included stdi0.h
#included string.h
void funint b[]
递归函数c语言规则static int i=0;
do
b[i]+=b[i+1];
while++i
main
int k,a=1,3,5,4,9; funa;
fork=0;kk++printf"%d",a[k];
A.__
B.__
C.__
D.__
5.有以下程序:
main
int a=1,b=3,C=5,*P;
int*p1=a,*p2=b,*p3=
*p=*p1__p2;
执行后的输出结果是。
A.1
B.2
C.3
D.4
6.有以下程序:
funint x
int P;
ifx==0 || x==lreturn3;
p=__fun__2;
return p;
main
printf"%d\n",fun7;
程序执行后的输出结果是。
A.7
B.3
C.2
D.0
7.下述程序的运行结果是。#included stdio.h
#included strin9.h
main
char*s1="abDuj";
char*s2="ABdUG";
int t;
t=strcmps1,s2;
printf"%d",t;
A.正数
B.负数
C.零
D.不确定的值
8.下列程序中c的二进制值是。
char a=2,b=4,c;
c=a^b2;
A.__
B.__
C.__
D.__
9.函数fseek的正确调用形式是。
A.fseek位移量,起始点,文件类型指针;
B.fseek文件类型指针,位移量,起始点;
C.fseek文件类型指针,起始点,位移量;
D.fseek起始点,位移量,文件类型指针;
10.下列叙述正确的是。
A.C语言中的文件是流式文件,因此只能顺序存取数据
B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D.当对文件的读写操作完成之后,必须将它关闭,否则可能导致数据丢失
参考答案及解析:
1.D。在C语言中,数组元素的个数是确定的,不允许随机变动,数组定义好后,它所能容纳的元素的个数也就确定了,并且同一个数组中所有元素都是同一类型。
2.A。本题主要考查按位求反运算:十六进制整型常量的形式是以数字Ox开头的十六进制字符串;位求反运算的规则是:将二进制表示的运算对象按位取反,即将1变0,将0变1。
3.B。C语言中,数组的下标默认为0,因此数组P的下标从0开始,所以p的范围为0~7。第l次循环i=0,执行循环,得出i=1,因此p[i]为p=12,12%2= 0,不执行后面的语句;接着进行第2次循环,此时i=1,小于7执行循环,并且i自加,得i=2,因此p[i]为p=13,13%2=1,执行后面的语句;依此类推最后退出循环。最后j 的值为:j=13+15+17=45。
4.C。本题考查do-while循环,在fun函数中,首先定义了静态变量i=0,do-while循环要实现的功能是以b=b+b,b=b+b,其他元素不变的
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论