循环结构(C++版)
c语言常用的循环结构
c语言常用的循环结构1C语言循环结构C语言中拥有多种循环结构供我们使用,本篇文章将要介绍三种常用的循环结构:while循环、for循环、do-while循环。
1while循环while循环体的结构和逻辑表达式之间的关系是“当…时",它首先判断循环条件是否满足,如果满足就进入if语句块执行,然后执行完if语句块后继续判断循环条件是否满足,如果条件不满足while循环结束,程序执行else语句块或者后续语句。
例程:```x=0;while(x<10)//如果x小于10{x++;//x加1printf("x的值为:%d\n",x);}```2for循环for循环体的结构和逻辑表达式和for循环的三个部分,分别是初始化语句、循环条件语句和循环控制语句,当满足初始化条件时,执行for循环语句,每一次都会执行循环条件来判断for循环的退出条件,如果退出条件循环语句满足,for循环结束,执行后续语句。
例程:```for(int i=0;i<10;i++)//使用for循环循环10次{printf("i的值:%d\n",i);}```3do-while循环do-while循环体的结构和逻辑表达式之间的是“先做…再判断",它会先执行一次do-while循环,然后在根据逻辑表达式判断是否继续循环,如果满足执行条件继续循环,反之执行后续语句。
例程:```int x=0;do//循环开始{x++;//x的值增加printf("x的值为:%d\n",x);}while(x<10);//当x小于10时继续循环```以上就是C语言中常用的三种循环结构,由此可见在C语言中可以借助循环语句实现重复代码的执行,是程序开发中一大帮助。
循环结构程序设计(C语言实验报告)
循环结构程序设计(C语言实验报告)实验目的:1. 掌握循环结构程序设计流程2. 熟悉while、do-while和for循环语句的使用3. 掌握循环语句的嵌套应用实验原理:循环结构是一种非常重要的程序设计结构,其目的是为了让程序可以重复执行一段代码块,从而达到省去大量代码重复编写的目的,也可以是让程序能够按照用户的需求反复执行一段代码块。
在C语言中,常用的循环结构有while、do-while和for三种,这三种循环语句的基本语法结构是:while(循环条件){循环体语句;}其中,while循环和do-while循环的区别在于:while循环条件成立时,不一定会执行一次循环体,但do-while循环条件成立时,会先执行一次循环体,然后判断循环条件是否成立;至于for循环,则是将循环条件、循环初值和循环增量三个要素集成在一起,使用比较方便。
另外,循环结构也可以进行嵌套应用,即在循环体内部再嵌套一个循环,这样可以实现多个变量的循环控制。
应用实例包括如下:1. 打印九九乘法表2. 对一个数组进行排序3. 多重循环实现字谜游戏实验内容:1. while循环:目的是求出1~100的整数和,并在程序运行过程中输出1~100的所有整数。
目的是输入若干个数字,计算它们的平均值。
3. for循环:目的是输入一个数n,求1~n中可以被3或5整除的所有整数和。
4. 循环嵌套:目的是打印九九乘法表。
实验总结:本次实验通过三种常用的循环结构,并结合实例进行学习掌握,同时还熟悉了循环嵌套的应用。
相信这对于日后的程序设计和代码优化应用会非常有帮助。
c语言循环结构三种形式
c语言循环结构三种形式
c语言循环结构主要有三种形式:for, while和do-while循环。
for循环应用最为广泛,最开始就非常有效地在程序中实现循环,具有如下优点:
(1)for循环可以方便地设置初始值、循环条件和自增步长;
(2)可以轻松实现多次循环;
(3)for循环可以轻松实现多次跳转,提高代码效率。
while循环移植性很强,可以在各种编程环境中使用,其特点如下:
(1)while循环这种结构可以在完成迭代后进行求和、求交集等操作;
(2)while循环操作符号简单,只有while、break、continue;
(3)while循环可以满足常见的迭代需求,如逐行读取文件、拆分字符串以及连接字符串等。
do-while循环最大的优势在于可以保证循环至少执行一次,其优点如下:
(1)执行流程不会因外部影响而受到损害;
(2)循环条件位于循环末尾;
(3)可以简单实现多次迭代,可以根据条件来完成不同的功能。
总的来说,c语言的循环结构非常灵活,根据实际需求可以采用for、while或者do-while结构进行编程。
对于开发者来说,掌握这三种循环结构将可以帮助你更加方便有效地完成程序编写任务。
C语言第5章循环结构PPT课件
3. 用for 语句实现循环 4. 循环的嵌套
5. break语句和continue语句 6. 几种循环的比较 7. 程 序 举 例
第2页/共63页
一、循环概述
3
第3页/共63页
在很多实际问题中会遇到有规律性的重复运算,因 此在程序中就需要将某些语句重复执行。 • 一组被重复执行的语句称为循环体; • 每重复一次,都必须作出是继续还是停止循环的决 定,这个决定所依据的条件称为循环条件;
do {
......
for(;;) { ......
}while();
}
47
第47页/共63页
例7. 打印乘法“九九表”
1 2 3 4 56 7 89 11 22 4 33 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81
循环的概念 用while语句和do-while语句实现循环
用for 语句实现循环 循环的嵌套
break语句和continue语句 几种循环的比较 程序举例
第44页/共63页
循环的嵌环中还可以嵌套循环,这就是多重循环。
循环1
循环2
28
第28页/共63页
29
第29页/共63页
(2):从高位到低位求每一位。
30
第30页/共63页
(3):从低位到高位求每一位。
31
第31页/共63页
循环结构程序设计
1. 循环的概念 2. 用while语句和do-while语句实现循环
C语言程序设计:第5章 循环结构
12
do...while语句(cont...)
课堂练习: 1.输出1---n之间的数,其中n从键盘输入。
int main(void) {
//1.定义变量i和n //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:输出i的值 return 0; }
} 相当于 while(1) {
}
26
小结
❖for(i=m;i<n;i++)//循环次数:n-m次 ❖for(i=m;i<=n;i++)//循环次数:n-m+1次
27
循环语句的练习
课堂练习: 1.输出n---1之间的数,其中n>1且n从键盘输入。 2.计算1*2*3*...*n的值(n的阶乘n!), 其中n从键盘输入。 3.计算10- 1/2 - 1/3 -....1/n的值 以上练习分别以while、do...while、for语句实现
int main(void) {
//1.定义变量i,n,sum //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:累加i的值 //7.输出计算结果 return 0; }
24
for语句(cont...)
{
sum = sum + i;
if(sum > 100)break;
c语言循环结构三种形式
c语言循环结构三种形式
循环结构是c语言程序设计中重要的一环,它是指将指定的语句重复执行多次的程序结构,循环结构有三种形式:for循环,while循环和do…while循环。
for循环是一种最常用的循环结构,其结构形式为:for(表达式1;表达式2;表达式3)语句;(注意:表达式1、2、3之间用分号隔开,表达式3要用分号结尾),每次循环都会按照表达式1、2、3的顺序执行,其中表达式1一般是初始化变量的值,表达式2则是作为循环条件(集限),表达式3则是更改变量的值。
while循环是另一种比较常用的循环结构,其结构形式为:while(表达式)语句,while循环的作用是当表达式值为真时则重复执行相应的语句,也就是说,只要表达式的值为真,语句就会一次被执行,最后当表达式值为假时,结束循环。
最后一种结构是do…while循环,其结构形式为:do句 while (表达式),不同于while循环,do…while循环会先执行语句,然后才判断表达式,也就是说,无论表达式的值是真还是假,语句都会被至少执行一次。
c语言程序设计中,for循环,while循环和do…while循环共同构成了循环结构的三种形式,它们均是c语言中重要的程序控制结构。
对于for循环,我们可以使用其来完成同一段代码的多次执行;而对于while循环,可以利用其来完成当表达式值为真时的重复执行;最后,对于do…while循环,可以利用其来完成将语句至
少执行一次的操作。
从上面可以看出,不论是c语言编程还是其他编程语言,都不可缺少循环结构,其中for循环,while循环和do…while循环是循环结构当中最为常用的三种形式,他们能够极大地提高程序员的编程效率,帮助我们完成一些复杂的程序编写工作。
C语言循环结构程序设计
i=-i;
//然后对i取负,得到它的绝对值
}
if(i==0)
printf("%d",i);
while(i!=0)
{
r=i%10;
printf("%d",r);
i=i/10;
}
printf("\n");
}
注意:循环体的有效范围 例: i=1; while(i<=100)
putchar(‘*’); i++;
i++;
i=10,iSum=55 1+2+3+...+10=55
} while(i<=10);
printf("1+2+3+...+10= %d\n",iSum);
}
例5.7 将一个给定的整数反序输出。
#include "stdio.h"
void main()
{
int i,r;
printf("\nInput an integer:");
{
****
for(j=1;j<=i;j++)
*****
putchar('*');
putchar('\n');
}
}
例5.12 求100以内的全部素数。
void main() {
int m,n,i,prime; i=0; for(m=2;m<=100;m++) {
void main()
{
int m,n,r;
printf("please input two positive integers:");
C语言循环结构-break、continue语句PPT课件
while语句中的continue
#include"stdio.h" main( ) { int i=1;
while(i<=10) {
printf(“i=%d\n",i); if(i==3)
continue; printf(“circle %d\n", i); i++; } printf("over"); }
{
for(j=1;j<=i;j++)
printf(“%d”,i);
printf(“\n”);
}
printf(“game over!”);
}
东软信息学院计算机系 2021年4月6日星期二
break语句
东软信息学院计算机系 2021年4月6日星期二
switch 语句中的break
• 例子 main() { int i=2;
default: printf("default");}
}
结果:i=2 i=3
东软信息学院计算机系 2021年4月6日星期二
循环语句中的break
功能:跳出该break所在的那层循环语句,提前 终止当前循环。
main()
{ int i;
for(i=1;i<=10;i++)
{ printf(“%d “,i);
东软信息学院计算机系 2021年4月6日星期二
课前回顾
在屏幕上输出如下图形: 1 12 123 1234 12345 123456 . . .
其中行数由键盘输入。
东软信息学院计算机系 2021年4月6日星期二
C语言循环结构
06 循环控制语句
break语句
功能
在循环语句和switch语句中,break用于跳 出当前循环或switch结构,执行循环或 switch后面的代码。
使用场景
当满足某个条件时,需要立即终止循环的执行,可 以使用break语句。
注意事项
break只能跳出一层循环,如果有多层循环 嵌套,需要使用多个break才能跳出所有循 环。
斐波那契数列算法
斐波那契数列定义
斐波那契数列实现
斐波那契数列案例
斐波那契数列是一个经典的数列,它 的前两个数字是0和1,后面的每个数 字都是前两个数字的和。
使用循环结构,依次计算每个数字的 值,直到达到指定的数列长度。可以 使用两个变量来保存前两个数字的值 ,每次循环计算下一个数字的值,并 更新这两个变量的值。
循环结构作用
提高代码效率
通过重复执行代码,避免重复编写相同的代码段 ,提高程序的可读性和可维护性。
实现复杂功能
循环结构可用于实现各种复杂的功能,如排序、 查找、遍历等。
控制程序流程
循环结构可用于控制程序的执行流程,实现条件 判断、分支执行等。
常见循环类型
for循环
适用于已知循环次数的情况,可方便 地控制循环变量的初始值、增量和终 止条件。
}
```
05 循环嵌套
嵌套概念及作用
嵌套概念
在C语言中,一个循环体内可以包含 另一个完整的循环结构,称为循环的 嵌套。内嵌的循环可以完全包含在另 一个循环中,也可以部分包含。
嵌套作用
通过循环嵌套,可以实现更复杂的控 制流程,解决一些单层循环无法处理 的问题。例如,打印二维数组、进行 复杂的数学计算等。
使用for循环可以控制打印输出的行和列,从而打印出各种图案。
C语言循环结构范文
C语言循环结构范文循环结构是C语言中一种非常重要的控制结构,它允许我们反复执行一段代码,以达到特定的目的。
在C语言中,循环结构有三种:for循环、while循环和do-while循环。
下面将详细介绍这三种循环结构的用法和特点。
一、for循环for循环是C语言中使用最广泛的循环结构之一、它的语法格式如下:for (初始化表达式; 循环条件表达式; 更新表达式)//循环体初始化表达式会在循环开始之前执行一次,用于初始化循环控制变量。
循环条件表达式会在每次循环开始时进行判断,如果为真,则执行循环体中的代码;否则,跳出循环。
更新表达式会在每次循环结束时执行,用于更新循环控制变量的值。
例如,下面的代码使用for循环计算1到10的和:int sum = 0;for (int i = 1; i <= 10; i++)sum += i;printf("1到10的和为:%d\n", sum);上述代码首先定义了一个变量sum来保存累加的结果,然后使用for循环从1到10循环遍历,每次循环将i累加到sum中。
最后输出sum的值,即1到10的和。
输出结果为55二、while循环while循环是C语言中另一种常用的循环结构。
它的语法格式如下:while (循环条件表达式)//循环体循环条件表达式会在每次循环开始时进行判断,如果为真,则执行循环体中的代码;否则,跳出循环。
例如,下面的代码使用while循环计算1到10的和:int sum = 0;int i = 1;while (i <= 10)sum += i;i++;printf("1到10的和为:%d\n", sum);上述代码首先定义了一个变量sum来保存累加的结果,以及一个变量i作为循环控制变量,并初始化为1、然后使用while循环判断i是否小于等于10,如果是,则将i累加到sum中,并更新i的值。
最后输出sum 的值。
c语言循环结构的要素组成
c语言循环结构的要素组成一、循环条件循环条件是循环结构中的判断条件,用于决定是否执行循环体。
在C语言中,循环条件通常使用关系运算符(如<、>、<=、>=、==、!=)或逻辑运算符(如&&、||、!)来表达。
循环条件的结果必须是一个布尔值,即true或false。
二、循环体循环体是循环结构中需要重复执行的语句块。
循环体可以包含多个语句,用花括号{}括起来,形成一个代码块。
循环体中的语句将按照循环条件的判断结果执行多次,直到循环条件为false时跳出循环。
三、循环变量循环变量是循环结构中用于控制循环次数的变量。
循环变量一般在循环开始前进行初始化,然后在每次循环结束时更新其值,以便满足循环条件。
循环变量的类型可以是整型、浮点型或字符型,通常使用整型变量作为循环变量。
四、循环控制语句循环控制语句用于控制循环结构的执行流程,包括break、continue和goto语句。
1. break语句:当在循环体内遇到break语句时,循环立即终止,跳出循环体,执行循环后的语句。
break语句通常用于满足某个条件时提前结束循环。
2. continue语句:当在循环体内遇到continue语句时,循环将立即跳过当前循环的剩余语句,开始下一次循环。
continue语句通常用于在满足某个条件时跳过本次循环的执行。
3. goto语句:goto语句用于无条件地跳转到程序中的标记位置,从而改变程序的执行顺序。
虽然goto语句可以实现跳出多层循环的功能,但过多使用goto语句会导致程序的可读性和可维护性降低,因此应尽量避免使用。
C语言循环结构的要素包括循环条件、循环体、循环变量和循环控制语句。
循环条件用于判断是否执行循环体,循环体是需要重复执行的语句块,循环变量用于控制循环次数,循环控制语句用于控制循环的执行流程。
合理运用这些要素可以实现各种复杂的循环逻辑,提高程序的效率和灵活性。
同时,在编写循环结构时需要注意避免死循环和过度使用循环控制语句,以确保程序的正确性和可读性。
c语言循环结构程序设计
c语言循环结构程序设计C语言是一种广泛使用的编程语言,以其高效和灵活性而闻名。
循环结构是C语言中一个非常重要的概念,它允许程序员重复执行一段代码直到满足特定条件。
C语言提供了三种基本的循环结构:for循环、while循环和do-while循环。
1. For循环For循环是一种计数器循环,它允许程序员指定循环开始的条件、循环继续的条件以及计数器的更新方式。
其基本语法如下:```cfor (初始化表达式; 条件表达式; 更新表达式) {// 循环体}```例如,使用for循环打印0到9的数字:```c#include <stdio.h>int main() {for (int i = 0; i < 10; i++) {printf("%d ", i);}return 0;}```2. While循环While循环在条件为真时重复执行代码块。
它的基本语法如下:```cwhile (条件表达式) {// 循环体}```使用while循环实现相同的功能,打印0到9的数字:```c#include <stdio.h>int main() {int i = 0;while (i < 10) {printf("%d ", i);i++;}return 0;}```3. Do-While循环Do-while循环与while循环类似,但它至少执行一次循环体,然后检查条件。
其基本语法如下:```cdo {// 循环体} while (条件表达式);```使用do-while循环打印0到9的数字:```c#include <stdio.h>int main() {int i = 0;do {printf("%d ", i);i++;} while (i < 10);return 0;}```4. 循环控制语句C语言还提供了两种控制循环流程的语句:`break`和`continue`。
c语言循环结构三种形式要点
C语言循环结构三种形式C语言是一种通用的高级编程语言,广泛应用于系统软件和应用软件的开发中。
在C语言中,循环结构是一种重要的控制结构,它允许程序重复执行一段代码块,直到满足特定条件为止。
C语言中有三种主要形式的循环结构:for循环、while循环和do-while循环。
本文将详细介绍这三种形式,并提供一些实例来帮助读者更好地理解它们。
1. for循环for循环是C语言中最常用的循环结构之一,它适用于已知循环次数的情况。
for循环由三个部分组成:初始化表达式、条件表达式和更新表达式。
其基本语法如下:for (初始化表达式; 条件表达式; 更新表达式) {// 循环体代码}for循环的执行过程如下:1.初始化表达式只在第一次执行前被执行一次。
2.条件表达式在每次迭代开始前被计算,如果为真,则执行循环体;如果为假,则退出循环。
3.更新表达式在每次迭代结束后被执行。
以下是一个使用for循环打印1到10的示例代码:#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}return 0;}输出结果为:1 2 3 4 5 6 7 8 9 102. while循环while循环是另一种常用的循环结构,它适用于未知循环次数的情况。
while循环只有一个条件表达式,当条件为真时,执行循环体。
其基本语法如下:while (条件表达式) {// 循环体代码}while循环的执行过程如下:1.首先计算条件表达式的值,如果为真,则执行循环体;如果为假,则退出循环。
2.执行完一次循环后,再次计算条件表达式的值。
以下是一个使用while循环计算1到10之和的示例代码:#include <stdio.h>int main() {int i = 1, sum = 0;while (i <= 10) {sum += i;i++;}printf("Sum = %d\n", sum);return 0;}输出结果为:Sum = 553. do-while循环do-while循环是一种先执行后判断条件的循环结构,它适用于至少执行一次循环体的情况。
c语言 第5章循环结构(while do-while for)
第1次运行: Input data: 11 22 33 44 55 66 77 88 99 0 1 2 11 22 33 44 55 66 77 88 99 0 sum=495 第1次运行: Input data: 0 0 sum=0 sum的初值与0的和
5.4 for语句
#include <stdio.h> int main() { int i=1,sum=0; while (i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); return 0; for (i=1;i<=100;i++) } #include <stdio.h> int main() { int i=1,sum=0; do { sum=sum+i; i++; }while(i<=100); printf("sum=%d\n",sum); return 0; }
i++ for ( i = 1; i <= 100; i = i + 1 ) printf ( “**********\n” );
语句是?
【例1】在3~100之间所有3的倍数中,找出个位 数为2的数。
编程点拨 3~100内3的倍数有3 6 9 … 99 for ( i=3; i<=100; i=i+3 )
第1次运行: Input data: 11 22 33 44 55 66 77 88 99 0 1 2 11 22 33 44 55 66 77 88 99 sum=495 第2次运行: Input data: 0 (空一行) sum的初值 sum=0
最新c语言循环结构ppt课件
i++; }
。
printf(″%d\\n″,sum);
}
do语句
do语句的一般格式如下:
do 语句 while ( 表达式 ) ;
执行do语句时,先执行循环体,再计算控制表达式 的值。
如果表达式的值非零,那么再次执行循环体,然后 再次计算表达式的值。
17
do语句
使用do语句重写前面的“倒数计数”程序:
i现在为8。
i < n成立吗?
是,继续。
i = i * 2;
i现在为16。
i < n成立吗?
不成立,退出循环。
6
while语句
虽然循环体必须是单独的一条语句,但这只是个技术 问题。
如果需要多条语句,那么只要用一对大括号构造成单 独一条复合语句就可以了:
while (i > 0) { printf("T minus %d and counting\n", i); i--;
c语言循环结构
重复语句
C语言的重复语句用于设置循环。 循环是重复执行其他语句的一种语句,循
环中重复执行的语句就是循环体 C语句中,每个循环都有一个控制表达式。 每次执行循环体时都要对控制表达式进行
计算。
◦ 如果表达式为真,也就是不为零,那么继续执 行循环。
2
while语句
while语句示例:
i = 10; do {
整个过程持续到显示信息为“T minus 1 and counting”。
8
while语句
关于while语句的一些讨论:
◦ 在while循环终止时,控制表达式的值为假。因此,当通过 表达式i > 0控制循环终止时,i必须是小于或等于0的。
C语言循环结构
功能:先计算<初始表达式>的值,然后判断<条件表达式> 的值,若该值为“假”,则退出循环,执行循环体下面的 语句;若该值为“真”,则执行<循环体语句>,然后计算 <循环表达式>的值,再判断<条件表达式>的值,重复以上 的操作。
total = total + grade;
num++;
Enter grades: 67 88 73 54 82 -1
scanf (“%lf”, &grade); }
Grade average is 72.80
if(num != 0)
printf(“Grade average is %.2f\n", total/num);
/*exam5_4.c 用while求简单几何级数的和*/ #include <stdio.h>
main()
{
int i=1,sum=0; while(i<=100) {
程序运行结果: sum=5050
sum=sum+i;
i++; } printf("sum=%d\n",sum); }
【例5-5】输入一个正整数n,求n!。
<循环语句体>:是用一对花括号括起来的复合语句。
注意:在<循环语句体>中要有使<表达式>的值为假 (或<表达式>的值为零)的语句,否则会使程序出现 无限循环而发生错误。
注意:由于while循环是先判断<表达式>的值,后决 定是否执行<循环语句>,因此,有可能一次也不执 行<循环语句>。
C语言-循环结构程序设计
while循环
01
示例代码
02
```c
int i = 0;
03
while循环
while(i < 10) {
printf("%dn", i);
while循环
• i;
while循环
} ```
do-while循环
总结词
do-while循环是一种先执行循环体再检查条件的循环结构, 至少会执行一次循环体。
循环结构程序设计的重要性
提高代码复用性
通过使用循环结构,可以将重复 执行的代码块抽象出来,减少代
码冗余,提高代码复用性。
简化复杂问题
对于一些复杂的问题,使用循环 结构可以简化问题的解决过程, 提高代码的可读性和可维护性。
提高程序效率
循环结构可以减少重复计算和 操作,提高程序的执行效率。
实现迭代算法
03
避免在循环条件中直接使用赋值语句,以免造成无 限循环或死循环。
05
循环结构与其他结构的结合使用
循环结构与条件结构的结合
循环结构与if条件结构的结合
在循环体内使用if条件语句,根据条件判断是否执行某段代码。
while循环与if条件结构的结合
在while循环中嵌套if条件语句,根据条件判断是否继续循环。
发生。
循环变量的初始化与更新
确保循环变量在使用之前已经初始化,以避免 未定义的行为。
在循环体内更新循环变量的值,以确保循环能 够正常结束。
使用合适的类型和范围来声明循环变量,以避 免溢出或越界的问题。
循环条件的设定与修改
01
根据实际需求合理设定循环条件,确保循环能够正 确执行。
02
在循环体内适时修改循环条件,以控制循环的次数 和流程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一节 for语句
例4.4 利用for循环,分别计算1—100中奇数的和、偶数的和。
#include <iostream> using namespace std; int main ( ){ int jssum=0; int ossum=0; for (int js=1,os=2;js<=99&&os<=100;js+=2 ,os+=2 ) { jssum+=js; ossum+=os; } cout << "the sum of odd numbers 1 to 100 is : " <<jssum<<endl; cout << "the sum of even numbers 1 to 100 is : " <<ossum<<endl; return 0; } 说明: 我们也可以在for循环初始化或增值表达式部分中放一条以上的语句,中间用逗号隔开。
第二节 while语句
二、语句执行过程 (1)计算作为循环控制条件表达式的值,得到逻辑真或假,假定用M表示。 (2)若M为真,则执行一遍循环体,否则离开循环,结束整个while语句的执行。 (3)循环体的所有语句执行结束后,自动转向第(1)步执行。
三、格式举例 (1) i=0; while (i<10) ++i;• •来自• • • • • • • •
程序 输出1,2,3,…,n的值 1 #include<cstdio> 2 int main() 3 { 4 int i, n; 5 scanf("%d", &n); 6 for(i = 1; i <= n; i++) 7 printf("%d\n", i) ; 8 return 0; 9 }
当前行:5。scanf请求键盘输入,假设输入4。此时变量 n=4,i的值随机,继续。 当前行:6。这是第一次执行到该语句,执行初始化语句, 即i=1。条件i<=n满足,继续。 当前行:7。由于i=1,在屏幕输出1并换行。循环体结束, 跳转回第6行。 当前行:6。先执行调整语句i++,此时i=2,n=4,条件 i<=n满足,继续。 当前行:7。由于i=2,在屏幕输出2并换行。循环体结束, 跳转回第6行。 当前行:6。先执行调整语句i++,此时i=3,n=4,条件 i<=n满足,继续。 当前行:7。由于i=3,在屏幕输出3并换行。循环体结束, 跳转回第6行。 当前行:6。先执行调整语句i++,此时i=4,n=4,条件 i<=n满足,继续。 当前行:7。由于i=4,在屏幕输出4并换行。循环体结束, 跳转回第6行。 当前行:6。先执行调整语句i++,此时i=5,n=4,条件 i<=n不满足,跳出循环体。 当前行:8。程序结束。
• • • • • • • • • •
程序 输出1,2,3,…,n的值 1 #include<cstdio> 2 int main() 3 { 4 int i, n; 5 scanf("%d", &n); 6 for(i = 1; i <= n; i++) 7 printf("%d\n", i) ; 8 return 0; 9 }
• 我们之前编辑的程序虽然完善,但并没有发挥出 计算机的优势。顺序结构程序自上到下只执行一 遍,而分支结构中甚至有些语句可能一遍都执行 不了。换句话说,为了让计算机执行大量操作, 必须编写大量的语句。能不能只编写少量语句, 就让计算机做大量的工作呢?这就是本章的主题。 基本思想很简单:一条语句执行多次就可以了。 但如何让这样的程序真正发挥作用,那并不是容 易的事。
for循环的格式为:for(初始化;条件;调整)循环体;
第一节 for语句
• 二、语句执行过程 • for语句的执行过程可由以下4步来描述。 • (1)执行“控制变量初始化语句”,使控制变量获得一个初 值。 • (2)判断控制变量是否满足“条件表达式”,若满足条件则 执行一遍循环体,否则结束整个for语句,继续执行for循 环下面的句子。 • (3)根据增量表达式,计算出控制变量所得到的新值 • (4)自动转到第(2)步。
第一节 for语句
例4.3 利用for循环计算n!的值。 分析:n!=1*2*3…*n #include <cstdio> using namespace std; int main () { long long s; int n; s=1; scanf("%d",&n); for (int i=1; i<=n ; ++i) s*=i; printf("%lld\n",s); return 0; } 【说明】:
a0=0,a1=1,a2=a1+a0,a3=a2+a1,……,an=an-1+an-2;
如0,1,1,2,3,5,8,13,21,……
第二节 while语句
一、语句格式 格式1
说明:语句1是while循环语句的循环体,它将在满足条件的情况下被重复执行。 格式2
说明:循环体部分由多个语句构成,应由一对花括号括起来,构成一个语句块的形式。 程序风格提示:写while循环语句时,循环体的语句相对于while缩进两格。
第四章 循环结构
第一节 for语句 第二节 while语句 第三节 do-while语句 第四节 循环嵌套
• 考虑这样一个问题:打印1,2,3,…,10,每 个占一行。本着“解决问题第一”的思想, 很容易写出程序:10条printf语句就可以了。 或者也可以写一条,每个数后面加一个“\n” 换行符。但如果把10改成100呢?1000呢? 甚至这个重复次数是可变的:“输入正整 数n,打印1,2,3,…,n,每个占一行。”又 怎么办呢?这时可以使用for循环。
需要说明的是:可以在for循环“ 控制变量初始化语句”中声明变量(如上面最后3个例 子),这些变量只在for循环结构中有效,离开了该for结构,变量就无效了。
第一节 for语句
例4.1 输出1—100之间所有偶数。 #include <iostream> using namespace std; int main (){ for (int i=2; i<=100 ; i+=2) cout << i << " "; return 0; } 例4.2 利用for循环,计算输出1+2+…+100的和 #include <iostream>using namespace std; int main () { int sum=0; for (int i=1; i<=100 ; ++i) sum+=i; cout << sum; return 0; }
执行过程:
• • • • • • • • • •
程序 输出1,2,3,…,n的值 1 #include<cstdio> 2 int main() 3 { 4 int i, n; 5 scanf("%d", &n); 6 for(i = 1; i <= n; i++) 7 printf("%d\n", i) ; 8 return 0; 9 }
初始化是语句“i=1”。它是一条赋值 语句,含义是用1覆盖i原来的值。 循环条件是“i<=n”,当循环条件满 足时始终进行循环。调整方法是 “i++”,它的含义和“i=i+1”相同— —表示给i增加1。 循环体是语句“printf(”%d\n“,i);”, 它就是计算机反复执行的内容。 注意循环变量的妙用:尽管每次执行 的语句相同,但是由于i的值不断变化, 该语句的输出结果也是不断变化的。
本程序的含义:让i依次 等于1,2,3,…,n,每次都 执行printf("%d\n",i);
第一节 for语句
一、语句格式 格式1
说明:语句1是for循环语句的循环体,它将在满足条件的情况下被重复执行。
格式2
说明:循环体部分由多个语句构成,应由一对花括号括起来,构成一个语句块的 形式. 程序风格提示:写for循环语句时,循环体的语句相对于for缩进两格。
#include <iostream> #include <cstdio> using namespace std; 功能:当i的值小于10,重复执行++i语句 int main() (2) cin>>x; { while(x<0) int n,s=0; cin>>x; while(cin>>n,n<0) 功能:当输入的数据小于0时,重复读数据。 return 0; }会怎样?
第一节 for语句
三、语句格式举例
(1)将控制变量从1变到100,增量为1 for(i=1;i<=100;++i) (2)将控制变量从100变到1,增量为-1 for(i=100;i>=1;--i) (3)控制变量从7变到77,增量为7 for(i=7;i<=77;i+=7) (4)控制变量从20变到2,增量为-2 for(int i=20;i>=2;i-=2) (5)按所示数列改变控制变量值:99、88、77、66、55、44、33、22、11、0,增 量为-11 for(int j=99;j>=0;j-=11) (6)控制变量i和j共同进行循环控制,i从1变到99,j从2变到100,增量均为2。 for(int i=1,j=2;i<=99&&j<=100 ;i+=2,j+=2)