文章目录

  • goto语句
  • 循环语句的类型
  • while语句
    • 死循环
    • 语句的嵌套
  • do..while语句
  • for语句

goto语句

如果我们想要实现从0输出到n,如果要写0~100的话那我们就要写100个printf,这样非常麻烦,也
不现实,在汇编中当程序print完了我们可以用一个jmp让它回去继续输出,在C语言中一样可以实现,
我们可以用goto语句。

例子:

#include <stdio.h>         //头文件
#include <windows.h>void function(int x)      //定义函数
{int i = 0;                //定义变量
B:                          //设置返回点printf("%d \n",i);     //输出i的值i++;                   //在i的基础上进行自加if(i<=x)                //进行判断goto B;               //返回到Breturn;                   //函数结束
}void main()                    //程序入口
{function(10000);       //调用函数并传参return;                //程序结束
}

运行结果:

我们可以去看一下反汇编,这里的goto对应的就是jmp:

循环语句的类型

在C语言中循环语句的类型有以下三种:

while语句do..while语句for语句

while语句

while语句格式while(表达式)
{   语句;
}

刚才的例子在这里用while来实现也很简单:

#include <stdio.h>         //头文件
#include <windows.h>void function(int x)      //定义函数
{int i = 0;                //定义变量
A:  while(i<=x)             //开始循环{printf("%d\n",i);  //若循环判断成立则输出i的值i++;               //i自加,并跳回到A,直至判断不成立跳出while语句}return;                  //函数结束
}void main()                    //程序入口
{function(10000);       //调用函数并传参return;                //程序结束
}

这里写A纯属是为了方便理解,正常写完保存是会报警告的,看一下运行结果:

死循环

while判断是否进入循环就两个结果,0和1,如果是0就跳出去,如果是1就跳进去,那么死循环就不难理解了,while(1)就行了,程序就会无限输出,直至死机。

例子:

#include <stdio.h>         //头文件
#include <windows.h>void function(int x)      //定义函数
{int i = 0;                //定义变量while(1)              //开始循环(无限循环){printf("%d\n",i);  //若循环判断成立则输出i的值i++;               //i自加,并跳回到A,直至判断不成立跳出while语句}return;                  //函数结束
}void main()                    //程序入口
{function(10000);       //调用函数并传参return;                //程序结束
}

运行结果:

语句的嵌套
格式while(表达式)
{其他语句
}

现在我们把例子改一下,要求输出1~100内所有的偶数:

#include <stdio.h>         //头文件
#include <windows.h>void function(int x)      //定义函数
{int i = 0;                //定义变量while(i<=x)               //开始循环{if(i%2 == 0)       //i的值对2取余,若为零则进行输出{printf("%d\n",i);   //若循环判断成立则输出i的值}i++;                  //i自加,并跳回到A,直至判断不成立跳出while语句  }return;                    //函数结束
}void main()                    //程序入口
{function(100);         //调用函数并传参return;                //程序结束
}

运行结果:

do…while语句

do..while语句格式do
{语句
}while(表达式);当程序运行到while时判断若为零则跳回继续执行,反之跳出,即使判断不成立,也会执行一次。

例子:

#include <stdio.h>             //头文件
#include <windows.h>void main()                       //程序入口
{int day = 1;              //定义局部变量do                          //开始循环{printf("%d\n", day);   //输出参数day++;                  //参数自加}while (day <= 31);           //判断是否大于31,大于跳出循环
return;                         //程序结束
}

运行结果:

在汇编中,do…while与while的区别是,while先进行判断,在进行输出,而do…while则是,先输出一次,在进行判断,若符合则输出,不符合则跳出循环。

for语句

格式
for(表达式1;表达式2;表达式3)
{需要执行的代码4
}这里表达式1与表达式3没有什么特定的要求,但是表达式2必须要有返回值。执行顺序:
第一次:1243
第二次:243
第三次:243
...
若表达式2不成立则跳出循环,执行后面的语句。

例子:

#include <stdio.h>         //头文件
#include <windows.h>void Q1()                 //定义函数Q1
{printf("Q1 \n");
}
int Q2()                    //定义函数Q2
{printf("Q2 \n");return -1;
}
void Q3()                   //定义函数Q3
{printf("Q3 \n");
}
void testfor()              //定义函数testfor
{for(Q1();Q2();Q3())        //开始for循环,调用前面的三个函数{printf("Q4 \n");   //执行完Q1执行Q2,条件符合执行Q4,在执行Q3}return;                    //循环结束
}void mian()                    //程序入口
{testfor();             //调用testfor()函数return;                  //程序结束
}

这里可以看到,程序的运行顺序是1、2、4、3、2、4、3、2、4、3…:

现在我们可以用for语句来输出1~100的值了:

