C语言的流程控制:顺序、循环、分支。循环结构:while循环、for循环和do while循环。

6.1再探while循环

status = scanf(“%ld”,&num);

while(1 == status )  //判断条件

{

sum = sum + num;

status = scanf(“%ld”,&num);//返回成功读入的项目的个数。

}

Scanf的两个功能:第一个,使用scanf()尝试为num读入新值

第二个,使用scanf()的返回值来报告执行是否陈功。

如果成功scanf成功读入一个整数,就把这个整数放在num中并返回值1,任何非数字输入都会使循环终止。

while循环是一个入口条件循环,程序必须在进入循环体之前获取输入并检查status的值。

替换为while(scanf(“%ld”,&num) == 1);

6.2 while语句

while(expression) //只关心expression的真假

Statement

1、入口条件的有条件循环,进入循环体之前必须满足这个条件。

2、循环何时终止,只有在计算判断条件的值时才决定是种植循环还是继续执行  循环三要素:初始条件 判断条件  改变判断值

6.3 关系运算符和表达式

1、while循环经常要依赖进行比较的判断表达式,关系表达式。这些语句检查表达式为真还是为假。   每个关系表达式都被判定为真或为假。(永远没有也许)

2、关系运算符  >  >=

3、C语言中什么是真?

C的表达式通常具有一个值,关系表达式也是如此。

true_val = (10 > 2);  //一个真表达式的值  true_val = 1

false_val = (10 == 2);//一个假表达式的值  false_val = 0

对于C语言来说,一个真表达式的值为1,一个假表达式的值为0。

C语言中,所有的非零值都被认为是真,只有0被认为是假。C对真的范围放的很宽!要谨记关系表达式为真,它的值为1;如果为假,它的值为0。

while(goats != 0)   等价于  while(goats)

4、真值的问题

while(status = 1){    };

status = 1为赋值语句,复制表达式的值就是其左侧的值,这样status = 1的值也为1。实际这个循环就是while(1),死循环。

注意:不要在应该使用 == 的地方使用 = 。

5 = canoes  语法错误

5 == canoes  检查canoes的值是否为5    总之,关系运算符被用来构成关系表达式。关系表达式为真时值为1,为假时值为0。使用关系表达式作为判断条件的语句。

5、新的_bool变量

#include   //如果没有此头文件    bool代替_Bool,并把true和false定义为1和0的符号常量。  bool true  false

#defined bool  int   #define true  1    #define  false  0

表示真假的变量开始被称为布尔变量。一个布尔变量只可以具有值1(真)或0(假)。

6、运算符的优先级

6.4 不确定循环与计数循环

1、不确定循环。  有些while循环的例子是不确定循环,在表达式为假之前你不能预先知道循环要执行多少次。  例如:6.1使用交互式的循环来计算整数和

2、计数循环。  循环执行预先确定的次数。

a、初始化计数器  b、计数器与某个有限的值进行比较  c、每次执行循环计数器的值都要进行递增。

6.5 for循环

for循环把初始化、判断条件、更新都放在一起。

形式:for(初始化;判断条件;更新参数)

statement;

1、for循环的灵活性

a、你可以使用减量运算符来减小计数器而不是增加它

for(a = 5; a > 0; a--)

b、你可以将计数器依次加2、加10等

