第6章 C控制语句:循环
- 关键字:for ,while , do while
- 运算符
- fabs()函数
- 使用关系运算符构建控制循环的表达式
- 循环常用的数组
- 编写有返回值的常数
一门语言应该提供一下3中形式的程序流
- 顺序 : 执行语句序列;
- 循环 : 如果满足某些条件就重复执行语句序列;
- 分支:通过测试选择执行哪一个语句序列。
while语句
通用循环:
while(expression)
statement
- statement可以是以分号结尾的简单语句,也可以是用花括号括起来的块。
- expression是值之间的比较,可以使用任何表达式,若expression为真(非0),执行statement部分一次,然后再判断expression。直到expression为假(0),循环判断和执行一直重复,每次循环称为一次迭代(iteration)。
- 多用while(a)替换while(a != 0) 表达式a和a != 0 都只有在a=0时才为0。
while(n++<3)
; //使用带空语句的while语句,因为所有任务都已经在测试条件中完成,不需要 再在循环体中做什么
- 在构建循环时必须让测试表达式的值发生变化,表达式最终要为假。否则会无限循环(infinite loop)(也可以中break和if语句终止循环)。只有在对测试条件求值的时候才决定是否终止循环。
- 入口条件(entry condition):必须满足条件才能进入循环体。
#include <stdio.h>
int main(void){
int status = 1;
int sum=0;
int integer;
printf("请输入要求和的整数:");
status = scanf("%d",&integer);
while(status != 0){ //scanf()成功读取一个数,返回1,
读取到的不是数,读取失败,把无法读取的输入留在队列中,
供下一次读取,返回零。
sum = sum + integer;
printf("请输入下一项(q to qiut):");
status = scanf("%d",&integer) ;
}
printf("以上整数和为:%d",sum);
return 0;
}
布尔类型变量:只能储存1真0假,如果把其他非零值赋给_Bool类型的变量,该变量会被设置为1。这反映了C 把所有非零值都视为真。
不确定循环和计数循环