目录:

一、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. HP DL360 G7通过iLO部署系统

    HPDL360 G7通过iLO部署系统 HP DL360 G7是没有光驱的服务器,可使用USB外置光驱.PXE网络安装.ILO方式的安装操作系统 一.HP iLO 简介 iLO 是一组芯片,内部是vx ...

  2. spring NotWritablePropertyException异常

    Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'userDao' of bea ...

  3. C#中var关键字【转】

    [转]http://blog.csdn.net/courageously/article/details/5695626 var关键字是C# 3.0开始新增的特性,称为推断类型 . 可以赋予局部变量推 ...

  4. .NET平台和C#语言

    .NET平台的作用C#语言通过.NET平台来编写 部署 运行.NET应用程序. 为什么学习.NET语言1. C#语言是为.NET平台而生的.2. C#语言是完全面向对象的语言,所以一般情况下我们用C# ...

  5. JavaScript之面向对象学习一

    1.通过Object构造函数和对象字面量来创建对象缺点:使用同一个接口创建很多的对象,会产生大量的重复代码.比如我需要创建人的对象,并且需要三类人,医生.工程师.老师,他们可以抽象出很多属性,比如姓名 ...

  6. 部署SharePoint2013解决方案

    Add-SPSolutionInstall-SPSolution -Identity Grain2013.wsp -GACDeployment -CompatibilityLevel {14,15}  ...

  7. win7环境下安装MongoDB

    1.从http://www.mongodb.org/downloads获取,下载适合windows版本的mongodb,注意32位和64位的区别2.将下载的zip版本,解压到D:/mongodb3.创 ...

  8. 运行JBoss 5.1.0 GA时出现Error installing to Instantiated:name=AttachmentStore state=Described错误的解决办法

    第一次开JBoss服务器:有些时候会遇到这种情况:把以下的文字替换即可 进到类似目录 server/default/conf/bootstrap,打开文件 profile.xml找到: Xml代码 & ...

  9. sql两表联合查询

    SELECT yt_fault_componentId FROM yt_fault_component a join yt_fault_assembly b on a.yt_fault_assembl ...

  10. asp.net 下载文件(图片、word、excel等)

    string filePath = Server.MapPath("~/excel.xlsx"); if (File.Exists(filePath)) { FileStream ...