导图社区 C语言循环程序设计
想要学好C语言循环程序设计吗?那你一定不能错过这张思维导图,归纳了用while语句实现循环、do...whlie语句实现循环等内容知识运用,语法简单,但是大家一定要多练习嵌套循环。
编辑于2021-07-28 22:44:24"重构人生的12条黄金法则:从拒绝平庸到活出独特自我首先打破认知枷锁,用‘反愿景’明确人生底线绝对自由等于混乱,平庸是最昂贵的代价接着用高标准重塑身份,让卓越成为习惯能力提升要聚焦实战,以生活为项目炼就深度通才每日推进关键任务,用持续创造撬动自由保持创业心态,把不确定性当跳板,用自我实验突破极限记住:所有努力只为活出不可复制的生命剧本,包括接纳过程中的重大失误。
在职场沟通场景中,日报的本质是「工作价值的结构化呈现工具」。 许多人之所以会陷入写作困境,核心矛盾并非表达能力不足,而是日常工作缺乏目标导向的思维框架与成果沉淀的行为模式。 这里我将尝试以麦肯锡式思维逻辑为底层框架,拆解从工作规划到日报输出的全流程方法论,帮助职场人建立「思考有模型、执行有标准、呈现有效率」的工作体系。
C 类的封装方法:类的定义,类的构造函数,成员函数,重载构造函数,析构函数,静态成员等详细案例解析和理论罗列。
社区模板帮助中心,点此进入>>
"重构人生的12条黄金法则:从拒绝平庸到活出独特自我首先打破认知枷锁,用‘反愿景’明确人生底线绝对自由等于混乱,平庸是最昂贵的代价接着用高标准重塑身份,让卓越成为习惯能力提升要聚焦实战,以生活为项目炼就深度通才每日推进关键任务,用持续创造撬动自由保持创业心态,把不确定性当跳板,用自我实验突破极限记住:所有努力只为活出不可复制的生命剧本,包括接纳过程中的重大失误。
在职场沟通场景中,日报的本质是「工作价值的结构化呈现工具」。 许多人之所以会陷入写作困境,核心矛盾并非表达能力不足,而是日常工作缺乏目标导向的思维框架与成果沉淀的行为模式。 这里我将尝试以麦肯锡式思维逻辑为底层框架,拆解从工作规划到日报输出的全流程方法论,帮助职场人建立「思考有模型、执行有标准、呈现有效率」的工作体系。
C 类的封装方法:类的定义,类的构造函数,成员函数,重载构造函数,析构函数,静态成员等详细案例解析和理论罗列。
C语言循环程序设计
用 while 语句实现循环
while 循环的循环特点是先判断表达式后执行循环体语句
语法
while(expression) statement1; statament2;
举例
#include<stdio.h> int main() { int i = 1; int sum = 0; while(i <= 100) { sum = sum + i; // i++; ++i; /*一样的这个地方*/ } printf("sum = %d\n", sum); return 0; }
用 do...while 语句实现循环
先循环再判断
语法
do statement; while(expression);
statement 就是循环体。
注意:和 while 语句不同, do...while 语句中的 while(); 后面是有 “;” 的。
示例
#include<stdio.h> int main(){ int i = 1; int sum = 0; do{ sum = sum + i; i++; } while(i<=100); printf("sum=%d\n", sum); return 0; }
与while对比
int main(){ int i = 0; int sum = 0; printf("Please enter i:"); scanf("%d", &i); while(i <= 100) { sum = sum + i; i++; } printf("sum=%d\n", sum); return 0; }
#include<stdio.h> int main(){ int i,sum = 0; printf("please enter i:"); scanf("%d",&i); do { sum = sum + i; i++; }while(i<=100); printf("sum=%d\n",sum); return 0; }
我们可以得到以下结论: 当 while 后面的表达式的第一次值为“真”时, 两种循环得到的结果是相同的; 否则,二者结果不相同。
用 for 语句实现循环
语法
for(表达式 1;表达式 2;表达式 3) 语句
表达式 1:设置初始条件,只执行一次。可以为零个、一个或者多个表达式赋初值。
表达式 2:是循环条件表达式,用来判定是否继续循环。在每次执行循环体前先执行此表达式,决定是否继续执行循环。
表达式 3:作为循环的调整,例如循环变量的增值,是在执行完循环体后才进行的。
表达式 1 可以省略,即为不初值。但是表达式 1 后面的分号不能省略。
表达式 2 也可以省略。
for(i=1;;i++) sum = sum + i;
此时循环将会无终止的进行下去,默认为表达式 2 是真。
表达式 3 也可以省略
等价
表达式 1; while (表达式 2) { 语句 表达式 3 }
示例
int main(){ int i = 0; int sum = 0; for(i = 1; i <= 100; i++;) { sum = sum + i; } printf("sum=%d\n", sum); return 0; }
#include<stdio.h> int main(){ int i = 0; int sum = 0; for(i = 1; i <= 100; ) { sum = sum + i; i++; } printf("sum=%d\n", sum); return 0; }
执行过程
先求解表达式 1。本例中的表达式 1 就是 i=1,即把整数 1 赋值给 i。
求解表达式 2。若此条件表达式的值为真(非 0),则执行 for 语句的循环体,然后执行第三步。若为假(0),则结束循环,转到第(5)步。
求解表达式 3。在本例中,执行 i++,使 i 的值加 1,i 的值变成 2。
转回步骤 2 继续执行。 由于此时 i=2,表达式 i<=100 的值为真,再次执行循环体中的语句。然后再执行步骤(3)。如此反复,直到 i 的值变到了 101,此时表达式 i<=100 的值为假,不再执行循环体,而转到步骤(5)。
循环结束,执行 for 语句下面的一个语句。
改变循环的执行状态
continue
continue 语句与 break 语句不同,并不停止循环,而是跳出当前循环的状态继续执行下一轮的循环。求取 100-200 之间所有不可以被 3 整除的数,并打印出来。实现过程中凡是遇到可以被 3 整除的数则跳过循环内的后面所有的代码,继续执行下一轮循环。
int main(){ int n; for(n = 100; n <=200; n++) { if (n%3 == 0) { continue; } printf("%d\t", n); } printf("\n"); return 0; }
continue 的作用为结束本次循环,就是跳过循环体中下面尚未执行的语句, 然后接着下一次的循环操作。 continue 语句是结束本次循环,而不是终止 整个循环的执行。而 break 语句则是结束整个循环过程,不在判断执行循环 的条件是否成立。
循环的嵌套
一个循环体内又包含另外一个完整的循环结构,称为循环的嵌套。 内嵌的循环中还可以嵌套循环,这就是多层循环。
while 循环、do...while 循环和 for 循环可以互相嵌套。
示例
#include<stdio.h> int main(){ int i = 0; int j = 0; int n = 0; for(i = 1; i <= 4; i++) for(j = 1; j <= 5; j++, n++) { if (n%5 == 0) { printf("%d\t", i * j); } print("\n"); } return 0; }
思考一下这个n的原理
#include<stdio.h> int main(){ int i; int j; for (i=1; i<=4; i++) { for(j=1; j<=4-i; j++) { printf(" "); } for(j=1; j<=2*i-1; j++) { printf("*"); } printf("\n"); } for(i=3; i>0; i--) { for(j=1; j<=4-i; j++) { printf(" "); } for(j =1; j<=2*i-1; j++) { printf("*"); } printf("\n"); } return 0; }