再学C语言25:分支和跳转——continue、break和switch
创始人
2024-05-06 10:13:10
0

一般地,进入循环体后,在下次循环判断之前程序执行循环体中所有语句

一、continue语句

continue:循环中,当运行到该语句时,其将导致剩余的迭代部分被忽略,开始下一次迭代

如果continue处于嵌套结构中,其仅影响包含它的最里层的结构

continue语句可用于3中循环形式中(while、for、do-while)

示例代码:

#include 
int main(void)
{int i;for(i = 0; i < 10; i++){if(i == 5){continue;}printf("%d \n", i);}return 0;
}

运行结果:

211a3f19f28c43d986e07ceb29887eea.png

对于while循环和do-while循环,continue语句之后发生的动作是求循环判断表达式的值

对于for循环,continue语句之后发生的动作是先求更新表达式的值,然后再求循环表达式的值

二、break语句

循环中,break语句导致程序终止包含它的循环,并进行程序的下一阶段

示例代码:

#include 
int main(void)
{int i;for(i = 0; i < 10; i++){if(i == 5){break;}printf("%d \n", i);}return 0;
}

运行结果:

a92c0557eb6e42bbbb084555f82205b1.png

如果break语句位于嵌套循环里,其只影响包含它的最里层的循环

与continue一样,break的使用是为了简化代码,当其反而使代码更复杂时,不要使用

break语句使程序直接转到紧接着该循环后的第一条语句继续执行

三、switch语句

相比if-else if-else if...这样的语句,使用switch更加方便

示例代码:猜奖系统

#include 
int main(void)
{int num;printf("enter a number between 1 and 4. \n");scanf("%d", &num);if((num > 0) && (num < 5)){switch(num) // 搜索与num匹配的标签,然后程序跳到那一行{case 1:printf("thanks for participating. \n");break;case 2:printf("try again. \n");break;case 3:printf("congratulations, you guessed it! \n");break;case 4:printf("guessed wrong. \n");break;default:break;}}else{printf("the number is out of range, bye bye. \n");}return 0;
}

运行结果:

81b0efb5506046b98aff57aa96d6693f.png

break的作用:引导程序脱离switch语句,跳到switch之后的下一条语句;如果没有break语句,从相匹配的标签到switch末尾的每一条语句都将被执行

示例代码:

#include 
int main(void)
{int num;printf("enter a number between 1 and 4. \n");scanf("%d", &num);if((num > 0) && (num < 5)){switch(num){case 1: // 标签printf("thanks for participating. \n");break;case 2:printf("try again. \n");break;case 3:printf("congratulations, you guessed it! \n");//break;case 4:printf("guessed wrong. \n");break;default:break;}}else{printf("the number is out of range, bye bye. \n");}return 0;
}

运行结果:

4dbedb5c9b2d431395f08c7ee32c8194.png

break语句用于循环和switch,continue语句仅用于循环 

圆括号中的switch判断表达式应该具有整数值(包括char类型)

case标签必须是整形(包括char)常量或者整数常量表达式,不能使用变量作为case标签

switch结构的一般形式:

switch(interger expression)
{case constant1:statementscase constant2:statementsdefault:statements
}

switch和else if:

如果选择是基于求一个浮点型变量或表达式的值,就不能使用switch

如果变量必须落入某个范围,使用switch也不方便

 

 

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...