C语⾔流程控制语句(C语⾔三)
⼀.流程控制语句
1.概念
C语⾔语句的执⾏默认顺序执⾏(从上往下依次执⾏),编程语⾔⼀般除了默认的顺序执⾏以外,还提供分⽀执⾏和循环执⾏的语法
switch的用法c语言2.分⽀结构
(1)if语句
if语句可以实现分⽀,作⽤是从⼏组⽆关的语句中选择⼀组来执⾏
if语句通过⼀个逻辑表达式的结果来选择⼀组语句执⾏
语法:
if(逻辑表达式){
语句;//如果只有⼀⾏,可以省略⼤括号
}
逻辑表达式为真,执⾏⼤括号中的语句,为假则不执⾏
如果有多组if语句,希望最多只执⾏其中⼀组可以⽤else将if语句连接
if(逻辑表达式1){
语句;
}
else if(逻辑表达式2){
语句;
}
else if(逻辑表达式3){
语句;
}
如果希望if语句任何时候都⼀定会执⾏其中⼀组,可以省略最后⼀个if和逻辑表达式
if(逻辑表达式1){
语句;
}
else if(逻辑表达式2){
语句;
}
else{
语句;
}
(2)switch…case语句
switch … case也可以实现分⽀,和if语句不⼀样的地⽅在于,switch…case通过算数表达式的值来决定分⽀的选择
由于switch…case语句的跳转效率⾼于if…else语句,在分⽀较多的情况下选择使⽤switch…case语句
语法:
switch(算数表达式){
case 值1:
语句;
break;//跳出ase
case 值2:
语句;
break;
case 值3:
语句;
break;
default://以上值都不满⾜的情况
语句;
}
3.循环结构
循环结构的作⽤是让⼀组语句反复执⾏,能够将程序中多次出现的语句合并然后多次执⾏
(1)for语句
for语句是⼀种实现循环的语句
语法:
for(循环变量初始化;循环结束条件;每次循环对循环变量的操作)
{
循环语句;
}
循环变量的初始化就是给循环变量赋初始值,设置循环开始变量的值
循环结束条件是⼀个逻辑表达式,为真继续循环,为假退出循环
每次循环对循环变量的操作通常是修改循环变量,让循环⼀定次数后导致循环条件不成⽴
循环语句就是每次循环要执⾏的语句
除了循环条件不成⽴可以让循环退出以外,也可以使⽤break退出所在循环,⼀旦遇到break语句,循环⽴即结束,不再往下执⾏在循环结束后可以通过判断循环条件是否为真来区分循环是条件不成⽴退出还是break退出
当循环条件为真 --------- break退出
当循环条件为假 --------- 循环条件不成⽴退出
在循环中使⽤continue关键字可以将本次循环之后语句跳过,直接开始下⼀次循环
for循环的执⾏顺序,假设有如下语句
for(1;2;3)
{
4
}
它按照如下顺序执⾏:
[1,2] [4,3,2] [4,3,2] [4,3,2]…
正常情况下(没有break)循环在两组之间结束,每⼀组的最后⼀步判断循环条件是否为真,为真执⾏下⼀组,为假退出循环
正常结束循环条件⼀定为假,如果开始循环条件为假,循环有可能⼀次都不执⾏
for循环的多种写法
a.for循环的循环语句只有⼀条,可以省略⼤括号
b.⼩括号中的每⼀部分可以写多条语句,多条语句之间⽤,连接(结束条件要写到最后)
c.C99规范可以在for内部声明循环变量,这个时候循环变量只能在循环内部使⽤(编译加-std=c99)
d.⼩括号三个部分都可以省略,如果不写退出条件,退出条件就永远为真,循环就永不退出,这种循环叫死循环
e.for的死循环通常写成⼩括号内为空,省略⼩括号三部分,分号不能省略
for(;;){//死循环
....
}
f.如果省略for语句的循环语句,就变成空循环,⼤括号可以省略,但是需要在⼩括号后加分号
for(....);
(2)while循环
while语句也可以实现循环,while语句是通过判断⼀个逻辑表达式的值来控制循环执⾏
语法如下:
while(逻辑表达式)
{
循环语句;
}
for循环和while循环完全可以互相代替
while循环的执⾏顺序,假设有如下语句:
while(1){
2
}
按照如下顺序执⾏
[1] [2,1] [2,1] [2,1]…
每⼀组最后的逻辑表达式为真,继续下⼀组,为假,退出循环
while循环有可能⼀次都不执⾏
当while语句中的逻辑表达式永远为真,while循环变为死循环,while死循环通常以下写法
while(1){
....
}
while语句也有空循环,省略循环语句体,在⼩括号加分号
while(1);
while中break ,continue的⽤法和for语句中完全⼀样
(3)do…while循环
语法:
do
{
循环语句;
}while(逻辑表达式);
do…while和while的区别在于do…while先执⾏循环语句,在判断循环条件do…while语句⾄少循环⼀次
do…while语句的执⾏顺序,假设有如下语句:
do{
1
}while(2);
按照以下顺序执⾏
[1,2] [1,2] [1,2]…
相当于去掉while中第⼀组语句

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。