- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c程序设计谭浩强第3章
第三章 程序设计初步
3.1 面向过程的程序设计和算法
3.1.1 算法的概念
一个程序应包括对解决问题所需要的数据的描述和对数据处理的描述。
1.对数据的描述,即数据结构。
2.对数据处理的描述,即计算机算法。
算法是为解决一个问题而采取的方法和步骤,是程序的灵魂。为此,著名计算机科学家沃思(Nikiklaus Wirth)提出一个经典公式:
数据结构 + 算法 = 程序
案例3.1 输入三个数,求其最大值。
问题分析:
设num1,num2,num3存放3个数,max存放其最大值。
为求其最大值,就必须对3个数进行比较,可按如下步骤去做:
①输入3个数num1,num2,num3;
②先把第一个数num1的值赋给max;
③将第2个数num2与max比较,如果num2>max,则把第2个数num2的值赋给max(否则不做任何工作)
④将第3个数num3与max比较,如果num3>max,则把第3个数num3的值赋给max(否则不做任何工作)
⑤输出max的值,即最大值。
从案例中可以看出,首先分析问题,然后寻找一种实现这个问题所要完成功能的方法,这种方法的具体化就称为算法。因此可以说:算法是由一套明确的规则组成的一些步骤,他指定了操作顺序并通过有限个步骤将问题解决、得出结果。
3.1.2 算法的特性
一个算法应具有以下5个特性:
(1)有穷性
一个算法必须总是在执行有限个操作步骤和可以接受的时间内完成其执行过程。
(2)确定性
算法中的每一步都必须有明确的含义,不允许存在二义性。
(3)有效性
算法中描述的每一步操作都应该能有效地执行,并最终得到确定的结果。
(4)输入
一个算法有零个或多个输入数据。
(5)输出
一个算法有1个或多个输出数据。
3.1.2 算法的表示方法(P46)
算法的表示方法很多,常见的有:自然语言、传统流程图、N-S结构图、伪代码、PAD图等。
(1)用自然语言表示
自然语言就是人们日常使用的语言,可以是中文、英文等。用自然语言表示的算法通俗易懂,但一般篇幅冗长,表达上往往不易准确,容易引起理解上的“歧义性”。所以,一般用于算法较简单的情况。
(2)用传统流程图表示
传统流程图是用规定的一组符号、流程线和文字说明来表示各种操作算法的表示方法。传统流程图常用的符号如图3.1所示
案例3.1 用传统流程图描述的算法如下图所示。
(3)用N-S结构图表示
N-S结构图的目标是开发一种不破坏结构化基本构成元素的过程设计表示。其主要特点是:完全取消了流程线,不允许有随意的控制流,全部算法写在一个矩形框内,该矩形框以三种基本结构(顺序、分支、循环)描述符号为基础符合而成。
案例3.1 用N-S结构图描述如下
(4)用伪代码表示
伪代码是一种介于自然语言和计算机语言之间的文字和符号来描述算法。伪代码的表现形式比较灵活自由,没有严谨的语法格式。
案例3.1用伪代码描述如下
input num1,num2,num3
num1→max
if num2max then num2 →max
if num3max then num3 →max
print max
3.2 C++程序和语句
一 C++程序的组成 (P47)
预处理命令
声明部分
函数
二、C++的语句概述 (P48)
一条完整的语句必须以分号“;”结束。C++程序语句有如下几类:
(1)说明语句
用来说明变量的类型和初值。
如:
float a,b,c;
int sum=0;
(2)表达式语句
由一个表达式构成一个语句,用以描述算术运算、逻辑运算、或产生某种特定动作,在任何表达式最后加一个分号就构成了一个语句。
如:
c=a+b /*赋值表达式*/
c=a+b; /*赋值表达式语句*/
注:掌握表达式语句的用法,关键在于要正确理解有关表达式的内容。
(3)程序控制语句
用来描述语句的执行条件与执行顺序的语。C++的控制语句有9种,如下所示。其语句中的括号( )表示其中是条件,~表示内嵌的语句
if () ~ else 条件(分支)语句
switch 多分支选择语句
for () ~ 循环结构语句
while () ~ 循结构环语句
do ~ while () 循环结构语句
continue 结束本次循环语句
break 中止执行switch或循环语句
goto 转移语句
return 从函数返回语句
(4)复合语句
复合语句是由一对花括号{ }
您可能关注的文档
最近下载
- 痕迹检验复习试题有答案.doc
- 未成年人充值退款起诉书.docx VIP
- 2025年中国移动校园招聘考试笔试题库历年考试试题及答案.docx VIP
- 定量CT在健康管理中的应用指南(2024).pdf
- 《网约车运营管理》教学课件4-5 潜在客户分析及客户忠诚度提升.ppt VIP
- 排水泵房安全检查表.docx
- 我国实现双碳目标面临的现实挑战与对策建议.docx VIP
- 农技指导油菜机械化播栽与收获技术.pdf
- 第15课+列强入侵与中国人民的反抗斗争【中职专用】《中国历史》(高教版2023基础模块)-20240416165039.pptx
- 仁爱八年级下册Unit6Topic3SectionC优质公开课.ppt VIP
文档评论(0)