欢迎来到天天文库
浏览记录
ID:10985979
大小:45.50 KB
页数:4页
时间:2018-07-09
《课堂练习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
此文档下载收益归作者所有