w=1; x=2; y=3; z=4;
m=(w 则该程序运行后,m的值是______。 (A) 4 ( B) 3 ( C) 2 ( D) 1 若有条件表达式 (expression) ?a++:b--,则以下表达式中能完全等价于表达式(expression)的是______。 (A) (expression==0) (B) (expression!=0) (C) (expression==1) (D) (expression!=1) 若有以下定义: float x;int a,b;则正确的switch 语句是______。 (A) switch(x) (B) switch(x) { case 1.0:printf(\{ case 1:printf(\ case 2.0:printf(\} case 2:printf(\} (C) switch (a+b) (D) switch (a+b); { case 1,2:printf(\ { case 1:case 2: printf(\} 已知a=2.5,b=2,c=3.6,表达式a>b&&c>a || ab的值是【 1 】。 表示\整数x的绝对值大于2\时值为\真\的C语言表达式是【 x>2||x<-2 】。 C语言提供的三种逻辑运算符是&& 、||和【 ! 】。 已知a=3,b=-4,c=5,表达 式!(a>b)+(b!=c)||(a+b)&&(b-c)的值是【 1 】。 11 表达式(3+a)(b+8)+sin45°≤lnx的C语言表达式是 【 (3+a)*(b+8)+sin(45)<=log(x) 】。 表达式0≤a≤5且a≠3的C语言表达式是【 (0<=a&&a<=5)&&(a!=3) 】。 以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如'a'变成'f','w'变成'b'。请在空中填入正确内容。 #include { char c; c=getchar(); if(c>='a'&&a<='u') 【 c=c+5 】; else if(c>='v'&&c<='z') c=c-21; putchar(c); } 阅读下面程序: #include { int s, t, a, b; scanf(\ s=1; t=1; if(a>0) s=s+1; if(a>b) t=s+t; else if (a==b) t=5; else t=2*s; printf(\ 为了使输出结果t=4, 输入量a和b应满足的条件是【 b>a>0 】。 以下程序运行后的输出结果是【 3 】。 #include { int a=1, b=2, c=3; if (a) { if (b<0) c=0; } else c++ ; printf(\ } 运行下面的程序,从键盘上输入3, #include { int x; scanf(\,&x); if(x>5)printf(\,x); else printf(\,x--); } 程序运行结果是【 3 】。 读程序,程序运行结果是【 'c' 】。 #include if(m++> 'b') printf(\ else printf(\} 读程序,运行时输入2.0(回车) #include { float a,b; scanf(\ if (a>10.0) b=1.0/a; else if((a<0.5)&&(a!=2.0))b= 1.0/(a+2.0); else if(a<10.0) b= 1.0/a ; else b=10.0; printf(\ } 程序运行结果是【 0.500000 】。 B switch选择结构中必须有default子句。 B 如果x>y或ay&&a A 假定变量x,y,z在说明时已赋初值,则if ((x=y+5)>0) z=x;是正确的。 B int a=1,b=0,c=1;,则!(a+b)+c-0&&b+c/2的值为1。 B 语句if(a) x=1;与 if(a==0)x=1;等价。 A if (x>0) {x=x+y ; printf (\语句语法是正确的。 A if语句后面的表达式并不限于是 12 关系表达式或逻辑表达式,而可以是任意表达式。if语句中可以再嵌套if语句。 A !b==c||d B 5>0 && 4>2的结果为假。 A a&&b&&c逻辑表达式中,当a为假时将不再计算b和c的值了。 第五章未看 执行程序段: x=-1; do { x=x*x;} while(!x); 的结果是______。 (A)死循环 (B)循环执行2次 (C)循环执行一次 (D)有语法错误 有以下程序: #include { while(putchar(getchar())!='?'); } 当输入\时,程序的执行结果是______。 (A)hello (B)dijob (C)dijob? (D)hello? 以下程序的输出为______。 #include void main( ) { int y=5; while (y--); printf (\(A)y=0 (B)无限循环,无结果输出 (C)y=1 (D)y=-1 设有程序段: int x=0,s=0; while(x!=0) s+=++x; printf(\则运行程序段后______。 (A)输出0 (B)输出1 (C)控制表达式是非法的 (D)执行无限次 设有程序段: int k=10; while(k=0) k=k-1; ,则下面描述正确的是______。 (A)while 循环执行10次 (B)循环是无限循环 (C)循环体语句一次也不执行 (D)循环体语句执行一次 C语言的do-while循环中,循环由do开始,用while结束;而且在while表达式后面的______不能丢,它表示do-while循环的结束。 (A)\\n (B)“;” (C)“%” (D) “,” 以下能正确计算1×2×3×4...×10的程序段是______。 (A)do {i=1; s=1; s=s*i; i++;} while(i<=10); (B)do {i=1; s=0; s=s*i; i++;} while(i<=10); (C)i=1; s=1; do {s=s*i; i++;} while(i<=10); (D)i=1; s=0; do {s=s*i; i++;} while(i<=10); 以下描述中正确的是______。 (A)由于do-while循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 (B)do-while循环由do开始,用while结束,因此在while(表达式)后无需加分号。 (C)在do-while循环体中,一定要有能使while后面表达式的值变为“假”的操作。 (D)do-while循环中,根据情况可以省略while。 下面程序段的输出结果是______。 int x=3; do{printf(\while(!(--x)); (A)1 2 (B)3 2 (C)2 3 (D)1 -2 C语言的for语句中的表达式可以部分或全部省略,但两个______不可省略。当三个 13 表达式均省略后,因缺少判断条件,循环可能会无限制地进行下去,形成死循环。 (A)“<” (B)“++” (C)“;” (D)“,” 对于for(表达式;;表达式3)可理解为______。 (A)for(表达式;0;表达式3) (B)for(表达式;1;表达式3) (C)for(表达式;表达式1;表达式3) (D)for(表达式;表达式3;表达式3) 若i为整型变量,则以下循环执行的次数是______。 for(i=2;i==0;) printf(\ (A)无限次 (B)0次 (C)1次 (D)2次 以下for循环的执行次数是______。 for(x=0,y=0;(y=3)&&(x<4);x++,y++); (A)是无限循环 (B)循环次数不定 (C)执行4次 (D)执行3次 设i为整型量,执行循环语句 for(i=50;i>=0;i-=10);后,i值为______。 (A)-10 (B)0 (C)10 (D)50 下面有关for循环的正确描述是______。 (A)for循环只能用于循环次数已经确定的情况。(B)for循环是先执行循环体语句,后判断表达式。 (C)在for循环中,不能用break语句跳出循环体。(D)for循环的循环体语句中,可以包含多条语句,但要用花括号括起来。 下面有关for循环的正确描述是______。 (A)for语句的三个表达式都是可以省略的,但分号“;”绝对不能省略。(B)for语句的三个表达式都是可以省略的,可以写成for( )。 (C)在for语句中,至少会执行循环体语句一次。 (D)for(;;) ; 是一条语法上错误的语句。 在下列选项中,没有构成死循环的程序段是______。 (A)int i=100; while (1) {i=i0+1; if(i>100)break;} (B)for(;;); (C)int k=1000; do{--k;} while (k); ( D)int s=36; while(s>=0) ; --s; 以下程序段的输出结果是______。 int x,i; for (i=1;i<=100;i++) { x=i; if (++x%2==0) if (++x%3==0) if (++x%7==0) printf(\ (A)25 67 (B)26 68 (C)27 69 (D)28 70 以下程序段的输出结果是______。 #include for ( ;i<=10; ) { i++; if (i%3==0) printf(\ else continue;} } (A)3 (B)3 6 (C)3 6 9 (D)3 6 9 10 以下正确的描述是______。 14 (A)continue语句的作用是结束整个循环的执行。 (B)只能在循环体内和switch语句内使用break语句。 (C)在循环体内,使用break语句和使用continue语句的作用是相同的。 (D)从多层循环嵌套中退出时,只能使用goto语句。 下面程序段,______。 for(t=1;t<=100;t++) { scanf(\ if (x<0) continue; printf(\ } (A)当x<0时整个循环结束 (B)当x>=0时什么也不输出 (C)printf函数永远也不执行 (D)最多允许输出100个非负整数 以下为死循环的程序段是______。 (A)for(i=1; ; ) {if (++i%2==0) continue; if (++i%3==0) break; } (B)short int i; i=100; do { if (i<0) break;} while(++i); (C)for(i=1; ; ) if (++i<10) continue; (D)i=100; while(i--); 以下程序输出结果为______。 #include for(i=1;i<=3;i++) { b=i%3; while (b-->=0) k++; } printf(\ } (A)3,-1 (B)6,-1 (C)3,0 (D)6,-2 以下描述正确的是______。 (A)goto语句只能用于退出多层循环。 (B)switch语句中不能出现continue语句。 (C)只能用continue语句来终止本次循环。 (D)在循环中break语句不能独立出现。 以下不正确的描述是______。 (A)break语句不能用于循环语句和switch语句外的任何其他语句。 (B)在switch语句中使用break语句或continue语句的作用相同。 (C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行。 (D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环。 以下叙述正确的是______。 (A)for循环中的break; 语句表示:当条件成立时中止程序执行。 (B)for循环中的continue; 语句表示:当条件成立时中止本层循环。 (C)for循环中的break; 语句表示:当条件成立时中止本层循环。 (D)for循环中的break; 语句表示:当条件成立时暂停本次循环。 下面程序的运行结果是______。 #include for(i=0;i<2;i++) { x++; for(j=0;j<=4;j++) { if(j%2) continue; x++; } x++; } printf(\ 15 } (A)x=6 (B)x=8 (C)x=10 (D)x=12 下面程序段输出的i值是______。 #include for(i=1;i<=50;i++) if((i*i>=130)&(i*i<=180))break; printf(\} (A)10 (B)11 (C)12 (D)13 下面程序段在执行完成后,a的值为:______。 int j=0,k=0,a=0; while(j<3) { j++; a=a+1; k=0; while(k<=2) { k++; if(k%2!=0) continue; a=a+1; } a=a+1; } (A)6 (B)8 (C)9 (D)10 >>> 下面程序的运行结果是____4 _______。 #include while(a*a*a<=50) ++a; printf(\}