- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章循环编程
教学大纲;5.1 3种循环语句;循环条件;四种循环结构:;循环结构术语: ;s=1*1+2*2+3*3;5.1.2 while语句;表达式!=0?;Main()
{
int i=1;
while(i=100)
{
printf(“%d”,i);
i+=2;
}
printf(“\n”);
};注意:
循环体如果包含多个语句,应用“{ }”括起,否则while的范围仅到它之后第一个分号处;
循环体中一定要有与条件表达式相对应的量,并且要对其值进行修改;
while构成的是“当型”循环.;例5.1.2 求n!;循环条件;5.1.3 do---while语句;表达式!=0?;例5.1.4 求n!;例5.1.5 统计输入整数的个数,并求出输入的整数的和(输入-1时结束,-1不计在内)。;通常情况下while、do——while两种结构可以互换。 ;5.1.4 for语句;1、for语句的一般格式;2、执行过程;相当于:;例如:for(i=1;i=100;i++)
sum=sum+i;
;3、for语句的使用;3个表达式都可以是逗号表达式,即每个表达式都可以由多个表达式组成。3个表达式都是任选项,都可以省略,但是表达式间的分号不能省略。
表达式1省略,应在for之前对循环变量赋初值; 表达式2省略,则不判断条件,循环无终止进行下去;注意: 在for和while语句之后一般没有分号,有分号表示循环体就是分号之前的内容,即循环体不存在
例: while (i 100); i++;
例: for (i = 0; i 100; i++); printf(%d, i);
;选择三种循环的一般思路;死循环;例5.1.7 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数字本身。
例如: 153=1^3+5^3+3^3;菲波那契数列; 算法思想一(迭代法):
(1)打印f1、f2,
(2)用新值来替换原来的f1和f2,即f1=f1+f2, f2=f2+f1
(3)反复执行(1)、(2),直到条件满足为止;5.1.5 goto语句和语句标号;说明:;现代观点认为,混乱根源不在goto,而在标号
任何程序都可以不用goto就实现其功能
但在某些情况下,使用goto可以让程序更清晰;糟糕的goto;5.2 break语句与continue语句;例5.2.1:# include stdio.h
# define PI 3.14
main()
{ int r;
float area;;# include stdio.h
#define PI 3.14
main()
{ int r;
float area;;说明:
1、break语句可用于switch语句结构中
也???用于循环中。
2、continue语句只可用于循环中。
3、在循环嵌套中break与continue都只
影响包含它的那层循环;5.3 循环的嵌套;循环嵌套——循环中再套循环。
各种形式的循环均可以相互套用
常用于矩阵运算、报表打印类问题; for(i=0;………)
{ }
for(i=0;………)
{ } ;百钱买百鸡;百钱买百鸡----1;百钱买百鸡----2;九·九乘法表;九·九表框图和程序;思考题:;例 对以下程序修改, 完成各种图案的打印 ;例 输出以下图案;5.4 数组与字符串的使用;例5.4.2 输入10个任意的整数,计算其中正整数的平均值。;例5.4.3 编一程序,将两个字符串连接起来,不要用strcat函数。;5.5 指针的使用(二);显然,如下表达式是成立的:;设:int a[10],* p;
p=a;
则 p指向数组a 的0号元素,下列语句是等效的, 均是将10赋予a[1]。
a[1]=10; *(p+1)=10; *(a+1)=10; *(++p)=10;
即: *(p+1)= *(a+1)= *(++p)= a[1];即 ++p 或 p++ 正确,
但 ++a 或 a++ 错误;p;例 5.5.1:用指针处理数组
#includestdio.h
main()
{
int a [5]={2,4,8,16,32};
int *ptr;
for(ptr=a;ptr=a[4];ptr++) /*按正序输出数组元素*/
prin
文档评论(0)