c语言程序设计自考试题及答案
一、单项选择题(每题2分,共10题)
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.inta[2][2]={{1},{2}};
B.inta[][2]={1,2,3,4};
C.inta[2][2]={{1},2,3};
D.inta[2][2]={{1,2},{3,4}};
答案:C
4.在C语言中,函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用该函数的主调函数类型
C.定义函数时所指定的函数类型
D.传递给函数的实参类型
答案:C
5.若有以下定义和语句:
chars1[10]=abcd,s2[10]=efg;
strcat(s1,s2);
则s1的值为()
A.abcdefg
B.efg
C.abcd
D.不确定
答案:A
6.若有定义:intx=10;则表达式x/33的值是()
A.9
B.10
C.11
D.12
答案:A
7.以下关于函数的叙述中正确的是()
A.每个函数都可以被其它函数调用(包括main函数)
B.每个函数都可以单独编译
C.每个函数都必须有返回值
D.函数体中必须有变量定义
答案:B
8.若有定义:inta=3,b=4,c=5;则表达式!(a+b)+c-1b+c/2的值是()
A.0
B.1
C.2
D.-1
答案:B
9.若有以下程序段:
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
10.若有定义:intp,a=4;p=a;则以下代表地址的表达式是()
A.p
B.p
C.a
D.a
答案:C
二、多项选择题(每题2分,共10题)
1.以下关于C语言标识符的叙述中,正确的是()
A.标识符可由字母、数字和下划线组成
B.标识符必须以字母或下划线开头
C.标识符不能与C语言关键字相同
D.大写字母和小写字母代表的标识符是不同的
答案:ABCD
2.下列关于C语言数据类型的叙述中,正确的是()
A.枚举类型是基本数据类型
B.数组属于构造数据类型
C.指针是一种特殊的数据类型
D.结构体类型是构造数据类型
答案:BD
3.以下关于函数的说法正确的是()
A.函数可以没有参数
B.函数可以没有返回值
C.函数可以嵌套定义
D.函数可以递归调用
答案:ABD
4.若有定义:inta=10,b=20,c=30;则以下表达式值为1的有()
A.abbc
B.ab||bc
C.!(ab)
D.a!=b
答案:ACD
5.以下关于数组的叙述中,正确的是()
A.数组名是一个常量指针
B.数组元素的下标从0开始
C.二维数组在内存中按行优先存储
D.数组的大小在定义时可以不指定
答案:ABC
6.以下关于指针的叙述中,正确的是()
A.指针变量可以存储任何类型的数据
B.指针变量占用的内存空间大小与所指对象类型有关
C.可以通过指针变量间接访问它所指向的变量
D.指针变量的类型必须与它所指向的变量类型相同
答案:CD
7.以下关于结构体的叙述中,正确的是(