第一套: 1、对for(表达式1:表达式3)可以理解为)。 A.for(表达式1,0:表达式3)B.for(表达式1;1;表达式3) C.for(表达式1:表达式1:表达式3)D.for(表达式1:表达式3:表达式3) 2、若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a<b?ac<d?c:d的值 是()。 A.1B.2C.3D.4 3、有定义语句:intb,char cl10小,则正确的输入语句是()。 A.scanf("%d%s",&b,&c);B.scanf("%d%s",&b,c); C.scanf("%d%s"b.c):D.scanf("%d%s".b,&c): 4.己有定义:char al="xyz",b={x,y,z;,以下叙述中正确的是()。 A.数组a和b的所占字节数相同B.数组a所占字节数小于b数组 C.数组a所占字节数大于b数组D.上述说法都不对 5.以下语句或语句组中,能正确进行字符串赋值的是()。 A.char *sp:*sp="right!";B.char s[10]:s="right!"; C.char s[10];*s="right!";D.char *sp="right!"; 6.设有定义:int nl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是()。 A.*p=*q:B.p=q:C.*p=&nl D.p=+q 7.若有以下定义:inta0={1,2,3,4,56,7,8,910,*p=a,i;其中0≤i≤9,则对a数组元素的引用不 正确的是()。 A.ali]B.*(&alil)C.p[i]D.*(*(a+i)) 8.设函数fun的定义形式为 void fun(char ch,float x){.) 则以下对函数fun的调用语句中,正确的是() A.fun("abc",3.0)B.t=fun(D,16.5)C.fun(65,2.8)D.fun(65,32) 9.return语句()。 A.必须跟一个表达式B.必须在每个函数中出现 C.可以在同一个函数中出现多次 D.只能在除主函数之外的函数中出现 10.不合法的十六进制数是()。 A.oxff B.0Xabc C.Ox11 D.Ox19
第一套: 1、对 for(表达式 1;;表达式 3)可以理解为( )。 A. for(表达式 1;0;表达式 3) B. for(表达式 1;1;表达式 3) C. for(表达式 1;表达式 1;表达式 3) D. for(表达式 1;表达式 3;表达式 3) 2、若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 a<b?a:c<d?c:d 的值 是( )。 A.1 B.2 C.3 D.4 3、有定义语句:int b;char c[10];,则正确的输入语句是( )。 A. scanf("%d%s",&b,&c); B. scanf("%d%s",&b, c); C. scanf("%d%s",b, c); D. scanf("%d%s",b,&c); 4. 已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是( )。 A. 数组 a 和 b 的所占字节数相同 B. 数组 a 所占字节数小于 b 数组 C. 数组 a 所占字节数大于 b 数组 D. 上述说法都不对 5. 以下语句或语句组中,能正确进行字符串赋值的是( )。 A. char *sp;*sp="right!"; B. char s[10];s="right!"; C. char s[10];*s="right!"; D. char *sp="right!"; 6. 设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与 n2=n1;语句等价的是( )。 A. *p=*q; B. p=q; C. *p=&n1 D. p=*q 7. 若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i;其中 0≤i≤9,则对 a 数组元素的引用不 正确的是( )。 A. a[i] B. *(&a[i]) C. p[i] D. *(*(a+i)) 8. 设函数 fun 的定义形式为 void fun(char ch, float x ) { . } 则以下对函数 fun 的调用语句中,正确的是 ( ) A. fun("abc",3.0) B. t=fun('D',16.5) C. fun('65',2.8) D. fun(65,32) 9. return 语句( )。 A. 必须跟一个表达式 B. 必须在每个函数中出现 C. 可以在同一个函数中出现多次 D. 只能在除主函数之外的函数中出现 10. 不合法的十六进制数是( )。 A. oxff B. 0Xabc C. 0x11 D. 0x19
第一在 1.下列程序段的输出结果是( inta3][3]={1,2,{34),5,6},ij,s0: for=1:<3:1++) for(j-0:j<=ij++) s+-ali]UJ:. rintf(" %d A18 B19 D.21 2.以下正确的描述是 A.continue语句的作用是结束整个循环的执行 B只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句和 ue语句的作用相同 从多层循环嵌套中退出时 只 使用bcak语句 3.有以下程序段 int n.t=1.s=0: scanf("%d".&n) do!s=stt t=t-2 )while (tl=n) 为使此程序段不陷入死循环,从键盘输入的数据应该是() A.任意正奇数 B.任意负偶数C.任意正偶数D.任意负奇数 4.下列程序段的运行结果是()。 int k=10- while(k=0)k=k一1 A.while循环执行I0次 B循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 5.若已定义x和y为double类型,则表达式x=l,y=x+32的值是() A1B3C20C25 6.有以下程序 #define f(x)(x*x) main() int il.i2: i1=8)/m4);i2=4+4)/f2+2) printf"%d%dn"ili2) 运行后的输出结果是()。 A.64,28B.4,4C.4,3D.64,64 7.有以下函数 fun(ch r *a.char *b) while(*al=0)&&(*bl=0&&(*a=*b) a+:b+:I return(◆a-*b:
第二套 1.下列程序段的输出结果是( )。 int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("\n%d",s); A.18 B.19 C.20 D.21 2. 以下正确的描述是( )。 A. continue 语句的作用是结束整个循环的执行 B. 只能在循环体内和 switch 语句体内使用 break 语句 C. 在循环体内使用 break 语句和 continue 语句的作用相同 D. 从多层循环嵌套中退出时,只能使用 break 语句 3. 有以下程序段 int n,t=1,s=0; scanf("%d",&n); do{ s=s+t; t=t-2; }while (t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是( )。 A. 任意正奇数 B. 任意负偶数 C. 任意正偶数 D. 任意负奇数 4. 下列程序段的运行结果是( )。 int k=10; while(k=0) k=k-1; A. while 循环执行 10 次 B. 循环是无限循环 C. 循环体语句一次也不执行 D. 循环体语句执行一次 5. 若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是( )。 A.1 B.3 C.2.0 C.2.5 6. 有以下程序 #define f(x) (x*x) main() { int i1, i2; i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ; printf("%d, %d\n",i1,i2); } 运行后的输出结果是( )。 A. 64, 28 B. 4, 4 C. 4, 3 D. 64, 64 7. 有以下函数 fun(char *a,char *b) { while((*a!='\0')&&(*b!='\0')&&(*a==*b)) { a++;b++; } return(*a-*b); }
该函数的功能是()。 将b所指字符串连接到a所指字符串 C.将b所指字符串连接到a所指字符串后面 D.比较a和b所指字符串的大小 8.以下选项中不能作为合法常量的是()。 A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0 9.有以下程序段 int p8=11,12,13,14,15,16,17,18}.=0j0 while(i++<7)if(p[i]%2)j+=p[i] printf"0%dln■ih 运行后的输出结果是( B.45 C.56 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C每个函数都可以单独运行 D.在 个函数内部可以定义另一个函数
该函数的功能是( )。 A. 计算 a 和 b 所指字符串的长度之差 B. 将 b 所指字符串连接到 a 所指字符串中 C. 将 b 所指字符串连接到 a 所指字符串后面 D. 比较 a 和 b 所指字符串的大小 8. 以下选项中不能作为合法常量的是( )。 A. 1.234e04 B. 1.234e0.4 C. 1.234e+4 D. 1.234e0 9. 有以下程序段 int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2) j+=p[i]; printf("%d\n",j); 运行后的输出结果是( )。 A.42 B.45 C.56 D.60 10. 以下关于函数的叙述中正确的是( ) A. 每个函数都可以被其它函数调用(包括 main 函数) B. 每个函数都可以被单独编译 C. 每个函数都可以单独运行 D. 在一个函数内部可以定义另一个函数
第二在 1.若有以下程序段 int cl=1,c2=2,c3; c3=l.0c2*c: 则执行后,c3中的值是()。 A0B.0.5C.1D.2 2.下列函数fun()被调用了3次,a的值是(). fun() {static int a=1; +8 A1B.2C.3D.4 3.有以下程序 point(char c) c[2]=r. main() {char b[4]=(a,b.c,'d),*p=b; point(p):printf("%cn",b[2]) 程序的运行结果是()。 A.c B.r D.无结果 4.以下不能定义为用户标识符的是()。 A.Main B.0 C.int D.sizeof 5.若有定义:intx=0,p=&x,则语句printf("%dn",p)的输出结果是() A随机值B.0 Cx的地址 D.D的地址 6.有以下程序段 char cl='1'c2=2 cl=getchar().c2=getchar().putchar(c1).putchar(c2). 当运行时输入:a<回车>后,以下叙述正确的是( 2被赋予回车符 程序将等特用户输入第2个字符 C.变量c1被赋予字符a,c2中仍是原有字符2 D.变量c1被赋予字符a,c2中将无确定值 7.以下程序段的输出结果是()。 int k=17 printf"%d,%0.%xk.kk): A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11 8.有如下程序段
第三套 1. 若有以下程序段: int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3 中的值是 ( )。 A.0 B.0.5 C.1 D.2 2.下列函数 fun( )被调用了 3 次,a 的值是( )。 fun() { static int a=1; ++a; } A.1 B.2 C.3 D.4 3. 有以下程序 point(char c[]) { c[2]='r'; } main() { char b[4]={'a','b','c','d'},*p=b; point(p);printf("%c\n",b[2]); } 程序的运行结果是( )。 A.c B.r C.b D.无结果 4. 以下不能定义为用户标识符的是( )。 A. Main B. _0 C. _int D. sizeof 5.若有定义:int x=0, *p=&x;,则语句 printf("%d\n",*p);的输出结果是( ) A.随机值 B. 0 C. x 的地址 D. p 的地址 6. 有以下程序段 { char c1='1',c2='2'; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); } 当运行时输入:a<回车> 后,以下叙述正确的是( )。 A. 变量 c1 被赋予字符 a,c2 被赋予回车符 B. 程序将等待用户输入第 2 个字符 C. 变量 c1 被赋予字符 a,c2 中仍是原有字符 2 D. 变量 c1 被赋予字符 a,c2 中将无确定值 7. 以下程序段的输出结果是( )。 int k=17; printf("%d,%o,%x ",k,k,k); A. 17,021,0x11 B. 17,17,17 C. 17,0x11,021 D. 17,21,11 8. 有如下程序段
int x=1.a=0.b=0 switch(x) case 0:b++; case I:a++; case 2:a++;b++ prinf"ar%d.b-%dnr,ab, 输出结果是( A.a-2,b=1B.a=1,b=1C.a=1,b0D.a2,b-2 9.下列说法正确的是()。 AC程序书写格式限制严格,一行内必须写一个语句 BC程序书写比较自由,一个语句可以分行写在多行上 C.C程序书写格式限制 要求 一行内必须写一个语句,并要求行号 D.C程序中 语句不可以分写在多行上 10.若有说明语句:inta,b,c,*d&c:,则能正确从键盘读入三个整数分别赋给变量a、b、c的 语句是(): A scanf("%d%d%d"&a &bd) &a.&b,&d D.scanf("%d%d%d"ab,d);
int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++ } printf("a=%d,b=%d\n",a,b); 输出结果是( )。 A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2 9. 下列说法正确的是( )。 A. C 程序书写格式限制严格,一行内必须写一个语句 B. C 程序书写比较自由,一个语句可以分行写在多行上 C. C 程序书写格式限制严格,要求一行内必须写一个语句,并要求行号 D. C 程序中一个语句不可以分写在多行上 10. 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量 a、b、c 的 语句是( )。 A. scanf("%d%d%d",&a,&b,d); B. scanf("%d%d%d",&a,&b,&d); C. scanf("%d%d%d",a,b,d); D. scanf("%d%d%d",a,b,*d);