1、 (D)!2、以下是字符常量的是 C (A)C (B) (C) W (D) 3、sizeof(float)是B。(A)一个双精度型表达式 (B)一个整型表达式(C)一种函数调用 (D)一个不合法的表达式4、已知i、j、k为int 型变量,若从键盘输入:1,2,3,使i的值为1,j 的值为2,k的值为3,以下选项中正确的输入语句是:(C)(A) scanf(%2d%2d%2d,&i,&j,&k);%d %d %d%d,%d,%di=%d,j=%d,k=%d5、以下非法的赋值语句是:(A)n=(i=2,+i); (B)j+;(C)+(i+1); (D)x=j0;6、以下四个选项中,均是不合法的用户
2、标识符的是(C)(A)A P_O do (B)float la0 _A (C)b-a goto int (D)_123 temp int7、若有说明语句:char c= /72 ;则变量c(A)(A)包含1个字符 (B)包含2个字符(C)包含3个字符 (D)说明不合法,C的值不确定8、下面不正确的字符串常量是:(A)(A) abc (B) 12 12 (C) 0 (D) 9、执行下列程序段后, a值为: D int a, b; a=15; b=12; a=(a- =b+)? a%5 : a/5; (A) 0 (B)2.8 (C)4 (D) 2 10、判断char型变量ch是否为大写字母的正确表
3、达式是(C)(A)A=ch=A)&(ch=Z) (D) (A=ch)11、以下程序的运行结果是(C)main()int m=5; if(m+5) printf(“%dn”,m); else printf(“%dn”,m-); (A)4 (B) 5 (C) 6 (D) 712、以下程序段的运行结果是:(B) int x=0,s=0;while(!x!=0) s+=+x;printf(“%d”,s);(A)0(B)1(C)无限循环(D)程序段中的控制表达式是非法的13、C语言中while和do-while循环的主要区别是(A)。(A)do-while的循环体至少无条件执行一次(B)while的循环
4、控制条件比do-while的循环控制条件严格(C)do-while允许从外部转到循环体内(D)do-while的循环体不能是复合语句14、有如下程序,该程序的执行结果是( C ) int num=0;while(num=2)num+;printf(“%d”,num); (A)1 (B)12 (C)123 (D)1 2 3 415、以下程序运行后的输出结果是(A) int i=3, j=0;do j=j+(-i); while(i2);printf(“%dn”,j);(A)2 (B)3 (C) 4 (D)无限循环 16、如果char cc=“12345”,做sizeof(cc)后的返回值应为(
5、C )(A)2 (B) 5 (C)6 (D)117、判断字符串a和b是否相等,应当使用(D)。 (A)if(a=b) (B)if(a=b) (C)if(strcpy(a,b) (D)if(strcmp(a,b)18、执行语句for(i=1;i+4;);后变量i的值(C) (A)3 (B) 4 (C) 5 (D)不定19、下面程序行的结果是:func(int a,int b)int c; c=a+b; Return c;int x=6,y=7,z=8,r; r=func(x-,y+,x+y),z-); printf(“%dn”,r);(A)11 (B) 20 (C)21 (D)3120、有以下程
6、序:char s=ABCD,*p; for(p=s+1;ps+4;p+)printf(%sn,p);程序运行后的输出结果是( D )A) ABCDB) A C) B D) BCD BCD B C CD CD D DD D三、改错题1、 以下程序段求两个数的和:int a,b=4,c;scanf(“%d”,a); printf(“%d”,c);答案:有错,应为:scanf(“%d”,&a);2、 以下程序段将输入字符显示到屏幕上:char ch;ch=getchar(ch);putchar(ch);一、ch=getchar(ch);有错改为:ch=getchar()二、putchar(ch);p
7、utchar(ch);3、 以下程序段输出最大者:int a=5,b=3;if(a4、 以下程序段求1-10所有数的和:int sum,i;do sum=sum+i; i+;while(i10);printf(“%d”,sum);int sum=0,i=1;while(i改为=10);5、 以下程序段将输入的字符串显示到屏幕上:char str20;scanf(“%s”,&str);puts(str); 答案:scanf(“%s”,str);因为数组名本身就表示数组的首地址四、编程题#include stdio.hvoid main() double x,y; printf(请输入X的值: scanf(%lfx); if(x=1 & x10) y=2*x-1; else y=3*x-1;y=%lf,y);2、求十个学生成绩的平均值。 double score10,sum=0,avg; int i;请输入10个学生的成绩: for(i=0; i10; i+) scanf(scorei); sum=sum+scorei; avg=sum/10;学生的平均成绩为:%.2lf,avg);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1