贵州大学2012-2013学年第二学期考试复习题
C语言程序设计
一、单选题(请将正确答案写在答题纸,1~20题每题1分,21~35题每题2分,共50分)
1. 下列关于C语言的说法不正确的是(D )。
A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能 B.注释可以出现在程序中任意合适的地方
C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分 D.定义函数的首行要加分号
声明才要 ;
2. C语言程序的执行顺序是( B )。
A.从第一个函数开始执行 B.从main函数开始执行 C.从任意函数开始执行 D.从第一条语句开始执行
3. 以下关于注释的叙述,正确的是( D )。 A.注释参与编译,影响程序结果 B.注释不参与编译,但影响程序结果 C.注释参与编译,但不影响程序结果
D.注释不参与编译,不影响程序结果
4. 以下叙述正确的是( A )。
A.C语言程序可以在任意C编译器下编译 B.C语言程序只能在TC环境下编译
C.C语言程序只能在VC或TC环境下编译 D.C语言程序只能在VC环境下编译
5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( B )。 A.必须为字母
B.必须为下划线或字母 C.必须为下划线
D.可以是字母,数字和下划线中任一字符
第1页共11页
6. 下面四个数字常量选项中,书写均正确的是( D )。二进制 八进制 十进制 A.016 0x8f 018 B.0312 7ff -087 C.0xbc 0a7 0xa D.070 0xf1 0x19 八 十六
7. 若有说明语句:char c=0x7f;则变量c( B )。 A.包含3个字符 B.包含1个字符
C.包含2个字符 D.说明不合法,c的值不确定
8. 设有int x=11;则表达式(++x*1/3)的值是( B )。 A.3 B.4 C.11 D.12
9. 阅读下面程序段,输出结果为( C )。
#include \void main() { char c;
c=('z'-'a')/3+'A'; putchar(c);}
A.H B.J C.I D.K
10. 若有定义和语句:int a=23,b=023; printf(“%x,%d \\n”,a,b); 输出结果是( D )。
A. 17,15 B.17,18 C.18,19 D. 17,19
11. 已有定义语句:int x=3,y=4,z=5;则值为0的表达式是( D )。 A.y%z>=y-z B.x<=++y C.x!=y+z>y-z D.x>y++
12. 有如下程序
#include \void main() {float x=3.0,y; if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x; else y=1.0;
printf(\\n\
该程序的输出结果是( A )。
A. 0.333333 B.0.250000 C. 0.000000 D.1.000000
13. 有以下程序
#include
{ if (i%3==1)
第2页共11页
if (i%5==2)
{ printf(\i++;
} while(i!=0); printf(\}
程序的运行结果是( C )。
A.*2*6 B.*3*5 C.*7 D.*5
14. 以下程序段的变量已正确定义
for(i=0;i<4;i++,i++,i++)
for(k=1;k<3;k++)printf(\
程序段的输出结果是( B )。
A.######## B.#### C.## D.#
15. 有以下程序
#include
{ int s[12]={2,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++)c[s[i]]++;
for(i=1;i<5;i++)printf(\printf(\
程序的运行结果是( A )。
A. 3 4 3 2 B.2 3 4 4 C. 1 2 3 4 D.1 1 2 3
16. 有下列程序:
#include
void f(char p[ ][10],int n) { char t[10]; int i,j; for (i=0;i if(strcmp(p[i], p[j])>0) {strcpy(t, p[i]); strcpy(p[i], p[j]); strcpy(p[j], t); } } void main( ) { char p[5][10]={\f(p, 5); printf(\ 程序运行后的输出结果是( D )。 A.2 B.4 C.6 D.3 17. 有下列程序: 第3页共11页