A)k=k>=k B)++ C)k%int(f) D)k>== (23)设有定义:ita2,b-3,c4:则下列选项中值为0的表达式是()。 A)(a==1)&&(Ib==0) B)(a<b)c 1 C)a&&b D)a ll (b+b&&(c-a) (24)有下列程序段: int k-0a=1b=2 c=3 k=3<hh3 :k=k>c2c-k 执行该程序段后,k的值是()。 A)3 B)2 C)1 D)0 (25)设变量a、b、c、d和y都已正确定义并赋值。若有下列if语句 ifa<b) if(e==d)y-0 else y=1; 该语句所表示的含义是()。 y=0,a<b且cd a≥ wy-8温d (0a<b日c=d c)y= (1 a<b且c≠d D)y=0a<b且c=d c≠d (26)有下列程序段 int n.t=1.s-0: scanf"%dn) do(s=s+tt=t-2:)while(t!=n). 为使此程序段不陷入死循环,从键盘输入的数据应该是()。 A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数 (27)设变量已正确定义,则以下能正确计算的程序段是(), A)f间 B): for(i=l:i<=n.i++)f=i for(i=1:i<n;i++)f=i C)f=1: D)f=1; for(i=ni>:itt)f =i for(i=n:i>=2:i-)f=i (28)设有定义:intnl-0,n2,*p=&n2,*q-&nl,以下赋值语句中与n2=nl:语句等价的是()。 A)*p*q,B)P C)*p=&nl; D)p=tq: (29)若有定义:intx=0,*p-&x,则语句printf"%dn",*p:的输出结果是()。 A)随机值B)0C)x的地址D)p的地址 (30)设fun0函数的定义形式为()
28 A)k=k> =k B)-k++ C)k%int(f) D)k> =f> =m (23)设有定义:int a=2,b=3,c=4;,则下列选项中值为 0 的表达式是( )。 A)(!a= =1)&&(!b= =0) B)(a<b)&&! c ‖ 1 C)a && b D)a‖(b+b)&&(c-a) (24)有下列程序段: int k=0,a=1,b=2,c=3; k=a<b?b:a;k=k>c?c:k; 执行该程序段后,k 的值是( )。 A)3 B)2 C)1 D)0 (25)设变量 a、b、c、d 和 y 都已正确定义并赋值。若有下列 if 语句 if(a<b) if(c= =d) y=0; else y=1; 该语句所表示的含义是( )。 A) B) C) D) (26)有下列程序段 int n,t=1,s=0; scanf("%d",&n); do{ s=s+t;t=t-2; }while(t! =n); 为使此程序段不陷入死循环,从键盘输入的数据应该是( )。 A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数 (27)设变量已正确定义,则以下能正确计算 f=n!的程序段是( )。 A)f=0; B)f=1; for(i=1;i<=n;i++) f*=i; for(i=1;i<n;i++) f*=i; C)f=1; D)f=1; for(i=n;i>1;i++)f*=i; for(i=n;i> =2;i-)f*=i; (28)设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与 n2=n1;语句等价的是( )。 A)*p=*q; B)p=q; C)*p=&n1; D)p=*q; (29)若有定义:int x=0,*p=&x;,则语句 printf("%d\n",*p);的输出结果是( )。 A)随机值 B)0 C)x 的地址 D)p 的地址 (30)设 fun()函数的定义形式为( )
void fun(char ch,float x) 则下列对函数fn的调用语句中,正确的是 B) fun32.32 (31)有下列程序: main( {inta10]={1,2,3,4,5,6,7,89,103,*p-&a31,*qp+2 printf"%dn"p+q). 程序运行后的输出结果是()。 A)16 B)10 C)8 D)6 (32)有下列程序: main() (char pI]=abv,q]="abe" printf("%d%d n",sizeof(p),sizeof(q)). 程序运行后的输出结果是()。 A)44B)33 C)34D)43 (33)有下列程序: ine f(x)(x*x main() int iLi2: i1=f8)/f4:i2=4+4)/f2+2): 程序运行后的输出结果是()。 A)64,28 B)4.4 C)4.3 D)64.64 (34)有下列程序: main() (char al=M.a2='m printf"%cn"(al.a2)) 下列叙述中正确的是() A)程序输出大写字母M B)程序输出小写字母m C)格式说明符不足,编译出错D)程序运行时产生出错信息 (35)有下列程序 #include <stdio.h> main() char cl='c2=2' cl-getchar().c2=getchar().putchar(c1).putchar(c2). 当运行时输入:a<CR>后 下列叙述正确的是()· A)变量cl被赋予字符a,c2被赋予回车符 B)程序将等待用户输入第2个字符
29 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(32,32); (31)有下列程序: main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2; printf("%d\n",*p+*q); } 程序运行后的输出结果是( )。 A)16 B)10 C)8 D)6 (32)有下列程序: main( ) { char p[ ]={'a','bv,'c'},q[ ]="abc"; printf("%d%d\n",sizeof(p),sizeof(q)); }; 程序运行后的输出结果是( )。 A)4 4 B)3 3 C)3 4 D)4 3 (33)有下列程序: #define f(x)=(x*x) main( ) { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); prinft("%d,%d\n",i1,i2); } 程序运行后的输出结果是( )。 A)64,28 B)4,4 C)4,3 D)64,64 (34)有下列程序: main( ) { char a1='M',a2='m'; printf("%c\n",(a1,a2)); } 下列叙述中正确的是( )。 A)程序输出大写字母 M B)程序输出小写字母 m C)格式说明符不足,编译出错 D)程序运行时产生出错信息 (35)有下列程序: #include <stdio.h> main( ) { char c1='1',c2='2'; c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2); } 当运行时输入:a<CR>后,下列叙述正确的是( )。 A)变量 c1 被赋予字符 a,c2 被赋予回车符 B)程序将等待用户输入第 2 个字符
C)变量c1被赋予字符a.c2中仍是原有字符2 D)变量cl被赋予字符a,c2中将无确定值 (36)有下列程序 main() int k=5.n=0: while(k>0) switch(k) reak case I:n+=k case 2: case 3:n+=k; k- printf"%d\n".n). 程序运行后的输出结果是()。 A)0 B)4 C)6 D)7 (37)有下列程序 main() {int al=(2,46,8,10}=0,x*p p=&a1: for(x=1:x<3.x++)y+=p[x] printf"%ny). 程序运行后的输出结果是()。 A)10 B)11 C)14 D)15 (38)有下列程序: void sort(int a[].int n) (intij.t for(i=0.i<n-l;i++) for(j=i+lj<nj++) if alil<alil)t=alil:alil=alil:alil=t main( {int aal10]=1,2,3,4,5,6,7,8,9,10, sort(aa+2,5). for(i=0.i<10.i++)printf("%d"aa[]) printf"n"): 程序运行后的输出结果是()。 A)1,23.4,5,678910. B)1.2,76,3.4.5,8,9,10 C)1,2.7.6.5,43,8,9,10 D)1,2,9,8.7.6,5,4,3.10 (39)有下列程序: 30
30 C)变量 c1 被赋予字符 a,c2 中仍是原有字符 2 D)变量 c1 被赋予字符 a,c2 中将无确定值 (36)有下列程序: main( ) { int k=5,n=0; while(k>0) { switch(k) { default:break; case 1: n+ =k; case 2: case 3: n+ =k; } k-; } printf("%d\n",n); } 程序运行后的输出结果是( )。 A)0 B)4 C)6 D)7 (37)有下列程序: main( ) { int a[ ]={2,4,6,8,10},y=0,x,*p; p=&a[1]; for(x=1;x<3;x++) y+ =p[x]; printf("%d\n",y); } 程序运行后的输出结果是( )。 A)10 B)11 C)14 D)15 (38)有下列程序: void sort(int a[ ],int n) { int i,j,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]){ t=a[i]; a[i]=a[j]; a[j]=t;} } main( ) { int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(aa+2,5); for(i=0;i<10;i++)printf("%d,",aa[i]); printf("\n"); } 程序运行后的输出结果是( )。 A)1,2,3,4,5,6,7,8,9,10, B)1,2,7,6,3,4,5,8,9,10, C)1,2,7,6,5,4,3,8,9,10, D)1,2,9,8,7,6,5,4,3,10, (39)有下列程序:
void sum(ita[]D) {a[0]=a[-1]+a[I]. main() {inta10={1,2.3.4.5.6.7,89,10: sum(&a[2)); printf("%dn"a2) 程序运行后的输出结果是), A)6 B)7 c)5 D)9 (40)有下列程序: void swapl (int co[Lint cl[D) int t. t-c0[o]:c0[o]-1[0]:c1[0]- void swap2(int *c0.int *cl) int t; =*c0,*c0=*cl,*cl=t main() {inta2]={3,5.b2]=3.5}: swapl(a.a+1);swap2(&b[0].&b[1]): printf"%d%d%d%dn",a[0]a[1]b[0]b[1]) 程序运行后的输出结果是()。 A)3553 B)5335 C)3535 D)5353 (41)有下列程序: #include<string.h> main() (char pr -ta,') n",strlen(p),strlen(q)); 下列叙述中正确的是()。 A)在给p和q数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3 B)由于P数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3 C)由于q数组中没有 符串结束符, 长度不能确定 但P数组中字符串长度为 D)由于p和q数组中都没有字符串结束符,故长度都不能确定 (42)有下列程序,其中函数0的功能是将多个字符串按字典顺序排序()。 #include <string.h> void f(charp l.int n) for(i=0,iKm-l,it+)) for(j=i+1.j<nj++) if(stremp(pli].plj]>0)(t=p[i]:p[i]=pLjl.plil=t)
31 void sum(int a[ ]) { a[0]=a[-1]+a[1]; } main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10}; sum(&a[2]); printf("%d\n",a[2]); } 程序运行后的输出结果是( )。 A)6 B)7 C)5 D)9 (40)有下列程序: void swap1 (int c0[ ],int c1[ ]) { int t; t=c0[0]; c0[0]=c1[0]; c1[0]=t; } void swap2(int *c0,int *cl) { int t; t=*c0; *c0=*c1; *c1=t; } main( ) { int a[2]={3,5}, b[2]={3,5}; swap1(a,a+1); swap2(&b[0],&b[1]); printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]); } 程序运行后的输出结果是( )。 A)3 5 5 3 B)5 3 3 5 C)3 5 3 5 D)5 3 5 3 (41)有下列程序: #include<string.h> main( ) { char p[ ]={'a', 'b', 'c'},q[10]={ 'a', 'b', 'c'}; printf("%d%d\n",strlen(p),strlen(q)); } 下列叙述中正确的是( )。 A)在给 p 和 q 数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为 3 B)由于 p 数组中没有字符串结束符,长度不能确定,但 q 数组中字符串长度为 3 C)由于 q 数组中没有字符串结束符,长度不能确定,但 p 数组中字符串长度为 3 D)由于 p 和 q 数组中都没有字符串结束符,故长度都不能确定 (42)有下列程序,其中函数 f()的功能是将多个字符串按字典顺序排序( )。 #include <string.h> void f(char *p[ ],int n) { char *t; int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(p[i],p[j]>0){t=p[i]; p[i]=p[j], p[j]=t;}
main() char *p"abe","aabdfg","abbd","dedbe"" f(p.5) printf"%d\n".strlen(pl11)) 程序运行后的输出结果是()。 A)2 B)3 C)6 D)4 (43)有下列程序 #include <string.h> void fchar*s,char*t) char k: k*sst*以 S+,[- i试*s)fs,t main) char str[]="abedefg",p P=str+strlen(str)/2+1 f(p.p-2): printf"%sn",str), 程序运行后的输出结果是()。 A)abcdefg B)gfedcba D)abedefg (4)有下列程序 float fl(float n) return n"n: float f2(float n) return 2*n:) main() {float(*pI)(float).(*p2)(float).(*t)(float).yI.y2. p1=f1:p2=f2: y1=p2(p1(2.0h t=pl:pl=p2:p2=t. y2=p2p1(2.0 printf"%3.0f.%3.0fn"y1.y2); 程序运行后的输出结果是()。 A)8.16B)8.8C)16.16 D)4,8 (45)有下列程序: int a=2; int fint n) {static int a=3. int t=0:
32 } main( ) { char *p[5]={"abc","aabdfg","abbd","dcdbe","cd"}; f(p,5); printf("%d\n",strlen(p[1])); } 程序运行后的输出结果是( )。 A)2 B)3 C)6 D)4 (43)有下列程序: #include <string.h> void f(char *s,char *t) { char k; k=*s; *s=*t; *t=k; s++; t-; if(*s) f(s,t); } main( ) { char str[10]="abcdefg",*p; p=str+strlen(str)/2+1; f(p,p-2); printf("%s\n",str); } 程序运行后的输出结果是( )。 A)abcdefg B)gfedcba C)gbcdefa D)abedcfg (44)有下列程序: float fl(float n) { return n*n; } float f2(float n) {return 2*n;} main( ) { float (*p1)(float),(*p2)(float),(*t)(float),y1,y2; p1=f1; p2=f2; y1=p2(p1(2.0)); t=p1; p1=p2; p2=t; y2=p2(p1(2.0)); printf("%3.0f, %3.0f\n",y1,y2); } 程序运行后的输出结果是( )。 A)8,16 B)8,8 C)16,16 D)4,8 (45)有下列程序: int a=2; int f(int n) { static int a=3; int t=0;