C语言(三)—— 循环


循环结构程序设计

逻辑量

C语言中没有专门的逻辑类型的数据,用“1”来表示逻辑真,用“0”来表示逻辑假。

任意确定的值

C语言中任意确定的值均可以表示逻辑量。

任意确定的值可以是任意类型的常量或常量表达式、有确定值的任意类型的变量、表达式、有返回值的函数调用等,只要有确定的值,均可以看成是逻辑量。这些任意确定的值看成是逻辑量时,C语言中规定:值“0”即为“0”表示逻辑假,值“非0”即为“1”,表示逻辑真

常用的表示逻辑量的表达式有如下两种。

关系表达式

关系运算符
共6种:>, >=, <, <=, ==, !=

关系运算符是左结合性的双目运算符,运算对象是数据。其中运算符“>、>=、<、<=”的优先级相同,运算符“==、!=”的优先级相同,“>、>=、<、<=”的优先级高于“= =、!=”。关系运算符的优先级都高于赋值运算符,但都低于算术运算符
关系运算符是一种比较运算符两侧运算对象大小关系的运算,完成两个运算对象比较,运算结果为成立与不成立,用逻辑量“1”和“0”表示

关系表达式
用关系运算符将运算对象连接起来的符合C语言规则的表达式。

其运算遵循表达式运算规则,运算的结果是逻辑量。

逻辑表达式

逻辑运算符
共3种:&&(逻辑与)、||(逻辑或)、!(逻辑非)

“&&”和“||”是双目运算符,“!”是单目运算符,运算对象是逻辑量。其中“!”的优先级高于“&&”,“&&”的优先级高于“||”。“&&”和“||”是左结合运算符,“!”是右结合运算符。
逻辑运算真值表

逻辑表达式
用逻辑运算符将运算对象连接起来的符合C语言语法规则的表达式。

运算对象和运算结果都是逻辑量。

逻辑运算的短路

实现循环的语句

C语言提供了3种结构化的语句来实现循环。
循环控制变量必须具备以下3个要素
循环控制变量的初值
循环的条件
使循环趋于结束的部分

while 语句

当型循环的执行流程:

Created with Raphaël 2.3.0 开始 条件P 循环体A 结束 yes no

while 语句是实现当型循环的语句,其一般形式为:

while(逻辑量)
	循环体语句

其中,while是C语言的关键字;语句中的逻辑量书写在while之后的()内,可以是任意类型的表达式,反映的是循环条件;循环体语句书写在()之后,有且只能有一条语句,反映的是循环体。如果循环体有多个操作,应该使用复合语句的方式将多个操作构造成一条语句,循环体也可以是空语句。while 语句是一条语句

  1. while 语句中的循环条件一般是关系表达式或逻辑表达式,也可以是其它任意表达式,运算的结果是逻辑量
  2. 应注意循环条件的描述,以避免死循环。
  3. 循环体只能是1条语句。如果循环体有多个操作,应该使用复合语句的方式将多个操作构造成一条语句。
  4. 任何循环都必须有反应循环控制变量3个要素的部分。

do~while 语句

直到型循环的执行流程:

Created with Raphaël 2.3.0 开始 循环体A 条件P 结束 yes no

do~ while 语句是实现直到型循环的语句,其一般形式为:

do
	循环体语句
while(逻辑量);

其中,while和do是关键字;语句中的逻辑量可以是任意表达式,反映的是循环的条件;循环体语句有且只能有一条语句;while之后的分号是do~ while 循环语句结束的标志。do~ while 语句是一条语句

  1. do~ while 语句中while后的“;”是必须有的;在while 语句中while后没有“;”,如果有“;”,则表示循环体是空语句。
  2. do~ while 语句中,不管循环体是否单条语句,习惯上都用花括号把它括起来,并把“while(条件);”直接写在右花括号“}”后,避免将while看做是当型循环的开始。
  3. C语言中直到型循环是一种直到假结束,其它高级语言可能是直到真结束,要加以区别

for 语句

for 语句是实现当型循环结构的语句,for 语句是C语言所提供的功能更强,使用更广泛的一种循环语句。其一般形式为:

for(表达式1;逻辑量;表达式2)
	循环体语句

表达式1通常用来给循环变量赋初值,一般是赋值表达式。逻辑量可以是任意表达式,其结果是1或者0。表达式2通常是使循环趋于结束的部分,一般是赋值表达式。
for 语句的执行过程如下:

  1. 求解表达式1。
  2. 判断逻辑量,如果为1,则执行循环体语句,然后执行第3步;如果为0,则结束循环,执行循环的后续语句。
  3. 求解表达式2,转向第2步执行。

注意:

  • for 语句()中的各表达式和逻辑量都可省略,但间隔符分号不能省略。
  • 当循环变量已赋初值时,for 语句中可省略表达式1。
  • for 语句中可省略表达式2,应该在循环体部分增加使循环趋于结束的操作。
  • for 语句中如果省略了逻辑量,则循环条件为真,那么在循环体中应有循环结束语句,否则是死循环。
  • for 语句中可省略表达式1和表达式2,此时for 语句相当于while 语句。
  • 循环体语句可以是空语句。

循环的嵌套

一个循环的循环体内又包含另一个循环结构。

嵌套的循环和被嵌套的循环不能相互交叉嵌套其它循环的循环称为外循环,被其它循环嵌套的循环称为内循环

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值