跳转至

第 6 章 C控制语句:循环

第六章 循环控制语句

👉【复习题】【编程练习题

伪代码:一种用简单的句子表示程序思路的办法,与计算机语言的形式相对应。

  • 伪代码有助于设计程序的逻辑。

  • 注意力集中在程序的组织和逻辑上,不用在设计程序时还要分心如何用编程语言表达自己的想法。

1. while循环语句

伪代码语法格式:

1
2
3
4
获得第1个用于测试的值
当测试为真时
    处理值
    获取下一个值

C风格语法格式

while (expression)
    statement
  • expression 可以是任何表达式。也是循环的入口,所以入口条件满足才可以进入循环。
  • statement 部分可以是分号结尾简单语句,也可以是 花括号复合语句

如果 while循环 中的 expression为 false 时,即可终止循环。

2. 关系运算符和关系表达式

关系表达式:用于测试条件状态。

运算符 含义
< 小于
<= 小于或等于
== 等于
>= 大于或等于
> 大于
!= 不等于

关系运算符常用于构造while语句和其他C语句中用到的关系表达式。

⚠️注意:注意点:比较浮点数时,尽量使用<和>,由于浮点数的舍入误差会导致在逻辑上应该相等的两个数却不相等。

C语言中,表达式为真的值是1,为假的值是0。

2.1 _Bool类型

C99新增 _Bool类型,由英国数学家George Boole的名字命名的,他开发了用代数表示逻辑和解决逻辑的问题。

在编程中,表示的变量叫做布尔变量(Boolean variable),所以_Bool是C语言中的布尔变量的类型名。

_Bool类型的变量只能储存1(真)或者0(假)。

3. for循环

关键字:for

一般形式:

for(initialize;test_expression;update) // 在test为假或者是0之前,重复执行statement操作部分。
    statement;

for圆括号中的表达式也叫做控制表达式,都是完整表达式。

for语句使用 3个表达式 控制循环过程,分别用分号隔开

initialize 表达式在执行for语句之前只执行一次,然后对test表达式求值,如果表达式为真(或非零)执行循环一次。然后对update表达式进行求值,并再次对test表达式进行检查。

for语句是一个入口条件循环,即在执行循环之前决定表达式是否执行。

for循环可能一次都不执行,statement部分可以是一个简单语句或者是复合语句

for循环嵌套的规则:外层循环控制行,内层循环控制列

4. do...while 循环

do while循环在执行玩循环体后才执行测试条件,至少执行循环体一次。

4.1 一般表达形式

1
2
3
4
do {
    statement;
} while (expression);
// 在test为假或者为0之前,重复执行statement部分
do while是一个出口条件循环,即在执行完循环体后根据测试统计决定是否执行循环体的内容。

例子:

1
2
3
4
5
do
{
    提示用户输入密码
    读取用户输入的密码
}while(用户输入的密码不等于密码);

4.2 循环的使用选择问题

  • 一般原则是在执行循环之前测试条件比较好
  • 测试放在循环的开头,程序的可读性更高。

当循环涉及到初始化和更新变量时,用for 循环比较合适,而在其他的情况下使用while循环更好。