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 循环 重复执 ...
随机推荐
- 从零单排PAT1015,1016,1017,1018
1015德才论 题目要求: 输入格式: 输入第1行给出3个正整数,分别为:N(<=105),即考生总数.L(>=60).为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取:H ...
- 7. Reverse Integer
1. 问题描述 Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321 cl ...
- <学习>.NET的反射基础
关键词 Assembly 使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例. Module 通过它可以获取包含模块的程序集以及模块中的类等, ...
- 【asp.net】将GridView数据导出Excel
概要: 中午睡了一会,醒来的时候看到老师叫我去办公室,需求是这样的,把excel表中的每个同学,判断图片目录中是否有对应的照片(图片的名字用的学号或身份证号码) 没有对应图片的学生记录,存入自己的数据 ...
- jQuery Mobile组件
一.页面 jQuery Mobile 应用了 HTML5 标准的特性,在结构化的页面中完整的页面结构分为header.content.footer 这三个主要区域. 在body 中插入内容块: < ...
- Collections之sort的两个方法(自然排序和自定义比较器排序)
Collections是个服务于Collection的工具类(静态的),它里面定义了一些集合可以用到的方法. 本文演示了Collections类里sort()的两个方法.第一种只需传入被排序的集合,便 ...
- javascript小练习—函数接收参数并弹出
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 1.PHP 教程_PHP 简介
PHP是服务器端脚本语言. 在学习之前,您需要对以下知识有基本的了解: HTML css PHP是什么? PHP代表PHP:Hypertext Preprocessor PHP是一种使用广泛的开源的脚 ...
- issues about Facebook Login
在学习The complete iOS 9 Developer Course - Build 18 Apps 中的Letture134-Facebook Login,需要整合(integrate)Pa ...
- 转: 关于异步promises
迄今为止,可能每个JavaScript开发者和他们的祖母都听说过Promises.如果你没有,那么你即将会.promises的概念是由CommonJS小组的成员在 Promises/A规范 中提出来的 ...