5.3 continue 语句和 break 语句

5.3 continue 语句和 break 语句

一、单选题

【第1题】答案:D

解析:当i=0时,i <= 10满足条件,执行break语句,跳出循环,循环结束,i的值还是为0。

【第2题】答案:C

解析:break可以用于循环结构中,当执行到break时可以强制退出当前循环结构。

【第3题】答案:D

解析:break可以在switch语句,和循环结构中出现。在循环中,具有强制退出循环作用,但是不是循环必须的有。

【第4题】答案:B

解析:break语句可以在循环体内和switch语句体内使用。

【第5题】答案:C

解析: continue语句是结束本次循环。n从0开始循环,判断n%3!=0是否成立,为真,跳出循环,继续下一轮for循环条件的判断,为假,执行k--,并继续下一轮for循环条件的判断,当条件不满足时,则结束循环,输出k、n的值。

【第6题】答案:D

解析:当i=3时,会进入死循环状态。

【第7题】答案:B

解析:break和continue的区别是:continue语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环过程,不再判断执行的条件是否成立。本题具体执行过程如下:a=1,b=1:a>=8不成立,判断a%2==1成立,a+=5则a=6,continue,执行下一次循环;a=6,b=2:a>=8不成立,判断a%2==1不成立,a-=3则a=3,执行下一次循环;a=3,b=3:a>=8不成立,判断a%2==1成立,a+=5则a=8,continue,执行下一次循环;a=8,b=4:a>=8成立,break,结束整个循环,输出b的值4。

【第8题】答案:D

解析:continue语句的功能是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判定。本题执行过程如下:x=8:判断表达式x>0,值为真,执行for循环,判断条件表达式x%3,值为真,输出x--,即先输出x再减1,即输出8,然后x减1,此时x=7;遇到continue,跳过下面的语句,判断for语句的表达式,由于循环表达式使得x减1,所以此时x再次减1,即x=6;x=6:判断表达式x>0,值为真,执行for循环,判断条件表达式x%3,值为假,跳过if语句,执行下面的printf语句,输出--x,即x先减1,再输出,此时输出的x为5,判断for语句的表达式,由于循环表达式使得x减1,所以此时x再次减1,即x=4;x=4:判断表达式x>0,值为真,执行for循环,判断条件表达式x%3,值为真,输出x--,即先输出x再减1,即输出4,然后x减1,此时x=3;遇到continue,跳过下面的语句,判断for语句的表达式,由于循环表达式使得x减1,所以此时x再次减1,即x=2;x=2:判断表达式x>0,值为真,执行for循环,判断条件表达式x%3,值为真,输出x--,即先输出x再减1,即输出2,然后x减1,此时x=1;遇到continue,跳过下面的语句,判断for语句的表达式,由于循环表达式使得x减1,所以此时x再次减1,即x=0;x=0:判断表达式x>0,值为假,退出for循环。

【第9题】答案:A

解析:当a=0时,a%2==0为真,执行continue,跳出本次循环,a自加一次;当a=1时,a%2==0为假,执行b += a,此时b=1,a自加一次;当a=2时,a%2==0为真,执行continue,跳出本次循环,a自加一次;当a=3时,a%2==0为假,执行b += a,此时b=4,a自加一次;当a=4时,a%2==0为真,执行continue,跳出本次循环,a自加一次;当a=5时,不满足条件,结束循环,输出b的值。

【第10题】答案:A

解析:continue语句的作用是跳过本次循环体中余下尚未执行的语句,立刻进行下一次的循环条件判断,可以理解为仅结束本次循环。当i=1时,i % 2==1为真,输出*#;当i=2时,i % 2==0为假,执行continue语句,结束本次循环;当i=3时,i % 2==1为真,输出*#;当i=4时,i % 2==0为假,执行continue语句,结束本次循环;当i=5时,i % 2==1为真,输出*#;当i=6时,不满足条件,终止循环,执行printf( "$\n" )语句,输出:$。

二、判断题

【第1题】答案:错误

解析:在循环结构中这是break语句的功能。

【第2题】答案:正确

解析:break语句只能在循环结构循环体和switch语句体内使用。

【第3题】答案:错误

解析:continue语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环过程。

【第4题】答案:正确

解析:continue语句只结束本次循环,而不是终止整个循环的执行;终止本次循环,使用continue语句。

【第5题】答案:错误

解析:都可以使用。

【第6题】答案:正确

解析:break语句和continue语句在for、while、do-while中都可以使用。

【第7题】答案:错误

解析:循环结构中可以出现多次break语句和continue语句的。

【第8题】答案:正确

解析:循环结构中可以出现多次break语句和continue语句的。

【第9题】答案:错误

解析:在循环体中出现的break也不一定是结束当前循环结构,循环体中包含一个switch语句。break此时只以退出当前的switch语句。

【第10题】答案:正确

解析:break语句则是结束整个循环过程。

三、填空题

【第1题】答案:4

解析:continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。本题中for循环语句共执行3次,所以a的值累加3次,结果为4。

【第2题】答案:i&&(i%8==0) 或者 i!=0 && (i%8==0) 或者i&&i%8==0

解析:i初始是0,i是0~7算一组,8~15算一组。。。逢8的整数倍输出\n

所以要判断i为非0且是8的整数倍的时候。因为0%8也是等于0。要过滤这个0。

【第3题】答案:-1

解析:当x=0时,x%2==0,执行continue语句,跳过余下的执行语句,x自加一次;当x=1时,x%2==1,执行y -= x语句,y=-1,然后在执行break语句,终止本层循环,执行printf("%d \n", y)语句,输出y的值为:-1。

四、综合题

【第1题】答案:4-5-

解析:j<num时,cotinue;则j=4和j=5时候才会输j的值。即4-5-。

【第2题】答案:0,1,2,3,

解析:ch的值是‘3‘,如果a>’3‘-’0‘即a>3时break。其实就是输出0,1,2,3,;

编辑于 2024-03-05 00:14・IP 属地浙江