参考答案 第4章 选择结构习题 补充练习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择结构习题
一、选择题
1.假设x、y、z为整型变量,且x=2,y=3,z=10,则下列表达式中值为1的是( )
A) x && y || z B) x>z
C) (!x && y) || (y>z) D) x && !z || !(y && z)
2.C程序中,正确表示“1030”的条件表达式为( )
A) (a>10 && a<20) && (a>30) B) (a>10 && a<20) || (a>30)
C) (a>10 || a<20) || (a>30) D) (a>10 && a<20) || !(a<30)
3.执行以下程序段后,w的值为( )
int w=’A’, x=14, y=15;
w=((x||y)&&(w<’a’));
A) -1 B) NULL C) 1 D) 0
4.执行以下程序时从键盘输入9,则输出结果是()。
#include
int main()
{
int n;
scanf("%d", &n);
if(n++ < 10) printf("%d\n", ++n);
else printf("%d\n", --n);
return 0;
}
A) 10 B) 8 C) 9 D) 11
5. 5. 以下是if语句的基本形式()
if(表达式) 语句
其中“表达式”
A) 必须是逻辑表达式B) 必须是关系表达式
C) 必须是逻辑表达式或关系表达式D) 可以是任意合法的表达式
6.有以下程序
#include
int main( )
{
int a = 1, b = 2, c = 3;
if(a==1 && b++==2)
if(b!=2 || c--!=3) printf("%d, %d, %d\n", a, b, c);
else printf("%d, %d, %d\n", a, b, c);
else printf("%d, %d, %d\n", a, b, c);
return 0;
}
程序运行后的输出结果是()
A) 1, 2, 3 B) 1, 3, 2 C) 1, 3, 3 D) 3, 2, 1
7.有以下程序
#include
int main( )
{
int i = 1, j = 1, k = 2;
if((j++‖k++) && i++)
printf("%d, %d, %d\n", i, j, k);
return 0;
}
执行后输出结果是()
A) 1, 1, 2 B) 2, 2, 1 C) 2, 2, 2 D) 2, 2, 3
8.有以下程序段
int a, b, c;
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) a=10 b=50 c=10 B) a=10 b=50 c=30 C) a=10 b=30 c=10 D) a=50 b=30 c=50
9.若有定义: float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是()
A) switch(x) B) switch((int)x);
{ {
case 1.0: printf("*\n"); case 1: printf("*\n");
case 2.0: printf("**\n"); case 2: printf("**\n");
} }
C) switch(a+b)D) switch(a+b)
{ {
case 1: printf("*\n"); case 1: printf("*\n");
case 2+1: printf("**\n"); case c: printf("**\n");
} }
10.若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是()
A) swich(a+b); B) switch(a*a+b*b)
{ { case 3:
case 1: y = a + b; break; case 1: y = a + b; break;
case 0: y = a - b; break; case 3: y = b - a; break;
} }
C) switch a D) switch(a-b)
{ { default: y=a*b; break;
case c1: y = a - b; break; case 3:
case c2: x = a * d; break; case 4: x=a+b; break;
default:x=a+b; case 10:
} case 11: y=a-b; break; } 11.有以下程序
#include
int main( )
{
int a=16, b=21, m=0;
switch(a%3)
{ case 0: m++; break;
case 1: m++;
switch(b % 2)
{ default: m++;
case 0: m++; break;
}
}
printf("%d\n", m);
return 0;
}
程序运行后的输出结果是()
A) 1 B) 2 C) 3 D) 4
12.C语言对嵌套if语句的规定是:else 总是与()配对。
A) 其之前最近的if B) 第一个if