当前位置:网站首页>【C语言学习笔记(五)】while循环与for循环
【C语言学习笔记(五)】while循环与for循环
2022-08-03 18:35:00 【傻萌的路飞】
一、while循环
1.while循环形式
while循环的通用形式如下所示:
while(expression)
statement
其中,expression是关系表达式,statement可以是以分号结束的简单语句,也可以是用花括号括起来的复合语句。在while循环中,当expression为真(一般来说,非零),执行statement部分一次,然后再次判断expression。在expression为假(0)之前,循环的判断和执行一直重复进行,每一次循环都被称为迭代。
2.while循环的入口和终止
while循环是使用入口条件的有条件循环。所谓的“有条件”指的是语句部分的执行取决于测试表达式描述的条件,只有当满足测试条件的时候才能进入循环体。
while循环有一点非常重要:在构建while循环时,必须让测试表达式的值有变化,表达式最终要为假,这样才能终止循环;否则,循环就不会终止。(此处指提到用while括号中表达式来终止,除此之外,break也可以终止while循环)。需要明确一点,只有在对测试条件求值时,才决定是终止还是继续循环。
3.关系运算符
while循环中经常依赖测试表达式作比较,这样的表达式被称为关系表达式,出现在关系表达式中的运算叫做关系运算符。如下表是一些关系运算符。
| 运算符 | 含义 |
|---|---|
| < | 小于 |
| <= | 小于等于 |
| == | 等于 |
| > | 大于 |
| >= | 大于等于 |
| != | 不等于 |
| ** |
二、for循环
1.for循环形式
for循环的基本形式如下:
for(initialize;test;update)
statement
for循环把初始化、测试和更新3个行为组合在一处。从上述for循环的基本形式中可以看到,关键字for后面中的圆括号有三个表达式,分别用两个分号隔开。第1个表达式initialze是初始化,只会在for循环开始时执行一次。第2个表达式test是测试条件,在执行循环之前对表达式求值。如果表达式为假,循环结束。第3个表达式update执行更新,在每次循环结束时求值。
如下是for循环一个举例,其要求是连续输出5句“I love China!”。
#include <stdio.h>
int main(void)
{
int i;
for(i = 0;i < 5;i++)
printf("I love China!"\n);
return 0;
}
2.逗号运算符
逗号运算符扩展了for循环的灵活性,以便在循环头中包含更多的表达式。逗号运算符有两个性质,一是,逗号运算符保证了被它分隔的表达式从左往右求值(换而言之,逗号就是一个序列点,所有逗号左侧项的所有副作用都在程序执行逗号右侧项之前发生)。二是,整个逗号表达式的值是右侧项的值。
while和for都可以实现循环操作,其中while循环是不确定循环,其在测试表达式为假之前预先不知道要执行多少次循环;for循环是计数循环,其在循环执行之前就知道要重复执行多少次。
边栏推荐
猜你喜欢

细胞不可渗透的荧光探针 锌离子荧光探针Zinquin 151606-29-0

Don't look down upon the WebSocket!Long connection, stateful, two-way, full-duplex king is Fried

Intelligent security contract - delegatecall (2)

Zhong Hua, senior architect of Ali: China-Taiwan strategic thinking and architecture practice; including internal implementation manual

5000元价位高性能轻薄本标杆 华硕无双高颜能打

CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes), problem: (D) Magical Array

基于PHP7.2+MySQL5.7的回收租凭系统

BinaryIndexedTrees树状数组

首届MogDB征文活动开启啦!

超T动力 焕“芯”出发 | 中国重汽专属定制版WP14T产品闪耀登场
随机推荐
Web项目Controller统一返回实体类
MySQL如何一劳永逸的永久支持输入中文
Flask框架——项目可安装化
CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes), problem: (D) Magical Array
实现博客营销有哪些技巧
@resource和@autowired的区别
Intelligent security contract - delegatecall (2)
MPLS的简单应用于实验
大佬,谁有空帮忙看下这个什么问题呢,我就读取MySQLsource print下,刚接触flink,
OSError: [WinError 123] 文件名、目录名或卷标语法不正确
多线程和并发编程(四)
多肽介导PEG磷脂——靶向功能材料之DSPE-PEG-RGD/TAT/NGR/APRPG
字节跳动三面拿offer:网络+IO+redis+JVM+GC+红黑树+数据结构,助你快速进大厂!!
When does MySQL use table locks and when to use row locks?You should know this
智能合约安全——delegatecall (2)
Confused!Ali was abused on the one hand, but was fortunate to be promoted to Huawei's technology, and successfully got the offer, with an annual salary of 40w
LineSegmentTree线段树
cdc抽取mysql整个实例的binlog,有没有方案通过配置的方式将这些库表拆开分发到kafka
如何成为优秀的产品运营?
Online monitoring of UPS power supply and operating environment in the computer room, the solution is here