C语言中的循环语句(while、dowhile、for)
文章目录
- 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)相关推荐
- 【C语言进阶深度学习记录】七 C语言中的循环语句
文章目录 1 循环语句分析 1.1 do...while循环 1.2 while循环 1.3 for循环 1.4 三种循环语句使用对比 2 break和continue的区别 3 总结 1 循环语句分 ...
- sql脚本语言中的循环语句介绍
sql脚本语言中的循环语句介绍 –sql脚本语言的循环介绍: –1.goto循环点. declare x number; begin x:=0;–变量初始化: <<repeat_loop& ...
- 单片机c语言中的循环语句,单片机c语言教程:C51循环语句
循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...
- c++语言中的循环语句有,C++语言中的循环语句
首先编写简单的小程序熟悉三种循环语句 编程求出自然数1~100之和. 1 while循环语句: #include void main() { int i=1,sum=0; while(i<=10 ...
- GO语言中的循环语句
目录 GO 循环语句 1,for 循环 2,for 循环嵌套 3,break语句 4,continue 语句 5,goto 语句 GO 循环语句 在不少实际问题中有许多具有规律性的重复操作,因此在程序 ...
- oracle的脚本语言是什么意思,Oracle中的sql脚本语言中的循环语句介绍
--sql脚本语言的循环介绍: --1.goto循环点. declare x number; begin x:=0;--变量初始化: <>--设置循环点. x:=x+1; dbms_out ...
- C语言初级篇-----循环语句详解
目录 循环语句 一.while循环 二.for循环 三.do...while循环 四.循环语句练习 getchar 与 putchar 总结 循环语句 if 语句:当条件满足的情况下,if语句后的语 ...
- c语言ppt课件循环语句,C语言循环语句课件四章.ppt
<C语言循环语句课件四章.ppt>由会员分享,可在线阅读,更多相关<C语言循环语句课件四章.ppt(43页珍藏版)>请在装配图网上搜索. 1.循环结构,李晓玲,Page 2,本 ...
- C语言中的循环控制结构
C语言中的循环控制语句 在C语言中,一共有三种程序结构:顺序结构.选择结构(分支结构)和循环结构.顺序结构,从头到尾一句接着一句的执行下来,直到执行完最后一句:选择结构,到某个节点后,会根据一次判断的 ...
最新文章
- linux sudo 实现原理
- Linux笔记——linux下的语音合成系统
- vs05b2中给dataset添加表间关系
- shp与json互转(转载)
- 学计算机的误解,让人误解的六大专业
- codeforces 110A-C语言解题报告
- linux 编辑器_Linux的vi编辑器详细总结
- C语言中字符数组的初始化与注意事项
- axios post请求
- 使用docker优雅的部署你的nuxtjs项目
- 第13周 本周个人总结
- Photoshop CC 2018 软件安装包+破解教程(转)
- 时间管理——永远做重要不紧急的事情
- Python函数必须先定义、后调用(函数调用函数例外)
- 淘宝商品关键词搜索排名查询
- win10一根网线连接linux,细说win10系统使用一根网线连接两台电脑的设置教程_
- python 方波信号_python实现周期方波信号频谱图
- python mongodb分页查询_python数据库分页查询语句
- 小红书投放怎么变现?品牌做小红书的变现效果好吗
- 算法 - PNPoly解决点到多边形距离的问题