目录:

一、for循环

二、break,continue

三、循环嵌套

四、while

五、do while

六、三个循环的对比

七、空语句

回到顶部

一、for循环

标识每次循环,循环终止条件,循环间的规律

签到            毕业               天

for 变量=1       变量<100        变量++

int i = 0;

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

1.循环就是重复执行循环体(语句、语句块组成),在C语言中,没一个循环都有一个控制表达式(终止循环的条件),每次循环的时候,都要向控制表达式求值,如果表达式的值为真1,那么继续循环,如果为假,终止循环。

2.c语言中使用循环语句来反复执行特定的代码段,在c语言中循环有三种表达方式:for/while/do while

3.for循环语法格式:

for(表达式1;表达式2;表达式3){

循环体;(一条或多条语句)

}

表达式1:用来标识每一次循环,初始值,

表达式2:判断循环是否执行的控制语句,

表达式3:每次循环之间的规律,步长

4.循环的执行顺序,

第一次执行的时候,

执行表达式1 -> 表达式2(真)-> 循环体

执行表达式1 -> 表达式2(假)-> 终止循环

第二次执行的时候,

执行表达式3 -> 表达式2(真)-> 循环体

执行表达式3 -> 表达式2(假)-> 终止循环

第n次

执行表达式3 -> 表达式2(真)-> 循环体

执行表达式3 -> 表达式2(假)-> 终止循环

求:1~100的和

练习:使用循环输入四个数,求最大值、最小值、和。

 #include <stdio.h>

 int main()
{
int i = ;
//i=1:循环的标识
//i<=100:终止条件
//i++:循环的规律
for(i = ; i <= ; i++){
printf("%d ",i);
}
printf("\n"); //求1~100的和
int sum = ;
for(i = ;i <= ;i++){
sum += i;
}
printf("1~100的和是:%d\n",sum); //使用循环输入四个数,求最大值、最小值、和。
int num = ,sum2 = ,max = ,min = ;
for(i = ; i <= ; i++){
printf("输入第%d个数字:\n",i);
scanf("%d",&num);
if(num > max){
max = num;
}
if(num < min){
min = num;
}
sum2 += num;
}
printf("max:%d,min:%d,sum2:%d\n",max,min,sum2); return ;
}

练习:输入10个数,求最大值、最小值、和、差、积、商。

练习:输出100内的奇数,不能被2整除

练习:输出100内的偶数,能被2这出

 #include <stdio.h>

 //练习:输入10个数,求最大值、最小值、和、差、积、商。
void test1()
{
int num = ,sum = ,ji = ,cha = ,shang = ;
int i = ,max = ,min = ;
for( i = ; i <= ; i++){
printf("输入第%d个数:\n",i);
scanf("%d",&num);
if(num > max){
max = num;
}
if(num < min){
min = num;
}
sum += num;
cha -= num;
ji *= num;
shang /= num;
}
printf("max:%d,min:%d,sum:%d,ji:%d,cha:%d,shang:%d\n",max,min,sum,ji,cha,shang);
} //练习:输出100内的奇数,不能被2整除
void test2()
{
int i = ;
//不能被2整除
for(i = ; i <=; i++){
if(i % != ){
printf("%d ",i);
}
}
} //练习:输出100内的偶数,能被2这出
void test3()
{
int i = ;
for(i = ; i <=; i++){
if(i % == ){
printf("%d ",i);
}
}
printf("\n");
}
int main()
{
test1();
//test2();
//test3();
return ;
}

5.for(;;)这样写编译不报错,但;号不能省略,这是个死循环,Ctrl + c 终止循环。

回到顶部

二、break、continue

break关键字,不但可以终止switch语句,也可以终止for循环语句。

continue关键字,可以终止当次循环,继续下一次循环。

练习:输入一个数,得到数的长度(位数),如1234,长度就是4,

#include <stdio.h>

int main()
{
int num = ,i = ,length = ;
printf("输入一个数:\n");
scanf("%d",&num);
printf("%d",num);
for(i = ; i <= ; i++){
length++;
num /= ;
if(num == ){
break;
}
}
printf("长度是:%d\n",length);
return ;
}

回到顶部

三、循环嵌套(多重循环)

for(){

for(){

...

}

}

#include <stdio.h>

int main()
{
int i = ,j = ;
for(i = ; i <= ; i++){
for(j = ; j <= ; j++){
printf("%d%d ",i,j);
}
printf("\n",i,j);
}
return ;
}

1.如果两重循环,外面的循环执行一次,里面的循环执行一遍,

2.外面的循环和行有关系,里面的循环和列有关系

练习:

1.*****

2.         3.            4.

*          *            *****

**        ***         ***

***      *****      *

****    *******

*****

 #include <stdio.h>

 int main()
{
int i = ,j = ;
//打印*****
for(i = ; i <= ; i++){
printf("*");
}
printf("\n");
/*
2. 3. 4.
* * *****
** *** ***
*** ***** *
**** *******
*****
*/
//2.
for(i = ; i <= ; i++){
for(j = ; j <= i; j++){
printf("*");
}
printf("\n");
}
printf("\n");
//3.
for(i = ; i <= ; i++){
for(j = ; j <= i * - ; j++){
printf("*");
}
printf("\n");
}
printf("\n");
//4.
for(i = ; i >= ; i--){
for(j = ; j <= i * - ; j++){
printf("*");
}
printf("\n");
}
printf("\n");
//4. (另一种写法)
int rows = ;
for(i = ; i <= ; i++){
for(j = ; j <= * (rows - i) + ; j++){
printf("*");
}
printf("\n");
}
return ;
}

九九乘法表。

1*1=1

1*2=2  2*2=4

1*3=3  2*3=6  3*3=9

