设为首页 加入收藏

TOP

第5章 简单的C程序设计——循环结构程序设计(一)
2019-05-23 14:39:30 】 浏览:225
Tags:简单 程序设计 循环 结构

5.1 为什么需要循环控制

前面介绍了程序中常用到的顺序结构和选择结构,但是只有这两种结构是不够的,还需要用到循环结构(或称重复结构)。因为在程序所处理的问题中常常遇到需要重复处理的问题。

  循环结构和顺序结构、选择结构是结构化程序设计的3中基本结构。

 

5.2 用while语句实现循环

while语句先判断是否符合条件,若符合,则执行while后面的语句(称为循环体)。

while语句的一般形式如下:

while(表达式)语句

其中的“语句”就是循环体。循环体可以是一句语句,也能是复合语句(用花括号括起来的若干条语句)。执行循环体的次数是由循环条件控制的,这个村换条件就是上面一般形式的”表达式”,它称为循环条件表达式,当表达式的值为“true”(以非0值表示),就执行循环体语句,为“false”(以0表示),就不执行循环体结构。

while语句可简单地记为:只要当循环条件表达式为真(即给定的条件成立),就执行循环体语句。

注意:while循环的特点是:先判断条件表达式,后执行循环体语句。

例:求1+2+3+……+100

编写程序:

 1 #include <stdio.h>
 2 int main()
 3 {
 4          int I = 1, sum = 0;
 5          while(i<=100)
 6         {
 7              sum += i;
 8              i++;
 9         }
10     printf(“sum=%d\n”,sum);
11     return 0;
12 }    
View Code
1 运行结果:sum=5050
code result

 

循环分析:

(1)循环体如果包含一个以上的语句,应该用花括号括起来,作为复合语句出现。如果不加花括号,则while语句的范围只到while后面的第1个分号处。如,本例中while语句中如雾化括弧啊,则while语句范围只到“sum += I;”编程死循环

(2)不要忽略给i和sum赋赋值(这是未进行累加前的初始情况),否则它们的值是不可预测的,结果显然不正确。可上机测试看看

(3)在循环体中应有使循环趋向于结束的语句。如,本例中使用i++;语句来达到此目的。

 

5.3 用do……while语句实现循环

除了while语句以外,C语言还提供了do……while语句来实现循环结构。如:

int I = 1;

do{

         printf(“%d”,i++);

}while(i<=100);

它的作用是:执行(do表示“做”)printf语句,然后检查i的值,当i小于或等于100时,就返回执行循环体(printf语句),直至i大于100为止。也可写成

do

         printf(“%d”,i++);

while(i<=100);

为了使程序清晰、易读,简易把循环体用花括号括起来。

do……while语句的执行过程是:先执行循环体,然后再检查条件是否成立,若成立,再执行循环体。这是和while语句是不同的。

注意:do……while语句的特点是:先无条件地执行循环体,然后判断循环条件是否成立。

do……while语句的一般形式为

do

         语句

while(表达式);

其中的“语句”就是循环体。

过程:先执行一次循环体语句,然后再判别表达式,当表达式的值为“true”(以非0值表示),就执行循环体语句,为“false”(以0表示),就不执行循环体结构。

例:while和do……while循环的比较

(1)用while循环

 1 #include <stdio.h>
 2 int main()
 3 {
 4          int i , sum = 0;
 5          printf(“please enter i=\n”);
 6          scanf("%d",&i);
 7          printf(“%d\n”,i);
 8          while(i<=100)
 9          {
10                   sum += i;
11                   i++;
12          }
13          printf(“sum=%d\n”,sum);
14          return 0;
15 }
while

 

运行的结果为:please enter i=100

sum = 100

(2)用do……while循环

 1 #include <stdio.h>
 2 int main()
 3 {
 4          int i , sum = 0;
 5          printf(“please enter i=”);
 6          scanf("%d",&i);
 7          printf(“%d\n”,i);
 8          do
 9          {
10                   sum += i;
11                   i++;
12          }while(i<=100)
13          printf(“sum=%d\n”,sum);
14          return 0;
15 }
do…while

 

运行的结果为:please enter i=100

sum = 201

两者的区别:对while循环来说,一次也不执行循环体(表达式“i<=10”的值为假),而对do……while循环语句来说则至少要执行一次循环体。结论:当while后面的表达式的第1次的值为“真”时,两种循环得到的结果相同;否则,二者结果不相同(指二者具有相同的循环体的情况)。

 

5.4 用for语句实现循环

for(表达式1;表达式2;表达式3)

         语句

3个表达式的主要作用是:

表达式1:设置初始条件,只执行一次。可以为零个、一个或多个变量设置初值。

表达式2:是循环条件表达式,用来判断是否继续循环。在每次执行循环体前先执行此表达式,决定是否继续执行循环。

表达式3:作为循环的调整,例如使循环变量增值,它是在执行完循环体后才进行的。

这样,for语句就可以理解为

for(循环变量赋初值;循环条件;循环变量增值)

         语句

例:

         for(i = 1;i<=100;i++)

                  sum += I;

for语句执行的过程如下:

(1)先求解表达式1.把整数1赋给变量i

(2)求解表达式2,若此条件表达式的值为真(非0),则执行for语句中循环体,然后执行第(3)步。若为假,转到第5步

(3)求解表达式3.

(4)转回步骤(2)继续执行

(5)循环结束,执行for语句下面的一个语句

for执行过程与下面一致

i = 1;

while(i<=1

首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇求给定精度的简单交错序列部分和 下一篇找出正确手机号码

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目