C语言 循环程序设计
C语言 第五章-循环结构程序设计
执行过程如图所示。其中i为外循环的控制变 量,j为内循环的控制变量。
i =0 当 i <=10
j=0 当 j<=10
printf(“%d ”, i*j ) j++ i++
例4 编程打印“九九乘法表”。
分析:九九乘法表 1×1=1 1×2=2 1×3=3 … 2×1=2 2×2=4 2×3=6 … 3×1=3 3×2=6 3×3=9 … …… 9×1=9 9×2=18 9×3=27 …
i ++ ; } while ( i <= 100 ) ; printf ( " %d " , sum ) ; }
结果相同
同样是下列程序,但如果while后面的表达式结果一开始就是 假时,两种循环结果会不一样。
main ( ) /*程序1*/
{ int i , sum = 0 ; i = 101 ;
所以程序需要设计成二重循环。由于题目只 要求找到一组解,所以在循环过程中只要找到一组 满足条件的x, y, z就可以跳出循环。
跳出循环的方法可以采用break语句,但是, 因为是二重循环,所以要考虑使用break是否方便。
程序 百钱买百鸡问题。 void main ( ) { int x , y , z ;
打印第2行 ( i = 2 ) for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/
…… 打印第9行 ( i = 9 )
for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/
C语言循环结构程序设计实验报告
C语言循环结构程序设计实验报告实验目的:掌握C语言循环结构的基本原理和使用方法,能够编写具有循环结构的程序。
实验原理:在C语言中,循环结构主要包括while循环、do-while循环和for 循环三种形式。
通过循环结构,可以使程序中的其中一段代码重复执行多次,从而提高程序的灵活性和效率。
实验内容:1. 用while循环实现计算1-100的累加和。
2. 用do-while循环实现输入一个整数n,计算1到n的累加和。
3. 用for循环实现输出9*9乘法口诀表。
实验过程:1. 用while循环实现计算1-100的累加和。
```c#include <stdio.h>int mainint i = 1;int sum = 0;while (i <= 100)sum += i;i++;}printf("1-100的累加和为:%d\n", sum);return 0;```2. 用do-while循环实现输入一个整数n,计算1到n的累加和。
```c#include <stdio.h>int mainint n, i = 1, sum = 0;printf("请输入一个整数n:");scanf("%d", &n);dosum += i;i++;} while (i <= n);printf("1-%d的累加和为:%d\n", n, sum);return 0;```3. 用for循环实现输出9*9乘法口诀表。
```c#include <stdio.h>int mainint i, j;for (i = 1; i <= 9; i++)for (j = 1; j <= i; j++)printf("%d*%d=%d\t", j, i, i*j);}printf("\n");}return 0;```实验结果:1.1-100的累加和为:50502.输入一个整数n:10,1-10的累加和为:553.```1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=427*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=487*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=547*9=63 8*9=72 9*9=81```实验结论:通过本次实验,学习了C语言中循环结构的基本原理和使用方法。
C语言程序设计_05循环结构程序设计
5.2 DO…WHILE循环结构 5.2.1 DO…WHILE语句的格式 DO…WHILE语句的一般格式为: DO 语句 WHILE(表达式); DO…WHILE语句中的表达式表示循环的条件,可 以是任何表达式,常用的是关系表达式和逻辑表达 式。表达式必须加圆括号。语句是重复执行的部分, 称作循环体。
由亍循环体在表达式2乊后表达式3乊前执行所以把循环体语句放在表达式3的开头循环体语句不原来的i构成逗号表达式作为循环语句新的表达式3从而也就没有循环体语句了
第5章 循环结构程序设计
5.1 WHILE循环结构 5.2 DO…WHILE循环结构 5.3 FOR循环结构 5.4 与循环有关的控制语句 5.5 3种循环语句的比较 5.6 循环的嵌套 5.7 循环结构程序举例 本章小结
图5-6 FOR语句执行过 程
FOR语句的执行过程如图5-6所示。具体由以下几步 完成: (1)求表达式1。 (2)求表达式2,并判定其值为0或非0。若值为非0, 转步骤(3);否则结束FOR语句。 (3)执行语句,然后求表达式3。 (4)转向步骤(2)。 由FOR语句的执行流程可知,表达式1的作用是为循 环控制的有关变量赋初值,表达式2是循环控制条件, 表达式3用于修正有关变量,语句是重复执行部分。
【例5.7】输入20个数,求出其中的最大值与最小值。
5.3.3 FOR语句的各种变形 1.在FOR语句中省略表达式 FOR语句中的3个表达式可以部分或全部省略,下面 给出语句的4种基本变形。 (1)表达式1移至FOR语句前,但它后面的分号必 须保留。这时FOR语句的形式为: 表达式1; FOR(; 表达式2; 表达式3) 语句
(2)表达式3移至循环体语句之后,但它前面的分 号必须保留。FOR语句的形式为: FOR(表达式1; 表达式2;) { 语句; 表达式3; } 对于求P=5!的程序段,省略表达式3,将其放在循环 体中,则程序段写成:
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语言循环结构程序设计
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:");
第5章for循环程序设计(0909NITL)
ch5_5_4.c 14
例5.5 计算输入一行字符串的字符个数.
#include<stdio.h> int main( ) { int n=0;
char cha1; printf("输入一行字符串: \n");
for(; (cha1=getchar( )) !=‘\n’ ; n++) ;
printf("共有字符%d个.\n",n); return 0; }
ch5_5_5.c 15
对于for语句的进一步说明:
(1). 表达式1可以是设置变量初值的赋值表达式,也可是与 循环变量 无关的其它表达式.
如:
for(sum=0; i<100; i++) sum=sum+i;
(2). 表达式2一般是关系表达式或逻辑表达式,但也可以是 其它类型表达式,只要其值为非零,就执行循环体.
for(; i<=5; i++) {
do { i++; a++;
} while(i<3);
i++; }
printf(“a=%d,i=%d\n”,a,i);
}
21
例5.6: 打印一张九九乘法表.
#include<stdio.h>
int main() { int i,j;
外循环控制行数.
for(i=1; i<10; i++)
#include “stdio.h” main( )
①. 外层for循环执行二次. 每次外循环时,内循环要执行4次.
{ int i,j,x=0;
②. 每次内循环时,当j=1,或j=3时,
C语言第5章循环结构程序设计1
(2)在循环体中应有使循环趋向于结束的语句。 比如上例中,循环结束的条件是“score>=0”, 那么当我们把这个班的成绩全部输入完后, 一定要输入一个负数,才能使程序往下执行。 (3)循环体语句有可能一次也不执行。比如说上 例中,当第一次输入的分数就为负数时,则 循环体一次也不执行。
§5.3 do …while语句
① ② ④ ③
for(i=1; i<100; i++) s=s+i; printf(″s=%d″, s); }
/*循环体语句*/
对于for循环,有一点非常重要,即条件测 试永远是在循环开始时进行,如果在循环开 始时条件为假,那么循环体语句就不会被执 行。如: int i=10; for (k=10;k!=i;k++) printf(″%d″,k); printf(″%d″,k);
2、循环控制变量必须在循环体内有所改变,才 能使while和do-while语句的循环控制条件表达 式的值不断改变,直至循环结束。否则会造 成死循环。例如: i=1; while(i<=100) putchar(′*′); i++; 这个循环永远不会结束,因为“i++;”语句 不属于循环体中的语句,循环控制变量i没有 在循环体内被改变。 程序应该作如下改变:
在使用while语句的时候,我们要注意以下 两个问题: (1)循环体如果包含一个以上的语句,应该用花 括号括起来,以复合语句的形式出现。如果 不加花括号,则while语句的范围只到while后 面的第一个分号处。比如上例中,while语句 中如无花括号,则while语句范围只到 “average+=score;”。
#include <stdio.h> main() {int i,n;long fac; Scanf(―%d‖,&n); i=1 while (i<=n) fac=fac*i; i++; } Printf(―%d!=%ld‖,n,fac); }
大一C语言教材《C语言程序设计》第5章 循环程序设计
复合赋值运算符
种类:+= -= *= /= %= 《= 》= &= 含义: 变量 op= 表达式 变量 = 变量
^= |= op 表达式
x%=3 x*=y+8 a+=3
x=x%3 x=x*(y+8) a=a+3
运算符和表达式
说明:
结合方向:自右向左 左侧必须是变量,不能是常量或表达式
例 int i; 例 3=x-2*y; i=2.56; //结果 i=2; a+b=3;
赋值转换规则:使赋值号右边表达式值自动 转换成其左边变量的类型
赋值表达式的值与变量值相等,且可嵌套g a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) //表达式值为5,a,b,c值为5 // b=5;a=5 //表达式值11,c=6,a=11 //表达式值10,a=10,b=4,c=6 //表达式值5,a=5,b=10,c=2
例 -i++ i=3;
-(i++) printf(“%d”,-i++);
//-3
无论是作为前缀还是作为后缀运算符,对于变量本身来 说自增1或自减1都具有相同的效果,但作为表达式来说却有 着不同的值。
例
j=3; k=++j; j=3; k=j++; j=3; printf(“%d”,++j); j=3; printf(“%d”,j++); a=3;b=5;c=(++a)*b; a=3;b=5;c=(a++)*b;
C语言循环结构程序设计PPT课件
知识点精讲
printf(″%d\n″,fun(″056a0″)); } 【解析】 while循环是先判断条件,如果条件成立就执行语句,然后回到条件继续判断,直 到条件不成立就结束循环。while后的表达式为“*s<=′9′&&*s>=′0′”,当表达式的值为0时 循环结束,可以看出这道题就是把连续的数字字符转换成对应的数值,遇到非数字字符就结束, 所以最后的输出结果是56。 【答案】 56
知识点ቤተ መጻሕፍቲ ባይዱ讲
L7 i++; L8 } L9 printf("%f",s); L10 }
答案:第6行改成:{ s=s+1.0/i; //若不使用1.0/i,那么会把小数部分丢掉//
4.下列程序的运行结果是______2_,_-_1_____ #include "stdio.h" main) {int i=2,a=0; while ( i一) a++; printf ("% d,%d",a,i); }
第四章 循环结构程序设计
考纲要求
结构化程序的设计方法,for语句、while语句编程方法。
知识准备
高频考点:当型循环与直到型循环、循环控制变量、利用循环设计算法。 重难点分析:利用循环设计算法。
知识点精讲
知识点1 while循环
真题回顾 (2019年真题)下列程序的运行结果是___________ #include″stdio.h″ int fun(char s[]){ int n=0; while(*s<=′9′&&*s>=′0′) { n=10*n+*s-′0′; s++; } return n; } main(){
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语言程序设计循环结构程序设计
假
体现式
真
语句
假如体现式旳值一开始就为0,则语 句一次也不会被执行。
上一页
下一页
while语句举例
问题: 求学生旳平均成绩,以输入负数成绩为结束
算法分析:
1. 定义变量score存储学生成绩,定义s=0存储累加旳成绩,
定义n=0统计录入旳成绩数目。
2. 输入第一种学生旳score
3. 若score>=0,执行第4步,不然执行第7步
上一页
下一页
例: 求 1+2 +…+99
分析:用变量i从1到99循环, 把i旳值累加到变量s中,最 终输出s旳值。
程序如下:
#include<stdio.h> main( ) { int i,s=0;
for(i=1;i<=99;i++) s=s+i;
printf(“s=%d”,s); }
上一页
下一页
在某些情况下,for语句中旳体现式1、2、3都能够 省略,而改用其他旳方式来实现这些功能。我们还用 上面旳例子阐明for语句省略体现式旳情形。
上一页
下一页
1.省略体现式1: #include<stdio.h> main( ) { int i=1,s=0;
for(;i<=99;i++) s=s+i;
因为do-while语句至 少要被执行一次,特
别要注意n和s旳取值 问题!
s=s+score;
}while(score>=0);
if(n>1) printf (“ \n %f” ,(s-score)/(n-1));
else printf(“no student score!”);
c语言程序设计 循环控制 实验报告
广州大学学生实验报告五一、实验目的(1)熟练掌握for、while和do …while语句实现循环程序设计。
(2)理解循环条件和循环体,以及for、while和do …while语句的相同及不同之处。
二、实验设备实验设备要求每个学生一台电脑,并需装有VC++ 6.0程序。
三、实验内容(一)编写程序:求出 1,1+2,1+2+3,……数列中前n项的值。
(文件名:ch05_1.cpp)要求输入输出示例:Enter a number: 61 3 6 10 15 21(二)编写程序:从键盘上输入若干学生的成绩,统计并输出最高分和最低分成绩,当输入负数时结束输入。
(文件名:ch05_2.cpp)要求输入输出示例:Please input scores:65.5 86.4 74 92 67 91 54.5 -1Max=92.00Min=54.50(三)编写程序:有100匹马,要驮100担货物,其中,1匹大马可以驮3担,1匹中马可以驮两担,两匹小马可以驼1担,请问,大马、中马和小马可以有多少种组合。
(文件名:ch05_3.cpp)要求输入输出示例:大马2匹;中马30匹;小马68匹,大马5匹;中马25匹;小马70匹,大马8匹;中马20匹;小马72匹,大马11匹;中马15匹;小马74匹,大马14匹;中马10匹;小马76匹,大马17匹;中马5匹;小马78匹,共有6种驮法(四)编写程序:已知某正整数等差数列的前4项之和为10,前4项之积为24,经计算可得此等差数列的前六项为:1 2 3 4 5 6,前六项之和为:26。
请问:若某数列的前4项之和是26,前4项之积是880。
请输出此正整数等差数列的前六项与前六项之和(文件名:ch05_4.cpp)要求输出示例:1,2,3,4,5,6数列的前6项的和:21提示:(1)等差数列由首项和差值两项构成,用整型变量工a,d分别记录该两项。
(2)利用for循环进行求解,并且需要满足数列前4项之和为26。
C语言程序设计-循环
",就继续执行循环体语句。直至
条件不满足为止。
可能执行很多次
只执行一次
如何设定循环条件是保证while结构正常工作的关键。
100
例:求1~100之和,即 i i 1
#include <stdio.h> main ( )
开始 定义变量i,sum
{ int i, sum; sum=0;
i=1 sum=0
n3=i-i/10*10; 输出
if(n1*n1*n1+n2*n2*n2+n3*n3*n3==i)
printf ("%d=%i<d1+0%00d+%dY\n",i,n1,n2,n3);
i++;
}while (i<1000);
N
}
结束
for 循环结构
for (初值表达式; 循环条件; 增量表达式)
{
…… if (x>0) break; …… if (m<3 && y>0 break; …… }
注意:
1. for循环应用很灵活,是否需要省略某个表达 式,完全根据题目的要求和解题的思路确定, 没有硬性规定。
2. 省略前两个表达式的时候,分号不能省略。
例:找出大于300的最小的水仙花数。
水仙花数:153=13+53+33
i=1;
循环变量设定
while (i<=100)
{
循环条件
sum=sum+i;
i=i+1;
循环体
i≤100? Y
sum=sum+1
i++
C语言第6章循环结构程序设计
第6章循环控制本章要求:1、初步熟悉用计算机解决问题的思路。
2、掌握while、do-while、for语句的特点和使用方法。
3、掌握break、continue语句的用法。
4、熟悉一些常见问题的算法及其C语言实现。
§6.1 概述循环:反复执行称为“循环体”的程序段。
循环控制常用于数学迭代、对象遍历等问题的求解,几乎所有实用程序都包含循环。
特别是在现代多媒体处理程序(图像、声音、通讯)中,循环更是必不可少。
Intel公司为了加快循环程序的执行,在CPU硬件中加入多媒体扩展指令MMX(Multi-Media-eXtension );AMD在CPU中加入3D Now!指令。
循环结构是结构化程序三种基本结构之一。
(顺序结构、分支结构)。
根据开始循环的初始条件和结束循环的条件不同,C语言中用如下语句实现循环1、用goto语句和if语句构成循环。
2、用while语句。
3、用do-while语句。
4、用for语句。
§6.2 goto语句一般形式:goto 语句标号作用:无条件转向“语句标号”处执行。
“语句标号”是一个标识符,它表示程序指令的地址。
goto语句不符合结构化程序设计准则,因为无条件转向使程序结构无规律、可读性差。
一般应避免使用goto语句,但如果能大大提高程序的执行效率,也可以使用。
[例6.1] 用if语句和goto语句构成循环,求。
main(){int i,sum=0;i = 1;loop:if (i <= 100){ sum = sum + i;i++;goto loop;}printf("%d",sum);}§6.3 while语句一般形式:while(表达式) 语句作用:实现“当型”循环。
当“表达式”非0(真)时,执行“语句”。
“语句”是被循环执行的程序,称为“循环体”。
特点:先判“表达式(条件)”。
[例6.2]main(){int i,sum=0;i = 1;whie (i <= 100){sum = sum + i;i++;}printf("%d",sum);}注意:1、注意给出循环的初始条件,如本例中“sum=0、i=1”。
《C语言程序设计》2教学课件 第4章 循环结构程序设计
—7—
4.1 while循环
【例4.1】
计算从1到100的和。
#include<stdio.h> int main() {
int i,sum; sum=0; i=1; while(i<=100) {
sum=sum+i; i=i+1; } printf("1+2+3+...+99+100=%d",sum); return 0; }
表达式3
一般被称为“步长”,用于循 环变量的修改,该表达式是在 每次循环体执行完以后、下一 次循环条件判断之前执行的, 使循环变量经过多次循环的累 积而发生改变,最终因为不满 足循环条件退出循环。
— 26 —
4.3 for循环
【例4.7】
编程计算1到49之内的奇数和。
#include<stdio.h> int main() {
可将for循环语句改写为如下的while循环形式:
表达式1; while(表达式2) {
语句; 表达式3; }
例如:
for(i=1;i<=100;i++) sum=sum+i;
相当于:
i=1; while(i<=100) {
sum=sum+i; i++; }
— 28 —
4.3 for循环
因此,可以将例4.7用while语句进行改写如下:
/*定义及初始化变量*/ /*输出提示语*/ /*输入整数*/ /*如果输入的为负整数则取反*/
/*number整除10,即去掉最低位*/ /*位数加1*/ /*number不为0时循环*/ /*输出位数*/
C语言程序设计教程03循环结构程序设计
循环结构程序设计1、求1+4+7+……+100之和。
解:解法1:用while语句构造循环。
⑴编程思路:①首先定义变量,s用于存放累加和,i为循环变量。
②将变量s清零,并令变量i的初值为1。
③当i<=100时,循环执行第④步。
④将变量i的值累加到变量s中,并令变量i的值加3。
⑤输出求得的变量s的值。
⑵源程序:main(){int s,i;s=0;i=1;while(i<=100){s=s+i;i+=3;}printf("s=%d\n",s);}注意:①用于存放累加和的变量s必须清零,否则变量s的初值是一个随机数。
②用于实现累加运算的赋值表达式,赋值运算符两侧必须有一个相同的变量(如s=s+i),否则就不能实现累加。
③当循环体多于一条语句时,必须用花括号括起来构成一条复合语句,否则循环体只包括紧跟在while(或for)之后的一条语句。
解法2:用for语句构造循环。
⑴编程思路:同解法1。
⑵源程序:main(){int s,i;s=0;for(i=1;i<=100;i+=3)s=s+i;printf("s=%d\n",s);}注意:①for语句与while语句在功能上是完全等价的,for语句可以看作是由while语句变形而来的。
2、求1到100之间的奇数之和与偶数之和。
解:解法1:⑴编程思路:①首先定义变量,s1,s2分别用于存放奇数之和与偶数之和,i为循环变量。
②将变量s1,s2清零,并令变量i的初值为1。
③当i<=100时,循环执行第④步。
④若i的值为奇数,则将变量i的值累加到变量s1中;否则将变量i的值累加到变量s2中。
然后令变量i的值加1。
⑤输出求得的变量s1,s2的值。
⑵源程序:main(){int s1,s2,i;s1=s2=0;for(i=1;i<=100;i++){if(i%2==1)s1=s1+i; /*奇数之和*/elses2=s2+i; /*偶数之和*/}printf("s1=%d,s2=%d\n",s1,s2);}解法2:⑴编程思路:①首先定义变量,s1,s2分别用于存放奇数之和与偶数之和,i为循环变量。
程序设计c语言 循环控制的实验报告
{
int n=1,m;
float x,y=0;
scanf("%f,%d",&x,&m);
do
{
y=y+(x/n);
n++;
x=x*x;
}
while(n<=m);
printf("%f",y);
return 0;
}
2)保存源程序,文件名为do….while语句求值1
3)运行程序,输出结果如下:
printf("%f",y);
return 0;
}
2)保存源程序,文件名为for语句求值1:
3)输入、输出结果如下:
3.编写程序,输入x和n,用while求y=x+x*x/2+x*x*x/3+…。
1)打开MinGW32集成开发环境,编写程序代码如下:
#include<stdio.h>
include<stdio.h>
5.综上所述:收益匪浅。
1. 通过程序一,主要是让我们区分while,for,do…while三者的用法,及其特点。
2. 通过第二个程序,了解和掌握了当语句需要精确到几位小数点之后的while,for,do…while三者的用法,及其特点。
3. 通过编写第三个程序,掌握了更为复杂的语句用法,而且还学会了分行输出数据。
4.通过第四个程序,我主要是了解了关于数学方法中对于阶乘的求法。
2.编写程序,输入m和n,计算m!+n!.
3.编写程序,输出100~200之间所有的素数,每行输出8个。
三、实环境
MinGW32系统。
四、实验步骤和结果
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)。
C语言程序设计
19
5.2 while和do while循环
循环语句的特点:
• while循环是“先判断后循环”,如果开始时循 环条件不满足,循环体就一次也不执行
• do-while循环是“先循环后判断”,即使第一
次判断的结果为“假”,循环体也已经执行了 一次
• 但不论哪种循环,循环体中必须包含能够使循 环条件变为“假”的运算
• 共同点:
– 都要完成相同的任务:量变的重复内容
– 都有结束条件:发生质变的界限
C语言程序设计
13
第5章 循环程序设计
1. 计算sumห้องสมุดไป่ตู้1+2+3+……+100
C语言程序设计
14
第5章 循环程序设计
1. 计算sum=1+2+3+……+100
#include <stdio.h> void main( ) { int i=1, sum=0 ;
C语言程序设计
11
第5章 循环程序设计
计算机程序由若干语句顺序组成:
• 顺序结构的程序只能按照语句的先后顺序从前向 后依次执行
• 分支结构程序虽然允许在执行了某个判断后跳过 某些语句执行后面的语句,但也只能按语句的前 后次序执行
• 有时,需要在程序中重复执行某个语句或语句块, 就需要循环结构
C语言程序设计
double paper_height, mountain_height; int number; paper_height=0.0001; mountain_height=8844.43; number=0;
while ( paper_height < mountain_height ) {
paper_height *= 2; number += 1; printf("对折第%d次后的高度是%g。\n", number, paper_height); } }
12
第5章 循环程序设计
生活中的例子: • 击鼓传花:
大家坐成一个圈,鼓声响起的时候将花束顺序交 到下一个人的手里,依次向下传递,当鼓声突然 中断时停止传花,花束落在谁的手里便成为输家
• 4×100米接力赛跑: 第1个人跑完100米后将接力棒传给第2个人,第 2个人再跑100米,然后是第3个人,直到第4个 人跑完最后一个100米
C语言程序设计
4
第5章 循环程序设计
C语言程序设计
5
第5章 循环程序设计
C语言程序设计
6
第5章 循环程序设计
C语言程序设计
7
第5章 循环程序设计
C语言程序设计
8
第5章 循环程序设计
C语言程序设计
9
第5章 循环程序设计
水温度的量变引起水的物理形态的质变: • 水在标淮大气压下加温到100摄氏度变成汽 • 降温到0摄氏度变成冰。
C语言程序设计
第5章 循环程序设计
管理学院 电子商务系
第5章 循环程序设计
5.1 概述 5.2 while和do while循环 5.3 for循环 5.4 循环的嵌套 5.5 循环的控制 5.6 应用举例 5.7 程序调试
C语言程序设计
2
第5章 循环程序设计
C语言程序设计
3
第5章 循环程序设计
while ( i <= 100 ) { sum = sum + i ;
i+=2 ; } printf ( “Sum = %d \n”, sum ) ; }
循环的初始化 循环控制条件 循环控制变量 循环体
C语言程序设计
16
5.2 while和do while循环
格式: while( 表达式 ) 语句 do 语句 while( 表达式 ) ;
do
sum = sum + i++ ;
{ sum = sum + i ;
printf ( “Sum = %d \n”,
i++;
sum ) ;
}
}
while ( i<= 100 );
printf ( “Sum = %d \n”, sum ) ;
}
C语言程序设计
21
5.2 while和do while循环
while语句的执行过程
while语句的执行过程是: ① 计算“表达式”的值; ② 若“表达式”的值不时0,为
“真”,继续执行③;否则,结束 循环,转到while语句后面的语句 继续执行程序; ③ 执行“语句”部分,即执行循环体; ④ 返回①继续执行。
C语言程序设计
18
5.2 while和do while循环
while ( i <= 100 ) { sum = sum + i ;
i++ ; } printf ( “Sum = %d \n”, sum ) ; }
循环的初始化 循环控制条件 循环控制变量 循环体
C语言程序设计
15
第5章 循环程序设计
2. 计算sum=2+4+6+……+100
#include <stdio.h> void main( ) { int i=2, sum=0 ;
C语言程序设计
10
第5章 循环程序设计
物体从地球上抛射速度的量变引起运动形式的质变: • 小于7911m/s时,在地面上沿弹道飞行; • 达到7911m/s时,绕地球作椭园轨道运动,成为地球的卫星; • 增大到11189m/s时,脱离地球成为绕太阳运行的一个行星; • 速度达到16662m/s时,脱离太阳系成为迢游太空的一个天体。
几何级数2x的力量: • 一页普通纸的厚度约为0.1mm(1mm=10-3m) • 珠穆朗玛峰的高度为8844.43m • 编写程序计算一下,普通纸对折多少次可以超过珠
穆朗玛峰的高度?
C语言程序设计
22
5.2 while和do while循环
#include <stdio.h> void main( ) {
C语言程序设计
20
5.2 while和do while循环
循环的变化:sum=1+2+3+……+100
#include <stdio.h>
#include <stdio.h>
void main( )
void main( )
{ int i=1, sum=0 ;
{ int i=1, sum=0 ;
while ( i<= 100 )
说明:
• 括号中的“表达式”是循环控制条件,但不限于 关系表达式和逻辑表达式
• “语句”是单一语句,但可以是复合语句
• 如果while语句的括号后面只有“;”,则循环 体为空。如果do-while语句的括号后面(分号前 面)还有其他符号,则出现语法错误
C语言程序设计
17
5.2 while和do while循环