《程序的基本结构 (2)精选文档.ppt》由会员分享,可在线阅读,更多相关《程序的基本结构 (2)精选文档.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程序的基本结构程序的基本结构本讲稿第一页,共二十九页2课程简介:课程简介:本课程主要讲授C+程序设计语言的常用语法,重点培养学生的程序设计基本思想,良好的编程规范;让学生能够熟练地在Eclipse平台搭建合理的项目架构,调试代码,简单的测试及优化代码。平时成绩来源:平时成绩来源:平时成绩比例:45考试成绩比例:40作业15分(3次),上机15分,平时表现15分上课要求:上课要求:课前要预习,上大课要注意听讲,课后要去消化,小课课前要预习,上大课要注意听讲,课后要去消化,小课实验内容安排紧凑,上小课务必专注实验内容,多上机实实验内容安排紧凑,上小课务必专注实验内容,多上机实践,多问,课后还需要多
2、看书实践。践,多问,课后还需要多看书实践。本讲稿第二页,共二十九页3作业要求:作业要求:因为是你们本科生,所以对你们的作业必须严格要求。因为是你们本科生,所以对你们的作业必须严格要求。1 1、用标准作业纸封面和作业纸内纸、用标准作业纸封面和作业纸内纸2 2、作业名称要写上、作业名称要写上3 3、作业封面不规范是一定要扣、作业封面不规范是一定要扣0.20.2分分4 4、可打印或手写但必须抄题目、可打印或手写但必须抄题目5 5、作业必须用订书机装订好,否则是一定要扣、作业必须用订书机装订好,否则是一定要扣0.20.2分分5 5,注意提交截止日期,注意提交截止日期6 6、在提交截止日期后迟交作业,老
3、师不批改且作业成绩、在提交截止日期后迟交作业,老师不批改且作业成绩均为满分的一半、不交作业则成绩均为均为满分的一半、不交作业则成绩均为0 0分分 布置的作业和小课预习一定用练习本做,小课打开布置的作业和小课预习一定用练习本做,小课打开放在桌子右上角给老师检查,作为平时成绩参考!放在桌子右上角给老师检查,作为平时成绩参考!本讲稿第三页,共二十九页第一章第一章 程序的基本结构程序的基本结构本讲稿第四页,共二十九页5教材及授课结构教材及授课结构n本章目标本章目标n基本内容基本内容n扩展阅读扩展阅读n应用举例应用举例n习题习题本讲稿第五页,共二十九页6教学目标教学目标了解程序的基本知识了解程序的基本知
4、识q1)了解了解C+语言的发展演变语言的发展演变q2)通通过过简简单单程程序序了了解解C+程程序序结结构构,了了解解主主函函数数和和一一般般函函数数的的概概念念,了了解解结结构构化化程程序序设设计计与与面面向向对对象象程程序序设设计计的的程程序序框框架架特特征和程序设计技术的应用及发展趋势;征和程序设计技术的应用及发展趋势;q3)掌掌握握源源程程序序的的书书写写格格式式,包包括括标标识识符符和和关关键键(保保留留)字字的的使使用用,养养成成良好的编程习惯;良好的编程习惯;q4)掌握数据的输入输出(包括输入输出格式)方法。掌握数据的输入输出(包括输入输出格式)方法。本讲稿第六页,共二十九页7n1
5、、按历史发展的先后,可将程序设计语言分、按历史发展的先后,可将程序设计语言分为为机器语言、汇编语言和高级语言机器语言、汇编语言和高级语言。世界上第。世界上第一种计算机高级语言诞生于一种计算机高级语言诞生于1954年,它是年,它是FORTRAN语言。语言。n2、BASIC语言语言是是1964年在年在FORTRAN语言语言的基础上简化而成的,它是为初学者设计的小的基础上简化而成的,它是为初学者设计的小型高级语言。型高级语言。n3、C语言语言是是1972年由美国贝尔实验室年由美国贝尔实验室D.M.Ritchie 研制成功的。研制成功的。C+的发展的发展本讲稿第七页,共二十九页8C+的发展的发展n4、
6、C+是由是由AT&T Bell(贝尔贝尔)实验室实验室20世纪世纪80年代初在年代初在C语言的基础上开发成功的。语言的基础上开发成功的。nC+保留了保留了C语言原有的所有优点,增加了面语言原有的所有优点,增加了面向对象的机制。向对象的机制。nC+对对C的的“增强增强”,表现在两个方面:,表现在两个方面:n(1)在原来面向过程的机制基础上,对在原来面向过程的机制基础上,对C语言语言的功能做了不少扩充。的功能做了不少扩充。n(2)增加了面向对象的机制。增加了面向对象的机制。本讲稿第八页,共二十九页9程序设计语言程序设计语言 nC+的编程模式:的编程模式:n以以C语言为子集的结构化程序设计模式、以类
7、为核心的面向语言为子集的结构化程序设计模式、以类为核心的面向对象程序设计模式及以模板为机制的通用编程模式。对象程序设计模式及以模板为机制的通用编程模式。n当前流行的当前流行的C+程序设计语言工具程序设计语言工具 qVisual C+qEclipse C+qC+BuilderqDev-C+本讲稿第九页,共二十九页10基本内容基本内容 n1.1 几个简单的程序几个简单的程序n1.2 程序的基本结构和要素程序的基本结构和要素本讲稿第十页,共二十九页111.1 几个简单的程序几个简单的程序/例例1-1:在屏幕上显示:在屏幕上显示:This is my first program!#include/包含
8、基本输入输出库文件包含基本输入输出库文件using namespace std;/使用名字空间使用名字空间stdint main()/主函数名主函数名cout This is my first program!;/屏幕显示语句屏幕显示语句return 0;/表示程序顺利结束表示程序顺利结束 C+的程序由函数组成。该程序只由一个主函数的程序由函数组成。该程序只由一个主函数main()构成,每个()构成,每个 C+程序都必须包含一个且只有一个程序都必须包含一个且只有一个main函数。函数。一对花括号一对花括号“”是主函数的定界符是主函数的定界符 程序语句全部采用小写字母。区分大小写,书写采用自由格
9、式程序语句全部采用小写字母。区分大小写,书写采用自由格式语句用分号结束;一行可以写多个语句语句用分号结束;一行可以写多个语句 注释行注释行:以两个以两个“/”起头的任何文字起头的任何文字本讲稿第十一页,共二十九页12例例1-2:加法计算器程序:加法计算器程序教学设问:教学设问:(1)如何设计输入与输出?如何设计输入与输出?(2)如何选择变量及其数据类型?如何选择变量及其数据类型?(3)程序的基本结构应该是什么样?程序的基本结构应该是什么样?(4)如何编译、调试和运行程序?如何编译、调试和运行程序?操作步骤操作步骤:(1)提示用户输入待计算的两个数。提示用户输入待计算的两个数。(2)通过输入语句
10、得到数据。通过输入语句得到数据。(3)求出两个数的和。求出两个数的和。(4)输出运算结果。输出运算结果。本讲稿第十二页,共二十九页13例例1-2:加法计算器程序:加法计算器程序/例例1-2:加法计算器程序:加法计算器程序#include/包含基本输入输出库文件包含基本输入输出库文件using namespace std;/使用名字空间使用名字空间stdint main()/主函数名主函数名int x=0;int y=0;int sum=0;/定义三个变量定义三个变量cout x y;/输入两个变量的值输入两个变量的值sum=x+y;/加法计算加法计算cout x +y =sum endl;/输
11、出运算结果输出运算结果return 0;/表示程序顺利结束表示程序顺利结束本讲稿第十三页,共二十九页14使用使用C+语言编写计算机程序的基本步骤语言编写计算机程序的基本步骤n使用使用 C+语言编写计算机程序的基本步骤为:语言编写计算机程序的基本步骤为:n 阅读并清楚需要通过计算机程序解决的问题阅读并清楚需要通过计算机程序解决的问题是什么是什么n开发一个算法来解决这个问题(自然语言或开发一个算法来解决这个问题(自然语言或流程图,或伪代码描述)流程图,或伪代码描述)n 检查该算法的正确性检查该算法的正确性n将算法转换为将算法转换为 C+语句语句n测试并验证该测试并验证该 C+语言程序的正确性语言程
12、序的正确性本讲稿第十四页,共二十九页15例例1-3:根据三角形的三个边长求三角形面积:根据三角形的三个边长求三角形面积/例例1-3:求三角形面积:求三角形面积#include#include/包含标准数学函数库包含标准数学函数库using namespace std;/定义定义area()函数,其函数的返回值和形式参数函数,其函数的返回值和形式参数a,b,c都是双精度类型都是双精度类型double area(double a,double b,double c)double t=0.0;/定义保存中间值临时变量定义保存中间值临时变量 double s=0.0;/定义保存面积值的变量定义保存面积
13、值的变量t=(a+b+c)/2;/计算中间变量计算中间变量ts=sqrt(t*(t-a)*(t-b)*(t-c);/调用标准数学开平方函数调用标准数学开平方函数return s;/将运算结果将运算结果s的值返回,通过函数名的值返回,通过函数名area带回函数调用处带回函数调用处/主函数主函数int main()double x=0.0;/定义三角形的其中一条边定义三角形的其中一条边 double y=0.0;/定义三角形的其中一条边定义三角形的其中一条边 double z=0.0;/定义三角形的其中一条边定义三角形的其中一条边/调用调用area函数(参数使用几个确定的值)并将计算得到的结果直接
14、输出函数(参数使用几个确定的值)并将计算得到的结果直接输出cout 边长分别为边长分别为3、4、5的三角形面积为:的三角形面积为:area(3,4,5)endl;cout x y z;/调用调用area函数(参数为用户任意输入的值)并将计算得到的结果直接输出函数(参数为用户任意输入的值)并将计算得到的结果直接输出cout 三角形面积为:三角形面积为:area(x,y,z)endl;return 0;本讲稿第十五页,共二十九页161.2 程序的基本结构和要素程序的基本结构和要素n1.2.1 程序的基本结构程序的基本结构n1.2.2 输入与输出输入与输出n1.2.3 注释注释n1.2.4 标识符和
15、关键字标识符和关键字本讲稿第十六页,共二十九页171.2.1 程序的基本结构程序的基本结构全局变量说明全局变量说明#include using namespace std;子函数子函数1(形式参数)(形式参数)子函数局部变量说明子函数局部变量说明 语句序列语句序列。int main()局部变量说明局部变量说明 语句序列语句序列return 0;nC+程序由函数组成;至少包括主函数程序由函数组成;至少包括主函数main()和(或)若干个子函数。唯一的主()和(或)若干个子函数。唯一的主函数函数main()是整个程序的入口点。是整个程序的入口点。n一个函数又由变量及参数说明语句和语句序列一个函数又
16、由变量及参数说明语句和语句序列构成。构成。n每个语句必须用分号结尾。一个语句行可以每个语句必须用分号结尾。一个语句行可以写多个语句(写多个语句(但养成好的编程习惯必须一行但养成好的编程习惯必须一行只写一条语句只写一条语句),一个语句可以写在多行),一个语句可以写在多行上。上。nC+语言允许在程序中插入注释行。语言允许在程序中插入注释行。nC+语言提供了包括语言提供了包括I/O功能在内的大量功能在内的大量标准库函数,但调用这些函数时,必须在标准库函数,但调用这些函数时,必须在程序头部包含头文件。程序头部包含头文件。函函数数体体本讲稿第十七页,共二十九页181.2.2 输入与输出输入与输出ncin
17、表示输入流对象,其基本用法为:表示输入流对象,其基本用法为:cin v1 v2 vn;q在输入时,应注意用在输入时,应注意用空格空格或或tab键键将所输入的数据分隔开。将所输入的数据分隔开。q必须注意所输入数据的类型应与接受该数据之变量的类型相匹必须注意所输入数据的类型应与接受该数据之变量的类型相匹配,否则输入操作将会失败或者得到的将是一个错误的数据。配,否则输入操作将会失败或者得到的将是一个错误的数据。ncout表示输出流对象,其基本用法是:表示输出流对象,其基本用法是:cout e1 e2 em;q在输出时,要注意恰当使用字符串和换行符在输出时,要注意恰当使用字符串和换行符endl,提高输
18、出信息的可,提高输出信息的可读性。读性。cout x +y =sum xy;coutThisismyfirstprogram!;本讲稿第十九页,共二十九页201.2.2 注释注释nC+的注释有两种形式:的注释有两种形式:q/用于单行注释用于单行注释q/*/用于多行注释用于多行注释n注释可以出现在空白符允许出现的任何地方,注释可以出现在空白符允许出现的任何地方,但习惯上将注释和其所描述的代码相邻,一般但习惯上将注释和其所描述的代码相邻,一般可以放在代码的上方或右方,不放在下方。可以放在代码的上方或右方,不放在下方。n恰当使用注释可以使程序容易阅读。恰当使用注释可以使程序容易阅读。本讲稿第二十页,
19、共二十九页211.2.2 标识符和关键字标识符和关键字n是程序中变量、类型、函数和标号的名称。是程序中变量、类型、函数和标号的名称。n由字母、数字和下划线由字母、数字和下划线“_”组成,第一个字符不能是数字。组成,第一个字符不能是数字。n“大小写敏感大小写敏感”。n各种各种+编译器对在标识符中最多可以使用多少个字符的规定各不编译器对在标识符中最多可以使用多少个字符的规定各不相同,相同,ANSI标准规定编译器应识别标识符的前标准规定编译器应识别标识符的前6个字符。个字符。n在标识符中恰当运用下划线,大、小写字母混用以及使用较长的名在标识符中恰当运用下划线,大、小写字母混用以及使用较长的名字都有助
20、于提高程序的可读性。字都有助于提高程序的可读性。本讲稿第二十一页,共二十九页22标识符、关键词和标点符号n+关键词关键词asm,auto,bad_cast,bad_typed,bool,break,case,catch,char,class,const,const_cast,continue,default,delete,do,double,dynamic_cast,else,enum,except,extern,explicit,false,finally,float,for,friend,goto,if,inline,int,long,mutable,namespace,new,opera
21、tor,private,protected,public,register,reinterpret_cast,return,short,signed,sizeof,static,static_cast,struct,switch,template,this,throw,try,type_info,typedef,typeid,union,unsigned,using,virtual,void,volatile,whilen+还有还有12个标识符作为编译预处理个标识符作为编译预处理define,elif,else,endif,error,if,ifdef,ifndef,include,line,
22、progma,undef nC+的标点和特殊字符有的标点和特殊字符有!%&*()+=|;:?,./#本讲稿第二十二页,共二十九页23上机指导上机指导n1.4 C+集成开发环境集成开发环境qEclipse C+qVisual C+6.0qVisual C+2008(Visual C+9.0)n其他调试环境其他调试环境本讲稿第二十三页,共二十九页24应用举例应用举例n例例1-4计算下式的结果,其中计算下式的结果,其中x=-3.5,y=6.7#include#include/包含标准数学函数库包含标准数学函数库using namespace std;int main()double x=0;doub
23、le y=0;/将角度单位由度转换为库函数所要求的弧度值将角度单位由度转换为库函数所要求的弧度值x=-3.5/180*3.14159;y=6.7/180*3.14159;/计算三角函数并输出计算三角函数并输出cout sin(fabs(x)+fabs(y)/sqrt(cos(fabs(x+y)endl;return 0;本讲稿第二十四页,共二十九页25应用举例应用举例n例例1-5计算保险经纪人月薪计算保险经纪人月薪假定每一名保险经纪人的月工资都由三部分组成:假定每一名保险经纪人的月工资都由三部分组成:底薪奖金业务提成。底薪奖金业务提成。q奖金的颁发方法为:奖金为经纪人在公司的工作奖金的颁发方法
24、为:奖金为经纪人在公司的工作年数年数*10,即每年,即每年10元;元;q业务提成的颁发方法为:当月销售额的业务提成的颁发方法为:当月销售额的3提成。提成。n编程要求:当用户按照屏幕提示分别输入经纪人的底薪、工编程要求:当用户按照屏幕提示分别输入经纪人的底薪、工龄以及当月销售额后,程序计算并输出经纪人的月薪。龄以及当月销售额后,程序计算并输出经纪人的月薪。本讲稿第二十五页,共二十九页算 法 分 析1.输入底薪输入底薪baseSalary2.输入经纪人在公司的工作年数输入经纪人在公司的工作年数serviceYears3.计算奖金计算奖金bonus=10*serviceYears4.输入经纪人当月销
25、售额输入经纪人当月销售额totalSale5.计算提成计算提成additionalBonus=0.03*totalSale6.计算经纪人的月薪计算经纪人的月薪Salary=baseSalary+bonus+additionalBonus7.输出结果输出结果本讲稿第二十六页,共二十九页#include using namespace std;int main()double baseSalary=0.0;/定义底薪变量定义底薪变量 double bonus=0.0;/定义奖金变量定义奖金变量 double totalSale=0.0;/定义当月销售额变量定义当月销售额变量 double addi
26、tionalBonus=0.0;/定义提成变量定义提成变量 double Salary=0.0;/定义月薪变量定义月薪变量 int serviceYears=0;/定义工作年数变量定义工作年数变量cout baseSalary;cout serviceYears;bonus=10*serviceYears;/计算奖金计算奖金bonuscout totalSale;additionalBonus=0.03*totalSale;/计算提成计算提成additionalBonusSalary=baseSalary+bonus+additionalBonus;/计算经纪人的月薪计算经纪人的月薪Salary cout 该经纪人的月薪为:该经纪人的月薪为:Salary endl;return 0;本讲稿第二十七页,共二十九页28自我小结自我小结你觉得你在这节课程学了哪些知识?你觉得你在这节课程学了哪些知识?1)了解主函数和一般函数及库函数的概念;了解主函数和一般函数及库函数的概念;2)掌掌握握简简单单源源程程序序的的书书写写格格式式,包包括括标标识识符符和和关关键键字字的的使使用;用;3)掌握数据的输入输出方法。掌握数据的输入输出方法。本讲稿第二十八页,共二十九页29学好程序设计语言的唯一途径是 你的编程能力与你在计算机上投入的时间成 结 束 语本讲稿第二十九页,共二十九页