C 从入门到入门 2-3-1 循环结构程序设计1

文章目录

循环结构

循环结构是程序设计流程结构中常用的结构, 在后面学习数组遍历, 多数算法实现的操作中会经常见到这样的结构设计.

C 语言中, 循环结构涉及到的关键字有如下 5 个.

for while do continue break

有人可能会在旧版教材中看到有一个特殊的语句, 这里不介绍, 知道的同学也请不要跟外人提这件事. 尽管早期时候你可能会发现这样写代码十分方便. 但是后面会导致程序设计逻辑混乱. 这个语句只有在极其有限的条件下才能使用.

本篇文章介绍第一个关键字 for , 和 for 结构循环.

for 结构一般如下所示:

for(1 循环初始状态; 2 循环条件表达式; 3 每次循环末尾操作){
	4 循环执行的代码;
    ...;
}

示例, 计算 1~100 的总和的朴素方法.

...
int i, sum;
sum = 0;

for(i = 1; i<=100; i++){
	sum = sum + i;
}
...

for 循环执行的过程是按照 1, 2, 4, 3, 2, 4, 3, 2, 4, 3, … 的顺序, 直到判断发现 2 不满足条件为止.

注意 C 语言中的 for 循环, 括号不能省略,括号里面的内容必需用两个分号;隔开. 如果1, 2, 3 中的某或某些部分不需要, 可以空着, 但是分号不能缺少.

比如下面的无限循环的一个例子

...;
for(;;){
	do sth;
}
...;

这里看到, 循环条件(2)这里的部分是空的, 所以循环不会停止.

再比如:

...;
int i;
for(i = 0; i<100;){
	do sth;
}

这里虽然条件不是空的, 但是循环条件永远无法打破, 因为(3)处缺失. 同时代码中也没有对 i 的操作.

再比如:

...;
int i;
for(i = 0; i<100;){
	do sth;
    i = i+1;
}

虽然(3) 处缺失, 但是循环部分的代码对 i 进行了自增1的操作. 所以不是无限循环.

也就是说, 我大可以写这样的代码:

int i = 0;
for(;i<100;){
	do sth;
    
    
    i += 1;

}

for循环的好处就在于, 它能把这个用来记录循环次数的变量放在开头. 阅读代码, 写代码时候你明显清楚这个循环次数变量, 以及每次循环这个变量自增的情况. 所以面对这种有初态, 有终态的循环代码都优先选择 for 来实现.

下面正式写一下朴素的计算1~100和结果的代码, 各位可以抄一下:

     1	# include <stdio.h>
     2	
     3	int main (void){
     4	
     5	    int sum, i;
     6	
     7	    sum = 0;
     8	    for(i = 0; i<100; i++){
     9	        sum = sum + i + 1;
    10	    }
    11	
    12	    printf("sum from 1 to 100 is %d\n", sum);
    13	    return 0;
    14	}

运行结果如下:

在讲到数组之前, 循环的能力最大也就是这样了, 数组才是循环真正能够大显身手的地方. 所以各位不用着急.

下篇文章将讲下两个关键字 whiledo 涉及到两个循环结构:

whiledo - while 结构. 感谢各位的支持.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值