c语言自编程序 递增的牛群,C語言程序设计案例教程.ppt

《 C语言程序设计案例教程》

Huanghuai University Department of Information Engineering

主讲:傅 丰

黄淮学院信息工程学院

北京大学出版社

汪新民、刘若慧主编

第三章 C程序的流程设计

§1 算法

§2 C语句概述

§3 选择结构程序设计

§3.1 双分支结构(if-else)

§3.1~3.2多分支结构(else if、switch)

§4 循环结构程序设计

§4 循环结构程序

一、while和do-while 语句

while (条件) 循环体;

do

循环体;

while (条件);

1、若循环体为多条语句,应用{ }括起来构成复合语句。

2、循环体中应有使循环结束的语句,否则会出现死循环。

说 明

条件为真(非0即真)时,执行循环体;然后再判断条件,为真时再执行循环体,直到条件为假时结束循环语句,执行后续语句。

先执行循环体,再判断条件。为真则执行循环体,然后再判断条件,为真时再执行循环体,直到条件为假时结束循环,执行后续语句。

先判断后执行

先执行后判断

P98习题10:

main( )

{ int n=0;

while (n++<=1)

printf(“%d\t”,n);

printf(“%d\n”,n);

}

n=0+1

n=1+1

2<=1不成立

输出n 的值

输出n 的值

输出n 的值

n

1

2

3

0<=1成立

n=2+1

1<=1成立

n=0

0

1

2

3

循环体为多个语句时要用{ } 括起来

应在条件表达式或循环体中改变条件表达式的值,否则会出现死循环。

2次

输出n 的值

P98习题10用do-while实现的对比:

main( )

{ int n=0;

do printf(“%d\t”,n);

while(n++<=1);

printf(“%d\n”,n);

}

n=0+1

n=1+1

2<=1不成立

输出n 的值

输出n 的值

输出n 的值

n

0

1

3

0<=1成立

n=2+1

1<=1成立

n=0

0

1

2

3

2

3次

P83例14~16:

main( ){ int number=0; while (number<=1) { number++; printf(“%d\n”,number); }}

main( )

{ int number=0;

while (number++<=1)

printf(“*%d\n”,number);

printf(“**%d\n”,number);

}

#include “stdio.h”main( ){ int c; while ((c=getchar( ))!=EOF) putchar(c);}

main( ){ int c; c=getchar( ); while (c!=EOF); { putchar(c); c=getchar( ); }}

eehh^z

*1*2**3

12

EOF为符号常数,在stdio.h中定义:#define EOF –1(当键盘输入^Z或遇到文件结束标志时,其值为-1)

14

15

16

类似P98习题10

(1) 1+3+5+…+99(2) 2+4+6+…+100(3) 1-2+3-4+…+99-100

(4)

(5)

#include “stdio.h”void wait_a_char(char c){ char ch; while ((ch=getchar( ))!=c); return( );}

P83例17:口令检查函数

将循环体合并到了条件表达式中

P12例6:求1+2+3+…+10

main( ){ int s=0, i=1; while (i<=10) { s=s+i; i=i+1; } printf(“s=%d\n”,s);}

课后练习

main( ){ int s=0, i=1; do { s=s+i; i=i+1; } while (i<=10); printf(“s=%d\n”,s);}

P85例18:搬砖问题。

main( ){ int x=0,y,z; while (x<=8) { y=0; while (y<=11) { z=36-x-y; if (4*x+3*y+z/2= =36)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值