版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 程序的基本结构,3,教材及授课结构,本章目标 基本内容 扩展阅读 上机指导 应用举例 习题,4,教学目标,了解程序的基本知识和上机环境,学习 1)了解主函数和一般函数的概念,了解结构化程序设计与面向对象程序设计的程序框架特征和程序设计技术的应用及发展趋势; 2)掌握源程序的书写格式,包括标识符和关键(保留)字的使用; 3)了解编译预处理、编译和链接过程和从编辑源程序到程序运行的操作方法; 4)掌握数据的输入输出(包括输入输出格式)方法。,5,基本内容,1.1 几个简单的程序 1.2 程序的基本结构和要素,6,程序设计语言,通用应用软件 文字处理: Word 表格处理: EXCEL 科学
2、计算 MATLAB . 当前流行的程序设计语言工具 Microsoft: Visual C+、Visual Basic Borland: Delphi、C+Builder Sun: Java C与C+,7,1.1 几个简单的程序,/例1-1:在屏幕上显示:This is my first program! #include /包含基本输入输出库文件 using namespace std;/ 使用名字空间std int main( )/主函数名 cout This is my first program! ;/屏幕显示语句 return 0;/表示程序顺利结束 ,C+的程序由函数组成。该程序只
3、由一个主函数main()构成 一对花括号“ ”是主函数的定界符 程序语句全部采用小写字母。区分大小写,书写采用自由格式 语句用分号结束;一行可以写多个语句 注释行: 以两个“/”起头的任何文字,8,例1-2:加法计算器程序,/ 例1-2:加法计算器程序 #include /包含基本输入输出库文件 using namespace std;/使用名字空间std int main()/主函数名 int x, y, sum;/定义三个变量 coutxy;/输入两个变量的值 sum = x + y;/加法计算 cout x + y = sum endl; /输出运算结果 return 0;/表示程序顺利
4、结束 ,9,例1-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;/计算中间变量s t = sqrt(s*(s-a)*(s-b)*(s-c);/调用标准数学开平方函数 return t;/将运算结果t的值返
5、回,通过函数名area带回函数调用处 / 主函数 int main() double x, y, z;/变量说明,定义三个可对实数进行操作的双精度类型变量 /调用area函数(参数使用几个确定的值)并将计算得到的结果直接输出 cout xyz; /调用area函数(参数为用户任意输入的值)并将计算得到的结果直接输出 cout 三角形面积为: area(x, y, z) endl; return 0; ,10,1.2 程序的基本结构和要素,1.2.1 程序的基本结构 1.2.2 输入与输出 1.2.3 注释 1.2.4 标识符和关键字,11,1.2.1 程序的基本结构,全局变量说明 #inclu
6、de using namespace std; 子函数1 (形式参数) 子函数局部变量说明 语句序列 。 int main( ) 局部变量说明 语句序列 return 0; ,C+程序由函数组成;至少包括主函数main()和(或)若干个子函数。唯一的主函数main()是整个程序的入口点。 一个函数又由变量及参数说明语句和语句序列构成。 每个语句必须用分号结尾。一个语句行可以写多个语句,一个语句可以写在多行上。 C+语言允许在程序中插入注释行。 C+语言提供了包括I/O功能在内的大量标准库函数,但调用这些函数时,必须在程序头部包含头文件。,函数体,12,1.2.2 输入与输出,cin表示输入流对
7、象,其基本用法为: cinV1V2Vn; 在输入时,应注意用空格或tab键将所输入的数据分隔开。 必须注意所输入数据的类型应与接受该数据之变量的类型相匹配,否则输入操作将会失败或者得到的将是一个错误的数据。 cout表示输出流对象,其基本用法是: cout E1 E2 Em; 在输出时,要注意恰当使用字符串和换行符endl,提高输出信息的可读性。 cout x + y = sum endl;,13,输入输出图示,cinxy; cout This is my first program! ;,14,1.2.2 注释,C+的注释有两种形式: / 用于单行注释 /* */ 用于多行注释 注释可以出现
8、在空白符允许出现的任何地方,但习惯上将注释和其所描述的代码相邻,一般可以放在代码的上方或右方,不放在下方。 恰当使用注释可以使程序容易阅读。,15,1.2.2 标识符和关键字,是程序中变量、类型、函数和标号的名称。 由字母、数字和下划线“_”组成,第一个字符不能是数字。 “大小写敏感”。 各种+编译器对在标识符中最多可以使用多少个字符的规定各不相同,ANSI标准规定编译器应识别标识符的前6个字符。 在标识符中恰当运用下划线,大、小写字母混用以及使用较长的名字都有助于提高程序的可读性。,16,标识符、关键词和标点符号,+关键词 asm,auto,bad_cast,bad_typed,bool,b
9、reak,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,operator,private,protected,public,register,reinterpret_cast,return,short,signed,sizeof,static,stati
10、c_cast,struct,switch,template,this,throw,try,type_info,typedef,typeid,union,unsigned,using,virtual,void,volatile,while +还有12个标识符作为编译预处理 define,elif,else,endif,error,if,ifdef,ifndef, include,line,progma,undef C+的标点和特殊字符有 ! % : ? , . / #,17,扩展阅读,1.3 C/C+背景 1.3.1 程序设计语言的发展 1.3.2 从C到C+,18,上机指导,1.4 Visua
11、l C+集成开发环境 Visual C+ 6.0 Visual C+ 2008(Visual C+ 9.0) 其他调试环境,19,应用举例,例1-4计算下式的结果,其中x= -3 .5,y= 6.7,#include #include /包含标准数学函数库 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; retu
12、rn 0; ,20,应用举例,例1-5计算保险经纪人月薪 假定每一名保险经纪人的月工资都由三部分组成:底薪奖金业务提成。 奖金的颁发方法为:奖金为经纪人在公司的工作年数*10,即每年10元; 业务提成的颁发方法为:当月销售额的3提成。 编程要求:当用户按照屏幕提示分别输入经纪人的底薪、工龄以及当月销售额后,程序计算并输出经纪人的月薪。,算 法 分 析,输入底薪baseSalary 输入经纪人在公司的工作年数serviceYears 计算奖金bonus = 10 * serviceYears 输入经纪人当月销售额totalSale 计算提成additionalBonus = 0.03 * tot
13、alSale 计算经纪人的月薪Salary = baseSalary+bonus+additionalBonus 输出结果,#include using namespace std; int main() /声明部分,定义程序中将用到的变量 double baseSalary, bonus, totalSale, additionalBonus, Salary; int serviceYears; coutbaseSalary; coutserviceYears; /计算奖金bonus bonus=10*serviceYears; couttotalSale; /计算提成additionalB
14、onus additionalBonus=0.03*totalSale; /计算经纪人的月薪Salary Salary = baseSalary+ bonus+ additionalBonus; cout该经纪人的月薪为:Salaryendl; return 0; ,23,案例:重量单位换算,编写一个重量单位换算程序,输入用公斤表示的重量,然后程序能够转换并输出用镑和盎司表示的等效重量。 请输入重量(公斤):23 转换为用磅表示的重量(磅):50.7055 转换为用盎司表示的重量(盎司):811.287,教学设问 如何设计变量及选择相应的数据类型? 公斤、磅和盎司的转换公式是什么?,*更多案例
15、见本书配套教材C/C+语言程序设计案例教程 罗建军等编著,清华大学出版社,24,问题分析,为保证程序能够处理带小数点的数值,变量的数据类型需选用可以对实数进行操作的双精度类型double。故变量列表为: double kilogram, pound, ounce; /公斤、镑、盎司 公斤、磅和盎司的转换公式: 1磅=16盎司=0.4536千克(公斤) 算法如下: 1. 得到用公斤表示的重量 2. 将重量转化为磅:pound=kilogram/0.4536; 3. 将磅转化为盎司:ounce=pound*16; 4. 输出转换后的重量,/ 重量单位换算 #include using namesp
16、ace std; int main() double kilogram, pound, ounce; /公斤、镑、盎司 cout kilogram; pound=kilogram/0.4536; ounce=pound*16; cout转换为用磅表示的重量(磅):poundendl; cout转换为用盎司表示的重量(盎司):ounceendl; return 0; ,26,进一步思考,如果要想从磅和盎司转换成公斤,应该怎么修改程序? 如果要想将本案例程序的输出改成*磅*盎司(磅和盎司都省略小数点后的位数),应该怎么修改程序?,27,习题,在计算机上调试运行本章的所有例题,熟悉实验环境和方法。 修改例1-1程序,使其能够在计算机屏幕上显示: * * Hello World! * * 仿照例1-2的加法计算器程序,编写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论