《程序的基本结构优秀课件.ppt》由会员分享,可在线阅读,更多相关《程序的基本结构优秀课件.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序的基本结构1第1页,本讲稿共27页教材及授课结构l本章目标本章目标l基本内容基本内容l扩展阅读扩展阅读l上机指导上机指导l应用举例应用举例l习题习题2第2页,本讲稿共27页教学目标l了解程序的基本知识和上机环境,学习了解程序的基本知识和上机环境,学习l1)了解主函数和一般函数的概念,了解结构化程序设计与面向对象程序设计的程序框架特征和程序设计技术的应用及发展趋势;l2)掌握源程序的书写格式,包括标识符和关键(保留)字的使用;l3)了解编译预处理、编译和链接过程和从编辑源程序到程序运行的操作方法;l4)掌握数据的输入输出(包括输入输出格式)方法。3第3页,本讲稿共27页基本内容 l1.1 几
2、个简单的程序几个简单的程序l1.2 程序的基本结构和要素程序的基本结构和要素4第4页,本讲稿共27页程序设计语言 l通用应用软件通用应用软件l文字处理:Wordl表格处理:EXCELl科学计算MATLAB.l当前流行的程序设计语言工具当前流行的程序设计语言工具 lMicrosoft:VisualC+、VisualBasiclBorland:Delphi、C+BuilderlSun:JavalC与与C+5第5页,本讲稿共27页1.1 几个简单的程序/例例1-1:在屏幕上显示:在屏幕上显示:This is my first program!#include/包含基本输入输出库文件包含基本输入输出库
3、文件using namespace std;/使用名字空间使用名字空间stdint main()/主函数名主函数名cout This is my first program!;/屏幕显示语句屏幕显示语句return 0;/表示程序顺利结束表示程序顺利结束 C+的程序由函数组成。该程序只由一个主函数的程序由函数组成。该程序只由一个主函数main()构成()构成 一对花括号一对花括号“”是主函数的定界符是主函数的定界符 程序语句全部采用小写字母。区分大小写,书写采用自由格式程序语句全部采用小写字母。区分大小写,书写采用自由格式语句用分号结束;一行可以写多个语句语句用分号结束;一行可以写多个语句 注
4、释行注释行:以两个以两个“/”起头的任何文字起头的任何文字6第6页,本讲稿共27页例1-2:加法计算器程序/例例1-2:加法计算器程序:加法计算器程序#include/包含基本输入输出库文件包含基本输入输出库文件using namespace std;/使用名字空间使用名字空间stdint main()/主函数名主函数名int x,y,sum;/定义三个变量定义三个变量coutxy;/输入两个变量的值输入两个变量的值sum=x+y;/加法计算加法计算cout x +y =sum endl;/输出运算结果输出运算结果return 0;/表示程序顺利结束表示程序顺利结束7第7页,本讲稿共27页例1
5、-3:根据三角形的三个边长求三角形面积/例例1-3:求三角形面积:求三角形面积#include#include/包含标准数学函数库包含标准数学函数库using namespace std;/定义定义area()函数,其函数的返回值和形式参数函数,其函数的返回值和形式参数a,b,c都是双精度类型都是双精度类型double area(double a,double b,double c)double s,t;/定义本函数中用到的变量定义本函数中用到的变量s和和t为可描述实数的双精度类型变量为可描述实数的双精度类型变量s=(a+b+c)/2;/计算中间变量计算中间变量st=sqrt(s*(s-a)*
6、(s-b)*(s-c);/调用标准数学开平方函数调用标准数学开平方函数return t;/将运算结果将运算结果t的值返回,通过函数名的值返回,通过函数名area带回函数调用处带回函数调用处/主函数主函数int main()double x,y,z;/变量说明,定义三个可对实数进行操作的双精度类型变量变量说明,定义三个可对实数进行操作的双精度类型变量/调用调用area函数(参数使用几个确定的值)并将计算得到的结果直接输出函数(参数使用几个确定的值)并将计算得到的结果直接输出cout 边长分别为边长分别为3、4、5的三角形面积为:的三角形面积为:area(3,4,5)endl;coutxyz;/调
7、用调用area函数(参数为用户任意输入的值)并将计算得到的结果直接输出函数(参数为用户任意输入的值)并将计算得到的结果直接输出cout 三角形面积为:三角形面积为:area(x,y,z)endl;return 0;8第8页,本讲稿共27页1.2 程序的基本结构和要素l1.2.1 程序的基本结构程序的基本结构l1.2.2 输入与输出输入与输出l1.2.3 注释注释l1.2.4 标识符和关键字标识符和关键字9第9页,本讲稿共27页1.2.1 程序的基本结构全局变量说明全局变量说明#include using namespace std;子函数子函数1(形式参数)(形式参数)子函数局部变量说明子函数
8、局部变量说明 语句序列语句序列。int main()局部变量说明局部变量说明 语句序列语句序列return 0;lC+程序由函数组成;至少包括主函数程序由函数组成;至少包括主函数main()和(或)若干个子函数。唯一的主函()和(或)若干个子函数。唯一的主函数数main()是整个程序的入口点。是整个程序的入口点。l一个函数又由变量及参数说明语句和语一个函数又由变量及参数说明语句和语句序列构成。句序列构成。l每个语句必须用分号结尾。一个语句行每个语句必须用分号结尾。一个语句行可以写多个语句,一个语句可以写在多可以写多个语句,一个语句可以写在多行上。行上。lC+语言允许在程序中插入注释行。语言允许
9、在程序中插入注释行。lC+语言提供了包括语言提供了包括I/O功能在内的大量标准功能在内的大量标准库函数,但调用这些函数时,必须在程序头部库函数,但调用这些函数时,必须在程序头部包含头文件。包含头文件。函函数数体体10第10页,本讲稿共27页1.2.2 输入与输出lcin表示输入流对象,其基本用法为:表示输入流对象,其基本用法为:cinV1V2Vn;l在输入时,应注意用空格或tab键将所输入的数据分隔开。l必须注意所输入数据的类型应与接受该数据之变量的类型相匹配,否则输入操作将会失败或者得到的将是一个错误的数据。lcout表示输出流对象,其基本用法是:表示输出流对象,其基本用法是:coutE1E
10、2Em;l在输出时,要注意恰当使用字符串和换行符endl,提高输出信息的可读性。coutx+y=sumxy;cout This is my first program!;12第12页,本讲稿共27页1.2.2 注释lC+的注释有两种形式:的注释有两种形式:l/用于单行注释l/*/用于多行注释l注释可以出现在空白符允许出现的任何地方,注释可以出现在空白符允许出现的任何地方,但习惯上将注释和其所描述的代码相邻,一般但习惯上将注释和其所描述的代码相邻,一般可以放在代码的上方或右方,不放在下方。可以放在代码的上方或右方,不放在下方。l恰当使用注释可以使程序容易阅读。恰当使用注释可以使程序容易阅读。13
11、第13页,本讲稿共27页1.2.2 标识符和关键字l是程序中变量、类型、函数和标号的名称。是程序中变量、类型、函数和标号的名称。l由字母、数字和下划线由字母、数字和下划线“_”组成,第一个字符不能是数字。组成,第一个字符不能是数字。l“大小写敏感大小写敏感”。l各种各种+编译器对在标识符中最多可以使用多少个字符的规定各不相同,编译器对在标识符中最多可以使用多少个字符的规定各不相同,ANSI标准规定编译器应识别标识符的前标准规定编译器应识别标识符的前6个字符。个字符。l在标识符中恰当运用下划线,大、小写字母混用以及使用较长的名字都有助在标识符中恰当运用下划线,大、小写字母混用以及使用较长的名字都
12、有助于提高程序的可读性。于提高程序的可读性。14第14页,本讲稿共27页标识符、关键词和标点符号标识符、关键词和标点符号l+关键词关键词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,n
13、ew,operator,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,whilel+还有还有12个标识符作为编译预处理个标识符作为编译预处理define,elif,else,endif,error,if,ifdef,ifndef,inclu
14、de,line,progma,undef lC+的标点和特殊字符有的标点和特殊字符有!%&*()+=|;:?,./#15第15页,本讲稿共27页扩展阅读l1.3 C/C+背景背景l1.3.1程序设计语言的发展l1.3.2从C到C+16第16页,本讲稿共27页上机指导l1.4 Visual C+集成开发环境集成开发环境lVisualC+6.0lVisualC+2008(VisualC+9.0)l其他调试环境其他调试环境17第17页,本讲稿共27页应用举例l例例1-4计算下式的结果,其中计算下式的结果,其中x=-3.5,y=6.7#include#include/包含标准数学函数库包含标准数学函数
15、库using namespace std;int main()double x,y;/将角度单位由度转换为库函数所要求的弧度值将角度单位由度转换为库函数所要求的弧度值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;18第18页,本讲稿共27页应用举例l例例1-5计算保险经纪人月薪计算保险经纪人月薪假定每一名保险经纪人的月工资都由三部分组成:假定每一名保险经纪人的月工资都由三部分组成:底薪奖金业务提成。底薪奖金业务提成。
16、l奖金的颁发方法为:奖金为经纪人在公司的工作年数*10,即每年10元;l业务提成的颁发方法为:当月销售额的3提成。l编程要求:当用户按照屏幕提示分别输入经纪人的底薪、编程要求:当用户按照屏幕提示分别输入经纪人的底薪、工龄以及当月销售额后,程序计算并输出经纪人的月薪。工龄以及当月销售额后,程序计算并输出经纪人的月薪。19第19页,本讲稿共27页算算 法法 分分 析析1.输入底薪输入底薪baseSalary2.输入经纪人在公司的工作年数输入经纪人在公司的工作年数serviceYears3.计算奖金计算奖金bonus=10*serviceYears4.输入经纪人当月销售额输入经纪人当月销售额tota
17、lSale5.计算提成计算提成additionalBonus=0.03*totalSale6.计算经纪人的月薪计算经纪人的月薪Salary=baseSalary+bonus+additionalBonus7.输出结果输出结果20第20页,本讲稿共27页#include using namespace std;int main()/声明部分,定义程序中将用到的变量声明部分,定义程序中将用到的变量double baseSalary,bonus,totalSale,additionalBonus,Salary;int serviceYears;coutbaseSalary;coutserviceYe
18、ars;/计算奖金计算奖金bonusbonus=10*serviceYears;couttotalSale;/计算提成计算提成additionalBonusadditionalBonus=0.03*totalSale;/计算经纪人的月薪计算经纪人的月薪Salary Salary=baseSalary+bonus+additionalBonus;cout该经纪人的月薪为:该经纪人的月薪为:Salaryendl;return 0;21第21页,本讲稿共27页案例:案例:重量单位换算l编写一个重量单位换算程序,输入用公斤表编写一个重量单位换算程序,输入用公斤表示的重量,然后程序能够转换并输出用镑和示
19、的重量,然后程序能够转换并输出用镑和盎司表示的等效重量。盎司表示的等效重量。请输入重量(公斤):23转换为用磅表示的重量(磅):50.7055转换为用盎司表示的重量(盎司):811.287 教学设问教学设问 如何设计变量及选择相应的数据类型?如何设计变量及选择相应的数据类型?公斤、磅和盎司的转换公式是什么?公斤、磅和盎司的转换公式是什么?*更多案例见本书配套教材更多案例见本书配套教材C/C+C/C+语言程序设计案例教程语言程序设计案例教程 罗建军等编著,清华大学出版社罗建军等编著,清华大学出版社22第22页,本讲稿共27页问题分析l为保证程序能够处理带小数点的数值,变量的数据类型需为保证程序能
20、够处理带小数点的数值,变量的数据类型需选用可以对实数进行操作的双精度类型选用可以对实数进行操作的双精度类型double。故变量列。故变量列表为:表为:ldoublekilogram,pound,ounce;/公斤、镑、盎司l公斤、磅和盎司的转换公式:公斤、磅和盎司的转换公式:l1磅=16盎司=0.4536千克(公斤)l算法如下:算法如下:l1.得到用公斤表示的重量l2.将重量转化为磅:pound=kilogram/0.4536;l3.将磅转化为盎司:ounce=pound*16;l4.输出转换后的重量23第23页,本讲稿共27页/重量单位换算重量单位换算#include using names
21、pace std;int main()double kilogram,pound,ounce;/公斤、镑、盎司公斤、镑、盎司cout kilogram;pound=kilogram/0.4536;ounce=pound*16;cout转换为用磅表示的重量转换为用磅表示的重量(磅磅):poundendl;cout转换为用盎司表示的重量转换为用盎司表示的重量(盎司盎司):ounceendl;return 0;24第24页,本讲稿共27页进一步思考l如果要想从磅和盎司转换成公斤,应该怎么如果要想从磅和盎司转换成公斤,应该怎么修改程序?修改程序?l如果要想将本案例程序的输出改成如果要想将本案例程序的输
22、出改成*磅磅*盎盎司(磅和盎司都省略小数点后的位数),应司(磅和盎司都省略小数点后的位数),应该怎么修改程序?该怎么修改程序?25第25页,本讲稿共27页习题1.在计算机上调试运行本章的所有例题,熟悉实验环境和方法。在计算机上调试运行本章的所有例题,熟悉实验环境和方法。2.修改例修改例1-1程序,使其能够在计算机屏幕上显示:程序,使其能够在计算机屏幕上显示:*HelloWorld!*3.仿照例仿照例1-2的加法计算器程序,编写一个通用计算器程序,当用户输入两个数以后,可的加法计算器程序,编写一个通用计算器程序,当用户输入两个数以后,可以计算并输出这两个数的和、差、积、商。以计算并输出这两个数的
23、和、差、积、商。4.仿照例仿照例1-3,编写一个计算直角三角形斜边边长的程序,要求当输入直角三角形的,编写一个计算直角三角形斜边边长的程序,要求当输入直角三角形的两个直角边边长后,能够计算出第三边(即斜边)的边长。两个直角边边长后,能够计算出第三边(即斜边)的边长。5.仿照例仿照例1-4,编写程序,计算,编写程序,计算 在在x=3时的值。时的值。6.仿照例仿照例1-5,编写一个程序,当输入某学生,编写一个程序,当输入某学生“英语英语”课程的平时成绩、期中考试和课程的平时成绩、期中考试和期末考试成绩及各项占总成绩的比例后,可以计算出该生期末考试成绩及各项占总成绩的比例后,可以计算出该生“英语英语”课程的最终成课程的最终成绩。绩。26第26页,本讲稿共27页学好程序设计语言的唯一途径是学好程序设计语言的唯一途径是 你的编程能力与你在计算机上投入的时间成你的编程能力与你在计算机上投入的时间成 结结 束束 语语27第27页,本讲稿共27页
限制150内