ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

控制流

2019-08-29 12:05:20  阅读:185  来源: 互联网

标签:语句 标号 控制流 else while 循环 表达式


控制流

文章目录


1 语句与程序块

在表达式之后加上一个分号,就变成了语句。

用一对花括号 { } 把一组声明和语句括在一起就构成了一个复合语句(程序块)。

2 条件语句

2.1 if-else语句

else部分是可选的,该语句先计算表达式的值,若其值为真(非0)则执行语句1,若其值为假(0)则执行语句2。在嵌套的if语句中将每个else与最近的前一个没有else配对的if进行匹配。使用花括号可以强制实现匹配关系。

/* 用于条件判定 */
if(exp1)
    statement1;
else
    statement2;

2.2 else-if语句

编写多路判定最常用的方法。其中各表达式将被一次求值,一旦某个表达式为真,则执行与之相关的语句,并终止整个语句的执行。最后一个else用于处理上述条件均不成立或默认情况,可省略。

if(exp1)
    statement1;
else if(exp2)
    statement2;
else
    statement3;

2.3 switch语句

switch语句中,case的作用只是一个标号,某个分支中的代码执行完后,程序将进入下一分支继续执行,除非在程序中显式地跳转。正常情况下为了防止直接进入下一个分支执行,每个分支后必须以一个break语句结束。

switch(exp){
    case exp1:
        statement1;
    case exp2:
        statement2;
    default:
        statement3;
}

3 循环语句

3.1 while、do-while循环

while(exp)
    statement;

do
    statement;
while(exp);

while:先求表达式的值,若其值为真则执行语句,并再次求该表达式的值。这一循环过程一直进行,直到该表达式的值为假为止。

do-while:先执行循环体中的语句,再求表达式的值,若表达式的值为真则再次执行语句,直到表达式的值为假时终止循环。故循环体中的语句至少执行一次。

3.2 for循环

表达式1和表达式3是赋值表达式或函数调用,表达式2是关系表达式。这3个组成部分都可以省略,但分号必须保留。省略表达式1和表达式3则退化成while语句,省略表达式2则认为其值永远为真。

在for语句中,被逗号分割的一对表达式将按从左到右的顺序进行求值,可以将多个表达式放在各个语句成分中。

for(exp1; exp2; exp3)
    statement;
//等价于
exp1;
while(exp2){
    statement;
    exp3;
}

当循环中没有初始化操作时,使用while循环语句更自然一些,当语句中需要执行简单初始化和变量递增时,使用for语句更合适一些。

3.3 break和continue语句

break:使程序从switch语句或最内层循环中立即跳出。

continue:使循环语句开始下一次循环的执行,不用于switch语句。

3.4 goto语句与标号

goto:可以终止程序在某些深度嵌套的结构中的处理过程。

标号:后面要紧跟一个冒号,标号可以位于对应的goto语句所在函数的任何语句前面。标号的作用域是整个函数。

语句与标号

goto:可以终止程序在某些深度嵌套的结构中的处理过程。

标号:后面要紧跟一个冒号,标号可以位于对应的goto语句所在函数的任何语句前面。标号的作用域是整个函数。

标签:语句,标号,控制流,else,while,循环,表达式
来源: https://blog.csdn.net/qq_42097578/article/details/100134705

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有