c语言7种控制3种循环,第6章 C控制语句:循环
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控制语句:循环相关推荐
- 32个c语言关键字发音,加注汉语发音的C语言32个语句和9种控制语
加注汉语发音的C语言32个语句和9种控制语 一.C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字.控制语句关键字.存储类型关键字和其它关键字四类. 1 数据类型关键字(12个): ( ...
- c 语言程序的三种基本结构,C 语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构...
C 语言程序的三种基本结构是____ A.顺序结构,选择结构,循环结构 B.递归结构,循环结构,转移结构 更多相关问题 [填空题]移动电商,全称 ,是以 为载体的电商模式. [单选题]有关离子选择性电 ...
- php中用for循环制作矩形,PHP中for循环语句的几种变型
PHP中for循环语句的几种变型 2021-01-22 10:21:42406 for语句可以说是PHP(同时也是多种语言)的循环控制部份最基本的一个语句了,for语句的执行规律和基础用法在这里就不多 ...
- 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 ...
- c语言中的关于数学问题的编程,C语言中具有代表性几种数学问题编程技巧探索.doc...
C语言中具有代表性几种数学问题编程技巧探索 C语言中具有代表性几种数学问题编程技巧探索 [摘要]本文分析了C语言中几种常见的具有代表性的几类数学问题,从数学规律.语法结构分析.语句优化设计及应用方面, ...
- python最基本的两种循环结构_Python基础 — 分支和循环
1. 分支结构 1.1 初步介绍 至今,我们所写的Python代码都是顺序执行,但是有时候在代码中是需要进行逻辑判断的,比如用户 输入用户名和密码,输入正确则验证通过,否则即验证失败.这个时候就会产生 ...
- JAVA语言中流程控制(顺序结构、判断语句、循环语句)
流程控制: 程序在执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的,所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现想要的功能.java中流程控制有:顺 ...
- java语言变量分为_在Java语言中变量分为四种,分别是___________________________________________。_学小易找答案...
[填空题]One day, at the registrar's office of a college, I noticed how parents are behaving with their ...
- JMeter-两种控制Sampler执行线程数量的方法
JMeter-两种控制Sampler执行线程数量的方法 一.如果(If)控制器 (1)添加"如果(If)控制器",并在控制器中填写判断语句: ${__groovy(${__coun ...
最新文章
- Django ORM操作
- 男人一辈子就喜欢一种类型的女人,至死不渝从一而终!
- 天梯赛 L1-027 出租 (20 分)
- 如何在 Asp.Net Core 中对请求进行限流
- 【CodeForces - 1051D】Bicolorings (dp,类似状压dp)
- 我会铭记这一天:2016年10月25日
- mail 命令发送附件
- QSerialport多线程方法
- Mysql uploader File
- Address already in use: bind 端口被占用的解决办法
- HDU-1994-利息计算
- edx : Permission denied
- modbus通讯失败_你以为你真的了解Modbus 通信协议?
- Linux查看程序端口占用情况 netstat -apn | grep 8080
- 13_ue4进阶_蒙太奇动画实现一边走一边攻击
- 中国传媒发展十大趋势
- 哈尔滨傲澜智伴机器人_智伴机器人品质保证(在线咨询),机器人
- python中的数据过滤
- [JS] checkbox 选中/全选/反选/不选
- Struts2 注解开发实现简单的增删改查,超详细教程
热门文章
- EtherCAT运动控制卡和LabVIEW构建智能装备(三)
- 平面设计从哪里找素材?
- 关于锂离子电池负极配料消泡剂的争议,我想澄清一下
- 显著性目标检测之Global Context-Aware Progressive Aggregation Network for Salient Object Detection
- 教你如何在C++里锁电脑的屏!
- ABEC再次树立一次性生物加工行业基准
- java毕设项目开源了,springboot+vue的智能停车管理系统
- 前端-vue(修饰符-组件)
- 深度学习之神经网络的优化器篇
- mysql intouch_intouch连接数据库