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

上传人:汽*** 文档编号:569170644 上传时间:2024-07-27 格式:PPT 页数:47 大小:348.55KB
返回 下载 相关 举报
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 2章章 算法算法算法在程序中的重要性算法在程序中的重要性一个程序包含以下内容一个程序包含以下内容数据的类型与组织形式数据的类型与组织形式数据结构数据结构操作步骤操作步骤算法算法结构化程序设计方法结构化程序设计方法计算机语言计算机语言计算机算法计算机算法数值运算数值运算非数值运算非数值运算算法实例算法实例在一组数在一组数a1,a2,a3,a4,.,a10中找出最大值中找出最大值算法的特征算法的特征有穷性:有穷性:操作步骤有限操作步骤有限 确定性:确定性:每一步骤有确切定义每一步骤有确切定义输入:输入:0个或多个输入,从外界获得信息个或多个输入,从外界获得信息输出:输出:一个或多个输出,反

2、映数据处理结果一个或多个输出,反映数据处理结果有效性:有效性:每个步骤能执行,并有确定结果每个步骤能执行,并有确定结果“正确正确”的算法有优劣之分,时间、空的算法有优劣之分,时间、空间的复杂度间的复杂度算法的表达方式算法的表达方式自然语言自然语言流程图流程图N-S图图伪代码伪代码计算机语言计算机语言算法的表达方式算法的表达方式自然语言自然语言流程图流程图N-S图图伪代码伪代码计算机语言计算机语言如果如果x是正数,就打印是正数,就打印x;否则打印否则打印-x算法的表达方式算法的表达方式自然语言自然语言流程图流程图N-S图图伪代码伪代码计算机语言计算机语言x0打印打印x打印打印-xTF算法的表达方

3、式算法的表达方式自然语言自然语言流程图流程图N-S图图伪代码伪代码计算机语言计算机语言x0T F打印打印x打印打印-x算法的表达方式算法的表达方式自然语言自然语言流程图流程图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 prin

4、tf(%d, -x);判断框判断框处理框处理框输入输入/输出框输出框流程线流程线程序流程图常用符号程序流程图常用符号结构化程序设计方法结构化程序设计方法自顶向下自顶向下逐步细化逐步细化模块化设计模块化设计结构化编码结构化编码大任务分解为小任务大任务分解为小任务三种基本程序结构三种基本程序结构顺序结构顺序结构选择结构选择结构循环结构循环结构顺序结构流程顺序结构流程步骤步骤1步骤步骤2步骤步骤3选择结构选择结构(分支结构分支结构)流程流程语句组语句组1语句组语句组2条件条件YN循环结构流程循环结构流程语句组语句组条件条件YN第第4 4章章 选择结构选择结构选择结构选择结构(分支结构分支结构)流程流

5、程语句组语句组1语句组语句组2条件条件YN选择结构实例选择结构实例P.66 例例3.5 一元二次方程一元二次方程程序存在的问题:用户输入的数据必程序存在的问题:用户输入的数据必须保证须保证b2-4ac0,否则调用,否则调用sqrt函数函数会出错。会出错。改进:改进:P.86 例例4.1是否还有不完善之处?是否还有不完善之处?ifif语句语句if (条件条件) 语句语句if (条件条件) 复合语句复合语句else 复合语句复合语句if (条件条件) 语句语句else 语句语句ifif语句语句int x;printf(x=);scanf(%d,&x);if (x=0)printf(greater

6、than zero or equal to zeron);elseprintf(less than zeron);printf(Its a negativen);分别输入正数、负分别输入正数、负数、零,判断程序数、零,判断程序的运行结果的运行结果ifif语句语句int x;printf(x=);scanf(%d,&x);if (x=0)printf(greater than zero or equal to zeron);printf(Its a positive numbern);elseprintf(less than zeron);分别输入正数、负分别输入正数、负数、零,判断程序数、零,

7、判断程序的运行结果的运行结果关系运算符关系运算符 = = !=优先级高优先级高优先级低优先级低关系运算符关系运算符算术运算算术运算关系运算关系运算赋值运算赋值运算优优先先于于优优先先于于例:例:P.92 L.8关系表达式关系表达式用关系运算符连接算术表达式(或用关系运算符连接算术表达式(或字符字符/关系关系/逻辑逻辑/赋值表达式)形成赋值表达式)形成关系表达式的值是真关系表达式的值是真(以以1表示表示) 或或假假(以以0表示表示)字符字符/关系关系/逻辑逻辑/赋值表达式均以赋值表达式均以数值形式参加关系运算数值形式参加关系运算关系表达式关系表达式判断下面程序运行时显示的结果:判断下面程序运行时

