1、一、单项选择题(本大题共 20 题,每题 2 分,共 40 分) 1、以下不是 C 语言的特点的是 ( ) A、 C 语言简洁、紧凑 B、能够编制出功能复杂的程序 C、 C 语言可以直接对硬件进行操作 D、 C 语言移植性好 2、以下不正确的 C 语言标识符是 ( ) A、 ABC B、 abc C、 a_bc D、 ab.c 3、一个 C 语言程序是由 ( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等 5 个特性,对另外 4 个特性的描述中错误 的是 ( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D
2、、可行性 5、设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+ a +i*f 值的数据类型 为 ( ) A、 int B、 float C、 double D、不确定 6、在 C 语言中, char 型数据在内存中的存储形式是 ( ) A、补码 B、反码 C、源码 D、 ASCII 码 7、有如下程序,输入数据: 12345M678 cR后( 表示回车) , x 的值是 ( ) 。 #include main() int x; float y; scanf(“%3d%f“, A、 12345 B、 123 C、 45 D、 345 8、若有以下定义 int a,b; flo
3、at x,则不正确的赋值语句是 ( ) A、 a=1,b=2 B、 b+; C、 a=b=5 D、 b=int(x); 9、以下程序的执行结果是 ( ) #include int i=10,j=10; printf(“%d,%dn“,+i,j-); A、 11,10 B、 9,10 C、 11,9 D、 10,9 10、巳知字母 A 的 ASCII 码是 65,以下程序的执行结果是 ( ) #include main() char c1=A,c2=Y; printf(“%d,%dn“,c1,c2); A、 A,Y B、 65,65 C、 65,90 D、 65,89 11、下列运算符 中优先级
4、最高的是 ( ) A、 B、十 C、 % D、 ! 12、设 x、 y 和 z 是 int 型变量,且 x 3, y 4, z 5,则下面表达式中值为 0 是 ( ) 。 A、 x while(numb!= c 的值是 _ 4、下列程序运行后的输出结果是 _ #include main() int i,j; for(i=4;i=1;i-) printf(“*“); for(j=1;j main() int a,s,n,count; a=2;s=0;n=1;count=1; while(count main() int a=33=1,3,5,7,9,11,13,15,17,sum=0,i,j;
5、for (i=0;i main() float c,f; printf(“input c:“); .2 分 scanf(“%f“, .2 分 f= (c+32.0)*9.0/5.0; .2 分 printf(“F=%.2f n“,f); .2 分 2、 #include main() int x; scanf(“%d“, .2 分 if(x%5=0 .2 分 else printf(“no“); .2 分 3、 # include # include main() int m,i,k; scanf(“%dn“, k=sqrt(m); .2 分 for(i=2;ik) printf(“m is
6、a prime number!n“); .2 分 4、 # include main() int i,j,a15,t; printf(“input 15 numbers:n“); for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; .2 分 for(i=0;i=0|b=0) B) int a,b, c= 3; C) a= 3,b=3,c=3; D) a= b= c=3; 32 以下程序的输出结果是 ( D ) void main( ) int x=6,y=6,i; for(i=2;x4;y=+i) printf(“%d,%d “,x-,y); A) 5,5 5,3 B) 6
7、,6 2,3 C) 6,5 5,2 D) 6,6 5,3 33以下程序的输出结果是 ( B ) void main( ) int w=4; int fun(int k); fun(w); printf(“n“); fun(int k) if(k0) fun(k-1); printf(“%d “,k); A) 4 3 2 1 B) 0 1 2 3 4 C) 1 2 3 4 D) 4 3 2 1 0 34下面程序的输出是 ( B) main() int x=023; printf(“%dn“, -x); A). 17 B). 18 C). 23 D). 24 35 以下程序的输出结果是 (C )
8、main() char ch34= “123“,“456“,“78“,*p3; int i; for(i=0;i void main( ) char *a=” abcdefghi” ; void fun( char *s ); fun(a); puts(a); void fun(char *s ) int x,y; char c; for(x=0,y=strlen(s)-1;xy;x+,y-) c=sy;sy=sx;sx=c; A). ihgfedcba B). abcdefghi C). abcdedcba D).ihgfefghi 41 void main( ) int i,a=5,6,9
9、,11; for (i=0;i4;i+) if (ai%2=0) continue; printf(“%d “,ai); 执行后输出结果是 ( C ) A) 编译出错 B 6 C) 5 9 11 D) 5 6 9 11 42以下对数组的 定义正确的是 ( D ) A) int x(10); B) int x5=0,1,2,3,4,5; C) int n=10; xn; D) int x = 0,1,2,3,4; 43. 以下叙述中不正确的是 ( B ) A) switch 是多分支结构 语句 B) continue 语句的作用是 使程序的执行流程跳出包含它的所有循环 C) break 语 句只能用在循环体内和 switch 语句体内 D) 在循环体内使用 break 语句和 continue 语句的作用不相同 44如下程序: void main( ) int i=1,j=2,k=3; if(j+| k+) 执行后输出结果是 ( D )