C语言程序设计教程CJ_03C语言程序的流程控制_第3版课件

PPT
  • 阅读 36 次
  • 下载 0 次
  • 页数 35 页
  • 大小 423.501 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
C语言程序设计教程CJ_03C语言程序的流程控制_第3版课件
可在后台配置第一页与第二页中间广告代码
C语言程序设计教程CJ_03C语言程序的流程控制_第3版课件
可在后台配置第二页与第三页中间广告代码
C语言程序设计教程CJ_03C语言程序的流程控制_第3版课件
可在后台配置第三页与第四页中间广告代码
C语言程序设计教程CJ_03C语言程序的流程控制_第3版课件
C语言程序设计教程CJ_03C语言程序的流程控制_第3版课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 35
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
文本内容

【文档说明】C语言程序设计教程CJ_03C语言程序的流程控制_第3版课件.ppt,共(35)页,423.501 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44516.html

以下为本文档部分文字说明:

辽宁师范大学计算机与信息技术学院蔡静本人版权所有,盗版必究。Page2目录C语言程序设计初步数据描述与基本操作C程序的流程控制函数数组指针结构体和共用体位运算文件综合应用第三章C程序的流程控制3.1算法3.2用C语

句描述算法3.3选择型程序设计3.4循环型程序设计辽宁师范大学蔡静Page43.1.1算法的组成要素与基本性质1、算法的组成要素:操作控制结构顺序选择循环ABCCAAC假真真假真假BA辽宁师范大学蔡静Page53.2用C语句描

述算法语句函数文件模块程序(语句都以分号结束)辽宁师范大学蔡静Page65类C语句表达式语句赋值语句;函数调用语句;空语句;复合表达式语句控制语句条件语句if()~else~if()~多分支选择语句switch循环语句for()~while()~do~while()

限制转向语句break中止循环或分支;continue结束本次循环;return从函数返回goto转移语句其他:声明语句;复合语句:把多个单语句用{}括起来辽宁师范大学蔡静Page73.3选择型程序设计3.3.1---3.3.2if…else结构一、功能:对表达式进行判

断,若为“真”(非零),就执行if分结构(语句1);否则(值为0),就执行else分结构(语句2)。说明:表达式为关系表达式、逻辑表达式或数值数据;语句可为单句或复合语句。真假if(表达式)语句1else语句2语句1语句2表达

式辽宁师范大学蔡静Page8二、功能:若表达式为“真”(非零),则执行语句,否则执行if语句的下一语句。语句if(表达式)语句表达式假真辽宁师范大学蔡静Page9例:例1:键盘输入一个数,求其绝对值。例2:从键盘上输入两个数,求最大数。从键盘上输入三个数,求最大数。例3:键盘输入某年,输出该年