8、显示的结果: int a=5,b=3; printf(%dn,ab); printf(%dn,(a3)(b=3); printf(%dn,a3b=3); printf(%dn,ab2); printf(%dn,a-3(b=2); printf(%dn,aA);逻辑运算符逻辑运算符! 非非& 与与| 或或运算规则见表运算规则见表4-2,4-3例例 P.93-94优先级优先级逻辑表达式逻辑表达式例:例:P.95-96 闰年的表达闰年的表达以逻辑运算符连接关系表达式和逻以逻辑运算符连接关系表达式和逻辑量形成辑量形成逻辑表达式的结果是真逻辑表达式的结果是真(以以1表示表示) 或或假假(以以0表示表示)

9、0和和1以外的数据以外的数据(数值、字符等数值、字符等)参参加逻辑运算时,以加逻辑运算时,以0为假,非为假,非0为真为真逻辑变量逻辑变量C+,C99版本使用版本使用类型符类型符 _Bool值为值为 true 和和 false头文件头文件 stdbool.hifif语句语句if (条件条件) 语句语句if (条件条件) 语句语句else 语句语句if (条件条件) 复合语句复合语句else 复合语句复合语句说明:说明:“条件条件”是关系表达是关系表达式或逻辑表达式,其值式或逻辑表达式,其值为为“真真”(非非0)或或“假假”(0)语句均要以分号结束,语句均要以分号结束, 括起的复合语句每句括起的复

10、合语句每句都以分号结束都以分号结束ifif语句语句例:例:P.88 例例4.3 三个数从小到大排列三个数从小到大排列例例 求分段函数的值求分段函数的值* 用多个平行的用多个平行的 if 语句表达语句表达* 用用 if else if else 表达表达* abs,pow,exp函数的使用函数的使用ifif语句语句if(条件条件1) 语句语句1else if(条件条件2) 语句语句2else if(条件条件3) 语句语句3.else 语句语句n例例:求一元二次方程的解:求一元二次方程的解输入输入a, b, c输出输出x1, x2b2-4ac0YN复数解复数解a0NYb0Y输出输出xNC=0YN无

11、解无解任意任意ifif语句的嵌套语句的嵌套if 语句的嵌套语句的嵌套 if (.) if (.) 语句语句1 else 语句语句2 else if (.) 语句语句3 else 语句语句4“语句语句”包括复合语包括复合语句句读教材读教材101页代码页代码条件运算符和条件表达式条件运算符和条件表达式条件运算符条件运算符 ? : 唯一的三目运算符唯一的三目运算符条件表达式条件表达式 表达式表达式1 ? 表达式表达式2 : 表达式表达式3 当表达式当表达式1 1为真时返回表达式为真时返回表达式2 2的值,的值,否则返回表达式否则返回表达式3 3的值的值条件运算符和条件表达式条件运算符和条件表达式例例

12、 intint a,b,xa,b,x; ; a=5; a=5; b=8; b=8; x= x=aab?a:bb?a:b; ; printf(%d,xprintf(%d,x););switchswitch语句实现多分支选择结构语句实现多分支选择结构switch (switch (表达式表达式) ) case case 常量表达式常量表达式1: 1: 语句语句1 1 case case 常量表达式常量表达式2: 2: 语句语句2 2 . . case case 常量表达式常量表达式n: n: 语句语句n n default: default: 语句语句n+1n+1 switchswitch语句实现

13、多分支选择结构语句实现多分支选择结构说明:说明:uswitchswitch会执行相符的分支之后的所有会执行相符的分支之后的所有语句;语句;u为了使程序在执行一个相符的分支后为了使程序在执行一个相符的分支后不再继续执行后面的语句,可使用不再继续执行后面的语句,可使用breakbreak语句终止语句终止switchswitch;u相邻的多个分支可执行共同的语句。相邻的多个分支可执行共同的语句。阅读下面的程序,判断编译和运行结果阅读下面的程序,判断编译和运行结果int x; char y;scanf(%d,x);if (90=x=100) y=A;if (80=x=89) y=B;if (70=x8

14、0) y=C;if (60=x70) y=D;else y=E;printf(Level:%cn,y);注意:注意:scanf函数中的地址运算符;函数中的地址运算符;90=x5) printf(y=20);printf(y=10);printf(%d,y); 注意:y没有被赋值的错误;分支结束后的语句阅读下面的程序,判断运行结果阅读下面的程序,判断运行结果float r,S;scanf(r=%f,&r);if (r=0)s=3.14159*r*r;printf(S=%f,s);elseprintf(radius can not be negative);注意:(1)条件后未写 造成分支语句不匹

15、配,(2)变量名大小写问题 ;阅读下面的程序,判断编译和运行结果阅读下面的程序,判断编译和运行结果int x,y;scanf(%d,&x);if (x1) y=x;if (1=x=10) y=3x-1;printf(y=%d,y);float x,y;scanf(%f,&x);if (x1) y=x;else if (x10) y=2*x-1;else y=3*x-1;printf(y=%f,y);提醒提醒数学式数学式10x20在计算机语言中的表达在计算机语言中的表达switch语句的特殊语法格式语句的特殊语法格式表达式的正确书写表达式的正确书写库函数的使用(见附录库函数的使用(见附录F)正确的数据类型正确的数据类型正确的程序结构正确的程序结构十分重要!十分重要!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号