for(i=0;i<9;i++)
if(strcmp(str[i],str[9])>0) { strcpy(s,str[i]); strcpy(str[i],str[9]); strcpy(str[9],s); }
puts(str[0]); puts(str[9]); }
第五套试题
一、单项选择题(30个小题,每题2分,共60分): 1.一个C语言程序的执行是从_____。
A.main函数开始,直到main函数结束 B.第一个函数开始,直到最后一个函数结束 C.第一个函数开始,直到最后一个语句结束 D.main函数开始,直到最后一个函数结束
2.设ch是char型变量,其值为‘A’,且有表达式:ch=(ch>=‘A’&& ch<=‘Z’)?(ch+32):ch,该表达式的值为_____。 A.A B.a C.Z D.z
3.在C语言中,合法的字符常量是_____。 A.‘\\084’ B.‘\\x43’ C.‘ab’ D.“\\0”
4.当运行以下程序时,在键盘上从第一列开始输入9876543210
{ int a;float b,c;
scanf(“-?O”,&a,&b,&c); printf(“\\na=%d,b=%f,c=%f\\n”,a,b,c); }
A.a=98,b=765,c=4321 B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000 D.a=98,b=765.0,c=4321.0 5.以下叙述正确的是_____。
A.do_while语句构成的循环不能用其它语句构成的循环来代替 B.do_while语句构成的循环只能用break语句退出
C.用do_while语句构成循环时,只有在while后的表达式为非零时结束循环 D.用do_while语句构成循环时,只有在while后的表达式为零时结束循环 6.以下的序的输出结果是_____。 main( )
{ int x=10,y=3;printf(“%d\\n”,y=x/y);} A.0 B.1 C.3 D.不确定的值 7.以下程序段的输出结果是_____。 int k,j,s;
for(k=2;k<6;k++,k++) { s=1;
for(j=k;j<6;j++) s+=j; }
printf(“%d\\n”,s); A.9 B.1 C.11 D.10
8.设有如下函数:ggg(float *x)
{ printf(“%d\\n”,*x);} 则函数的类型是_____。 A.与参数x的类型相同 B.void C.int D.无法确定 9.C语言源程序的基本单位是_____。 A.过程 B.函数 C.子程序 D.标识符 10.以下程序的输出结果是_____。 double f(int n)
{ int i; double s=1.0; for(i=1;i<=n;i++) s+=1.0/i; return s; } main( )
{ int i,m=3;float a=0.0; for(i=0;i A.5.500000 B.3.000000 C.4.000000 D.8.25 11.以下程序的输出结果是_____。 f(int a) { int b;static int c=3; b++; c++; return(a+b+c); } main( ) { int a=2,i; for(i=0;i<3;i++) printf(“%d\\n”,f(a)); } A.7 B.7 C.7 D.7 8 9 10 7 9 11 13 7 12.若a、b、c1、c2、x、y均是整型变量,正确的switch语句是_____。 A. switch(a+b); { case 1 : y=a+b;break; case 3 : y=a-b;break; } B.switch(a*a+b*b) { case 3 ; case 1 : y=a+b;break; case 3 : y=a-b;break; C.switch a { case c1 : y=a-b;break; case c2 : y=a*b;break; default : x=a+b; } D.switch(a-b) { default : y=a*b;break; case 3 : case 4 : x=a+b;break; case 10 : case 11 : y=a+b;break; 13.在C语言中,以下所列的各函数首部正确的是_____。 A.void play(var a : Integer,var b : Integer) B.void play(int a,b) C.void play(int a,int b) D.void play(a As Integer,b As Integer) 14.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是_____。 A.把x和y按从大到小排序 B.把x和y按从小到大排序 C.无确定结果 D.交换x和y中的值 15.在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为_____。 #include while((ch=getchar( ))!=‘\\n’) { if(ch>=‘A’&& ch<=‘Z’) ch=ch+32; else if(ch>=‘a’&& ch<=‘z’) ch=ch-32; printf(“%c”,ch); } } A.ABCdef B.abcDEF C.abc D.DEF 16.下列程序的运行结果是_____。 main( ) { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if(j%2) break; x++; } x++; } printf(“x=%d”,x); } A.x=4 B.x=8 C.x=6 D.x=12 17.为表示关系x≥y≥z,应使用的C语言表达式是_____。 A.(x>=y)&&(y>=z) B.(x>=y)AND(y>=z) C.(x>=y>=z) D.(x>=y)&(y>=z) 18.设有语句char a=‘\\72’; 则变量a_____。 A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法 19.下面程序的输出结果是_____。 #include “stdio.h” main( ) { int num=0; while(num<=2) { num++; printf(“%d\\n”,num); } } A.1 B. 2 C. 1 D.1 2 2 2 3 3 4 20.下面程序的输出结果是_____。 void fun(int *x,int *y) { printf(“%d %d”,*x,*y); *x=3; *y=4;} main( ) { int x=1,y=2; fun(&y,&x); printf(“%d %d”,x,y);} A.2 1 4 3 B.1 2 1 2 C.1 2 3 4 D.2 1 1 2 21.下面程序的输出结果是_____。 #include “stdio.h” #include “string.h” main( ) { char *p1=“abc”,*p2=“ABC”,str[50]=“xyz”; strcpy(str+2, strcat(p1, p2)); printf(“%s\\n”,str); } A.xyzabcABC B.zabcABC C.yzabcABC D.xyabcABC 22.以下程序的输出结果是_____。 void prtv(int *x) { printf(“%d\\n”,++*x);} main( ) { int a=25; prtv(&a); } A.23 B.24 C.25 D.26 23.以下程序中的for循环执行的次数是_____。 #define N 2 #define M N+1 #define NUM (M+1)*M/2 main( ) { int i; for(i=1;i<=NUM;i++);
相关推荐: