C语言题库1

  • 格式:doc
  • 大小:821.50 KB
  • 文档页数:112

1 单选题:(每题2分,共80分) 1、下列不合法的十六进制数是( ) (2分)

A. oxff B. 0Xcde C. Oxll D. Ox23

参考答案: A 2、将三个数排序需要比较______次。 (2分) A. 2 B. 3 C. 4 D. 不确定

参考答案: B 3、以下程序的输出结果是 main( ) { int k=17; printf("%d,%o,%x \n",k,k,k); } (2分) A. 17,021,0x11 2

B. 17,17,17 C. 17,0x11,021 D. 17,21,11

参考答案: D 4、在C语言中,合法的字符常量是______. (2分) A. '\084' B. '\x43' C. 'ab' D. ″\0″

参考答案: B 5、在C语言中,int、char和short三种类型数据在内存中所占用的字节数 (2分) A. 由用用户自己定义 B. 均为2个字节 C. 是任意的 D. 由所用机器的机器字长决定 3

参考答案: D 6、若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为

(2分) A. 1.4 B. 1 C. 2.0 D. 2

参考答案: B 7、设有说明语句:char a='\72';则变量a (2分) A. 包含1个字符 B. 包含2个字符 C. 包含3个字符 D. 说明不合法

参考答案: A 8、若有以下说明和语名: int a=5,m; 4

m=a++; 此处表达式m的值是____ (2分) A. 7 B. 6 C. 5 D. 4

参考答案: C 9、以下程序的输出结果是______ main() { int x=10,y=10; printf("%d%d\n",x--,--y); } (2分) A. 10 10 B. 9 9 C. 9 10 D. 10 9 5

参考答案: D 10、下列选项中,不正确的赋值语句是_____ (2分) A. ++t; B. n1=(n2=(n3=0)); C. k=1=j; D. a=b+c=1;

参考答案: C 11、以下程序段的输出结果是 int a=1234; printf("%2d\n",a); (2分) A. 12 B. 34 C. 1234 D. 提示出错、无结果

参考答案: C 12、为表示关系x ≥ y ≥ z,应使用C语言表达式_________。 (2分) A. (x > =y)&&(y > =z) 6

B. (x > =y)AND(y > =z) C. (x > =y > =z) D. (x > =y)&(y > =z)

参考答案: A @13、设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行 (m=a>b)&&(n=c>d)后n的值是 (2分) A. 1 B. 2 C. 3 D. 4

参考答案: B 14、判断char型变量cl是否为小写字母的正确表达式是 (2分) A. 'a'<=cl<='z' B. (cl>=a)&&(cl<=z) C. ('a'>=cl)||('z'<=cl) D. (cl>='a')&&(cl<='z') 7

参考答案: D 15、能正确表示逻辑关系:"a ≥ =10或a ≤ 0"的C语言表达式是

(2分) A. a > =10 or a < =0 B. a > =0||a < =10 C. a > =10 &&a < =0 D. a < =0 || a>=10

参考答案: D 16、执行下面语句后的输出为( ) int i= -1; if (i < =0)printf("****\n"); else printf("%%%%\n"); (2分) A. **** B. %%%% C. %%%%C D. 有语法错,不能执行 8

参考答案: A 17、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为________。 (2分) A. a < > 0 B. !a C. a=0 D. a!=0

参考答案: D @18、若K为整型,以下while循环执行( )次 K=0; while (K=0) K=K-1; (2分) A. 执行10次 B. 无限循环 C. 一次也不执行 D. 执行一次

参考答案: C @19、以下程序的输出结果是() 9

void main() {int y=5; whlie(y--) ; printf("y=%d\n",y); } (2分) A. y=0 B. y=1 C. y=-1 D. 无限循环

参考答案: C 20、C语言中while和 do...while循环的主要区别() (2分) A. do...while的循环体至少执行一次 B. while的循环条件比do...while的循环条件严格 C. do...while循环允许从外部转到循环体内 D. do...while的循环体不能是复合语句

参考答案: A 21、如果输入为:ABCdef 执行下面一段程序后,则输出为: main( ) {char ch; while((ch=getchar( ))!='\n') { if(ch > ='A' && ch < ='Z')ch=ch+32; 10

else if(ch > ='a' && ch < 'z')ch=ch-32; printf("%c",ch); } printf("\n"); } (2分) A. ABCdef B. abcDEF C. abc D. DEF

参考答案: B 22、以下选项中正确的定义语句是() (2分) A. double a;b; B. double a=b=0; C. double a=7,b=0; D. double,a,b;

参考答案: C @23、若有说明 int a[3][4];则对a数组元素的正确引用是 (2分) 11

A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1)

参考答案: C @24、若有说明 int a[3][4];则a数组元素的非法引用是 (2分) A. a[0][2*1] B. a[1][3] C. a[4-2][0] D. a[0][4]

参考答案: D 25、以下不能对二维数组a进行正确初始化的语句是 (2分) A. int a[2][3]={0}; B. int a[][3]={{1,2},{0}}; C. int a[2][3]={{1,2},{3,4},{5,6}}; D. int a[][3]={1,2,3,4,5,6}; 12

参考答案: C 26、设有数组定义:char array[]=”China”;,则数组array所占的空间为( )。 (2分) A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节

参考答案: C @27、以下程序运行后,输出结果是 #define PT 5.5 #difine S(x) PT*x*x main() { int a=1,b=2; print ("%4.lf/n",S(a+b)); } (2分) A. 49.5 B. 9.5 C. 22.0 D. 45.0 13

参考答案: B 28、下面程序的输出结果是 main() { int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p; p=a; printf("%d\n",*p+9); } (2分) A. 0 B. 1 C. 10 D. 9

参考答案: C 29、在C语言中,下面那种数据类型不属于构造类型( ) (2分) A. 枚举类型 B. 数组类型 C. 结构体类型 D. 共用体类型

参考答案: A 14

30、C语言程序是由( )组成 (2分) A. 一个主程序和若干子程序 B. 函数 C. 若干过程 D. 若干子程序

参考答案: B 31、putchar函数可以向终端输出一个() (2分) A. 整型变量表达式值 B. 实型变量值 C. 字符串 D. 字符或字符型变量值

参考答案: D 32、请读程序: #include FUNC(int A, int B) { int C; C=A+B; return C; }