课堂练习10switch与goto语句(解析)

课堂练习10switch与goto语句(解析)

ID:10985979

大小:45.50 KB

页数:4页

时间:2018-07-09

课堂练习10switch与goto语句(解析)_第1页
课堂练习10switch与goto语句(解析)_第2页
课堂练习10switch与goto语句(解析)_第3页
课堂练习10switch与goto语句(解析)_第4页
资源描述:

《课堂练习10switch与goto语句(解析)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课堂练习10switch与goto语句(1)请阅读以下程序:#includemain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;}case2:a++,b++;break;}printf("a=%d,b=%d",a,b);}上面程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2参考答案:A【解析】考查switch语句的使用。switch语句的执行过程为:进入switch结构后,对条件表达式进行运算,然后从上至下去找与条件表达式

2、值相匹配的case,以此作为入口,执行switch结构中后面的各语句,直到遇到break语句,则跳出switch语句,如果各case都不匹配时,则执行default后面的语句。(2)有以下程序:#include main(){ int x=1,y=0,a=0,b=0;switch(x){ case1:switch(y){ case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf("a=%d,b=%d",a,b);}程序的运行结果是A)a=1,b=0B)a

3、=2,b=2C)a=1,b=1D)a=2,b=1参考答案:D【解析】本题考查了switch结构的内容。在C语言中,程序执行完一个case标号的内容后,如果没有break语句,控制结构会转移到下一个case继续执行,因为case常量表达式只是起语句标号作用,并不是在该处进行条件判断。本题程序在执行完内部switch结构后,继续执行了外部switch结构的case2分支。最后a和b的值分别为2和1。(3)有以下定义语句,编译时会出现编译错误的是A)char a='a';B)char a='';C)char a='aa';D)char a='x2d';参考答案:C【

4、解析】aa是字符串,字符串的表示要用双引号,可以赋值给字符数组和字符指针变量,但字符串不能赋值给字符变量,只能给字符变量赋值单个字符。(4)若有定义语句inta,b;doublex;则下列选项中没有错误的是A)switch(x%2)B)switch((int)x/2.0){case0:a++;break;{case0:a++;break;case1:b++;break;case1:b++;break;default:a++;b++;default:a++;b++;}}C)switch((int)x%2)D)switch((int)(x)%2){case0:a++;b

5、reak;{case0.0:a++;break;case1:b++;break;case1.0:b++;break;default:a++;b++;default:a++;b++;}}参考答案:C【解析】switch()中括号内的变量类型应该与下面case语句后的常量保持类型一致。使用(int)x,可以将x强制转换成整型,然后与整型2做取余运算还是整型数据。若与数据2.0做取余运算,按照转换原理:向高精度的数据类型进行转换,结果就变成了实型数据。综上所述,本题C)正确,B)错误。A),D)均不满足switch语句的原则。(5)以下选项中与if(a==1)a=b;el

6、sea++;语句功能不同的switch语句是A)switch(a){case1:a=b;break;default:a++;}B)switch(a==1){case0:a=b;break;case1:a++;}C)switch(a){default:a++;break;case1:a=b;}D)switch(a==1){case1:a=b;break;case0:a++;}参考答案:B【解析】switch(a==1)语句中,若a等于1,则a==1为"真",则应该进行a=b的操作,故选项B错误。(6)下列程序段的输出结果是intn='c';switch(n++){de

7、fault:printf("error");break;case'a':case'A':case'b':case'B':printf("good");break;case'c':case'C':printf("pass");case'd':case'D':printf("warn");}A)passwarnB)passerrorC)goodpasswarnD)pass参考答案:A【解析】本题的考查点是switch()语句。当用户键入的字符时,会进入一个多分支选择语句,根据n的值,来确定下一步执行的选择语句;最后的结果应当为passwarn。本题需要注意的是,当c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。