第4章 选择结构程序设计 练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章选择结构程序设计

注:选择结构的考点,最重要的有两个,一个是逻辑表达式的值,另一个是分支界限。弄明白这两个知识点,就能够以不变应万变了。

一、单项选择题

1. 在C语言中,能代表逻辑值"真"的是。

A) true B)大于0的数C)非0整数D)非0的数

2. 表示关系x<=y<=z的c语言表达式为。

A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z) C) (x<=y<=z) D) (x<=y)&(y<=z)

3. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是。

A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0

4、判断char型变量c1是否为大写字母的表达式为。

A)’A’<=c1<=’Z’ B)(c1>=’A’) & (c1<=’Z’)C)(’A’<=c1)AND (‘Z’>=c1) D)(c1>=’A’)&& (c1<=’’Z’)

5. 有定义char c; c=getchar(); 判断字符变量c为大写字母的正确表达式为。

A) ‘A’==‘A’&& c<=’Z C)A==A && c<=Z

6. 设有语句“int a=4;b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是。

A)1B)0 C)-1 D)出错

7. 设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是。

A)10

C) a>10&&a<15 D)!(a<=10)&&!(a>=15)

8. 为表示逻辑表达式79

A)( X>79 )&&( X<90 ) B) ( X>79 )!=( X<90 ) C) 7979 )||( X<90 )

9. 在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是。

A)if (a) s1 ; else s2;B)if (a= =0) s2; else s1;

C)if (a!=0) s1; else s2; D)if (a= =0) s1; else s2;

10. 假定所有变量均已正确定义,则下列程序段运行后y的值是。

int a=0,y=10;

if(a=0) y--;

else if(a>0) y++;

else y+=y;

A)20 B)11C)9 D)0

解析:此类题目可以自行编写下述测试程序进行调试验证。

#include

void main(){

......

printf("y=%d\n",y) ;

}

11. 假定所有变量均已正确定义,则下列程序段运行后x的值是。

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

12. C语言对嵌套if语句的规定是:else语句总是与配对。

A) 其之前最近的if B) 第一个if

C) 缩进位置相同的if D) 其之前最近的且尚未配对的if

13. 在C语言语句中,用来决定分支流程的表达式是。

A)可用任意表达式B)只能用逻辑表达式或关系表达式

C)只能用逻辑表达式D)只能用关系表达式

14. C语言中用表示逻辑“真”。

A) true B) 整数值1 C)非零整数值D) false

15. 若k是int型变量,且有下面的程序段, 输出结果是。

int k; k= -3;

if (k<=0) printf(“####”) ;

else printf(“&&&&”);

A)####B)&&&& C)####&&&& D)有语法错误,无输出结果16. main()

{ int x=0,a=0,b=0;

switch(x){

case 0: b++;

case 1: a++;

case 2: a++;b++;}

printf(“a=%d,b=%d\n”,a,b);}

该程序的输出结果是。

A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2

17. 以下程序的输出结果是:()

main()

{ int x=-10,y= 1,z=1;

if(x

if(y<0) z=0;

else z=z+1;

printf(“%d\n”,z);

}

A) 0 B) 1 C) 2 D) 3

18. 以下程序段的输出结果是。

int a=10,b=50,c=30 ;

if(a>b)

a=b ;

b=c ;

c=a ;

printf("a=%2d b=%2d c=%2d\n",a,b,c) ;

A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50

19. 若int i=10; 执行下列程序后,变量i的正确结果是。

switch ( i ) { case 9: i+=1;

case 10: i+=1;

case 11: i+=1;

default : i+=1;

}

A)13B)12C)11 D)10

二、阅读程序,写出运行结果

1.

#include main()

{ int a=1,b=3,c=5; if (c==a+b)

printf("yes\n"); else

printf("no\n"); }

运行结果为:

no 2.

#include

main()

{ int a=12, b= -34, c=56, min; min=a;

if(min>b) min=b;

if(min>c) min=c;

printf("min=%d", min);

}

运行结果为:

min=-34

3.

#include main()

{ int x=2,y= -1,z=5;

if(x

if(y<0)

z=0;

else

z=z+1;

printf(“%d\n”,z); }

运行结果为:54.

#include

main()

{int a=10,b=50,c=30;

if(a>b)

a=b;

b=c;

c=a;

printf("a=%d b=%d c=%d\n",a,b,c); }

运行结果为:a=10 b=30 c=10

相关文档
最新文档