当前位置:文档之家› C语言程序设计试卷含答案

C语言程序设计试卷含答案

说明:请将单项选择题(1~50空)的正确答案涂写考试答题卡,将填空(51~75空)等文字题按【】中的序号写入下面文字答题卡,否则不得分。

二、阅读程序题文字答题卡:(每空2分,共24分)三、完善程序填空题文字答题卡:(每空2分,共26分)一、单项选择题(每空1分,共50分)请将正确答案按【】中的序号写入答题卡,否则不得分。

1.在C语言中,一条语句以【】字符作为结束符。

A),B);C).D)无符号2.以下4组标识符中,能作为变量名使用的是【】。

A)age,struct,s1 B)2A,b_3,mainC)ELSE,a[2],m123 D)_abc,INT,abcd3.判断char型变量ch是否为数字字符的正确表达式为【】。

A)0<=ch<=9 B)'0'<=ch<='9'C)(0<=ch)&&(ch<=9)D)('0'<=ch)&&(ch<='9')4.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是【】。

A)putchar('A'+1);B)putchar('b'-32);C)putchar(98-32);D)putchar(B);5.空字符串的长度是【】。

A)0B)1 C)2 D)36.整型变量a定义后赋初值的结果是【】。

int a=2.8*6;A)12 B)16C)17 D)187.若有以下说明语句,则该语句【】。

char a='\077';A)使a的值包含1个字符B)使a 的值包含4个字符C)使a的值包含3个字符D)说明不合法8.下面的程序结果为:【】。

main(){int x=023;printf("%d\n",--x);}A)17 B)18C)23 D)249.源程序执行后,屏幕上显示【】。

main(){ int a;float b;a=4;b=9.5;printf("a=%d,b=%4.2f\n",a,b);}A)a=%d,b=%f\n B)a=%d,b=%fC)a=4,b=9.50 D)a=4,b=9.510.设int x=10;x+=x%=(-6)+4;则x= 【】。

A)0B)16 C)18 D)1011.C语言的下列运算符中,运算对象必须是整型数据的是【】。

A)% B)/ C)&& D)* 12..若有代数式(3ae)/(bc),则下面不正确的C语言表达式是【】。

A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3 13.下面程序的输出结果是【】。

main(){int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf("%d,%d,%d\n",k,a,b);}A)1,1,2 B)1,0,3C)0,1,2 D)0,0,3 14.下面哪个表达式的值为4 【】。

A)11/3 B)11.0/3C)(float)11/3 D)(int)(11.0/3+0.5)15.下面程序的输出结果是【】。

main(){int x=2,y=-1,z=2;if(x<y)if(y<0)z=0;else z+=1;printf(“%d\n”,z);}A)3 B)1 C)2 D)0 16.下列程序的运行结果是【】。

main(){int x=0,y=1,z=0;if(x=z=y)x=3;printf(“%d,%d\n”,x,z);}A)3,0 B)0,0 C)0,1 D)3,1 17.下面的程序main(){int x=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;elseif(ok2)x=10;x=-1;printf("%d\n",x);}的输出是【】。

A)-1 B)0 C)1 D)不确定的值18.执行下面程序后的输出结果是【】。

int x=1,y=1,z=1;x+=y+=z;printf(“%d\n”,x<y?y:x);A)3B)2 C)1 D)419.有如下程序段,则输出结果是【】。

int a=10;switch(a){ case 9:a+=1;case 10:a+=1;case 11:a+=1;case 12:a+=1;}printf(“a=%d\n”,a);A)11 B)12 C)13 D)1020.下面的程序main(){int i;for(i=0;i<10;i++);printf("%d\n",i);}的输出结果是【】。

A)0 B)123456789 C)0123456789 D)1021.d o语句的循环次数为【】。

int a=10;do { a--;} while (a!=0)A)10B)9 C)11 D)1222.设有类型说明为:int i=1;则执行语句:“while (i++<5);”后,变量i的值是【】。

A)7 B)6C)5 D)123.对以下程序段的叙述正确的是【】。

int k=0;while(k=0)k=k-1;A)while循环之行10次B)无限循环C)循环体一次也不执行D)循环体被执行一次24.以下语句段中,【】不是死循环。

A)int i=100;while(1){i=i%100;i++;if(i>100)break;}B)for(;;);C)int k=32764;do{k++;k++;}while(k>0)D)int s=32764;while((s++%2)||(s%2))s++;25.使用如下语句定义一个char型二维数组str,用来存放字符串"Pascal"、"Basic"、"C++",char str[M][N];则M和N最合理取值应该是【】。

A) 3和7 B) 2和7 C) 2和6 D) 3和626.设己定义int a[5 ]={0,1,2} ;则a[4]数组元素的值为【】。

A) 不确定值B) 定义错误C) 4 D) 027.运行下面程序段的输出结果是【】。

static int a[7]={1,3,5} ;printf("%d\n",a[3] );A) 0 B) 5 C) 3 D) 不确定数28.设有说明char a[ ]= "No smoking!"; 则以下不能正确输出的语句是【】。

A) printf("%c", &a ); B) printf("%s", a );C) puts( a ); D) puts ("No smoking!");29.当执行下面的程序时,如果输入ABC,则输出结果是【】。

#include "stdio.h"#include "string.h"main(){ char ss[10]="1,2,3,4,5";gets(ss); strcat(ss, "6789"); printf("%s\n",ss);}A) ABC6789 B) ABC67 C) 12345ABC6 D) ABC45678930.以下程序的输出结果是【】。

main(){ int i, x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++) printf("%d,",x[i][2-i]);}A) 1,5,9, B) 1,4,7, C) 3,5,7,D) 3,6,9,31.若定义int i,*p; 使p指向i的赋值语句是【】。

A) p=&i;B) *p=&i; C) *p=i; D) p=*&i;32.变量的指针,其含义是指该变量的【】。

A) 值B) 地址C) 名D) 一个标志33.下列程序的运行结果是【】。

main(){ int a=3, b=6, *x=&a, *y=&b, *k;k=x; x=y; y=k;printf("%d %d\n", *x, *y);}A) 6 3 B) 3 6 C) 编译出错D) 0 034.若有以下定义:char a[2][5]={9,8,7,6,5,4,3,2,1,0},*p=a[0],**q=&p;则对a数组元素的正确引用形式【】。

A) *(q+1)B) q[1][1]C) *(*q+1)D) *q[1]35.以下叙述中不正确的是【】。

A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效36.在调用函数时,如果实参是数组名,它传递给形参的是【】。

A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数37.下面程序的输出是【】。

int m=13;int fun2(int x,int y){int m=3;return(x*y-m);}main(){int a=7,b=5;printf(“%d\n”,fun2(a,b)/m);}A)1 B)2 C)7 D)1038.在一个C源程序文件中,若要定义一个只允许在该源程序文件中所有函数使用的变量,则该变量需要的存储类别是【】。

A) static B) externC) register D) auto39.不合法的main函数命令行参数表示形式是【】。

A) main(int a,char *c[]) B) main(int arc,char **arv)C) main(int argv,char *argc[]) D) main(int argv,char *argc)40.若定义enum color {red,green,blue,purple,yellow,black,orange} cl;,执行语句c1=green+blue;后,以下选项中cl的结果正确的是【】。

A)greenblue B)purple C)yellow D)编译出错41.设有以下说明和定义:typedef union{long i;int k[5];char c;}DATE;struct date{int cat;DATE cow;double dog;}too;DATE max;则执行语句printf (“%d”,sizeof (struct date )+sizeof(max));后的结果是【】。

相关主题