#include <stdio.h>             //头文件
#include <windows.h>void testfor()                    //定义函数
{for(int i = 0;i>100;i++) //定义for循环的三个表达式{printf("%d \n");      //输出结果}return;                      //循环结束
}void mian()                        //程序入口
{testfor();                 //调用testfor()函数return;                      //程序结束
}

这里有两点需要说明:

第一、for循环的三个表达式可以省略,但是分号不可以省略。

例如:

for(;;)
{printf("默认成立 \n");
}
for(;-1;)
{printf("第二个表达式非零就成立");
}
for(;0;)
{printf("不成立 \n");
}

第二、for循环的第一三表达式可以使用逗号。

例如:

int x;
int y;
int z;for(x = 0,y = 0,z = 0:x<10;x++,y++,z++)
{printf("%d %d %d \n",x,y,z);
}

C语言中的循环语句(while、dowhile、for)相关推荐

  1. 【C语言进阶深度学习记录】七 C语言中的循环语句

    文章目录 1 循环语句分析 1.1 do...while循环 1.2 while循环 1.3 for循环 1.4 三种循环语句使用对比 2 break和continue的区别 3 总结 1 循环语句分 ...

  2. sql脚本语言中的循环语句介绍

    sql脚本语言中的循环语句介绍 –sql脚本语言的循环介绍: –1.goto循环点. declare x number; begin x:=0;–变量初始化: <<repeat_loop& ...

  3. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句

    循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...

  4. c++语言中的循环语句有,C++语言中的循环语句

    首先编写简单的小程序熟悉三种循环语句 编程求出自然数1~100之和. 1 while循环语句: #include void main() { int i=1,sum=0; while(i<=10 ...

  5. GO语言中的循环语句

    目录 GO 循环语句 1,for 循环 2,for 循环嵌套 3,break语句 4,continue 语句 5,goto 语句 GO 循环语句 在不少实际问题中有许多具有规律性的重复操作,因此在程序 ...

  6. oracle的脚本语言是什么意思,Oracle中的sql脚本语言中的循环语句介绍

    --sql脚本语言的循环介绍: --1.goto循环点. declare x number; begin x:=0;--变量初始化: <>--设置循环点. x:=x+1; dbms_out ...

  7. C语言初级篇-----循环语句详解

    目录 循环语句 一.while循环 二.for循环 三.do...while循环 四.循环语句练习 getchar 与 putchar 总结 循环语句  if 语句:当条件满足的情况下,if语句后的语 ...

  8. c语言ppt课件循环语句,C语言循环语句课件四章.ppt

    <C语言循环语句课件四章.ppt>由会员分享,可在线阅读,更多相关<C语言循环语句课件四章.ppt(43页珍藏版)>请在装配图网上搜索. 1.循环结构,李晓玲,Page 2,本 ...

  9. C语言中的循环控制结构

    C语言中的循环控制语句 在C语言中,一共有三种程序结构:顺序结构.选择结构(分支结构)和循环结构.顺序结构,从头到尾一句接着一句的执行下来,直到执行完最后一句:选择结构,到某个节点后,会根据一次判断的 ...

最新文章

  1. linux sudo 实现原理
  2. Linux笔记——linux下的语音合成系统
  3. vs05b2中给dataset添加表间关系
  4. shp与json互转(转载)
  5. 学计算机的误解,让人误解的六大专业
  6. codeforces 110A-C语言解题报告
  7. linux 编辑器_Linux的vi编辑器详细总结
  8. C语言中字符数组的初始化与注意事项
  9. axios post请求
  10. 使用docker优雅的部署你的nuxtjs项目
  11. 第13周 本周个人总结
  12. Photoshop CC 2018 软件安装包+破解教程(转)
  13. 时间管理——永远做重要不紧急的事情
  14. Python函数必须先定义、后调用(函数调用函数例外)
  15. 淘宝商品关键词搜索排名查询
  16. win10一根网线连接linux,细说win10系统使用一根网线连接两台电脑的设置教程_
  17. python 方波信号_python实现周期方波信号频谱图
  18. python mongodb分页查询_python数据库分页查询语句
  19. 小红书投放怎么变现?品牌做小红书的变现效果好吗
  20. 算法 - PNPoly解决点到多边形距离的问题

热门文章

  1. Vue3使用路由及配置vite.alias简化导入写法
  2. 无人机集群的分布式协作 VI-SLAM
  3. ID基本操作(标尺,参考线,网格)5.11
  4. mysql 8.0设置密码 (doc命令)
  5. python mysql limit_数据库mysql中LIMIT取值
  6. WEB:Wife_wife
  7. 个人养老金制度内容分析解读
  8. 解决linux下.AppImage文件无法运行问题
  9. 深度学习中的BN_CBN_CmBN
  10. 南大科院Java工程实训