任务二 选择型流程设计答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任务二选择型流程设计习题答案
班级:学号:姓名:时间:
一、单项选择题
1.在C语言中,能代表逻辑真的是(D)
A. true
B. 大于0的数
C.非0整数
D. 非0的实数
2.设以下变量均为int类型,则值不等于7的表达式是 ( C )。
A. (x=y=6,x+y,x+1)
B. (x=y=6,x+y,y+1)
C. (x=6,x+1,y=6,x+y)
D. (y=6,y+1,x=y,x+1)
3、下面( B )是错误的if语句(设int x, a, b;)
A. if (a=b) x++;
B. if (a=
C. if (a-b) x++;
D. if ( x ) x++;
4、以下程序片段。(D)
main ( )
{
int x=0,y=0,z=0;
if (x=y+z)
printf(“***”);
else
printf(“###”);
}
A. 有语法错误,不能通过编译
B. 输出:***
C. 可以编译,但不能通过连接,所以不能运行
D. 输出:###
5、下述表达式中,(A)可以正确表示x≤0或x≥1的关系。
A.(x>=1) | | (x<=0) B. x>=1 | x<=0
C. x>=1 && x<=0
D. (x>=1) && (x<=0)
二、填空题
1.若x和a均是int型变量,则计算表达式(1)后的x值为__12__,计算表达式(2)后的x 值为__4 __。
(1) x=(a=4,6*2)
(2) x=a=4,6*2
2. 已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是_ 5___。
3.若x和n均是int型变量,且x和n的初值均为5,则计算表达式:x+=n++后,x的值为__10 __,n的值为__6___。
4. 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=‘a’+‘8’-‘3’的值为 f 。
5. 以下程序输出x, y, z三个数中的最小值,请填(2)空使程序完整。
main ( )
{ int x=4,y=5,z=8 ;
int u,v;
u = x v = u printf (“%d”,v); } 三.判断题 1. if语句中的表达式不限于逻辑表达式,可以是任意的数值类型。【√】 2. switch语句可以用if语句完全代替。【√】 3. if语句,switch语句可以嵌套,而且嵌套的层数没有限制。【√】 4. 条件表达式可以取代if语句,或者用if语句取代条件表达式。【×】 5. 多个case可以执行相同的程序段。【√】 6. switch语句的case分支可以使用{ }复合语句,多个语句序列。【√】 7. switch语句的表达式与case表达式的类型必须一致,且必须是常量表达式。【√】四.程序判断题 1. 下面程序将输入的大写字母改写成小写字母输出,其他字符不变;请判断下面程序的正误,如果错误请改正过来。 main ( ) { char c; c = getchar ( ) ; c = (c>=’A’ | | c<=’Z’) ? c-32 : c+32 ; c=(c>=’A’&&c<=’z’ )? c+32:c; printf(“%c”,c); } 五.编程题 1.编程输入整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。 //选择程序段(方法一): if(a>=100) printf(“%d”,a); if(a>=100) printf(“%d”,b); if(a<100&& a<100) printf(“%d”,a+b) 2.请将以下语句改成switch语句。 if ((s>0) && (s<=10)) if ((s>=3) && (s<=6)) x=2; else if ((s>1) && (s>8)) x=3; else x=1; else x=0; switch(s) { case 1: case 7: case 8: x=1;break; case 2: case 9: case 10: x=3;break; case 3: case 4: case 5: case 6: x=2;break; default: x=0; }