08-C语言循环
目录:
一、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语言循环的更多相关文章
- [08 Go语言基础-for循环]
[08 Go语言基础-for循环] 循环 循环语句是用来重复执行某一段代码. for 是 Go 语言唯一的循环语句.Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环 ...
- Go语言循环判断的使用~
Go 语言条件语句 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句. 下图展示了程序语言中条件语句的结 ...
- R语言 循环
R语言循环 可能有一种情况,当你需要执行一段代码几次. 通常,顺序执行语句. 首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供允许更复杂的执行路径的各种控制结构. 循环语句允许 ...
- 08. Go 语言包(package)
Go 语言包(package) Go 语言的源码复用建立在包(package)基础之上.Go 语言的入口 main() 函数所在的包(package)叫 main,main 包想要引用别的代码,必须同 ...
- C语言-循环结构及break、continue
循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...
- go语言循环语句 for
Go语言中的循环语句只支持for关键字,而不支持while和do-while结构. sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: ...
- C语言循环的嵌套
注:参考网络资源拟制,如雷同请见谅循环的嵌套:一个循环体语句中又包含另一个循环语句,称为循环嵌套.嵌套注意事项:1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同.2.循环嵌套结构的书写,最 ...
- C语言循环的实现
在C语言中采用3中语法来实现循环,它们分别是while.for.do while,本文将分别说明这三种循环的实现,并对它们的运行效率进行比较. do while 首先来看do while的实现:下面是 ...
- Go 语言循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句. 以下为大多编程语言循环程序的流程图: Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执 ...
随机推荐
- 662 - Fast Food
描述:状态方程p[i][j]=dp[i-1][k]+dist(k+1,j),由于没搞懂距离dist是怎么计算的,以为是num[j]-num[k+1],结果wa了一次,在状态转移的时候,采用一个数组sc ...
- stl之map 排序
排序问题,STL中默认是采用小于号来排序的,因为设置int等类型做key,它本身支持小于号运算,在一些特殊情况,比如关键字是一个结构体,涉及到排序就会出现问题,因为它没有小于号操作,insert等函数 ...
- 自学JQuery Mobile的几个例子
JQuery Mobile是一个用于构建移动Web应用程序的框架,适用于主流的移动设备(智能手机.平板电脑),该框架利用了HTML5和CSS3技术减少了额外的脚本文件的编写.具体JQuery Mobi ...
- 完全卸载oracle10G/11G步骤
从oracle前台卸载oracle后重新安装会安装不了,需要完全卸载: 完全卸载oracle11g步骤:1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle ...
- BZOJ 1832: [AHOI2008]聚会( LCA )
LCA模板题...不难发现一定是在某2个人的LCA处集合是最优的, 然后就3个LCA取个最小值就OK了. 距离就用深度去减一减就可以了. 时间复杂度O(N+MlogN) (树链剖分) -------- ...
- C++中的string
要想使用标准C++中string类,必须要包含 #include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 ...
- C++の友元の例
#include<iostream> #include<cmath> using namespace std; class Point { public: Point(doub ...
- Howie带你云上飘-新浪云
介绍一下怎么在sae上做个网站 前言 曾经,sae是收费的,计时收费,还挺贵的呢.所以就试玩了一下,没敢继续鼓捣.后来,云计算越来越火了,新浪也不差钱嘛,于是直接给新注册的开发者送好多豆子,于是,免费 ...
- python 关于dict的一些总结
总结了一些关于字典的小技巧或者注意的地方. 使用zip创建字典 创建字典有以下三种方法 dict(a=1, b=2, c=2) dict([(a,1), (b,2), (c,3)]) dict({a: ...
- 简单OC程序
Foundation框架头文件的路径 1> 右击Xcode.app --> 显示包内容 2> Xcode.app/Contents/Developer/Platforms/iP ...