零基础学C语言知识总结五:3种必学必会的循环结构
Posted 一起学编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学C语言知识总结五:3种必学必会的循环结构相关的知识,希望对你有一定的参考价值。
循环结构可以看成是一个条件判断语句和一个向回转向语句的组合。
另外,循环结构的三个要素:循环变量、循环体和循环终止条件,循环结构在程序框图中是利用判断框来表示,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处.
1、while循环
while 循先判断表达式,后执行循环体。满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式)循环体。
2、do-while循环
do...while 循环是 while 循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do之内的语句,然后在while()内检查条件是否为真,如果条件为真的话,就会重复do...while这个循环,直至while()为假。
两个循环不同之处:while循环是先判断满足后执行,do-while是先执行一次后在判断
综合例子:水仙花数
#include<Stdio.h>
int main(void) // n=3 153 1^3 5^3 3^3
int n; scanf("%d", &n);
int number=1; int t = 1; int i;
while (t < n)
number *= 10;
t++;
i = number;
while (number < i * 10) //遍历100-1000的数字
int j = number;
int sum = 0;
do int d = j % 10;
j /= 10;
int b = 1;
int c = 0;
while (c < t)
b *= d;
c++;
sum += b;
while (j > 0);
if (number == sum)
printf("%d ", sum);
number++;
return 0;
3、for循环
for(初始化动作;条件;每轮做的动作) (循环体)
其中 的每一个表达式都是可以省略的,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。
例子:白鸡百钱
#include<stdio.h>
int main(void)
int x, y, z;
int sum = 0;
for (x = 0; x < 20; x++)
for (y = 0; y < 33; y++)
z = 100 - x - y;
if ((x * 5 + y * 3 + z / 3.0) == 100 && x > 0 && y > 0 && z > 0)
printf("%d %d %d\\n", x, y, z);
return 0;
//结果:
//4 18 78
//8 11 81
//12 4 84
4、 goto 循环
goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。如: goto out; out:
goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能,但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难
例子:输入-1结束循环
#include<stdio.h>int
main(void)
int n;
scanf("%d", &n);
int i;
//跳转到这里 out: if (n != -1) //如果不输入-1 将一直循环
printf("*\\n");
scanf("%d", &n);
goto out;//在这里定义名为out的goto语句
return 0;
Tips:
1、对于循环语句,可使用一些辅助语句进行跳转或结束,如;break(直接结束循环),continue(不再进行后面的语句,直接继续返回进行循环判断),goto(无条件跳转,任意跳转到指定位置)
2、 使用循环语句的情况:如果有固定次数时,使用for,如果必须执行一次时,用do-while,其他情况用while
课外:整数的分解
1.对于一个整数做%10的操作,就得到它的个位数
2.对于一个整数做/10的操作,就去到它的个位数
然后再对2的结果再做%10,就得到了原来数的十位数了。
其他位数依次类推...
作者:Mr_Li_
对啦对啦!另外的话为了帮助大家,轻松,高效学习C语言/C++,我给大家分享我收集的资源,从最零基础开始的教程到C语言项目案例,帮助大家在学习C语言的道路上披荆斩棘!可以来我粉丝群领取哦~
整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!
以上是关于零基础学C语言知识总结五:3种必学必会的循环结构的主要内容,如果未能解决你的问题,请参考以下文章
进价程序员:5种必会的Java异步调用转同步的方法你会几种?