二级计算机技能考试c语言试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,合法的字符常量是()
A.\084
B.\x43
C.ab
D.\0
答案:D
2.若有定义:inta=5;则表达式a+=a-=aa的值是()
A.-40
B.40
C.-25
D.25
答案:A
3.以下叙述中正确的是()
A.C语言中的函数不可以单独进行编译
B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C.C源程序经编译形成的二进制代码可以直接运行
D.C语言中的函数不可以嵌套定义
答案:D
4.若变量已正确定义,在if(W)printf(%d\n,k);中,以下不可替代W的是()
A.ab+c
B.ch=getchar()
C.a=b+c
D.a++
答案:A
5.有以下程序段:
inti,n;
for(i=0;i8;i++)
{
n=rand()%5;
switch(n)
{
case1:
case3:printf(%d,n);break;
case2:
case4:printf(%d,n);continue;
case0:exit(0);
}
}
以下关于程序段执行情况的叙述,正确的是()
A.for循环语句固定执行8次
B.当产生的随机数n为4时结束循环操作
C.当产生的随机数n为0时结束程序运行
D.当产生的随机数n为1和2时不做任何操作
答案:C
6.设已有定义:floatx;则以下对指针变量p进行定义且赋初值的语句中正确的是()
A.intp=(float)x;
B.floatp=x;
C.floatp=x;
D.floatp=1024;
答案:B
7.以下叙述中错误的是()
A.函数形参的值也可以传回给对应的实参
B.函数调用可以作为一个独立的语句存在
C.若函数有返回值,必须通过return语句返回
D.C程序必须由一个或一个以上的函数组成
答案:A
8.若有以下程序
includestdio.h
voidmain()
{
inta=1,b=2,c=3,d=4,r=0;
r=(ab?a:b);
r=(rc?r:c);
r=(rd?r:d);
printf(%d\n,r);
}
程序运行后的输出结果是()
A.1
B.2
C.3
D.4
答案:A
9.若有定义:inta[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为()
A.((a+i)+j)
B.(a+i)[j]
C.(a+i+j)
D.(a+i)+j
答案:A
10.以下叙述中正确的是()
A.用include包含的头文件的后缀必须是.h
B.若一些源程序中包含某个头文件;当该头文件有错时,只需对该头文件进行修改,包含此头文件所有源程序不必重新进行编译
C.宏命令行可以看作是一行C语句
D.预处理是在编译之前进行的
答案:D
二、多项选择题(每题2分,共10题)
1.以下关于C语言数据类型使用的叙述中正确的是()
A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
B.数组元素可以是结构体类型
C.只有整型数可以使用八进制数形式表示
D.逻辑类型数据只有两种值:0和1
答案:AB
2.以下关于C语言函数的叙述中正确的是()
A.在C语言程序中,被调用的函数必须在main函数之前定义
B.函数的返回值类型由函数定义时的类型标识符决定
C.函数可以嵌套调用
D.函数可以没有返回值
答案:BCD
3.下列关于指针的说法正确的是()
A.指针变量的值是一个地址
B.可以将一个整型常量赋给一个指针变量
C.指针变量可以指向同类型的变量
D.指针变量可以进行关系运算
答案:ACD
4.以下关于数组的说法正确的是()
A.数组元素的类型可以是基本数据类型,也可以是结构体等构造类型
B.数组名是一个常量指针
C.数组的大小在定义时必须指定且不能改变
D.可以通过指针访问数组元素
答案:ABCD
5.在C语言中,以下关于条件语句的说法正确的是()
A.if语句可以没有else子句
B.if语句中的表达式可以是任何类型
C.嵌套的if语句中内层if语句可以是一条简