11.设int i=010,j=10;,则执行语句printf(\后,屏幕的输出的是( )。 A.11,10 B.9,10 C.010,9 D.10,9
12.设a、b为字符型变量,执行scanf(\后,要使a为'A', b为'B',从键盘上的正确输入应是( )。
A.'A' 'B' B.'A','B' C.A=A,B=B D.a=A,b=B
13.假定所有变量均已正确定义,下列程序段运行后y的值是( )。 int a=0,y=10;
if(a=0) y--;else if(a>0) y++; else y+=y; A.20 B.11 C.9 D. 0
14.假定所有变量均已正确定义,下列程序段运行后x的值是( )。 int a=b=c=0;x=35;
if(!a) x--; else if(b); if(c) x=3; else x=4; A.34 B.4 C.35 D.3
15.下列各语句序列中,能够且仅输出整型变量a、b中最大值的是( )。 A.if(a>b) printf(\B.printf(\C.if(a>b) printf(\D.if(a
16.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是( )。 A.if(u>s)t=u; t=s; B.t=s; if(u>s)t=u; C.if(u>s)t=s; else t=u; D.t=u; if(u>s)t=s; 17.下列各语句中,能够输出整型变量a、b中最大值的是( )。 A.printf(\
B.(a>b)? printf(\C.printf(\D.printf(\
18.下列语句应将小写字母转换为大写字母,其中正确的是( )。 A.if(ch>='a'&ch<='z') ch=ch-32; B.if(ch>='a'&&ch<='z')ch=ch+32; C.ch=(ch>='a'&&ch<='z')?ch-32:’’; D.ch=(ch>'a'&&ch<'z')?ch-32:ch;
19.int a=1, x=1; 循环语句while(a<10) x++; a++; 的循环执行了( )。 A.无限次 B.不确定次 C.10次 D.9次 20.下列语句中,错误的是( )。 A.while(x=y) 5; B.do x++ while(x==10); C.while(0) ; D.do 2;while(a==b);
21.循环语句for(x=0, y=0; (y! =123)| | (x<4); x++); 的循环体执行了( )。 A.无限次 B.不确定次 C.4次 D.3次
11
22.循环语句for(i=0, x=1; i=10 && x>0; i++); 的循环体执行了( )。 A.无限次 B.不确定次 C.10次 D.9次
23.i、j 已定义为int类型,则以下程序段中内循环体的执行次数是( )。 for(i=5;i;i--)
for(j=0;j<4;j++){?} A.20 B.24 C.25 D.30 24.C语言while语句中,用于条件的表达式是( )。 A.关系表达式 B.逻辑表达式 C.算术表达式 D.任意表达式 25.下面的while循环,执行次数是( )。 i=4; while(--i) printf(\A.3次 B.4次 C.0次 D.无数次 26.下列程序段执行后s的值为( )。
int i=1, s=0; while(i++) if(!(i%3)) break ; else s+=i ; A.2 B.3 C.6 D.以上均不是 27.下列程序的输出结果是( )。 #include
{int x=3, y=6, z=0;
while(x++!=(y-=1)){ z++; if(y A.x=4,y=4,z=1 B.x=5,y=4,z=3 C.x=5,y=4,z=1 D.x=5,y=5,z=1 28.int i=1,s=0; while (i<100) {s+=i++;if (i>100 ) break;} 执行以上程序段后,s的值是( )。 A.1到101的和 B.1到100的和 C.1到99的和 D.以上均不是 29.假定i和j为int型变量,则执行以下语句后i的值为( )。 int i=1,j; switch (i++) {case 1: for (j=0;j<9;j++) if (i==1) break; case 2: for (j=1;j<10;j++) if (i==2) break; case 3: printf (“i=%d\\n”,i ); } A.0 B.1 C.2 D.3 30.假定a和b为int型变量,则执行以下语句后b的值为( )。 a=1;b=10; 12 do { b-=a;a++;} while (b--<0); A.9 B.8 C.-1 D.-3 31.设x和y均为int型变量,则执行下面的循环后,x,y的值分别为( )。 for (y=1,x=1;y<=50;y++) {if (x>=10 ) break; if (x%2==1) {x+=5;continue; } x-=3; } A.10,6 B.2,51 C.2,50 D.3,50 32.求整数1至10的和并存入变量s,下列语句中错误的是( )。 A.s=0;for(i=1;i<=10;i++) s+=i; B.s=0;i=1;for(;i<=10;i++) s=s+i; C.for(i=1,s=0;i<=10;s+=i,i=i+1) D.for(i=1;s=0;i<=10;i++) s=s+i; 33.若sizeof(int)为2,计算1至10的乘积,下列语句序列中正确的是( )。 A.int i,jc=1; for(i=2;i<=10;i++) jc*=i; B.int i;float jc; for(jc=1,i=2;i<=10;i++,jc*=i); C.int i; float jc=1; for(i=2;i<=10;jc*=i,i=i+1); D.float jc; for(jc=1;i=2;i<=10;i++) jc*=i; 34.下列语句中,哪一个可以输出26个大写英文字母( )。 A.for(a='A';a<='Z';printf(\B.for(a='A';a<'Z';a++)printf(\C.for(a='A';a<='Z';printf(\D.for(a='A';a<'Z';printf(\ 35.在C语言中,下列说法中正确的是( )。 A.不能使用“do语句while(条件);”的循环 B.“do语句while(条件);”的循环必须使用“break”语句退出循环 C.“do语句while(条件);”的循环中,当条件为非0时将结束循环 D.“do语句while(条件);”的循环中,当条件为0时将结束循环 二、填空题 1.结构化程序设计规定的三种基本结构是 结构、 结构和 结构。 2.若有定义语句int a=25,b=14,c=19; 以下语句的执行结果是 。 if(a++<=25 && b--<=2 && c++) printf(\else printf(\ 3.以下两条if语句可合并成一条if语句 。 if(a<=b) x=1; else y=2; if(a>b) printf(\else prinft(\ 4.下列程序的功能是输入一个正整数,判断是否能被3或7整除,若能整除,输出 13 “YES”,若不能整除,输出“NO”。请为程序填空。 void main() { int k; scanf (\ if printf(\else printf (\} 5.三种循环语句是 价的。 6.当循环体中的switch语句内有break语句,则只跳出 语句。同样,当switch语句中有循环语句,内有break语句,则只跳出 语句。 7.循环体中的continue 语句是 。 8.若int k=10, 循环语句while (k=0) k=k-1; 执行 次。 9.若int k=2, 循环语句while (k!=0) { printf(\执行 次。 10.若int i=10,s=0;,执行语句while(s+=i--,--i);后s、i的值分别为 。 11.程序段 int s,i; for(i=1;i<=100;s+=i,i++); 能否计算1~100的和? ,原因 。 12.若int类型变量字长为2,程序段 int i,jc=1; for(i=2;i<10;i++)jc*=i; 能否计算1~10的阶乘? ,原因是 。 13.设i, j, k均为int型变量,则执行完下面的for循环后,k的值为 。 for(i=0,j=10; i<=j; i++,j--) k=i+j; 14.下列程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0,请为程序填空。 void main( ) {int i, x, y=1; scanf(\for(i=2; i<=x/2; i++) if { y=0; break; } printf(\} 15.输入若干个字符,分别统计数字字符的个数、英文字母的个数,当输入换行符时输出统计结果,运行结束。 #include int s1=0,s2=0; while( !='\\n') { if(ch>='0'&&ch<='9') s1++; if(ch>='a'&&ch<='z' || ch>='A'&&ch<='Z') s2++; } } 三、程序分析题 1.阅读程序,写出运行结果。 14 void main () {int a=10,b=4,c=3; if(a printf(\} 2.阅读下列程序,写出程序的输出结果。 void main ( ) {int x=100,a=10,b=20,ok1=5,ok2=0; if(a else x=-1; printf(\} 3.阅读下列程序,写出下列程序的输出结果。void main( ) {int k,a=1,b=2; k=(a++==b)?2:3; printf(\ 4.阅读下列程序,写出程序运行的输出结果。void main( ) {int y=9; for( ;y>0; y--) if(y%3==0) { printf(\} 5.阅读下列程序,写出程序运行的输出结果。void main ( ) {int i=5; do { switch (i%2) { case 4: i--; break; case 6: i--; continue; } i--; i--; printf(\} while(i>0); } 6.阅读下列程序,写出程序运行的输出结果。#include 15