第05章选择结构程序设计 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第05章选择结构程序设计
1.填空题
(1)C语言中的语句可以分为_____、_____、_______、_______、_______五类.
(2)C语言用____表示假,____表示真.
(3)C语言提供的三种逻辑运算符是________,______和_____.
(4)关系运算符具有_______结合性,相同优先级的关系运算符连用时,按照_____的顺序计算表达式的值.
(5)对于一个关系表达式的值,______表示假,______表示真.
(6)对于C语言运算符的优先级,______运算符优先级最高,_____ 运算符优先级最低.
(7)C语言用于选择结构的控制语句有________语句和________语句两种,前者用于
________的情况,而后者用于____的情况.
(8)当a=3,b=2,c=1时,表达式f=a>b>c的值是________.
2.选择题
(1)有如下程序,该程序的输出结果是()
void main ( )
{
int x = 1 , 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
(2)若有如下程序,该程序的输出结果是()
void main ( )
{
float x = 2.0 , y ;
if (x < 0.0) y = 0.0 ;
else if (x < 10.0) y = 1.0 / x ;
else y = 1.0 ;
printf (“%f\n”, y);
}
A. 0.000000
B. 0.250000
C. 0.500000
D. 1.000000
(3)设有:int a = 1 , b = 2 , c = 3 , d = 4 , m = 2 , n = 2 ; 执行 (m=a>b)&&(n=c>d)后n 的值是()
A.1 B.2C.3D.4
(4)对if语句中表达式的类型,下面正确的描述是()
A.必须是关键表达式
B.必须是关键表达式或逻辑表达式
C.必须是关键表达式或算术表达式
D.可以是任意表达式
(5)多重if_else语句嵌套使用时,寻找与else配对的if方法是()A.缩排位置相同的if B.其上最近的if
C.下面最近的if D.其上最近的未配对的if
(6)以下错误的if语句是()
A.if(x>y) z=x ;
B.if(x==y) z=0 ;
C.if(x!=y) printf(“%d”,x) else printf(“%d”,y);
D.if(x (7)以下程序的输出为() void main ( ) { int a = 20 , b = 30 , c = 40 ; if (a > b) a = b , b = c ; c = a ; printf (“a = %d , b = %d , c = %d , a, b, c) ; } A.a=20, b=30, c=20B.a=20, b=40, c=20 C.a=30, b=40, c=20D.a=30, b=40, c=30 (8)对于条件表达式(k)? (i++) : (i--)来说,其中的表达式k等价于()A.k==0 B.k==1 C.k!=0 D.k!=1(9)下面程序运行结果为() void main ( ) { char c = ‘a’ if (‘a’ < c <= ’z’) printf (“LOW”) ; else printf (“UP”) ; } A.LOW B.UP C.LOWUP D.程序语法错误 (10)对下速程序,正确的判断是() void main ( ) { int a, b ; scanf (“%d , %d”, &a , &b) ; if (a > b) a = b ; b = a ; else a++ ; b++ ; printf (“%d , %d”, a , b ) ; } A.有语法错误不能通过编译 B.若输入4,5则输出5,6 C.若输入5,4则输出4,5 D.若输入5,4则输出5,5 (11)逻辑运算符两侧运算对象的数据类型() A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型数据D.可以是任何类型的数据 (12)以下关于运算符优先顺序的描述中正确的是() A.关系运算符< 算术运算符< 赋值运算符< 逻辑运算符 B.逻辑运算符< 关系运算符< 算术运算符< 赋值运算符 C.赋值运算符< 逻辑运算符< 关系运算符< 算术运算符 D.算术运算符< 关系运算符< 赋值运算符< 逻辑运算符 3、程序填空题 (3)下面的程序的功能是根据输入的百分制成绩score ,转换成相应的五分制成绩grade 并打印输出。转换的标准为:当90≤Score≤100是,grade为A;当80≤scor e<90时,grade 为B;当70≤score<80时,grade为C;当60≤score<70时,grade为D;当score<60时,grade为E;请填空。 #include void main ( ) { int score, mark; scanf ("%d",________); mark = ________; switch (mark) { default : printf (