第五章(课后作业)(2)

2019-01-12 16:26

}while(表达式);

例如:下面是一个可以输出30个“*”的do-while语句: i=1; do {

printf(\i++; }while(i<=30);

do-while语句的执行过程是:

首先执行一次循环体语句,然后计算表达式(循环条件)的值,若结果为“真”(非零),返回执行循环体语句,重复上述步骤,知道表达式的值为“假”(零)时结束循环,流程控制转到while语句的下一条语句。

【例5-4】把【例5-3】(求1~100的和)用do-while语句改写。 【程序代码】 #include main() {

int i=1,sum=0; do {

sum=sum+i;

}

i++;

}while(i<=100);

printf(\

使用do-while循环结构是应注意以下几点:

(1)do-while循环结构的特点是先执行循环体后判断条件,因此不管循环条件是否成立,循环体语句都至少被执行一次。这是他与while循环的本质区别。

(2)不论循环体是一个语句还是多个语句,花括号“{}”都不要省略。

(3)避免出现“死循环”。

(4)注意do-while循环最后的分号“;”不能省略。

【例5-5】求n!,即求n的阶乘,n由键盘输入。 #include main() {

int i=1,n; long s=1;

printf(\scanf(\do

}

{ s=s*i; i++;

}while(i<=n);

printf(\

小测验:

针对【例5-5】,思考下列问题:

(1)为什么不给s赋初值0,而赋初值为1? (2)为什么要把变量s定义为long?

(3)当输入的n值较大时,如20,程序会怎么样呢?如何解决?

5.2.3 for语句

for语句属于当型循环,其一般形式为: for(表达式1; 表达式2; 表达式3) {

循环体语句 }

例如:下面是一个可以输出30个“*”的for语句: for(i=1;i<=30;i++)

printf(\

for语句的执行过程是:

(1)首先进行表达式1的计算。

(2)判断表达式2的值,若值为“真”(非零),则执行循环体语句,然后转(3)执行;若为“假”(零),循环结束。 (3)进行表达式3的计算,然后转至第(2)步重复执行。 小测验:

根据for语句的执行过程,写出下面程序段的输出结果。 (1)for(i=1;i<=4;i++)

printf(\

(2)for(x=15;x>10;x-=2) printf(\

【例5-6】把例5-3(求1~100的和)用for语句改写。 【程序代码】 #include main() { }

int i,sum=0; for(i=1;i<=100;i++) { }

printf(\sum=sum+i;

本例中for语句的3个表达式实现了程序中的3个功能,即循环变量赋初值、循环条件和循环变量递增,因此写法更简洁。 小测验:

针对上面实例,思考下列问题:

(1)如果将i=1放置在for循环之前,即在for循环外提前对循环变量赋初值,那么for语句该怎么书写? (2)修改程序,计算1+3+5+……+99的值。 使用for语句时应注意以下几点: (1)for循环相当于下面的while循环: 表达式1: while(表达式2) {

循环体语句

表达式3; }

(2)for语句有3个表达式,它们之间由分号“;”分隔,不能更换成其他分隔符号。

(3)有时根据需要可以将for语句格式中的部分或所有表达式省略,比如可以写成如下形式: for( ;表达式2;表达式3) {循环体语句}

例5-6中代码可以改写为:


第五章(课后作业)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:螺杆泵的常见故障分析 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: