国家三级计算机c考试试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,合法的字符常量是()
A.\084B.\x43C.abD.\0
答案:B
2.若有定义:inta=5;则表达式a+=a-=aa的值是()
A.-40B.-20C.-15D.20
答案:A
3.以下能正确定义一维数组的选项是()
A.intnum[];
B.defineN100;intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
答案:B
4.在C语言中,函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用该函数的主调函数类型
C.定义函数时所指定的函数类型
D.形参的数据类型
答案:C
5.若有以下程序段:
inta[]={4,0,2,3,1};
inti,j,t;
for(i=1;i5;i++){
t=a[i];
j=i-1;
while(j=0ta[j]){
a[j+1]=a[j];
j--;
}
a[j+1]=t;
}
则该程序段的功能是()
A.对数组a进行插入排序(升序)
B.对数组a进行插入排序(降序)
C.对数组a进行选择排序(升序)
D.对数组a进行选择排序(降序)
答案:A
6.以下关于宏的叙述中正确的是()
A.宏名必须用大写字母表示
B.宏定义必须位于源程序中所有语句之前
C.宏替换没有数据类型限制
D.宏调用比函数调用耗费时间
答案:C
7.若有定义:inta=2,b=3,c=1;则表达式(ab)?(ac?a:c):(b)的值是()
A.0B.1C.2D.3
答案:D
8.在C语言中,以下说法正确的是()
A.函数可以嵌套定义,但不能嵌套调用
B.函数可以嵌套调用,但不能嵌套定义
C.函数既不能嵌套定义,也不能嵌套调用
D.函数既能嵌套定义,也能嵌套调用
答案:B
9.若有定义:structstudent{
charname[20];
intage;
floatscore;
};
structstudentstu[3]={{Tom,18,80},{Jerry,19,85},{Mickey,20,90}};
则表达式stu[1].age的值是()
A.18B.19C.20D.85
答案:B
10.若有定义:intp;使p指向动态分配的存储单元的正确语句是()
A.p=(int)malloc(sizeof(int));
B.p=(int)calloc(1,sizeof(int));
C.p=(int)realloc(NULL,sizeof(int));
D.以上都对
答案:D
二、多项选择题(每题2分,共10题)
1.以下属于C语言基本数据类型的是()
A.整型B.浮点型C.字符型D.枚举型E.结构体类型
答案:ABC
2.以下关于指针的说法正确的是()
A.指针变量可以指向基本数据类型变量
B.指针变量可以指向数组元素
C.指针变量可以指向函数
D.指针变量可以指向结构体变量
E.指针变量可以指向文件
答案:ABCDE
3.在C语言中,以下哪些是合法的循环结构()
A.for循环
B.while循环
C.do-while循环
D.switch-case循环
E.goto循环
答案:ABC
4.若有定义:inta[5];则以下哪些表达式可以表示数组a的元素()
A.a[0]B.(a+0)C.aD.a[5]E.(a+1)
答案:ABCE
5.以下关于函数的说法正确的是()
A.函数可以有返回值,也可以没有返回值
B.函数的形参可以是基本数据类型,也可以是指针类型
C.函数可以调用自身,这称为递归调用
D.函数的定义可以放在主函数之前,也可以放在