c语言省二级考试笔试试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,合法的字符常量是()
A.\084B.\x43C.abD.\0
答案:B
2.若有定义:inta=5;则表达式a++的值是()
A.5B.6C.4D.7
答案:A
3.C语言中,函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用该函数的主调函数类型
C.定义函数时所指定的函数类型
D.形参的数据类型
答案:C
4.以下数组定义中错误的是()
A.intx[2][3]={1,2,3,4,5,6};
B.intx[][3]={0};
C.intx[2][3]={{1,2},{3,4},{5,6}};
D.intx[2][3]={1,2,3};
答案:C
5.若有语句:intp,a=4;p=a;下面均代表地址的一组选项是()
A.a,p,a
B.a,a,p
C.p,p,a
D.a,p,p
答案:D
6.在C语言中,逻辑“真”等价于()
A.非0的数B.大于0的数C.1D.-1
答案:A
7.以下程序段的输出结果是()
inti=0,sum=0;
while(i5){
sum+=i;
i++;
}
printf(%d,sum);
A.10B.15C.20D.5
答案:A
8.若有定义:structstudent{
intnum;
charname[20];
floatscore;
};
structstudentstu;
则对结构体变量stu的成员num正确的引用是()
A.student-num
B.stu-num
C.(stu).num
D.stu.num
答案:C
9.C语言中,文件由()组成。
A.记录
B.数据行
C.数据块
D.字符(字节)序列
答案:D
10.以下叙述中正确的是()
A.全局变量的作用域一定比局部变量的作用域范围大
B.静态(static)类别变量的生存期贯穿于整个程序的运行期间
C.函数的形参都属于全局变量
D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值
答案:B
二、多项选择题(每题2分,共10题)
1.以下关于C语言数据类型的描述正确的是()
A.基本数据类型包括整型、实型、字符型等
B.枚举类型是用户自定义的数据类型
C.结构体类型可以包含不同类型的成员
D.共用体类型的所有成员共用同一段内存空间
答案:ABCD
2.下列哪些是合法的C语言标识符()
A._abc
B.123abc
C.abc_123
D.abc
答案:AC
3.对于以下定义:inta[10],p=a;以下哪些表达式是正确的()
A.p++
B.a++
C.(p+2)
D.a+2
答案:ACD
4.在C语言中,函数的参数传递方式有()
A.值传递
B.地址传递
C.引用传递
D.指针传递
答案:AB
5.以下关于C语言中循环语句的描述正确的是()
A.for循环可以用于循环次数确定的情况
B.while循环先判断条件再执行循环体
C.do-while循环至少会执行一次循环体
D.可以用break语句跳出任何循环
答案:ABC
6.若有以下结构体定义:
structpoint{
intx;
inty;
};
以下哪些操作是正确的()
A.structpointp;p.x=1;p.y=2;
B.structpointpp;pp=(structpoint)malloc(sizeof(structpoint));pp-x=1;pp-y=2;
C.structpointarr[2];arr[0].x=1;arr[0].y=2;
D.structpointpp;pp=arr[0];(pp).x=1;(pp).y=2;
答案:ABCD
7.以下关于C语言文件操作的描述正确的是()
A.可以用fopen函数打开一个文件
B.fread函数用于从文件中读取数据
C.fwrite函数用于向文件中写入数据