计算机国家等级考试二级c试题及答案
一、单项选择题(每题2分,共20分)
1.在C语言中,合法的字符常量是()。
A.\084
B.\x43
C.ab
D.\0
答案:B
2.若有定义:inta=5;则表达式a++的值是()。
A.5
B.6
C.4
D.7
答案:A
3.以下能正确定义一维数组的选项是()。
A.intnum[];
B.defineN100;intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
答案:B
4.若有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));则该函数调用语句中,含有的实参个数是()。
A.3
B.4
C.5
D.2
答案:A
5.在C语言中,函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用该函数时的主调函数类型
C.定义该函数时所指定的函数类型
D.形参的数据类型
答案:C
6.若已定义:inta=5;以下表达式中结果为2的是()。
A.a/2.5
B.(float)a/2.5
C.a%2.5
D.(int)(a/2.5)
答案:D
7.以下叙述中正确的是()。
A.C语言程序将从源程序中第一个函数开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D.main可作为用户标识符,用以命名任意一个函数作为主函数
答案:C
8.若有定义:inta=2,b=3,c=1;则表达式(ab?a:b)==c的值是()。
A.1
B.2
C.3
D.0
答案:A
9.以下程序的输出结果是()。
includestdio.h
voidmain(){
inta=12,b=12;
printf(%d,%d\n,--a,++b);
}
A.11,13
B.12,12
C.11,12
D.12,13
答案:A
10.在C语言中,以下关于数组的描述正确的是()。
A.数组名不可以作为实参传递给函数
B.数组下标的下限是1
C.数组的大小在运行时可以改变
D.可以通过赋初值的方式确定数组的大小
答案:D
二、多项选择题(每题2分,共20分)
1.以下哪些是C语言中的基本数据类型()。
A.int
B.float
C.double
D.char
E.struct
答案:ABCD
2.下列关于指针的说法正确的是()。
A.指针变量可以指向任何类型的变量
B.指针变量占用的内存空间大小与所指向变量的类型有关
C.可以通过指针间接访问变量的值
D.指针变量可以进行算术运算
E.空指针不指向任何有效地址
答案:ACDE
3.在C语言中,以下哪些情况会导致语法错误()。
A.变量未定义就使用
B.语句结束没有分号
C.函数调用时实参与形参类型不匹配
D.数组下标越界
E.定义常量时没有初始化
答案:ABC
4.以下关于函数的叙述正确的是()。
A.函数可以嵌套定义
B.函数可以有多个返回值
C.函数可以没有参数
D.函数可以调用自身
E.函数的参数传递可以是值传递也可以是地址传递
答案:CDE
5.若有定义:inta[5];以下哪些操作是合法的()。
A.a[5]=10;
B.a[0]=5;
C.a[1.5]=3;
D.scanf(%d,a[2]);
E.for(inti=0;i5;i++)a[i]=i;
答案:BDE
6.以下关于C语言中结构体的说法正确的是()。
A.结构体成员可以是不同类型的数据
B.结构体变量可以直接赋值
C.可以定义结构体数组
D.结构体中不能包含指针成员
E.结构体的大小等于各成员大小之和
答案:ABC
7.在C语言中,以下关于文件操作的说法正确的是()。
A.可以用f