.........

#include <stdio.h>

int main()
{
int i = ,j = ;
for(i = ;i <= ;i++){
for(j = ;j <= i; j++){
printf("%d*%d=%d\t",j,i,i*j);
}
printf("\n");
}
return ;
}

回到顶部

四、while

1.while循环与for循环完全互通,除了语法格式稍有区别,其工作原理,工资方式一样。

2.语法格式;

表达式1;

while(表达式2){

循环体;

表达式3;

}

3.执行顺序

第一次执行循环的时候,

表达式1 -> 表达式2(真) -> 循环体 -> 表达式3

表达式1 -> 表达式2(假) -> 终止循环

第二次循环的时候,

表达式2(真)-> 循环体 -> 表达式3

表达式2(假)-> 终止循环

作业:重构for循环练习

#include <stdio.h>

int main()
{
int i = ;
while(i < ){
printf("i:%d\n",i);
i++;
}
return ;
}

回到顶部

五、do while

先执行循环体,在进行判断。do while与for、while最大的不同,就算条件不成立,至少会执行一次

语法格式:

表达式1;

do{

循环体;

表达式3;

}while(表达式2);

执行顺序

第一次执行的时候

表达式1 -> 循环体 -> 表达式3 -> 表达式2(真)-> 继续循环

表达式1 -> 循环体 -> 表达式3 -> 表达式2(假)-> 终止循环

第二次循环的时候

循环体 -> 表达式3 -> 表达式2(真)-> 继续循环

循环体 -> 表达式3 -> 表达式2(假)-> 终止循环

作业:重构for循环的练习

#include <stdio.h>

int main()
{
int i = ;
do{
//i++;放在这里结果会出现改变
printf("i:%d\n",i);
i++;
}while(i <= );
return ;
}

回到顶部

六、三个循环的对比

1.可以控制循环的范围使用for循环

2.关注循环规则使用while循环

2.第一次不需要进行判断的时候do...while

回到顶部

七、空语句

空语句常用来编写空循环体的循环,

c程序习惯性的把空语句单独放一行,

如果循环体只有一行,可以省略{}

08-C语言循环的更多相关文章

  1. [08 Go语言基础-for循环]

    [08 Go语言基础-for循环] 循环 循环语句是用来重复执行某一段代码. for 是 Go 语言唯一的循环语句.Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环 ...

  2. Go语言循环判断的使用~

    Go 语言条件语句 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句. 下图展示了程序语言中条件语句的结 ...

  3. R语言 循环

    R语言循环 可能有一种情况,当你需要执行一段代码几次. 通常,顺序执行语句. 首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供允许更复杂的执行路径的各种控制结构. 循环语句允许 ...

  4. 08. Go 语言包(package)

    Go 语言包(package) Go 语言的源码复用建立在包(package)基础之上.Go 语言的入口 main() 函数所在的包(package)叫 main,main 包想要引用别的代码,必须同 ...

  5. C语言-循环结构及break、continue

    循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...

  6. go语言循环语句 for

    Go语言中的循环语句只支持for关键字,而不支持while和do-while结构. sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: ...

  7. C语言循环的嵌套

    注:参考网络资源拟制,如雷同请见谅循环的嵌套:一个循环体语句中又包含另一个循环语句,称为循环嵌套.嵌套注意事项:1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同.2.循环嵌套结构的书写,最 ...

  8. C语言循环的实现

    在C语言中采用3中语法来实现循环,它们分别是while.for.do while,本文将分别说明这三种循环的实现,并对它们的运行效率进行比较. do while 首先来看do while的实现:下面是 ...

  9. Go 语言循环语句

    在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句. 以下为大多编程语言循环程序的流程图: Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执 ...

随机推荐

  1. 从零单排PAT1015,1016,1017,1018

    1015德才论 题目要求: 输入格式: 输入第1行给出3个正整数,分别为:N(<=105),即考生总数.L(>=60).为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取:H ...

  2. 7. Reverse Integer

    1. 问题描述 Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321 cl ...

  3. <学习>.NET的反射基础

    关键词 Assembly 使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例. Module 通过它可以获取包含模块的程序集以及模块中的类等, ...

  4. 【asp.net】将GridView数据导出Excel

    概要: 中午睡了一会,醒来的时候看到老师叫我去办公室,需求是这样的,把excel表中的每个同学,判断图片目录中是否有对应的照片(图片的名字用的学号或身份证号码) 没有对应图片的学生记录,存入自己的数据 ...

  5. jQuery Mobile组件

    一.页面 jQuery Mobile 应用了 HTML5 标准的特性,在结构化的页面中完整的页面结构分为header.content.footer 这三个主要区域. 在body 中插入内容块: < ...

  6. Collections之sort的两个方法(自然排序和自定义比较器排序)

    Collections是个服务于Collection的工具类(静态的),它里面定义了一些集合可以用到的方法. 本文演示了Collections类里sort()的两个方法.第一种只需传入被排序的集合,便 ...

  7. javascript小练习—函数接收参数并弹出

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  8. 1.PHP 教程_PHP 简介

    PHP是服务器端脚本语言. 在学习之前,您需要对以下知识有基本的了解: HTML css PHP是什么? PHP代表PHP:Hypertext Preprocessor PHP是一种使用广泛的开源的脚 ...

  9. issues about Facebook Login

    在学习The complete iOS 9 Developer Course - Build 18 Apps 中的Letture134-Facebook Login,需要整合(integrate)Pa ...

  10. 转: 关于异步promises

    迄今为止,可能每个JavaScript开发者和他们的祖母都听说过Promises.如果你没有,那么你即将会.promises的概念是由CommonJS小组的成员在 Promises/A规范 中提出来的 ...