C语言常见考试题型 联系客服

发布时间 : 星期一 文章C语言常见考试题型更新完毕开始阅读73909eddf12d2af90342e644

常见考试题型

选择题(13年20题,每题1分,共20分)

填空题(13年20分,基本概念、写程序运行结果、完善程序) 判断题(13年10题、每题1分,共10分) 编程题(13年4题,共40分) 其他题型

练习题选讲

选择题

(1) 一个C程序的执行是从 。

A) 本程序的main函数开始,本程序的main函数结束

B) 本程序的第一个函数开始,本程序的最后一个函数结束 C) 本程序的main函数开始,本程序的最后一个函数结束 D) 本程序的第一个函数开始,本程序的main函数结束 (2) C语言源程序名的后缀是 。

A).exe B) .c C) .obj (3) 以下不能用作C语言中的标识符的是 。 A)_ab12cd B)ab12cd_ C)12abcd

(4) 下面关于字符常量的说法错误的是 。

A)一个字符常量代表ASCII字符集中的一个字符

B)单引号中的大写字母和小写字母代表不同的字符常量 C)字符常量只能包含一个字符

D)字符常量可以用单引号或双引号括起来 (5) 以下程序运行后的输出结果是 。 #include main() {

int a=1,b=0;

第 1 页 共 13 页

D) .cpp D)ab12_cd

printf(“%d,”,b=a+b); printf(“%d\\n”,a=2*b); }

A)0,0 B)1,0 C)3,2 D)1,2 (6) 以下关于C语言中初始化的说法中正确的是 。

A)若整型变量在定义时没有初始化,则此时变量的值为0 B)若整型变量在定义时没有初始化,则变量的值是空值

C)若整型数组在定义时做了不完全初始化,则无法确定未指定值的数组元素的取值 D)变量定义时如果没有初始化,则无法确定该变量的值 (7) 已知字符A的ASCII码值是65,以下程序 。

#include void main( ) {

char a='A'; int b=20;

printf(\}

A)表达式非法,输出零或不确定值 C)输出结果为20,142

(8) 下列说法中错误的是 。

B)因输出项过多,无输出或输出不确定值 D)输出结果为66,24

A)只能在循环体内使用break语句

B)在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环

C)在while和do-while循环中,continue语句并没有使整个循环终止

D)continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,继续执行下次循环

(9) 若变量已正确定义并赋值,不符合C语言语法的表达式是 。

A)a=a+7 B)a=7+b+c,8 C)a>b && b>c D)a=a+7=c+b (10) 设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是 。 A)0至255 B)0至65535 (11)以下程序的输出结果是 。

main() {

int x=10,y=10;

printf(“%d %d\\n”,x--,--y);

}

A)10 9 B)9 9 C)9 10 D)10 10

(12)若以下选项中的变量已正确定义,则正确的赋值语句是 。 A)x1=26.8%3 B)x3=0x12 C)1+2=x2 D)x4=1+2=3;

(13)以下表示数学式子“a

A)a=b) && !(b>=c) D)!(a>=b || b>=c) (14)已知字符A的ASCII码值是65,以下程序 。

第 2 页 共 13 页

C)0至32767 D)-32768至32767

#include void main( ) {

char a='A'; int b=20;

printf(\}

A)表达式非法,输出零或不确定值 C)输出结果为20,142

B)因输出项过多,无输出或输出不确定值 D)输出结果为66,24

(15)在下面的条件语句中(其中s1和s2代表C语言的语句),只有一个在功能上与其它三个语句不

等价,它是 【13】 。

A.if(a) s1 ; else s2;

B.if(a==0) s2 ; else s1;

C.if(a!=0) s1 ; else s2; D.if(a==0) s1 ; else s2;

(16)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个

选项是 。 A)k%2 B)k%2==1 C)(k%2)!=0 (17)已知x=3,y=2,则表达式x*=y+8的值为 【4】 。

A)3

B)2

C)30

(18)读下列程序:

#include main( ) {float a,b,t;

scanf(\ if ( a>b) {t=a;a=b;b=t;} printf (\}

运行时从键盘输入3.8和–3.4,则正确的输出结果是 。 A)–3.40,–3.80 B)–3.40,3.80 C)–3.4,3.8 D)3.80,–3.40 (19)运行以下程序,输入6以后的输出结果是 。

#include void main() {

int x,y;

scanf(\ y=0; if(x>=0) {if(x>0)y=1;} else y=-1;

printf(\}

第 3 页 共 13 页

D)!k%2==1 D)10

A)0 B)1 C)-1 D)不确定 (20)已知:int x,a,b;下列选项中错误的if语句是 。

A)if (a=b) x++; B)if (a =

#include \void main() { int x;

scanf(\if(x++>5) printf(\else printf(\

}

A)7和5 B)6和3 C)7和4 (22)以下程序运行后的输出结果是 。

#include \void main() {

int a;

scanf(“%d”,&a); if (a>100) printf(\ else printf(\}

A)100 B)1 C)0 (23)若变量已正确定义,则以下程序段的输出结果是: 。

x=0; y=2; z=3; switch(x) { case 0: switch(y==2) { case 1:printf(\ case 2:printf(\ } case 1: switch(z) { case 1:printf(\ case 2:printf(\ default:printf(\ }

第 4 页 共 13 页

D)6和4

D)不确定