for(n = 2; n

c、字符代替数字进行计数

for(ch = ‘a’; ch <= ‘z’;ch++);

d、判断迭代次数之外的条件

for(a = 1; a*a*a <= 216; a++)

e、几何增加而不是算术增加,不是加上一个固定的数,而是乘上一个固定数

for(n = 2; n

f、在第三个表达式中,你可以使用所需的任何合法表达式。

for(x = 1; y <= 75; y = (++x * 5) + 50);

g、循环中的动作可以改变循环表达式的参数。

for(n = 1; n

6.6 赋值运算符

+=  -=   *=  /=  %=

逗号运算符

1、它保证被他分开的表达式从左到右的次序进行计算(逗号是个顺序点,逗号左边产生的左右副作用都在程序运行到右边之前生效)

2、逗号表达式是最后一个值作为整个表达式的值。

x = (y = 3, (z = ++y + 2) + 5);

3、houseprice = 249,500; 这并没有语法错误。C把它解释成为逗号表达式,左子表达式,右子表达式,整个表达式的值就是右边表达式的值。

Houseprice = (249,500);     逗号也经常被用作分隔符号。

6.7 选择哪种循环

首先确定入口条件循环还是退出条件循环,通常是入口条件循环。若干原因科学家认为入口条件循环更好一些。但是用while还是用for.

while循环对以下的条件是自然的:

while(scanf(“%ld”,&num) == 1);

for对于涉及到用索引计数的循环,涉及到初始化和更新变量时。

for(count = 1; count <= 100; count++);

6.8 嵌套循环

嵌套循环指的是在另一个循环之内的循环。通常使用嵌套循环来按行按列显示数据。也就是说一个循环处理一行中所有的列,而另一个循环则处理所有的行。

1、内部循环在外部循环的每次单独循环中都完全执行它的所有循环。

2、嵌套变化。内部循环一部分依赖于外部循环,可以使内部循环在每个周期中的表现不同。依赖于外部循环的次数。const代替 #define

c语言7种控制3种循环,第6章 C控制语句:循环相关推荐

  1. 32个c语言关键字发音,加注汉语发音的C语言32个语句和9种控制语

    加注汉语发音的C语言32个语句和9种控制语 一.C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字.控制语句关键字.存储类型关键字和其它关键字四类. 1 数据类型关键字(12个): ( ...

  2. c 语言程序的三种基本结构,C 语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构...

    C 语言程序的三种基本结构是____ A.顺序结构,选择结构,循环结构 B.递归结构,循环结构,转移结构 更多相关问题 [填空题]移动电商,全称 ,是以 为载体的电商模式. [单选题]有关离子选择性电 ...

  3. php中用for循环制作矩形,PHP中for循环语句的几种变型

    PHP中for循环语句的几种变型 2021-01-22 10:21:42406 for语句可以说是PHP(同时也是多种语言)的循环控制部份最基本的一个语句了,for语句的执行规律和基础用法在这里就不多 ...

  4. c语言 打印共九行的菱形,用C语言打印图案的几种实现方法

    循环的使用 维普资讯 http://doc.xuehai.net 科技伯. 1 1 0计算机与信息技术 0 S IN E I F R TO CE C N O MA I N 20 06年第 4期 用 C ...

  5. c语言中的关于数学问题的编程,C语言中具有代表性几种数学问题编程技巧探索.doc...

    C语言中具有代表性几种数学问题编程技巧探索 C语言中具有代表性几种数学问题编程技巧探索 [摘要]本文分析了C语言中几种常见的具有代表性的几类数学问题,从数学规律.语法结构分析.语句优化设计及应用方面, ...

  6. python最基本的两种循环结构_Python基础 — 分支和循环

    1. 分支结构 1.1 初步介绍 至今,我们所写的Python代码都是顺序执行,但是有时候在代码中是需要进行逻辑判断的,比如用户 输入用户名和密码,输入正确则验证通过,否则即验证失败.这个时候就会产生 ...

  7. JAVA语言中流程控制(顺序结构、判断语句、循环语句)

    流程控制: 程序在执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的,所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现想要的功能.java中流程控制有:顺 ...

  8. java语言变量分为_在Java语言中变量分为四种,分别是___________________________________________。_学小易找答案...

    [填空题]One day, at the registrar's office of a college, I noticed how parents are behaving with their ...

  9. JMeter-两种控制Sampler执行线程数量的方法

    JMeter-两种控制Sampler执行线程数量的方法 一.如果(If)控制器 (1)添加"如果(If)控制器",并在控制器中填写判断语句: ${__groovy(${__coun ...

最新文章

  1. Django ORM操作
  2. 男人一辈子就喜欢一种类型的女人,至死不渝从一而终!
  3. 天梯赛 L1-027 出租 (20 分)
  4. 如何在 Asp.Net Core 中对请求进行限流
  5. 【CodeForces - 1051D】Bicolorings (dp,类似状压dp)
  6. 我会铭记这一天:2016年10月25日
  7. mail 命令发送附件
  8. QSerialport多线程方法
  9. Mysql uploader File
  10. Address already in use: bind 端口被占用的解决办法
  11. HDU-1994-利息计算
  12. edx : Permission denied
  13. modbus通讯失败_你以为你真的了解Modbus 通信协议?
  14. Linux查看程序端口占用情况 netstat -apn | grep 8080
  15. 13_ue4进阶_蒙太奇动画实现一边走一边攻击
  16. 中国传媒发展十大趋势
  17. 哈尔滨傲澜智伴机器人_智伴机器人品质保证(在线咨询),机器人
  18. python中的数据过滤
  19. [JS] checkbox 选中/全选/反选/不选
  20. Struts2 注解开发实现简单的增删改查,超详细教程

热门文章

  1. EtherCAT运动控制卡和LabVIEW构建智能装备(三)
  2. 平面设计从哪里找素材?
  3. 关于锂离子电池负极配料消泡剂的争议,我想澄清一下
  4. 显著性目标检测之Global Context-Aware Progressive Aggregation Network for Salient Object Detection
  5. 教你如何在C++里锁电脑的屏!
  6. ABEC再次树立一次性生物加工行业基准
  7. java毕设项目开源了,springboot+vue的智能停车管理系统
  8. 前端-vue(修饰符-组件)
  9. 深度学习之神经网络的优化器篇
  10. mysql intouch_intouch连接数据库