流程控制

您所在的位置:网站首页 c语言流程控制语句有几种 流程控制

流程控制

2024-05-01 21:26| 来源: 网络整理| 查看: 265

流程控制if 语句三元运算符 ?:switch 语句while 语句do…while 结构for 语句break 语句continue 语句goto 语句流程控制

C 语言的程序是顺序执行,即先执行前面的语句,再执行后面的语句。开发者如果想要控制程序执行的流程,就必须使用流程控制的语法结构,主要是条件执行和循环执行。

if 语句

if语句用于条件判断,满足条件时,就执行指定的语句。

if (expression) statement

上面式子中,表达式expression为真(值不为0)时,就执行statement语句。

if后面的判断条件expression外面必须有圆括号,否则会报错。语句体部分statement可以是一个语句,也可以是放在大括号里面的复合语句。下面是一个例子。

if (x == 10) printf("x is 10");

上面示例中,当变量x为10时,就会输出一行文字。对于只有一个语句的语句体,语句部分通常另起一行。

if (x == 10) printf("x is 10\n");

如果有多条语句,就需要把它们放在大括号里面,组成一个复合语句。

if (line_num == MAX_LINES) { line_num = 0; page_num++;}

if语句可以带有else分支,指定条件不成立时(表达式expression的值为0),所要执行的代码。

if (expression) statementelse statement

下面是一个例子。

if (i > j) max = i;else max = j;

如果else的语句部分多于一行,同样可以把它们放在大括号里面。

else可以与另一个if语句连用,构成多重判断。

if (expression) statementelse if (expression) statement...else if (expression) statementelse statement

如果有多个if和else,可以记住这样一条规则,else总是跟最接近的if匹配。

if (number > 6) if (number 6) { if (number j) ? i : j;

上面的代码等同于下面的if语句。

if (i > j) return i;else return j; switch 语句

switch 语句是一种特殊形式的 if…else 结构,用于判断条件有多个结果的情况。它把多重的else if改成更易用、可读性更好的形式。

switch (expression) { case value1: statement case value2: statement default: statement}

上面代码中,根据表达式expression不同的值,执行相应的case分支。如果找不到对应的值,就执行default分支。

下面是一个例子。

switch (grade) { case 0: printf("False"); break; case 1: printf("True"); break; default: printf("Illegal");}

上面示例中,根据变量grade不同的值,会执行不同的case分支。如果等于0,执行case 0的部分;如果等于1,执行case 1的部分;否则,执行default的部分。default表示处理以上所有case都不匹配的情况。

每个case语句体的结尾,都应该有一个break语句,作用是跳出整个switch结构,不再往下执行。如果缺少break,就会导致继续执行下一个case或default分支。

switch (grade) { case 0: printf("False"); case 1: printf("True"); break; default: printf("Illegal");}

上面示例中,case 0的部分没有break语句,导致这个分支执行完以后,不会跳出switch结构,继续执行case 1分支。

利用这个特点,如果多个case分支对应同样的语句体,可以写成下面这样。

switch (grade) { case 0: case 1: printf("True"); break; default: printf("Illegal");}

上面示例中,case 0分支没有任何语句,导致case 0和case 1都会执行同样的语句体。

case后面的语句体,不用放在大括号里面,这也是为什么需要break的原因。

default分支用来处理前面的 case 都不匹配的情况,最好放在所有 case 的后面,这样就不用写break语句。这个分支是可选的,如果没有该分支,遇到所有的 case 都不匹配的情况,就会直接跳出整个 switch 代码块。

while 语句

while语句用于循环结构,满足条件时,不断执行循环体。

while (expression) statement

上面代码中,如果表达式expression为非零值(表示真),就会执行statement语句,然后再次判断expression是否为零;如果expression为零(表示伪)就跳出循环,不再执行循环体。

while (i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3