c语言二级考试考试题及答案.doc
c语言二级考试考试题及答案
一、单项选择题(每题2分,共10题)
1.C语言源程序文件的扩展名是()
A..exeB..cC..objD..h
2.以下定义语句中正确的是()
A.inta=b=0;B.charA=65+1,b=b;C.floata=1,b=a,c=b;D.doublea=0.0;b=1.1;
3.若有语句intx=10;x+=x-=x-x;则x的值为()
A.10B.20C.40D.30
4.以下关于函数的叙述中正确的是()
A.每个函数都可以被其它函数调用(包括main函数)
B.每个函数都可以被单独编译
C.每个函数都可以单独运行
D.在一个函数内部可以定义另一个函数
5.若有定义inta[5];则对a数组元素的正确引用是()
A.a[5]B.a(3)C.a[0]D.a[1+5]
6.以下选项中合法的字符常量是()
A.AB.\010C.68D.D
7.以下能正确定义二维数组的是()
A.inta[][3];B.inta[][3]={23};C.inta[][3]={{1,2},{3,4}};D.inta[2][3]={{1,2},{3,4},{5,6}};
8.若有定义和语句:inta=4,b=3,p,q,w;p=a;q=b;w=q;q=NULL;则以下选项中错误的是()
A.q=0;B.w=p;C.p=a;D.p=w;
9.以下程序段的输出结果是()
```c
inta=1234;
printf(%2d\n,a);
```
A.12B.34C.1234D.提示出错、无结果
10.若有定义:chars[100],d[100];intj=0,i=0;且s中已赋字符串,请填空以实现复制。(注:不使用逗号表达式)
```c
while(s[i]){d[j]=____;j++;}
d[j]=0;
```
A.s[i++]B.s[++i]C.s[i]D.s[j]
二、多项选择题(每题2分,共10题)
1.以下属于C语言基本数据类型的有()
A.intB.floatC.doubleD.char
2.下列关于C语言运算符优先级的描述,正确的有()
A.赋值运算符优先级低于算术运算符
B.逻辑与运算符优先级高于逻辑或运算符
C.括号可以改变运算符的优先级
D.自增自减运算符优先级高于算术运算符
3.以下能正确表示C语言常量的有()
A.0x12B.10,000C.aD.1.2e-2
4.下列关于函数参数传递的说法,正确的有()
A.实参可以是常量、变量或表达式
B.形参在函数定义时分配内存空间
C.函数调用时,实参把值传递给形参
D.形参和实参类型必须一致
5.以下关于数组的描述,正确的有()
A.数组名代表数组的首地址
B.数组元素可以是不同类型的数据
C.数组在内存中是连续存储的
D.可以通过数组名直接访问数组元素
6.下列属于C语言预处理命令的有()
A.includeB.defineC.ifD.else
7.以下关于指针的描述,正确的有()
A.指针变量可以指向不同类型的变量
B.指针变量中存储的是地址值
C.可以通过指针访问它所指向的变量的值
D.空指针是值为0的指针
8.以下哪些语句可以用于循环控制()
A.forB.whileC.do-whileD.if
9.以下关于结构体的描述,正确的有()
A.结构体是一种用户自定义的数据类型
B.结构体成员可以是不同类型的数据
C.可以定义结构体数组
D.结构体变量不能作为函数参数
10.以下能用于文件操作的函数有()
A.fopenB.freadC.fwriteD.fclose
三、判断题(每题2分,共10题)
1.C语言中,main函数必须位于程序的开头。()
2.变量必须先定义后使用。()
3.在C语言中,0表示假,非0表示真。()
4.数组下标的起始值是1。()
5.函数可以嵌套调用,也可以嵌套定义。()
6.指针变量的类型是它所指向变量的类型。()
7.用define定义的常量有数据类型。()
8.