- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter05循环结构程序设计教程
循环结构程序设计;C语言中的三种循环语句:
while语句(当型)
do……while语句(直到型)
for语句
循环体中的辅助控制语句:
break语句
continue语句
goto语句;一般形式:
while (表达式) 语句
说明:
“表达式”为循环条件;“语句”为循环体。
特点:
先判断表达式,后执行语句;例:求;#include stdio.h
void main() {
int i = 1, n;
int p = 1;
scanf(%d, n);
while ( i= n) {
p *= 2;
i++;
}
printf(%d\n, p);
};例:输入两个正整数m和n,求它们的最大公约数;#include stdio.h
void main () {
int m, n, i, min, t = 1;
printf (请输入整数m和n:\n);
scanf (%d%d, m, n);
if (m = 0 || n = 0)
printf (输入错误!\n);
else {
min = m n ? m : n;
i = 2;
while (i = min) {
if (m % i == 0 n % i == 0)
t = i;
i++;
}
printf (%d和%d的最大公约数是:%d\n, m, n, t);
}
};while语句中的“表达式”(即判断条件)可以是任意的表达式,但一般为关系表达式或逻辑表达式。
循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。
在循环体中应有使循环趋向于结束的语句,以免形成死循环。
允许循环体以空语句形式出现。;一般形式:
do 语句
while (表达式);
特点:
先执行一次指定的循环内嵌语句,然后判断条件表达式。;#include stdio.hvoid main() {
int i = 1,sum = 0; do {
sum += i; i++; } while (i = 100);
printf (%d\n, sum);
};while语句和用do-while语句的比较:
在一般情况下,用while语句和用do-while语句处理同一问题时,若二者的循环体部分是一样的,它们的结果也一样;
但是如果while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。;(1)
#include stdio.hvoid main () {
int sum = 0,i;
scanf (%d, i); while (i = 10) {
sum += i; i++; }
printf (sum=%d\n, sum);};一般形式:
for(表达式1;表达式2;表达式3)语句
说明:
表达式1:循环变量赋初始值
表达式2:循环条件
表达式3:循环变量增值
语句:循环体
表达??1、表达式2和表达式3可省略;;#include stdio.h
void main() {
int i, sum = 0;
for (i = 1; i = 100; i++)
sum += i;
printf (%d\n, sum);
};#include stdio.h
#include math.h
void main() {
int m, i, k;
scanf (%d, m);
k = sqrt (m);
for (i = 2; i = k; i++)
if (m % i == 0) break;
if (i k)
printf (%d是素数\n, m);
else
printf (%d不是素数\n, m);
};goto语句以及用goto语句构成循环 ; 结构化程序设计方法主张限制使用goto语句,因为滥用goto语句将使程序流程无规律、可读性差。
一般来说,可以有两种用途:
(1) 与if语句一起构成循环结构;
(2) 从循环体中跳转到循环体外。
但是这种用法不符合结构化原则,一般不宜采用,只有在不得已时(例如能大大提高效率)才使用。;#include stdio.h
void main( ) {
int i = 1, sum = 0; loop:
if (i = 100) {
sum += i; i++; goto loop; } printf (%d\n, sum);
};四种循环都可以用来处理同一问题,一般情况下它们可以互相代替。一般不用goto型循环;
用while和do …while循环时,循环变量初始化的操作在whi
文档评论(0)