当前位置:文档之家› 循环结构程序设计1

循环结构程序设计1


下面程序的功能是实现从键盘输入若干学生的成 绩,统计最高成绩,当输入负数是结束输入。
#include<stdio.h>
void main()
{int score,max;
( 1
);
max=score; while( 2 ) { if(max<score) ( 3 ); scanf(“%d”,&score);} printf(“max=%d\n”,max);}
第五章 循环结构程序设计
5.2 do …while语句
特点:先执行循环体,然后判断循环条件是否成立。
一般形式:
do 循环体语句
while (表达式);
执行过程:
先执行一次指定的循环体语句,然后判别表达式, 当表达式的值为非零(“真”) 时,返回重新执行循环体 语句,如此反复,直到表达式的值等于0为止,此时循 环结束。
第五章 循环结构程序设计
下面程序段的运行结果是 ______。
a=1;b=2;c=2;
while(a<b<c)
{t=a;a=b;b=t;c--;}
printf(“%d,%d,%d”,a,b,c);}
A) 1,2,0 B)2,1,0 C) 1,2,1 D) 2,1,1
第五章 循环结构程序设计
编程序求1+3+5+7+9+…。如果累加数大于750 时, 则程序终止并输出结果。
第五章 循环结构程序设计
例5.1:
float score,average=0; int n=0; do { scanf("%f",&score); if (score>=0) {average+=score;n++;} }while (score>=0); if(n!=0) average/=n; printf("%6.2f\n",average);
第五章 循环结构程序设计
2 循环结构与顺序结构以及选择结构的比较:
A
B
Y
条件
N
A
B
选择结构中满足条件的语句执行 顺序结构中的语句只执行一次 一次,而不满足的一次也不执行
第五章 循环结构程序设计
循环结构:按照一定的条件反复执行某一处理步 骤的结构。
条 件P



A

A
条 件P

第五章 循环结构程序设计
[<初始化>]
while(循环条件) { <循环体> }
第五章 循环结构程序设计
i=1; while (i <= 100) { ... i++; }
while 循环三要素举例应用
i
i 1
100
#include <stdio.h> void main() { int i,sum=0; 循环变量初值 i=1; while (i<=100) { sum+=i; i++; } printf("%d",sum); }
当型循环
直到型循环
循环语句
1. if语句与goto语句
2. while 语句
3. do …while 语句
4. for语句
第五章 循环结构程序设计
5.1 while语句
while语句通过判断循环控制条件是否满足来决定是 否继续循环,又称“当型”循环 。
一般形式:
while (表达式) 循环体语句
#include<stdio.h> void main() {int n,s,i; s=0; printf(“请输入一个正整数:”)); scanf(“%d”,&n); while(i<=n) { s=s+i;i=i+2;} printf(“0到n以内所有奇数之和为:%d\n”,s);}
第五章 循环结构程序设计
A) while循环执行10次 B) 循环是无限循环
C) 循环体语句一次也不执行
D) 循环体语句执行一次
第五章 循环结构程序设计
教材P88---2,程序运行时,输入12345,则 输出结果是多少?
……
{long data;
scanf(“%ld”,&data);
while(data)
{ printf(“%ld”,data%10); data=data/10; } }
int score; scanf("%d", &score); while(score>=0) { /*循环结构*/
......
scanf("%d",&score); }
第五章 循环结构程序设计
switch(score/10)
/*循环体嵌套选择结构*/
{
case 10: case 9: printf("%d:A\n", score); break; case 8: case 7: printf("%d:B\n",score); break;
if(n1<n2)
a=n1,b=n2;
{t=n1;n1=n2;n2=t;}
while(b!=0)
{ t=a%b; a=b; b=t; }
printf("GYS is:%d\n",a);
printf(“GBS is:%d\n”,n1*n2/a);}
第五章 循环结构程序设计
编写程序:输入正整数n,求0到n以内所以 奇数之和。
第五章 循环结构程序设计
第五章 循环结构程序设计
问题1:
sum=1+2+3+…+100;
问题2:
求学生平均成绩,分数相加后除以科目数
特点:一组重复执行的语句。
第五章 循环结构程序设计
5.1 问题提出
循环结构的概念 What
循环结构是指在算法中从某处开始,按照一定的条 件反复执行某一处理步骤的结构。
第五章 循环结构程序设计
{
int y=1;
while(y--) ; printf("y=%d\n",y);
}
以上程序段执行后的输出结果是____。
A)y=0 C)y=1 B)y= -1 D)while构成无限循环
第五章 循环结构程序设计
例5.1:输入一个班学生的成绩,求全班的平均成绩。
分析:
输入成绩、计算平均成绩都是一个重复性过程,因 此可以用循环语句来实现。 在这里,我们并不知有多少个学生,也就是说不知 循环到底有多少次,但考虑到成绩没有负数,这样就 可以把循环条件定为:每当输入的分数大于等于0时就 继续输入成绩;输入的分数小于0时就停止输入。
第五章 循环结构程序设计
*使用while语句的时候,要注意一下问题:
1)循环体如果包含一个以上的语句,应该用花括号 括起来,以复合语句的形式程序。
2)在循环体中应有使循环体趋向于结束的语句。 3)循环体语句有可能一次也不执行。
第五章 循环结构程序设计
例5.14 编写给多个学生的成绩评定等级的程序。
第五章 循环结构程序设计
• 选用合适的结构 组织步骤 • 注意输入、处理 和输出三个环节 的逻辑性
•符合语法 •符合逻辑
例:用while语句构成循环,求
设计与编码
开始 sum=0 i100
T
sum+=i i++
输出sum
结束
源程序: #include <stdio.h> void main() { int sum = 0; //变量sum将用于存储累加和,将它初始化为0。 int i = 1; //i是每次要加的数,它从1开始。 while ( i<= 100) { sum += i; i++; } printf("1到100累加和为:%d",sum); //输出累加结果: }
注意: 循环体如果为一条以上的语句,
第五章 循环结构程序设计
应使用复合语句。
9
知识拓展:while 循环三要素
三要素 : 为了使得循环有开始的机会,一般而言,与循环条件相关 的变量需要进行一定的初始化操作。 循环需要有结束的机会。 循环主体中的语句必须修改循环条件的值,否则会形成死 循环
第五章 循环结构程序设计
以下程序实现什么功能,测试数据: I’m a student!
#include <stdio.h>
void main()
{int m=0,n=0;
char c;
while((c=getchar())!=„\n‟) if(c>=„A‟&&c<=„Z‟) m++; if(c>=„a‟&&c<=„z‟) n++; } printf(“%d,%d\n”,m,n);}
判断一个数被另一个数除,用取模运算%。三个条 件是“与”的关系。 一行打印五个数,可以通过计数到5再回车换行。
case 6: printf("%d:C\n",score); break;
default: printf("%d:D\n",score); }
第五章 循环结构程序设计
例5.17: 电文加密问题。
已知电文加密规律为:将字母变成其后面的第4个字 母,其他字符保持不变。
例如,a→e,A→E,W→A。 编写一个程序,输入一行字符,要求转换成加密电 文输出。
第五章 循环结构程序设计
循环条件
思考 : 如果将循环条件改 为 i<100结果有何变 化? 如将循环体中i++去 掉会怎样? 如果累加到1000该 如何修改程序? 。。。
相关主题