您的位置:首页 > 编程语言 > C语言/C++

C语言6章循环结构

2015-11-02 16:00 423 查看
7.1.1 什么是重复执行

重担执行,意味着反反复复地执行一条语句,什么样的语句 呢?两种,一种是完全相同的语句,另一种是结构十分相似的语句 ,总之是一些可以转化成重复执行的操作。

有for,while,do-while

无论何种机制,一定满足3个通俗的条件之一或多个,有起点,有终点,有重复执行的语句。

三种循环都能实现循环,虽然各有千秋,但是功能可以完全相互替代,下面我们通过两个示例来分别比较3种循环的实现方式。

示例 1 编程获取用户输入的5个整数,然后输出5个整数中最小的整数。

实现的方法有多种,本小节只比较3种循环实现的方法。无论如何循环的次数最多5次,也就是说本循环的次数是确定的。

用for循环来实现:

#include<stdio.h>

int main(int argc,char* argv[])
{
int num1,num2;
scanf("%d",&sum1);
for (int i=1;i<=4;i++)
{
scanf("%d",&num2);
if (num1>num2)
num1=num2;

}
printf("最小的数是%d",num1);
return 0;
}


while

#include<stdio.h>
main()
{
int num1,num2;
scanf("%d",&num1);
int i =1;
while(i<=4)
{

scanf('%d',&num2);
if (num1>num2)
num1=num2;
i++;

}
printf("最小的数是");
return 0;

}


do-while

#include <stdio.h>

main()
{

int num1,num2;
scanf("%d",&num1);
int i=1;
do
{
scanf("&d",&num2);
if (num1>num2)
num1=num2;
i++;

}while(i<=4)

printf("最大的数是%d:");
return 0;

}


结:

for 循环和while循环都是先判断,再执行循环体,而do-while是执行循环体再判断。while 与do-while循环的条件表达式只能放循环的终止条件,起始和步进条件分别放在循环的前面与循环的里面。

示例2 由用户输入 一串字符,编程判断字符串中字符‘a’出现的次数。

for

#include<stdio.h>

main()
{

puts("input an string");
char c=getchar();
int coun_numm =0;
for (;c!='\n';)
{

if (c=='a')
count_num++;
c=getchar();

}
printf("字母a的数目是:%d",count_num);
return 0;

}


while

#include <stdio.h>
main()

{

puts("inpuit a string");
char c=getchar)_;
int count_num=0;
while(c!='a')
{

if (c=='a')
count_num++;
c=getchar();

}

printf("字母a的个数是%d",count_num);
return 0;

}


do-while

#include <stdio.h>

main()
{
puts("input an string");
char c;
int count_num =0;

do
{
c = getchar ();
if (c=='a')
count_num++;

}while(c!='\n')
printf("字母a的个数是%d",count_num);
return 0;

}


for 的3个表达式可以依据问题的需要任意省略和填充,因此它的书写方式也是最灵活的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: