计算机二级c语言考试试题及答案
单项选择题(每题2分,共10题)
1.以下选项中,合法的C语言常量是()
A.1.234B.a\0C.AD.2e3.5
答案:A
2.若有定义:inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是()
c=(a-=(b-5));
c=(a%11)+(b=3);
A.3B.4C.5D.9
答案:A
3.以下叙述中正确的是()
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.main函数必须放在其他函数之前
D.所有被调用的函数一定要在调用之前进行定义
答案:A
4.若有定义语句:inta[3][6];按在内存中的存放顺序,a数组的第10个元素是()
A.a[0][4]B.a[1][3]C.a[0][3]D.a[1][4]
答案:B
5.若有定义语句:chars[100],d[100];intj=0,i=0;且s中已赋字符串,请填空以实现复制。(注:不得使用逗号表达式)
while(s[i]){d[j]=;j++;}
d[j]=0;
A.s[i++]B.s[++i]C.s[i]D.s[j]
答案:A
6.以下关于函数返回值的描述中,正确的是()
A.函数返回值的类型不能是指针类型
B.函数返回值的类型由return语句中表达式的类型决定
C.函数返回值的类型由函数定义时函数首部所指定的函数类型决定
D.函数都必须有返回值
答案:C
7.若有定义语句:inta[2][3],p[3];则以下语句中正确的是()
A.p=a;B.p[0]=a;C.p[0]=a[1][2];D.p[1]=a;
答案:C
8.以下程序段中,与其他三个功能不同的程序段是()
A.if(a)printf(%d\n,x);elseprintf(%d\n,y);
B.if(a==0)printf(%d\n,y);elseprintf(%d\n,x);
C.if(a!=0)printf(%d\n,x);elseprintf(%d\n,y);
D.if(a==0)printf(%d\n,x);elseprintf(%d\n,y);
答案:D
9.若有定义语句:intx=12,y=8,z;执行语句z=0.9+x/y;后,z的值为()
A.1B.1.9C.2D.2.4
答案:A
10.以下关于结构体的描述中,错误的是()
A.结构体是一种用户自定义的数据类型
B.结构体中可包含不同数据类型的成员
C.结构体成员不能是结构体类型
D.可以定义结构体数组
答案:C
多项选择题(每题2分,共10题)
1.以下属于C语言基本数据类型的有()
A.intB.floatC.charD.double
答案:ABCD
2.以下关于数组的描述正确的有()
A.数组名代表数组的首地址
B.数组元素可以是不同类型的数据
C.可以通过下标访问数组元素
D.数组在内存中是连续存储的
答案:ACD
3.以下哪些是合法的C语言标识符()
A._abcB.123abcC.mainD.a-b
答案:AC
4.以下关于函数的说法正确的有()
A.函数可以没有参数
B.函数可以没有返回值
C.函数可以嵌套定义
D.函数可以嵌套调用
答案:ABD
5.以下哪些运算符在C语言中有逻辑运算功能()
A.B.||C.!D.
答案:ABC
6.以下关于指针的描述正确的有()
A.指针变量可以指向不同类型的变量
B.指针变量存储的是内存地址
C.可以对指针进行算术运算
D.指针可以作为函数参数
答案:BCD
7.以下哪些语句可以用于循环控制()
A.for语句B.while语句C.do-while语句D.switch语句
答案:ABC
8.以下关于结构体和共用体的区别,正确的有()
A.结构体各成员占用不同内存空间,共用体成员共享同一内存空间
B.结构体和共用体定义方式不同
C.结构体可以嵌套,共用体不能
D.结构体和共用体成员访问方式不同
答案:AB
9.以下关于文件操作的函数有()
A.fopenB.freadC.fwriteD.scanf
答案:ABC
10.以