C语言程序设计第四版PPT 谭浩强.ppt

上传人:sccc 文档编号:5376858 上传时间:2023-07-01 格式:PPT 页数:47 大小:348.51KB
返回 下载 相关 举报
C语言程序设计第四版PPT 谭浩强.ppt_第1页
第1页 / 共47页
C语言程序设计第四版PPT 谭浩强.ppt_第2页
第2页 / 共47页
C语言程序设计第四版PPT 谭浩强.ppt_第3页
第3页 / 共47页
C语言程序设计第四版PPT 谭浩强.ppt_第4页
第4页 / 共47页
C语言程序设计第四版PPT 谭浩强.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《C语言程序设计第四版PPT 谭浩强.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第四版PPT 谭浩强.ppt(47页珍藏版)》请在三一办公上搜索。

1、第2章 算法,算法在程序中的重要性,一个程序包含以下内容,数据的类型与组织形式数据结构操作步骤算法结构化程序设计方法计算机语言,计算机算法,数值运算非数值运算,算法实例,在一组数a1,a2,a3,a4,.,a10中找出最大值,算法的特征,有穷性:操作步骤有限 确定性:每一步骤有确切定义输入:0个或多个输入,从外界获得信息输出:一个或多个输出,反映数据处理结果有效性:每个步骤能执行,并有确定结果“正确”的算法有优劣之分,时间、空间的复杂度,算法的表达方式,自然语言流程图N-S图伪代码计算机语言,算法的表达方式,自然语言流程图N-S图伪代码计算机语言,如果x是正数,就打印x;否则打印-x,算法的表

2、达方式,自然语言流程图N-S图伪代码计算机语言,算法的表达方式,自然语言流程图N-S图伪代码计算机语言,算法的表达方式,自然语言流程图N-S图伪代码1计算机语言,如果 x0 就 打印 x否则 打印-x,算法的表达方式,自然语言流程图N-S图伪代码2计算机语言,if x0 then print xelse print-x,算法的表达方式,自然语言流程图N-S图伪代码2计算机语言,if(x0)printf(%d,x);else printf(%d,-x);,判断框,处理框,输入/输出框,流程线,程序流程图常用符号,结构化程序设计方法,自顶向下逐步细化模块化设计结构化编码,大任务分解为小任务,三种基

3、本程序结构,顺序结构选择结构循环结构,顺序结构流程,步骤1,步骤2,步骤3,选择结构(分支结构)流程,语句组1,语句组2,条件,Y,N,循环结构流程,语句组,条件,Y,N,第4章 选择结构,选择结构(分支结构)流程,语句组1,语句组2,条件,Y,N,选择结构实例,P.66 例3.5 一元二次方程程序存在的问题:用户输入的数据必须保证b2-4ac0,否则调用sqrt函数会出错。改进:P.86 例4.1是否还有不完善之处?,if语句,if(条件)语句,if(条件)复合语句else 复合语句,if(条件)语句else 语句,if语句,int x;printf(x=);scanf(%d,分别输入正数、

4、负数、零,判断程序的运行结果,if语句,int x;printf(x=);scanf(%d,分别输入正数、负数、零,判断程序的运行结果,关系运算符,=!=,优先级高优先级低,关系运算符,例:P.92 L.8,关系表达式,用关系运算符连接算术表达式(或字符/关系/逻辑/赋值表达式)形成关系表达式的值是真(以1表示)或假(以0表示)字符/关系/逻辑/赋值表达式均以数值形式参加关系运算,关系表达式,判断下面程序运行时显示的结果:int a=5,b=3;printf(%dn,ab);printf(%dn,(a3)(b=3);printf(%dn,a3b=3);printf(%dn,ab2);print

5、f(%dn,a-3(b=2);printf(%dn,aA);,逻辑运算符,!非&与|或,运算规则见表4-2,4-3,例 P.93-94,优先级,逻辑表达式,例:P.95-96 闰年的表达以逻辑运算符连接关系表达式和逻辑量形成逻辑表达式的结果是真(以1表示)或假(以0表示)0和1以外的数据(数值、字符等)参加逻辑运算时,以0为假,非0为真,逻辑变量,C+,C99版本使用类型符 _Bool值为 true 和 false头文件 stdbool.h,if语句,if(条件)语句if(条件)语句else 语句if(条件)复合语句else 复合语句,说明:“条件”是关系表达式或逻辑表达式,其值为“真”(非0

6、)或“假”(0)语句均要以分号结束,括起的复合语句每句都以分号结束,if语句,例:P.88 例4.3 三个数从小到大排列,例 求分段函数的值,*用多个平行的 if 语句表达*用 if else if else 表达*abs,pow,exp函数的使用,if语句,if(条件1)语句1else if(条件2)语句2else if(条件3)语句3.else 语句n,例:求一元二次方程的解,if语句的嵌套,if 语句的嵌套 if(.)if(.)语句1 else 语句2 else if(.)语句3 else 语句4,“语句”包括复合语句,读教材101页代码,条件运算符和条件表达式,条件运算符?:唯一的三目

7、运算符条件表达式 表达式1?表达式2:表达式3 当表达式1为真时返回表达式2的值,否则返回表达式3的值,条件运算符和条件表达式,例 int a,b,x;a=5;b=8;x=ab?a:b;printf(%d,x);,switch语句实现多分支选择结构,switch(表达式)case 常量表达式1:语句1 case 常量表达式2:语句2.case 常量表达式n:语句n default:语句n+1,switch语句实现多分支选择结构,说明:switch会执行相符的分支之后的所有语句;为了使程序在执行一个相符的分支后不再继续执行后面的语句,可使用break语句终止switch;相邻的多个分支可执行共同

8、的语句。,阅读下面的程序,判断编译和运行结果,int x;char y;scanf(%d,x);if(90=x=100)y=A;if(80=x=89)y=B;if(70=x80)y=C;if(60=x70)y=D;else y=E;printf(Level:%cn,y);,注意:scanf函数中的地址运算符;90=x=100的正确表达;char类型,单引号与双引号;分支的结构与运行步骤。,阅读下面的程序,判断编译和运行结果,int x;char y;printf(input x:);scanf(%d,x);switch(x/10)case 10:y=A;case 9:y=A;,case 8:y

9、=B;case 7:y=C;case 6:y=D;default:y=E;printf(Level:%cn,y);,注意:同前;case后的数据类型;每个case后的break语句;使用相同语句的分支合并。,阅读下面的程序,判断运行结果,int x=13,y;if(x5)printf(y=20);printf(y=10);printf(%d,y);,注意:y没有被赋值的错误;分支结束后的语句,阅读下面的程序,判断运行结果,float r,S;scanf(r=%f,注意:(1)条件后未写 造成分支语句不匹配,(2)变量名大小写问题;,阅读下面的程序,判断编译和运行结果,int x,y;scanf(%d,float x,y;scanf(%f,提醒,数学式10 x20在计算机语言中的表达switch语句的特殊语法格式表达式的正确书写库函数的使用(见附录F)正确的数据类型正确的程序结构,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号