出自:兰州工业学院-计算机语言(C语言)

【单选题】 在C语言中,下列说明正确的是______。 A、 do-while构成的循环,当while中的表达式值为零时结束循环 B、 do-while构成的循环必须用break才能退出 C、 do-while允许从外部转到循环体内 D、 do-while的循环体不能是复合语句
【单选题】 下面程序的运行结果是_____。 #include<cstdio> void main() { int y=10; do{ --y; } while(--y); printf("%d\n",y--); } A、 0 B、 -1 C、 1 D、 2
【单选题】 以下描述不正确的是_____。 A、 使用while和do-while循环时,循环变量初始化的操作应在循环体语句之前完成 B、 while循环是先判断表达式,后执行循环语句 C、 do-while 和for循环均是先执行循环语句,后判断表达式 D、 for、while 和do-while循环中的循环体均可以由空语句构成
【单选题】 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include<cstdio> void main() { int i=0,j,k; do { i++; k=316-13*i; }while(______); j = k/11; printf("316 = 13* %d + 11 *%d\n", i,j); } A、 k/11 B、 k%11 C、 k/11==0 D、 k%11==0
【单选题】 下面程序段中,循环体的执行次数是______。 int a=10,b=0; do { b+=2; a-=2+b; }while(a>=0); A、 2 B、 3 C、 4 D、 5
【单选题】 以下不是无限循环的语句是______。 A、 for(y=0,x=1; x>++y; x=i++) i=x; B、 for(;;x++=i); C、 while(1){x++;} D、 for(i=10; ; i--) sum+=i;
【单选题】 执行语句:for(i=1; i++<4;);后变量i的值是______。 A、 3 B、 4 C、 5 D、 不定
【单选题】 对for(表达式1;;表达式3)可理解为_____。 A、 for(表达式1;0;表达式3) B、 for(表达式1;1;表达式3) C、 for(表达式1;表达式1;表达式3) D、 for(表达式1;表达式3;表达式3)
【单选题】 以下程序运行后的输出结果是______。 void main() { int s=0,k; for(k=7; k>=0; k--) { switch(k) { case 1: case 4: case 7: s++; break; case 2: case 3: case 6: break; case 0: case 5: s+=2; break; } } printf("s=%d\n",s); } A、 s=5 B、 s=1 C、 s=3 D、 s=7
【单选题】 若i为整型变量,则以下程序的输出结果是______。 for(i=2; i != 0; ) printf("%d ",--i); A、 2 1 0 B、 2 1 C、 1 0 D、 死循环
【单选题】 以下程序段的输出结果是_____。 int k,j,s=0; for(k=2; k<6; k+=2,s=0) { for(j=k; j<6; j++) s+=j; printf("%d\t",s); } A、 14 9 B、 14 C、 14 23 D、 14 9 0
【单选题】 运行以下程序后,如果从键盘上输入:65 14<回车>,则输出结果为______。 void main() { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n) m-=n; while(n>m) n-=m; } printf("m=%d\n",m); } A、 m=0 B、 m=1 C、 m=2 D、 m=3
【单选题】 下列程序的输出结果是_____。 void main() { int i,j,m=0,n=0; for(i=0; i<2; i++) for(j=0; j<2; j++) if(j>=i) m=1; n++; printf("%d \n",n); } A、 4 B、 2 C、 1 D、 0
【单选题】 若i,j已定义为int型,则以下程序段中内循环的总次数是______。 for(i=3; i; i--) for(j=0; j<2; j++) for(k=0; k<=2; k++) {...} A、 30 B、 36 C、 27 D、 18
【单选题】 以下描述正确的是_____。 A、 continue语句的作用是结束整个循环的执行 B、 只能在循环体内和switch语句体内使用break语句 C、 在循环体内使用break和continue语句的作用相同 D、 从多层循环嵌套中退出时,可以使用continue语句
【单选题】 以下程序的输出结果是______。 void main() { int i; for(i=1; i<=5; i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n"); } A、 ***#$ B、 #*#*#*$ C、 *#*#*#$ D、 **#*$
【单选题】 对下面程序段,描述正确的是______。 for(t=1; t<=100; t++) { scanf("%d",&x); if(x<0) continue; printf("%d\n",t); } A、 当x<0时,整个循环结束 B、 当x>=0时,什么也不输出 C、 printf函数永远也不执行 D、 最多允许输出100个非负整数
【单选题】 以下程序的输出结果是______。 void main() { int a,b; for(a=1,b=1; a<=100; a++) { if(b>=10) break; if(b%5==1) { b+=5; continue;} } printf("%d\n",a); } A、 101 B、 6 C、 4 D、 3
【单选题】 下面程序的输出结果是_____。 void main() { int y=9; for( ; y>0; y--) { if(y%3==0) { printf("%d",--y); continue; } } } A、 741 B、 852 C、 963 D、 875421
【单选题】 以下程序段的运行结果是________。 int i,j; for(i=10; i<16; i++) { for(j=2; j<=(int)sqrt(i); j++) if(!(i%j)) break; if(j>(int)sqrt(i)) printf("%d ",i); } A、 10 11 12 13 14 15 B、 10 12 14 C、 11 13 15 D、 11 13
【单选题】 _____不是程序控制语句,是C语言的标准库函数,但可以用于控制程序的流程。 A、 break B、 continue C、 goto D、 exit
【单选题】 exit()函数的作用是________。 A、 结束本轮循环 B、 终止操作系统 C、 结束循环 D、 终止程序的执行,强制返回到操作系统
【单选题】 假设整型n已输入值。以下不能正确计算1*2*3*...*n的程序段是_______。 (1) for(i=1,s=1; i<=n; i++) s*=i; (2) i=1;s=1; while(i<=n) s*=i++; (3) i=0,s=1; do{ i++,s*=i; }while(i<=n); (4) for(i=1,s=1; ; i++) { s = s*i, if(i==n) break; } A、 1 B、 2 C、 3 D、 4
【单选题】 假设输入48 18,下列程序的运行结果是_____。 void main() { int n,m,r; scanf("%d%d",&n,&m); do{ r = n%m; n=m,m=r; }while(r); printf("%d\n",n); } A、 12 B、 6 C、 3 D、 2
【单选题】 下列程序的输出结果是______。 void main() { int num,k,s,temp; num=100,k=1,temp=1,s=0; do{ s=s + num%8*temp; num/=8; temp *=10; }while(num); printf("%d\n",s); } A、 100 B、 441 C、 144 D、 64
【单选题】 以下错误的数组定义是 A、 double d[1+2+3]; B、 #define N 10 int a[N+2]; C、 float f[10+.A.] D、 int n=10; int a[n+2];
【单选题】 在VC6.0中,定义了数组 int a[10]; 则a数组在内存中占用了_______个字节 A、 10 B、 20 C、 40 D、 不确定
【单选题】 以下对数组元素正确引用的是: A、 float f[10]; f[10]=3.14; B、 char s[20];s[5-6]=.A.; C、 double d[5];d[5-5]=8; D、 a[1]=2; int a[8];
【单选题】 以下正确的定义语句是: A、 float f={1.1, 2.2, 3.3, 4.4, 5.5}; B、 int a[5]={-1,0,6,1,2,3}; C、 char ch[ ]={.a., .b., .c., .d., .e.}; D、 double d[5]; d[5]={1,2,3,4,5};
【单选题】 下面程序的运行结果是: void main() { char ch[]="6543ab21"; int i,s; for(i=0,s=0;ch[i]>=.0.&&ch[i]<=.9.;i+=2) s=s*10+ch[i]-.0.; printf("%d\n",s); } A、 654321 B、 6543 C、 65 D、 64
【单选题】 以下程序的输出结果是: void main() { int i,j,n,a[5]={3,4,1,2,-6}; for(i=0;i<5;i++) for(j=i+1;j<5;j++) if(a[j]<a[i]) { n=a[j];a[j]=a[i];a[i]=n; } for(i=0;i<5;i++) printf("%3d",a[i]); printf("\n"); } A、 3 4 1 2 -6 B、 4 3 2 1 -6 C、 -6 1 2 3 4 D、 4321-6
【单选题】 下面程序的输出结果是: #include using namespace std; int main () { int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) { t=a[i];j=i-1; while(j>=0&&t>a[j]) { a[j+1]=a[j]; a[j]=t; j--; } } for(i=0;i<5;i++) printf("%3d",a[i]); printf("\n"); return 0; } A、 4 0 2 3 1 B、 0 1 2 3 4 C、 4 3 2 1 0 D、 1 3 2 0 4
【单选题】 下面程序的输出结果是: #include<cstdio> using namespace std; int main () { char a[]="AAaaBB9EMW"; int i,c; for(i=2;(c=a[i])!=.\0.;i++) { switch(c) { case .a.:putchar(.B.);continue; case .9.:break; case 9:putchar(.A.); case .E.: case .L.:continue; default:putchar(c);continue; } putchar(. .); } putchar(.\n.); return 0; } A、 AABBMW B、 BBBB MW C、 AABBBB MW D、 AABBBBMW
【单选题】 以下不能对二维数组进行正确初始化的语句是: A、 double d[][2]={1,2,3,4,5,6,7}; B、 double d[][2]={{1},{2,3},{4,5,6}}; C、 double d[3][3]={{1,2,3},{4,5},{6}}; D、 double d[][3]={{1,2},{3,4},{5,6}};
【单选题】 以下能对二维数组进行正确初始化的语句是 A、 int a[1][3]={{1,0,1},{},{1,2,3}}; B、 int a[2][4]={{1},{2,3},{4,5,6}}; C、 int a[][3]={{1,2},{3,4}}; D、 int a[3][]={{1},{2,3},{4,5,6}};
【单选题】 以下程序的输出结果是: void main() { int k,a[3][3]={1,2,3,4,5,6,7,8,9}; for(k=0;k<3;k++) printf("%3d",a[k][2-k]); printf("\n"); } A、 3 6 9 B、 3 5 7 C、 1 5 9 D、 1 4 7
【单选题】 以下程序的输出结果是: void main() { int i,j,a[3][3]={1,2,3,4,5,6,7,8,9},t; for(i=0;i<3;i++) { t=a[0][i]; for(j=1;j<3;j++) if(a[j][i]>t) t=a[j][i]; printf("%3d",t); } printf("\n"); } A、 1 2 3 B、 1 4 7 C、 3 6 9 D、 7 8 9
【单选题】 以下不能正确进行字符串赋值的语句是: A、 char str[5]="good!"; B、 char str[5]={.g.,.o.,.o.,.d.}; C、 char str[]="good!"; D、 char str[]={"good!"};
【单选题】 给出以下定义,则正确的叙述是: char s1[]="hello world!"; char s2[]={.h.,.e.,.l.,.l.,.o.,. .,.w.,.o.,.r.,.l.,.d.,.!.}; A、 数组s1和数组s2等价 B、 数组s1和数组s2长度相等 C、 数组s1长度大于数组s2长度 D、 数组s1长度小于数组s2长度
【单选题】 判断字符串s1是否大于字符串s2,应当使用的语句是: A、 if(s1>s2) B、 if(strcmp(s1,s2)) C、 if(strcmp(s2,s1)>0) D、 if(strcmp(s1,s2)>0)
【单选题】 以下程序的输出结果是: void main() { char str[20]="hello!\0world!\t\\\n"; printf("%d %d\n",strlen(str),sizeof(str)); } A、 15 20 B、 20 20 C、 6 20 D、 16 20
【单选题】 当执行程序时,如果输入abc,则下面程序的输出结果是: void main() { char s[20]="12345"; scanf("%s",s); strcat(s,"6789"); printf("%s\n",s); } A、 abc123456789 B、 12345abc6789 C、 abc6789 D、 6789
【单选题】 以下程序的输出结果是: void main() { char arr[2][4]; strcpy(arr[0],"you"); strcpy(arr[1],"me"); arr[0][3]=.&.; printf("%s\n",arr); } A、 you B、 me C、 you&me D、 出现错误
【单选题】 以下程序的输出结果是: void main() { int i; char w[][10]={"susan","peter","jack","mary"}; for(i=1;i<3;i++) printf("%s\t",w[i]); printf("\n"); } A、 s p j m B、 susan eter ck y C、 susan peter jack mary D、 peter jack
【单选题】 C语言规定:简单变量作为实参时,它和对应形参之间的数据传递方式是______ A、 地址传递 B、 单向值传递 C、 由实参传给形参,再由形参传回给实参 D、 由用户指定的传递方式
【单选题】 以下只有在使用时才为该类型变量分配内存的存储类说明是: A、 auto和static B、 auto和register C、 register和static D、 extren和register
【单选题】 若用数组名作为函数的实参,传递给形参的是: A、 数组的首地址 B、 数组第一个元素的值 C、 数组中全部元素的值 D、 数组元素的个数
【单选题】 以下正确的说法是: A、 定义函数时,形参的类型说明可以放在函数体内 B、 return 后边的值不能为表达式 C、 如果函数值的类型与返回值类型不一致,以函数值类型为准 D、 如果形参与实参类型不一致,以实参类型为准
【单选题】 函数调用不可以( ) A、 出现在执行语句中 B、 出现在一个表达式中 C、 作为一个函数的实参 D、 作为一个函数的形参
【单选题】 C语言规定,函数返回值的类型是由______ A、 return 语句中的表达式类型所决定 B、 调用该函数时的主调函数类型所决定 C、 调用该函数时系统临时决定 D、 在定义该函数时所指定的函数类型所决定