是否闰年。Page10If(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3......elseif(表达式n)语句nelse语句n+1If-else的嵌套:else总与最近的if匹配,层层对应。因此

在if中嵌套时最好有else语句,或用括号将内嵌的语句括起来。真假┇表达式1表达式2表达式n语句n+1语句n语句2语句1…真真假假辽宁师范大学蔡静Page11例:例:从键盘上输入一个学生三门课程的成绩,计

算其平均成绩高于80分时,输出A;平均成绩在70~80分之间,输出B;60~70之间时,输出C;平均成绩不及格(小于60分)时,输出*。真假score>=80score>=70等级A真假输入scorescore>=60等

级B等级D等级C辽宁师范大学蔡静Page12例:例:求一元二次方程ax2+bx+c=0的根。b=0输出“无解”输出单根:x=-c/b假真disc<0输出两复数根输出两实根真假a=0真假disc=b*b-4*a*c辽宁

师范大学蔡静Page133.3.3switch语句导入:例1:键盘输入数字月份,输出该月的英文。算法分析:输入月份判断某月输出该月英文……开始结束…………辽宁师范大学蔡静Page14格式一:switch(表达式){case常量表达式1:语句块1;break;case常量表达式2:语句

块2;break;…...case常量表达式n:语句块n;break;default:语句块n+1;break;}说明:①计算switch的表达式,并以此值去依次找与之匹配的case分支,找到后将流程转到该case分支并执行后面语句块

;找不到匹配的case分支,则执行default分支中的语句块。②常量表达式为int,char型;③各case分支中常量表达式值各不相同,各case分支的顺序可换;④default分支可省略;⑤case分支若为空,则匹配时执行下一case分支,即多个case分支可公用;⑥swi

tch语句可嵌套。switch控制结构表达式语句块1常量表达式1语句块2常量表达式2语句块i常量表达式i:语句块n常量表达式n:语句块n+1default┇┇break;break;break;break;break;辽宁师范大学蔡静

Page15格式二:switch(表达式){case常量表达式1:语句块1;case常量表达式2:语句块2;…...case常量表达式n:语句块n;default:语句块n+1;}注意:①如果switch的判断表达式的值与case常量表达式

i的值匹配,在执行后面的语句块i之后,并不立即退出switch结构,而是继续执行语句块i+1,语句块i+2,┅.语句块n.语句块n+1.②应用。如:将整数转换成字符串。表达式语句块1常量表达式1语句块2常量表达式2语句块i常量

表达式i语句块n常量表达式n语句块n+1default┇┇switch控制结构辽宁师范大学蔡静Page16例1:键盘输入数字某月,输出该月的英文。例2:键盘输入某年某月,输出该年该月有多少天。例3:键盘输入某年某月某日,输出这是该年第多少天。输入

月份判断某月输出该月英文……开始结束…………辽宁师范大学蔡静Page17思考题:题1:给一个百分制成绩输出相应的成绩等级A、B、C、D、E。A:90-100;B:80-89;C:70-79;D:60-69;E:0-59题2:编写一程序。在屏幕上显示一菜单

,并根据用户的选择执行相应的功能。辽宁师范大学蔡静Page18迭代:不断用新值代替旧值,或由旧值递推出新值的过程.迭代的要素:初值迭代公式迭代次数或迭代终止标志例:人口增长兔子繁殖一元方程的迭代解法3.4循环型程序设计3.

4.1迭代与穷举算法辽宁师范大学蔡静Page193.4.1迭代与穷举算法(续)穷举:对问题的所有状态都一一测试,直到找到解或所有可能状态都测试过为止。例:录取新生百钱买百鸡搬砖辽宁师范大学蔡静

Page203.4.2while结构while(表达式)循环体说明:循环体中必须有语句能改变表达式的值,否则死循环;循环体可为单句或复句。表达式循环体真假辽宁师范大学蔡静Page21例:例1:求1到100的整数的和。例2:设有一张无穷大的纸,厚0.

1mm,问对折多少次才能达到珠峰高度(8848m)?例3:爱因斯坦的阶梯问题例4:欧几里德算法求最大公约数例5:牛顿迭代法求平方根辽宁师范大学蔡静Page223.4.3do…while结构说明:循环体中必须有语句能改变表达式的值,否则死循环;循环体可为单句或复句;循环体至少执行一

次。表达式循环体真假do循环体while(表达式)辽宁师范大学蔡静Page233.4.4for结构for(表达式1;表达式2;表达式3)循环体相当于:•表达式2•表达式1•循环体•表达式3•初始化•循环终止条件•循环

变量更值表达式1;while(表达式2){循环体表达式3;}真假辽宁师范大学蔡静Page24说明:表达式2多为关系、逻辑表达式或数值、字符型数据,表达式1、3可为赋值、逗号表达式等;表达式1、3皆可省略,此时等价为while语句,但分号不可省略。表达式1、2、3都省略,即for(;;)循环体

,相当于while(1)循环体,即死循环;表达式3或循环体中必须有语句改变表达式2的值,否则死循环。循环体为空语句时即for(表达式1;表达式2;);辽宁师范大学蔡静Page25例:例1:求1到100的整数的和。例2:设有一张无穷大的纸,厚0.1mm,问对折多少次才能达到珠峰高度(8848

m)?例3:打印九九乘法表例4:兔子繁殖问题,fibonacci数列例5:梯形法求数值积分累加求和:和置0累乘求积:积置1例:打印九九乘法表。一级算法:二级求精:①打印表头;②for(i=1;i<=9;i++){ⓐ换行;ⓑ打印第i行;}ⓑ打

印第i行:for(j=1;j<=i;j++)/*打印第j个乘式*/{printf(“%d*%d=%2d”,j,i,j*i);printf(“\t”);}例:(穷举)张丘建《算经》“百鸡问题”:鸡翁1值钱5,鸡母1值

钱3,鸡雏3值钱1。百钱买百鸡,问级翁、鸡母、鸡雏各几何?一级算法:for(cock=0;cock<=19;cock++)找满足方程组的hen,chick;二级求精:找满足方程组的hen,chickfor(hen=0;hen<=33;hen++)找满足方程组的chick;三级求精

:找满足方程组的chickchick=100-cock-hen;if((5.0*cock+3.0*hen+chick/3.0)==100.0)printf(“\n%dcock%dhen%dchick”,cock,hen,chick);方程组cock+hen+chick=100cock*

5+hen*3+chick/3=100例:Fibonacci数列——兔子繁殖问题(迭代)设有一对新生兔子,从第三个月开始,他们每月生一对兔子。按此规律,两年后有多少对兔子(假设无死亡)?分析:1、1、2、3、5、8、13、21…….从第三个月起,每月兔子数=上月老兔

子数+本月新生兔子数lnowloldlborn迭代关系:•lold=lborn=1lnow=lold+lbornPage293.4.5循环结构的中途退出与重复周期的中途结束1.break——中途退出循环结构格式:break;在switch语句终止某个case语句结

束本层循环。例0351:2.continue——提前结束一个重复周期格式:continue;结束本次循环,开始下一次循环。例0352:3.Goto语句格式:goto标号;跳转到标号处语句标号:语句例0353:Page30假•表达式1•……..•whi

le循环的下一语句•…….•表达式2Break真假真假•表达式1•…...•while循环的下一语句•…...•表达式2continue真假真While(表达式1){…….if(表达式2)break;}While(表达式1){…….if(表达

式2)continue;}…….…….辽宁师范大学蔡静Page31循环小结:循环次数已知与否:循环变量初始值的赋值;结束循环的方式。Page321.有一函数x(x<1)y=2x-1(1≤x<10)3x-11(10≤x)用s

canf函数输入x的值,求y值。2.给一个不多于5位的正整数,要求:求出他是几位数;分别打印出每一位数字;按逆序打印出各位数字。(如:原数是134,则输出431)Page333.输入两个正整数,求其中最大公约数和最小公倍数。4.猴子吃桃问题.猴子第一天摘下若干桃子,吃了一半,不过瘾,又

吃了一个;第二天又降剩下的桃子吃掉一半,又多吃了一个;以后每条都吃掉前一天剩下的一半零一个.到第十天想吃时,见只剩下一个桃子了.求第一天共摘了多少桃子.5.一球从100米高度自由落下,每次落地后发跳回原高度的一半,再落下。求

它第10次落地时共经过多少米?第10次反弹多高?辽宁师范大学蔡静Page34附:停止函数exit()exit()说明:返回值为0时,为正常停止;返回值为非0时,为非正常停止,且返回值代表停止的错误类型。要使用预编译命令:#include“stdlib.h”Thanks

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?