第5章 判断与循环 —— 一般复杂问题
程序设计方法
一.选择题
1. 逻辑运算符两侧运算对象的数据类型 。
A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 2. 下列运算符中优先级最高的是 。 A) < B) 十 C) && D) !=
3.能正确表示\当x 的取值在[1,10]和[200,210]范围内为真,否则为假\的表达式是 。 A) (x>=1) &&(x<=10) &&(x> = 200) &&(x<=210) B) (x>=1) || (x<=10) ||(x>=200) ||(x<=210) c) (x>=1) &&(x<=10)||(x>= 200) &&(x<=210) D) (x > =1)||(x< =10) && (x> = 200)||(x<=210)
4.判断char型变量ch是否为大写字母的正确表达式是 。 A) ' A' <=ch<='z' B) (ch> = 'A')&(ch<=' z' ) C) (ch>=' A' )&&(ch<='z') D) (' A' < = ch)AND('z'> = ch) 5.设x,y 和z是int型变量,且x = 3,y= 4,z= 5,则下面表达式中值为0的是 。 A) 'y'&&'y' B) x < =y C) x||y+z&&y-z D) !(x
7.若希望当A的值为奇数时,表达式的值为\真\的值为偶数 表达式的值 为\假\。则以下不能满足要求的表达式是 。 A) A%2==1 B) !(A%2 = =0) C) !(A%2) D) A%2 8. 若有程序段如下: a=b=c=0;x=35; if(!a)x--;
else if(b);if(c)x=3; else x=4;
执行后,变量x的值是 。 A)34 B)4 C)35 D)3 9.下列if语句中,不正确的是 。
A)if (x 16 } if (x>=10) { } x-=3; x+=5; continue; break; if(x%2==1) 变量x的值最终为 。 A)11 B)12 C)13 D)10 11.与“for (i=0;i<10;i++) putchar ('a'+i);”功能不同的语句是 。 A)for (i=0;i<10;)putchar ('a'+(++i)); B)for (i=0;i<10;) putchar ('a'+(i++)); C)for (i=0;i<10;putchar ('a'+i),i++); D)for (i=0;i<=9;i++)putchar ('a'+i); 12.循环控制语句“while (!scanf (“%d”,&i)getchar ( );”执行的情况是 。 A)循环输入字符,遇文件结束符EOF退出 B)循环条件有错,不能执行 C)若输入数据i有错,暂停等待处理 D)键入i值后,回车退出循环 13. 若输入字符串:abcde<回车>,则以下while循环体将执行 次。 While ((ch=getchar( ))== ' e ')printf(\A)4 B)5 C)0 D)任意 14.设j为int型变量,则下面for 循环语句的执行结果是 。 for (j=10;j>3;j--) { } A)6 3 B)7 4 C)6 2 D)7 3 15. 以下程序的输出结果是 。 #include A)-1 1 B)0 1 C)1 0 D)0 0 16. 下面程序的输出结果是 。 #include 17 if (j%3)j--; --j;--j; printf (\ int a=-1,b=1,k; if((++a<0)&&!(b--<=0)) printf(\else printf(\ return 0; { } A)有语法错,不能通过编译 B)通过编译,但不能连接 C)x=5 D)a=b=0 17. 有以下程序 #include 程序运行后的输出结果是 。 (A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 3 18.下面程序运行结果是 。 #include A)20 B)25 C)15 D)10 19. 定义:int x=7,y=8,z=9;后,则下面表达式为0的是 。 A)' x ' && ' y ' B)x<=y C)x||y+z&&y-z D)!((x 20. 若w=1,x=2,y=3,z=4,则条件表达式w 18 int x=5,a=0,b=0; if(x!=(a+b)) printf(\else printf(\ return 0; int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf(\ return 0; int a,b,c,d,x; a=c=0; b=1;d=20; if(a) d=d-10; else if(!b) if(!c)x=15; else x=25; printf(\ return 0; int main() { } 其输出结果是 。 A)1 B)2 C)3 D)4 22. 有以下程序 #include 执行后输出结果是 。 A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 23. 以下程序的输出结果是 。 #include A)-1 1 B)0 1 C)1 0 D)0 0 24. 阅读以下程序: #include 程序执行后,如果从键盘上输入5,则输出结果是 。 19 int w=4,x=3,y=2,z=1; printf(\ return 0; int i=1,j=1,k=2; if((j++||k++)&&i++) printf(\ return 0; int a=-1,b=1,k; if((++a<0)&&!(b--<=0)) printf(\printf(\else return 0; int x; scanf (\ if (x--<5) printf(\else printf(\ return 0; A)3 B)4 C)5 D)6 25. 以下程序的输出结果是 。 #include A)2 0 B)31 C)321 D)210 26. 有以下程序 #include 程序运行后的输出结果是 。) A)2 B)3 C)43 D)44 27. 下列条件语句中,功能与其他语句不同的是 。 A)if(a) printf(\B)if(a==0) printf(\C)if(a!=0) printf(\D)if(a==0) printf(\28. 下面程序的输出是 。 #include int x=3,y=6,a=0; while(x++!=(y-=1)) { } 20 int n=4; while(n--) printf(\ return 0; int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf(\printf(\else printf(\ return 0; a+=1; if(y break;