欢迎光临散文网 会员登陆 & 注册

计算机程序基础教程(09):C语言 - 程序执行流程控制语句

2023-03-07 21:11 作者:阿狸喜羊羊  | 我要投稿


【条件判断语句】


 ● if语句


if语句根据一个布尔值确定是否执行一段代码。



若布尔值为1,执行if内代码,不执行else内代码。

若布尔值为0,不执行if内代码,执行else内代码。


若不需要else语句,也可以不定义。



 ● 嵌套if


if语句可以嵌套使用,if代码段和else代码段内都可以嵌套另一个if语句。



对于上述嵌套使用方式,可以使用如下简写形式,代码更简洁。



 ● switch case语句


switch case 语句的功能与嵌套 if else 类似,但是有些特定判断使用 switch case 语句更简单,并且编译器会对 switch case 语句进行一些优化,执行速度更快。



 ● 条件运算式


条件运算式类似 if else 语句,但是条件运算式只是通过布尔值条件返回一个数值,不能做其它事,定义方式如下:


条件 ? 数据1 : 数据2;


条件是一个布尔值,若为1,则返回数据1,否则返回数据2。





【循环语句】


循环语句用来循环执行一段代码,循环条件是一个布尔值,若为1则循环执行,若为0则退出循环,循环条件一般是一个运算式,返回一个布尔值,每次循环都会修改参与运算的变量,直到运算式返回0终止。


 ● while循环



 ● for循环


for循环是while循环的另一种使用方式,for将循环条件的定义、判断、修改都放在()符号内,方便查看和修改。



有些古老的编译器不支持上述用法,需要使用如下形式:



 ● do while循环


do while 循环首先执行一遍循环代码,然后判断布尔值,若为1则再次循环,否则退出循环。



while循环语句执行顺序如下:

进入 while =》 判断循环条件 =》 满足条件 =》 不执行跳转、顺序执行循环代码 =》 跳转到 while 起始地址

进入 while =》 判断循环条件 =》 不满足条件 =》 执行跳转、跳过 while


do while循环语句执行顺序如下:

进入 do while =》 执行循环代码 =》 判断循环条件 =》 满足条件 =》 执行跳转、跳转到 do while 起始地址

进入 do while =》 执行循环代码 =》 判断循环条件 =》 不满足条件 =》 不执行跳转、顺序执行之后的代码


每次循环时,while都会比do while多一个跳转指令,为了降低转移预测失败几率,编译器会将while和for转换为do while,转换方式同上C代码。




【跳转语句】


 ● break


break有两个作用:

1.终止循环语句,对于嵌套使用的循环,只终止break所在的那层循环。

2.跳过switch case语句。



 ● continue


continue用于终止循环语句的本次循环,执行下一次循环,一般与if语句配合使用,在满足一定条件时放弃本次循环。



 ● goto


goto用于无条件跳转到一段代码处执行,可以与if语句配合使用,实现有条件跳转。





【函数递归与循环】


函数可以直接或间接调用自己,从而实现递归执行,函数递归与循环语句都是将一段代码循环执行,区别在于循环语句是在函数内部循环执行,而函数递归是跳转到函数起始地址处执行,此处为设置函数栈空间相关指令,所以每次递归都会消耗一些栈空间,递归次数过多会导致栈顶超界,并且递归执行效率也不高。




计算机程序基础教程(09):C语言 - 程序执行流程控制语句的评论 (共 条)

分享到微博请遵守国家法律