版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C++程序设计TheC++ProgrammingCollegeofComputerandInformationEngineering,TianjinNormalUniversity主讲:姜丽芬9/6/2023C++程序设计TheC++Programming主课程定位《C++程序设计》是软件学院的专业基础课,是《数据结构》、《操作系统》等课程的前导课程。《C++程序设计》是一门实践性很强的课程,《C++程序设计实验》被独立设课、单独考核。其目的在于强化实践环节,使大家既能掌握面向对象程序设计的基本概念和方法,又学会编程调试,培养运用C++解决实际问题的能力。9/6/20232课程定位《C++程序设计》是软件学院的专业基础课,是《数据结学时安排本学期6周,下学期18周。上课:4学时/周实验:4学时/周9/6/20233学时安排本学期6周,下学期18周。8/3/202教学要求课前预习、课后复习上课、实验不得缺席按时完成作业9/6/20234教学要求课前预习、课后复习8/3/20234考核形式考勤、作业占总成绩的30%期末考试占总成绩的70%上机实验课单独考核9/6/20235考核形式考勤、作业占总成绩的30%8/3/20235参考书目《C++程序设计题解与上机指导》谭浩强著清华大学出版社.2008年6月《C++程序设计实践指导》谭浩强等著清华大学出版社.2005年7月《C++语言基础教程》(第二版)吕凤翥著清华大学出版社.2007年2月C++HowtoProgram(FifthEdition),H.M.DeitelandP.J.Deitel著电子工业出版社.2008
9/6/20236参考书目《C++程序设计题解与上机指导》谭浩强著清华大学出版C++程序设计第1章C++的初步知识9/6/2023C++程序设计第1章C++的初步知识8/3/2023第1章C++的初步知识1.1从C到C++1.2最简单的C++程序1.3C++程序的构成和书写形式1.4C++程序的编写和实现1.5关于C++上机实践9/6/20238第1章C++的初步知识1.1从C到C++8/3/1.1从C到C++1972年为移植UNIX系统,Ritchie发明了C语言,并随UNIX风靡全球。利用C开发时,采用的是面向过程(OPP)的方法。C语言凭借其灵活性和高效性,自80年代以来在程序设计界占领了广泛的市场,程序员用它开发了许多重要产品。但是C语言并不是万能的,随着软件工程规模的扩大,C语言的缺陷逐渐显露出来。比如说,程序量超过50,000行,开发人员达到数十人时,系统维护的工作量就变得相当大,而且系统的整体性也难以保证。1980年贝尔实验室的BjarneStroustrup对C语言进行了扩充,推出了“Cwithclass”,1982年,正式命名为C++。
9/6/202391.1从C到C++1972年为移植UNIX系统,Ritc1.2最简单的C++程序
例1.1输出一行字符: ThisisaC++program.#include<iostream>usingnamespacestd;intmain(){cout<<"ThisisaC++program.";return0;}包含头文件使用命名空间stdmain代表“主函数”的名字。每一个C++程序都必须有。int声明函数的类型为整型。向操作系统返回零值。作用是向程序提供输入或输出时所需要的一些信息。C++标准库中的类和函数是在命名空间std中声明的因此程序中如果需要用到C++标准库,就需要用“usingnamespacestd;”表示要用到命名空间std中的内容。9/6/2023101.2最简单的C++程序例1.1输出一行字符:例1.2求a、b两个数之和//求两数之和#include<iostream>usingnamespacestd;intmain(){inta,b,sum;cin>>a>>b;sum=a+b;cout<<"a+b="<<sum<<endl;return0;}
//预处理命令//使用命名空间std//主函数首部//函数体开始//函数结束//定义变量//输入语句//赋值语句//输出语句//如程序正常结束,向操作系统返回一个零值如果在运行时从键盘输入123456↙则输出为a+b=579函数体(本行是注释行)9/6/202311例1.2求a、b两个数之和//求两数之和
注释:
注释是用来帮助阅读、理解及维护程序。在编译时,注释部分被忽略,不产生目标代码。C++语言提供两种注释方式。(1)一种是与C兼容的多行注释,用/*和*/分界。(2)另一种是单行注释,以“//”开头的表明本行中用“/*……*/”作注释时有效范围为多行。只要在开始处有一个“/*”,在最后一行结束处有一个“*/”即可内容较少的简单注释常用“//”,内容较长的常用“/*……*/”。返回9/6/202312注释:8/3/202312例1.3求x、y两数中的较大者#include<iostream>usingnamespacestd;intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}//变量声明,定义本函数中用到的变量z为整型//if语句,若x>y,则将x的值赋给z//否则,将y的值赋给z//将z的值返回,通过max带回调用处//定义max函数,函数值为整型//形式参数x,y为整型9/6/202313例1.3求x、y两数中的较大者#include<iost例1.3求x、y两数中的较大者intmain(){ inta,b,m; cin>>a>>b; m=max(a,b); cout<<"max="<<m<<'\n'; return0;}//主函数//变量声明//输入变量a和b的值//调用max函数,将得到的值赋给m//输出大数m的值本程序包括两个函数:主函数main和被调用的函数max注意:输入的两个数据间用一个或多个空格间隔,不能以逗号或其他符号间隔。9/6/202314例1.3求x、y两数中的较大者intmain()//主函例1.4包含类的C++程序
#include<iostream>usingnamespacestd;classStudent
{private:
//以下为类中的私有部分
intnum;
//私有变量num
doublescore;
//私有变量scorepublic: //以下为类中的公用部分
voidsetdata()
//定义公用函数
{cin>>num;cin>>score;}
//输入num,score的值
voiddisplay()
//定义公用函数
{cout<<"num="<<num<<endl;cout<<"score="<<score<<endl;}//输出};访问权限私有的数据成员语句结束符类定义关键字公有的成员函数9/6/202315例1.4包含类的C++程序#include<ios例1.4
包含类的C++程序Studentstud1,stud2;intmain(){stud1.setdata();stud2.setdata();stud1.display();stud2.display();return0;}//定义stud1和stud2为//Student类的变量,称为对象//调用对象stud1的setdata函数//调用对象stud2的setdata函数//调用对象stud1的display函数//调用对象stud2的display函数9/6/202316例1.4包含类的C++程序Studentstud1例1.4包含类的C++程序程序运行情况如下:100198.5↙(输入学生1的学号和成绩)100276.5↙(输入学生2的学号和成绩)num=1001(输出学生1的学号)score=98.5(输出学生1的成绩)num=1002(输出学生2的学号)score=76.5(输出学生2的成绩)9/6/202317例1.4包含类的C++程序程序运行情况如下:8/3/201.2最简单的C++程序
1.学生入学过程程序
2.随机挑选学生程序9/6/2023181.2最简单的C++程序 1.学生入学过程程序8/3/1.3C++程序的构成和书写形式C++程序的结构和书写格式归纳如下:
1.一个C++程序可以由一个或多个程序单位构成,每个程序单位作为一个文件。在程序编译时,编译系统分别对各个文件进行编译,因此,一个文件是一个编译单元。9/6/2023191.3C++程序的构成和书写形式C++程序的结构和书写格式1.3C++程序的构成和书写形式2.在一个程序单位中,可以包括以下几个部分:
⑴预处理命令
预处理命令以位于行首的符号“#”开始,C++提供的预处理有宏定义命令、文件包含命令和条件编译命令三种。⑵全局声明部分
在这部分中包括对用户自己定义的数据类型的声明和程序中所用到的变量的定义。9/6/2023201.3C++程序的构成和书写形式2.在一个程序单位中,可以1.3C++程序的构成和书写形式⑶函数 一个C++程序是由若干个函数构成的。函数分为库函数(标准函数)和自定义函数。库函数一般是由系统提供的。一个完整的C++语言程序有且只有一个主函数。定义一个函数的语法格式为: 类型函数名(形式参数表) { 函数体; }9/6/2023211.3C++程序的构成和书写形式⑶函数定义一个函数的例如:intmax(inta,intb){intt;if(a>b)t=a;elset=b;returnt;}函数体函数首部函数名函数类型函数形参声明语句执行语句一个C++程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。9/6/202322例如:函数体函数首部函数名函数类型函数形参声明语句执行语句一
一个函数由两部分组成:①函数首部,即函数的第一行。包括函数名、函数类型、函数参数(形参)名、参数类型。一个函数名后面必须跟一对圆括号,函数参数可以缺省,如intmain()。9/6/202323 一个函数由两部分组成:8/3/202323
②函数体,即函数首部下面的大括号内的部分。函数体一般包括:局部声明部分(在函数内的声明部分)。包括对本函数中所用到的类型、函数的声明和变量的定义。对数据的声明既可以放在函数之外(其作用范围是全局的),也可以放在函数内(其作用范围是局部的,只在本函数内有效)。执行部分。由若干个执行语句组成,用来进行有关的操作,以实现函数的功能。9/6/202324 ②函数体,即函数首部下面的大括号内的部分。8/3/202*语句包括两类:一类是声明语句,另一类是执行语句。C++对每一种语句赋予一种特定的功能。语句是实现操作的基本成分,显然,没有语句的函数是没有意义的。C++语句必须以分号结束。*一个C++程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。9/6/202325*语句包括两类:一类是声明语句,另一类是执行语句。8/31.3C++程序的构成和书写形式⑷类(class)类是C++新增加的重要的数据类型,是C++对C的最重要的发展。有了类,就可以实现面向对象程序设计方法中的封装、信息隐蔽、继承、派生、多态等功能。⑸书写格式C++程序书写格式自由,一行内可以写几个语句,也可以把一个语句写在多行上。9/6/2023261.3C++程序的构成和书写形式⑷类(class)⑸书写格1.4C++程序的编写和实现C++语言是一种高级程序设计语言,它的开发过程与其他高级语言程序开发过程类似,一般要经过四个步骤:
编辑编译链接执行9/6/2023271.4C++程序的编写和实现C++语言是一种编辑:用C++语言编写程序编辑:是指把按照C++语法规则编写的程序代码通过编辑器(BorlandC++,VisualC++6.0,TurboC++)输入计算机,并存盘。在存盘时,C++源文件的扩展名为.CPP。执行:运行程序编译:将编辑好的C++源程序通过编译器转换为目标文件(OBJ文件)。即生成该源文件的目标代码。即把源程序翻译成二进制形式的“目标程序(objectprogram)”。将目标文件连接连接:将用户程序生成的多个目标代码文件(.obj)和系统提供的库文件(.lib)中的某些代码连接在一起,生成一个可执行文件(.exe)。对源程序进行编译执行:把生成的可执行文件运行,在屏幕上显示运行结果。用户可以根据运行结果来判断程序是否出错。注:如果运行结果不正确,应检查程序或算法是否有问题。9/6/202328编辑:用C++语言编写程序编辑:是指把按照C++语法规则编写本章练习完成习题:5、6、7、8、99/6/202329本章练习完成习题:5、6、7、8、98/3/202329上机练习题目上机要求学会使用VisualC++6.0版本编译系统完成C++语言的源程序的编译。
上机题(1)将教材中例1.1的程序输入计算机,编辑好后存入指定文件夹中,并起一个文件名。用它联系一个文件x学习编辑、编译、连接、运行的方法。9/6/202330上机练习题目上机要求8/3/202330上机练习题目上机题(2)将教材中例1.3的程序按照(1)的要求进行编辑、编译、连接和运行。通过此例讲解多文件程序的实现。9/6/202331上机练习题目上机题8/3/202331上机练习题目由两个文件组成的程序例子第一个文件的名字为:f1.cpp,其内容如下:#include<iostream>usingnamespacestd;in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新生儿乙肝感染风险评估
- 新生儿感染抗生素使用策略
- 复合材料机身壁板抗冲击损伤阈值检测报告
- 个人所得税改革对劳动供给影响研究结题报告
- 医院液氮罐液位计校准细则
- (正式版)DB36∕T 971-2017 《淡水鱼类小瓜虫病防治技术规范》
- 新生儿疼痛评估与护理
- 上港乐学考试题目及答案
- 消化道穿孔的护理团队建设
- 消化道出血的护理要点
- 湖南省长沙市湖南师大附中教育集团2023-2024学年七年级下学期期中数学试题
- 口才与演讲实训教程智慧树知到期末考试答案2024年
- 【生物】激素调节课件 2023-2024学年人教版生物七年级下册
- 小班社会《马路上的车辆》课件
- 化工工程基础知识培训课件
- 重大危险源检查记录表
- 苏州市2023年中考:《化学》考试真题与参考答案
- 工业γ射线探伤装置安全使用和辐射防护
- SB/T 10784-2012洗染服务合约技术规范
- GB/T 6003.2-2012试验筛技术要求和检验第2部分:金属穿孔板试验筛
- GB/T 21372-2008硅酸盐水泥熟料
评论
0/150
提交评论