C语言循环结构
4.5 循环的嵌套
说明:
①四种循环都可以处理同一问题,没有孰优孰劣 之分。但一般不用goto语句来实现循环。
②while和do-while循环,只在while后面指定循环 条件,因此在循环体中要有使循环趋于结束的 语句。
③一般情况下我们不能忘记“循环三要素”,即 “初值”、“循环条件、“修正值(可增可 减)”。
循环语句
②计算“条件表达式”,为 真(非0),转①继续执行; 否则,转③。
③执行do-while的下一条语句。
真
条件表达式 假
do-while循环语句的特点是: 先执行循环体语句组,然后 再判断循环条件。
do-while语句后面的语句
4.4 do-while语句
例4.5 用do-while语句求解1~100的累计和。
4.5 循环的嵌套
如果循环体内,又包含另一个完整的循环 结构,称为循环的嵌套。 循环可以允许多层嵌套。
for语句、while语句、do-while语句都允许进 行嵌套,并且可以进行相互嵌套。
返 回
4.5 循环的嵌套
for循环嵌套
4.5 循环的嵌套
while循环嵌套
4.5 循环的嵌套
do-while循环嵌套
4.6 break语句与continue语句
说明 :
①break能用于循环语句和switch语句中, continue只能用于循环语句中。
②循环嵌套时,break和continue只影响包含它们 的最内层循环,与外层循环无关。
例4.6 把100~200之间的不能被3整除的 数输出,并且每行输出10个。
4.6 break语句与continue语句
一般格式
功能
①break:强行结束循环,转向执行循环语句的下一 条语句。 ②continue:结束本次循环。对于for循环,跳过循环 体其余语句,转向循环变量改变表达式的计算; 返 对于while和do-while循环,跳过循环体其余语句, 回 但转向循环继续条件的判定。
4.6 break语句与continue语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include “stdio.h“ void main(int argc,char* argv[]) { int n,count=0; for(n=100;n<=200;n++) { if(n%3==0) continue; count++; printf("%5d",n); if(count%10==0) printf("\n"); } }
返 回
4.8 良好的源程序书写习惯
在C语言源程序中,注释可分为三种情况:
①在函数体内对语句的注释;
②在函数之前对函数的注释;
③在源程序文件开始处,对整个程序的总体说明。
4.8 良好的源程序书写习惯
函数体内的语句,是由顺序结构、选择结 构和循环结构等三种基本结构构成的。 在什么地方加以注释的原则是:如果不加 注释,理解起来就会有困难,或者虽无困 难、但浪费时间。
4.7 循环结构程序举例
例4.7 打印乘法口诀表。 例4.8 求Fibonacci数列的前20项。 例4.9 输出100之内的全部素数 。
返 回
4.8 良好的源程序书写习惯
顺序程序段中的所有语句(包括说明语 句),一律与本顺序程序段的首行左对齐, 并且采用缩进对齐的方式,使程序便于阅 读。 必要的注释,可有效地提高程序的可读性, 从而提高程序的可维护性。
5
6
for(i=1;i<=100;i++)
sum+=i; //实现累加
7
8 }
printf("sum=%d/n",sum);
程序运行结果:sum=5050
4.2 for语句
一般格式
4.2 for语句
执行过程
① 执行“初始化表达 式”。 ② 判断“条件表达式”。 若其值非0,执行③; 否则,执行④。 ③ 执行“循环语句”,后 求解“修正值表达 式”,并转向②。 ④ 执行for语句的下一条 语句。
第四章 循环结构
第四章 循环结构
4.1 概 述
4.2 for语句
4.3 while语句
4.4 do-while语句
4.5 循环的嵌套
4.6 break语句与continue语句
4.7 循环结构程序举例
4.8 良好的源程序书写习惯
4.1 概 述
C语言提供了3条循环语句,以简化、并规范 循环结构程序设计: (1)for语句。
4.8 良好的源程序书写习惯
(1)顺序结构
在每个顺序程序段(由若干条语句构成)之前, 用注释说明其功能。除对复杂的处理外,一般 没有必要每条语句都加以注释。
(2)选择结构
在C语言中,选择结构是由if语句和switch语句 来实现的。一般地说,要在前面说明其作用, 在每个条件分支语句行的后面,说明该分支的 含义。
while循环的特点是,先判断条件后执行循环 体。 while循环是for循环的一种简化形式(缺省 “变量赋初值”和“循环变量改变”表达 式)。
4.3 while语句
例4.4 用while语句求1~100的累计和。
1 #include “stdio.h“ 2 void main(int argc,char* argv[]) 3 { 4 int i=1,sum=0; //初始化循环控制变量i和累计器 sum 5 while( i<=100 ) 6 {
(4)“循环条件表达式”的值是一个逻辑量,除一般的关 系(或逻辑)表达式外,也允许是数值(或字符)表达 式。
4.3 while语句
while语句又叫“当型”循环语句。 一般格式
•执行过程
条件表达式 真 循环语句 假
返 回
while语句后面的语句
4.3 while语句
①求解“循环继续条件”表达式。如果其值为非0, 转②;否则转③。 ②执行循环体语句组,然后转①。 ③执行while语句的下一条。
(2)while语句。
(3)do~while语句。
返 回
4.2 for语句
在3条循环语句中,for语句最为灵活,不仅 可用于循环次数已经确定的情况,也可用 于循环次数虽不确定,但给出了循环继续 条件的情况。 例4.2 求1~100的累加和。
返 回
4.tdio.h" 2 void main(int argc,char* argv[]) 3 { 4 int i,sum=0;//累加器sum初始化为
条件表达式 真 循环语句 修正值表达式 初始化表达式
假
for语句后面的语句
4.2 for语句
说明:
(1)“初始化表达式”、“条件表达式”和“修正值表达 式”部分均可缺省,甚至全部缺省,但其间的分号不能 省略。(for( ; ; )) (2)当循环体语句组仅由一条语句构成时,可以不使用复 合语句形式。 (3)“初始化表达式”,既可以是给循环变量赋初值的赋 值表达式,也可以是与此无关的其它表达式(如逗号表 达式)。
7 8 9 10
sum += i; //实现累加 i++; //循环控制变量i增1
} printf("sum=%d\n",sum);
4.4 do-while语句
do-while语句又叫“直到”循环语句。
一般格式
注意:尾行的分号不能省!!
返 回
4.4 do-while语句
执行过程
①执行循环体语句。
4.8 良好的源程序书写习惯
(3)循环结构
在C语言中,循环结构由循环语句for、while和 do-while来实现。
作为注释,应在它们的前面说明其功能,在循 环条件判断语句行的后面,说明循环继续条件 的含义 。
如果有循环嵌套,还应说明每层循环各控制什 么。
1 #include “stdio.h“ 2 void main(int argc,char* argv[]) 3 { 4 5 int i=1, sum=0;//初始化循环控制变量,以及累计器 do
6
7 8
{
sum += i;//累加 i++;
9 }while(i<=100); //循环继续条件 10 printf("sum=%d\n",sum); 11 }
C语言循环语句课件四章
Page 14ຫໍສະໝຸດ while语句(当型循环)
❖例 求自然数1~10之和。
▪ 分析:本题需要用累加算法,累加 过程是一个循环过程,可以用 while语句实现。
▪ 流程图
开始
sum=0 i=1
i<=10 false
true sum=sum+i
i=i+1
输出sum
结束
Page 15
while语句(当型循环)
▪ 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例 如6=1+2+3
8. 求水仙花数:是指一个n(>=3)位数字的数,它等于每个数 字的n次幂之和。
9. 输入两个正整数m和n,求其最大公约数和最小公倍数。
Page 29
3.求1~599中能被3整除,且至少 有一位数字为5的所有整数。
❖ 判断a、b、c中是否有5:将1~599中三位整数i分 解成个位、十位、百位,分别存放在变量a、b、 c中。然后判断这三个变量是否含5。将三位整数i (设i=513)分解成个位、十位、百位的方法是: c=i/100; //百位 b=i%100/10; //十位 a=i%100%10; //个位
❖ 流程图
❖ 注意:在循环体中,一般应该 包含改变条件表达式的语句。
语句
true 表达式
false
Page 19
do…while语句(直到型循环)
❖例 用do…while语句求自然数 1~10之和。
▪ 分析:本题需要用累加算法,累加 过程是一个循环过程,可以用 do…while语句实现。
▪ 流程图
❖ 表达式1和3可以是简单表达式,也可以是逗号表 达式
▪ for(i=0,j=100;i<=j;i++,j--) k=i+j;
鸡兔同笼c语言循环结构
鸡兔同笼c语言循环结构鸡兔同笼是一个常见的数学问题,也是一个经典的循环结构问题。
这个问题常常用来帮助学生理解循环结构的运用,加深对于算法思维的理解。
在这篇文章中,我将一步一步回答下面这个问题:在一个鸡兔同笼中,一共有35个头,94只脚,那么鸡和兔各有多少只?首先,我们需要对这个问题进行分析。
题目已经告诉我们总共有35个头,那么这个鸡兔同笼中鸡和兔的数量之和应该等于35。
此外,题目还告诉我们总共有94只脚,那么我们可以用鸡的脚数乘以鸡的数量,再加上兔的脚数乘以兔的数量,应该等于94。
根据这两个条件,我们就可以通过循环结构来解决这个问题。
为了求解这个问题,我们可以假设鸡的数量为i,兔的数量为j。
然后,我们可以使用两个循环来遍历所有可能的组合。
首先,我们通过循环遍历所有可能的鸡的数量,假设鸡的数量从0到35。
在每一次循环中,我们使用另一个循环来遍历当前鸡的数量下可能的兔的数量,假设兔的数量从0到35-i。
在每一次循环中,我们需要检查当前组合是否满足两个条件:总头数为35和总脚数为94。
因此,我们可以使用一个if语句来判断。
如果满足条件,我们就输出当前的鸡兔数量。
如果不满足条件,我们继续循环直到遍历完所有可能的组合。
下面是使用C语言编写的程序来解决这个问题:c#include <stdio.h>int main() {int i, j;for(i = 0; i <= 35; i++) {for(j = 0; j <= 35 - i; j++) {if((i + j == 35) && (2 * i + 4 * j == 94)) {printf("鸡的数量:d, 兔的数量:d\n", i, j);}}}return 0;}在上面的程序中,我们使用两个嵌套循环来遍历所有可能的组合。
外层循环用来遍历鸡的数量,内层循环用来遍历兔的数量。
在每一次循环中,我们使用if语句来判断当前的组合是否满足两个条件。
c语言 for循环,骑车与走路
C语言中的for循环1. 介绍for循环的概念for循环是C语言中常用的一种循环结构,通过for循环可以重复执行一段代码,直到达到特定的条件为止。
通常情况下,for循环经常用于需要重复执行固定次数的代码段,或者需要依次遍历一个数据集合中的元素的情况。
2. for循环的语法结构for循环由三个部分组成,分别是循环变量的初始化、循环条件的判断和循环变量的修改。
具体的语法结构如下:```for (初始化表达式; 循环条件; 循环变量修改表达式) {循环体}```其中,初始化表达式用于对循环变量进行初始化,循环条件即为每次循环的判断条件,循环变量修改表达式用于在每次循环结束后对循环变量进行修改,循环体则是需要重复执行的代码段。
3. for循环的示例以输出1到10的数字为例,可以通过for循环来实现:```for (int i = 1; i <= 10; i++) {printf("d\n", i);}```在这个示例中,循环变量i的初始值为1,每次循环结束后i的值增加1,当i的值大于10时,循环结束。
4. for循环的应用场景for循环在C语言中被广泛应用于各种需要重复执行固定次数的代码段的情况,比如数组的遍历、数据的计算等。
其简洁、清晰的语法结构使其成为C语言中一种非常常用的循环结构。
骑车与走路1. 骑车和走路的优缺点比较骑车和走路是人们日常生活中常用的两种出行方式,它们各自具有一定的优缺点。
骑车可以快速到达目的地,节约时间,而且也能进行一定的锻炼;而走路则更有益于身体健康,可以享受沿途的风景,但速度相对较慢。
2. 骑车与走路的适用场景骑车适用于较远的目的地,或者需要快速到达的情况,比如上班、上学等;走路适用于较近的目的地,或者想要放松一下心情,享受一段宁静的时光的情况。
选择合适的出行方式能够在日常生活中带来更多的便利和舒适。
3. 骑车和走路的环保性从环保的角度来看,骑车和走路都比汽车等机动车更加环保。
C语言循环结构教学设计
本栏目责任编辑:王力计算机教学与教育信息化C 语言循环结构教学设计陈晓红(南通大学信息科学技术学院,江苏南通226001)摘要:本文设计了主题为“C 语言循环结构”教学活动,教学上综合运用“启发式教学”“案例教学法”“小组合作”等方法。
本文探索的教学设计与实践,将为循环结构教学质量和效率的提升提供参考。
关键词:循环结构;启发式教学;小组合作中图分类号:G424.1文献标识码:A 文章编号:1009-3044(2021)02-0104-02开放科学(资源服务)标识码(OSID ):1教学内容分析《高级语言程序设计(C )》开设的目的是使学生掌握程序设计的基本概念,逐步形成正确的程序设计思想;掌握程序设计的基本技术;具备调试程序的能力。
C 语言功能强大,程序编写灵活,具有较强的实践性,因此对学生以后参与专业领域的应用软件的开发和使用会有极大的帮助。
本节课内容是介绍循环结构的思想和特点,目标是学生能够掌握for 循环语句的语法和应用,能运用循环的思想解决实际生活中的问题。
教师通过趣味性教学,激发学生学习的兴趣,从而提高学生的注意力和主动参与的积极性。
在授课过程中通过“重复广告”“阿凡提的工钱”“跑步打卡”等趣味内容讲解循环的语法、执行过程、for 语句的退出机制。
课堂最后提出“存钱翻番”的问题,请学生课后分组讨论,如何使用for 循环语句计算本金翻番的时间。
本节课教学前,学生已经掌握了赋值语句的用法,也掌握了顺序结构和分支结构,这些都是学习for 循环语句的基础。
而循环结构是整个程序设计的核心部分,for 循环语句的学习,使学生提高综合应用的能力,为后续的教学及程序设计开发打下坚实的基础。
本节课的教学重点是for 语句的基本语法结构、执行过程、退出机制。
教学难点在于学会使用for 语句编写程序,解决实际问题。
2教学目标设计2.1教学对象特征分析教学对象:《高级语言程序设计(C )》课程的教学对象一般是非计算机专业的理工科大一新生,开课学期在大一下学期。
c语言for的用法
c语言for的用法C语言for循环的用法一、什么是for循环二、for循环的语法结构1. 初始化表达式2. 循环条件3. 迭代表达式三、for循环的执行过程四、for循环中常见的应用场景1. 遍历数组和集合元素2. 计数循环3. 循环控制语句的嵌套使用五、for循环与其他循环结构的比较优劣一、什么是for循环在编程中,经常会遇到需要重复执行某段代码的情况。
而for循环就是一种经典且常用的控制流结构,它可以让我们按照特定条件多次运行同一段代码。
二、for循环的语法结构for循环由三个部分组成:初始化表达式、循环条件和迭代表达式。
1. 初始化表达式(可选):在进入循环之前进行一些初始化操作。
2. 循环条件:判断是否继续执行循环体内的代码。
3. 迭代表达式:每次执行完毕后更新变量。
下面是一个典型的for循环语法示例:for (初始化表达式; 循环条件; 迭代表达式) {// 循环体内的代码}注意,初始化表达式可以省略,但循环条件和迭代表达式都是必须的。
三、for循环的执行过程当进入for循环时,首先会执行初始化表达式(如果有),然后判断循环条件是否满足。
如果循环条件为真,则执行循环体内的代码,并在每次循环结束后执行迭代表达式。
这样反复进行直到循环条件为假。
例如,我们可以使用下面的代码实现一个简单的计数器:int i;for (i = 0; i < 5; i++) {printf("当前计数值:%d\n", i);}上述代码中,初始化表达式将变量i赋值为0,然后判断i是否小于5,满足条件时输出当前计数值并将i加1。
循环结束后,程序继续向下执行。
四、for循环中常见的应用场景1. 遍历数组和集合元素for循环非常适用于遍历数组和集合等数据结构。
通过设置合适的初始化表达式、循环条件和迭代表达式,我们可以轻松地访问每个元素并进行一系列操作。
例如,在C语言中遍历一个整型数组并打印出每个元素:int arr[] = {1, 2, 3, 4, 5};int i;for (i = 0; i < sizeof(arr) / sizeof(int); i++) {printf("%d\n", arr[i]);}在上述代码中,我们首先定义了一个整型数组arr,并给它赋初始值。
C语言程序设计(while 循环结构)
sum+=grade; num++; scanf("%lf",&grade); } if (num) printf(“\n%d 人的平均成绩:%.1f”,num,sum/num);/*输出结果*/ else printf(“\n 平均成绩为 0!”);
int num=0; /*用 num 统计输入成绩的学生人数,以便统计学生的平均分数*/ double sum=0, grade; /*用 sum 记录成绩的累加和,初值为 0,grade 接受键盘输入的成绩*/
printf(“请依次输入学生的考试成绩,空格间隔,并以负数结束输入\n”); scanf(“%lf”,&grade);
return 0; }
注意: (1)while 语句中的表达式一般是关系表达或逻辑表达式,但原则上可以是任何合法的 表达式; (2)循环条件的选择应该避免死循环,即无法结束循环体的执行;表达式的值每次循 环后都应该有所改变,否则也会引起死循环。
假 表式?
真 语句
循环体外语句 图 3-7 while 循环结构的执行过程
【例 3-11】 从键盘输入若干名学生的成绩,计算平均分。 分析:这是一个累加求和的问题,将输入的成绩依次累加(用循环结构实现,循环条件 是成绩 grade>=0),完成累加后再将累加和除以学生的人数,算出平均分。
/*程序名:3_11.c*/ /*功能:键盘输入若干学生的成绩,计算平均成绩并输出*/ #include <stdio.h> int main() {
1.while 循环结构
while 循环结构的一般形式为: while(表达式) 语句;
c语言循环覆盖写文件
c语言循环覆盖写文件(最新版)目录1.C 语言循环的基本概念2.文件操作的基本方法3.循环覆盖写文件的实现方法4.注意事项和示例代码正文C 语言是一种广泛应用的编程语言,具有丰富的语法结构和强大的功能。
在 C 语言中,循环是一种基本的控制结构,可以实现多次重复执行某个操作。
文件操作也是 C 语言中常见的功能之一,可以对文件进行读写等操作。
本文将介绍如何使用 C 语言的循环结构实现循环覆盖写文件的方法。
一、C 语言循环的基本概念C 语言中有两种循环结构,分别是 for 循环和 while 循环。
for 循环是一种计数循环,可以指定循环次数和循环变量的初始值。
while 循环则是一种条件循环,只要满足条件就会一直执行。
二、文件操作的基本方法在 C 语言中,文件操作主要包括打开文件、关闭文件、读取文件和写入文件等。
使用文件操作需要包含头文件<stdio.h>。
1.打开文件:使用 fopen() 函数可以打开一个文件,该函数需要两个参数,分别是文件名和打开模式。
打开模式可以是“r”(只读模式)或“w”(写入模式)等。
2.关闭文件:使用 fclose() 函数可以关闭一个文件,避免文件泄漏。
3.读取文件:使用 fgets() 或 fgetc() 函数可以读取文件中的数据。
4.写入文件:使用 fputs() 或 fprintf() 函数可以向文件中写入数据。
三、循环覆盖写文件的实现方法循环覆盖写文件是指在写入文件时,每次循环都将原有内容覆盖。
这种方法适用于需要对文件进行多次写入操作的情况。
实现循环覆盖写文件的方法如下:1.使用 for 循环:在循环中调用 fopen() 函数打开文件,并使用fputs() 或 fprintf() 函数向文件中写入数据。
每次循环结束后,使用fclose() 函数关闭文件。
在主函数结束前,再次调用 fopen() 函数打开文件,并将文件模式设置为“a”(追加模式),以便将之前写入的数据追加到文件中。
C语言循环结构的嵌套
C语言循环结构的嵌套C语言循环结构的嵌套在C语言中,if-else、while、do-while、for 都可以相互嵌套。
所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如for 里面还有for,while 里面还有 while,或者 for 里面有 while,while 里面有 if-else,这都是允许的。
C语言循环结构的嵌套示例1:for 嵌套执行的流程。
#includeint main(){int i, j;for(i=1; i<=4; i++){ //外层for循环for(j=1; j<=4; j++){ //内层for循环printf("i=%d, j=%d ", i, j);}printf(" ");}return 0;}运行结果:i=1, j=1i=1, j=2i=1, j=3i=1, j=4i=2, j=1i=2, j=2i=2, j=3i=2, j=4i=3, j=1i=3, j=2i=3, j=3i=3, j=4i=4, j=1i=4, j=2i=4, j=3i=4, j=4本例是一个简单的for 循环嵌套,外层循环和内层循环交叉执行,外层 for 每执行一次,内层 for 就要执行四次。
在C语言中,代码是顺序、同步执行的,当前代码必须执行完毕后才能执行后面的代码。
这就意味着,外层 for 每次循环时,都必须等待内层 for 循环完毕(也就是循环4次)才能进行下次循环。
虽然 i 是变量,但是对于内层 for 来说,每次循环时它的值都是固定的。
示例2:输出一个4×4的整数矩阵。
#includeint main(){int i, j;for(i=1; i<=4; i++){ //外层for循环for(j=1; j<=4; j++){ //内层for循环printf("%-4d", i*j);}printf(" ");}return 0;}运行结果:外层 for 第一次循环时,i为1,内层 for 要输出四次 1*j 的值,也就是第一行数据;内层 for 循环结束后执行 printf(" "),输出换行符;接着执行外层 for 的 i++ 语句。
PTA-C语言理论课3-循环结构
C理论3-循环结构7-1 生成3的乘方表 (15分)输入一个非负整数n,生成一张3的乘方表,输出30~3n的值。
可调用幂函数计算3的乘方。
输入格式:输入在一行中给出一个非负整数n。
输出格式:按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。
题目保证输出数据不超过长整型整数的范围。
输入样例:输出样例:pow(3,0) = 1pow(3,1) = 3pow(3,2) = 9pow(3,3) = 27#include<stdio.h>#include<stdlib.h>int main(){int i,n,s;scanf("%d",&n);for(i=0;i<=n;i++){s=pow(3,i);printf("pow(3,%d) = %d\n",i,s);}return0;}7-2 统计学生成绩 (15分)本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。
百分制成绩到五分制成绩的转换规则:•大于等于90分为A;•小于90且大于等于80为B;•小于80且大于等于70为C;•小于70且大于等于60为D;•小于60为E。
输入格式:输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
输入样例:输出样例:1 023 1#include<stdio.h>#include<stdlib.h>int main(){int n,i,f,b,c,d,e,a[1000];f=b=c=d=e=0;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);if(a[i]>=90)f++;if(a[i]<90&&a[i]>=80)b++;if(a[i]<80&&a[i]>=70)c++;if(a[i]<70&&a[i]>=60)d++;if(a[i]<60)e++;}printf("%d %d %d %d %d",f,b,c,d,e);return0;7-3 输出闰年 (15分)输出21世纪中截止某个年份以来的所有闰年年份。
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); }
