C程序设计(自考4737)第1章.ppt_第1页
C程序设计(自考4737)第1章.ppt_第2页
C程序设计(自考4737)第1章.ppt_第3页
C程序设计(自考4737)第1章.ppt_第4页
C程序设计(自考4737)第1章.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,C+程序设计,课程介绍,课程地位 C+程序设计是计算机科学与技术及相关专业的一门必修课程。 面向对象程序设计思想和方法是吸收了软件工程领域中面向对象的概念和方法而发展起来的一种软件开发方法。 它集封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高,具有良好的可复用、可维护、可扩充等特性的软件。,课程培养目标 总体目标: 掌握基础理论,具有较强的应用能力。 具体目标: 培养和提高程序设计能力和软件工程能力 ; 该课程又是进行软件开发的直接工具,是学生学习专业知识的关键技术; 后续课程操作系统、计算机网络、数据库原理、算法设计等课程的先修课程; 该课程在整个教学体系中占据非常重要的地位,课程介绍,教材: C+程序设计 刘振安 机械工业出版 参考书: C 面向对象程序设计教程(第2版) 陈维兴,林小茶 编著 清华大学出版社 2004 年8月 C+面向对象程序设计 胡云 主编 电子工业出版社 2008年8月,教材及参考书,本书内容,第1章 认识C+的对象 第2章 从结构到类的演变 第3章 函数和函数模板 第4章 类和对象 第5章 特殊函数和成员 第6章 继承与派生 第7章 类模板与向量 第8章 多态性和虚函数 第9章 运算符重载及流类库 第10章 面向对象设计实例,需要了解的C语言知识,C语言基本语法 If else 语句 For语句 While语句,数组定义 函数定义 指针 结构体 运算符,第一章认识C+的对象,本节要点:,C与C+的关系(领会) 掌握函数原型和命名空间的使用方法(综合应用) 对象和预处理基本概念(领会) 掌握C+程序的基本结构(综合应用),1.1初识C+的函数和对象,第一章认识C+的对象,1.1初识C+的函数和对象,C语言回顾,int x;,该语句在C语言和C+中均可使用,x在C语言中称为变量,在C+中称为对象。 C语言与C+的不同点: 称呼不同,第一章认识C+的对象,1.1初识C+的函数和对象,C语言回顾,结构体的定义,struct point float x; float y; ;,表示定义一种点数据类型,包含坐标x,y. 定义完成后,point成为一种类型,使用方式类似int类型,如:定义p1变量为点类型,写作: struct point p1; 或 point p1;,定义x变量为整型: int x;,第一章认识C+的对象,1.1初识C+的函数和对象,C语言回顾,结构体的定义,struct student int num; char name10; float grade; ;,若定义一种结构体记录学生信息包含学号,姓名,成绩,如何定义?,定义s1变量为学生类型,写作: struct student s1;,第一章认识C+的对象,1.1初识C+的函数和对象,例1.1输入一个点的信息,求该点到原点的距离,预处理命令,使用命名空间,声明函数,声明常量,定义结构体,,主函数main,求距离函数result,例1.1,例1.1 主 函 数,例1.1,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 1)混合型语言 C语言程序包含main函数 面向对象语言没有main函数 C+是混合型语言,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 2)注释方式 /* 。*/ /。,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 3)输入输出流 cin和cout是C+语言中进行输入输出操作的函数。其定义在isstream头文件中。 类似:C语言中printf函数scanf函数putchar函数getchar函数,使用时要包含“stdio.h”,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 3)输入输出流 cin和cout函数的简单使用 cout后加要输出的内容,可以是对象或字符串,行末加分号,可用多个来分隔多个输出对象,endl;表示输出后换行。 coutendl; 等价于 cout“n”;,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 3)输入输出流 cin和cout函数的简单使用 cin后加存放数据的对象,即变量,行末加分号,可用多个来分隔多个输入对象。 cinxy;等价于 cinx;ciny;,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 4)使用命名空间 是C+语言中封装程序库名称的一种机制 记忆: C+标准类库中的对象和函数都属于std命名空间 使用这些对象和函数时要using namespace std,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 4,使用命名空间 使用std命名空间时注意: 使用C语言中的头文件时,要写成“xxx.h”形式 使用C+中的头文件则不能加上“.h”,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 5)对象定义及初始化 int x;x=0;等价于 int x=0; C语言 int x(0); C+语言等价于上两条语句。 此种初始化语法在C+中称为构造函数语法,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 6)函数原型及其返回值 函数要有类型,若要得到处理结果则要使用return语句。,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 6)函数原型及其返回值 函数原型声明 函数调用在函数定义之前时要对函数进行声明,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 7)const修饰符和预处理程序 常量定义:#define PI 3.1415 (c语言) 在变量定义之前加上const关键字,表示定义的变量值不可改变。 const int PI=3.1415; const int PI(3.1415);,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 7)const修饰符和预处理程序 常量定义:#define PI 3.1415 #define命令的特点: 原样替换掉程序中出现的预定义宏名符号 如:#define BUFFER 100 若程序出现:x=BUFFER/3;x=? 尽量选择const定义常量,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 7)const修饰符和预处理程序 const关键字的特点: 利用const定义常量时必须给出常量的值,除非该常量是extern的。 如:const int d; /错 extern const int d; /可以,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 7)const修饰符和预处理程序 C+预处理命令 以#开始,分为宏定义,文件包含和条件编译,作业: 1)extern变量是什么样的变量? 2)写出C语言中预处理命令有哪些,举例说明每个命令含义及作用。 3)写出C语言和C+语言中#include命令的不同处,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 8)程序运行结果,第一章认识C+的对象,1.1初识C+的函数和对象,对程序的说明: 9,程序书写规则 注意缩进对齐,使程序清晰明了,1.2认识C+语言面向过程编程的特点,本节要点:,函数重载(领会) 掌握C+的新数据类型(简单应用) 动态分配内存(综合应用) 熟练掌握引用的使用方法(综合应用) 了解对指针使用const限定符的目的,方法(识记) 了解泛型算法应用于普通数组的方法(识记) 掌握数据的简单输入输出(简单应用),第一章认识C+的对象,1.2认识C+语言面向过程编程的特点,本节要点:,1.2.1函数重载(领会) C+允许一个函数定义多个版本。 使得一个函数完成多种功能。 即:同一个函数名定义多次。,1.2.1函数重载(领会) 重载函数max的定义形式:,1.2.1函数重载(领会) 重载函数max的调用形式:,1.2.1函数重载(领会) 重载函数max的声明形式:,可否不声明?,重载函数的要点: 函数名相同,参数个数不同,参数类型不同,1.2.2 C+的新数据类型(简单应用),1)void类型 void表示无类型,或空类型。 不能声明变量,只能声明函数返回值。 表示函数无返回值。,2)bool型 (逻辑型,布尔型) 占1个字节。表示逻辑运算中的” 真” ” 假” 3)整型(int long short) int 、short 至少16位 long 至少32位 short 不得比int 长 int 不得比long 长,4)char型 (字符型) 占1个字节。 5)实型(float/double/long double),5),6)常量表示 整型: 0前缀表示8进制数,0x前缀表示16进制 加L、l后缀表示长整型常量 实型: F、f后缀表示浮点型常量(float) 实数加L、l后缀表示long double型 无前缀,无后缀的为double型,6)常量表示,0L 123l 05 5 0x5 0xaf 01,7)转义字符,101 t r n 0 x41,1.2.3 动态分配内存(综合应用) new 动态分配内存 一般格式: 指针变量=new 类型size; new 运算符得到新分配空间的首地址,赋值给指针变量后,可根据指针变量的加减运算来使用这些空间。 delete 释放内存 使用完毕后要释放内存 delete p;,1.2.4 引用的使用方法(综合应用) C+中新的表示形式。 引用即使用变量的别名。 定义形式:数据类型 表示a是变量x的别名。 一旦定义别名后则a和x完全等价。,1.2.4 引用的使用方法(综合应用) C+中新的表示形式。 引用即使用变量的别名。 定义形式:数据类型 & 别名=对象名;,使用引用时注意: 1,不能定义引用的引用 int 2,不能直接定义数据组的引用,1.2.4 引用的使用方法(综合应用),一般格式:typedef 类型 类型别名 使用typedef定义某类型别名后,可使用该别名来定义相关对象。 例如:typedef long int lint; 则 long int i ; 等价于 lint i ;,用法总结:建立一个类型别名的方法很简单,在传统的变量声明表达式里用类型名替代变量名,然后把关键字typedef加在该语句的开头,引用数组名作参数,一般格式:typedef 类型 类型别名 使用typedef定义某类型别名后,可使用该别名来定义相关对象。 例如:typedef long int lint; 则 long int i ; 等价于 lint i ;,Typedef使用说明,typedef用法总结:建立一个类型别名的方法很简单,在传统的变量声明表达式里用类型名替代变量名,然后把关键字typedef加在该语句的开头,等价于,1.2.5 对指针使用const限定符(识记),1)左值和右值 表达式:E1=E2 E1是左值,是可被修改的 int *p,x=1; *p=2; &p表示什么?,1.2.5 对指针使用const限定符(识记),2)指向常量的指针 const常量定义, 表示const后的表达式不可改变,定义时必须给出表达式的值。 int x=11; const int *P; const int *P= 表示*P是不可改变的。*P不能在=左侧。 P=&y; x=12;,1.2.5 对指针使用const限定符(识记),3)常量指针 const常量定义, 表示const后的表达式不可改变,定义时必须给出表达式的值。 int x=11; int * const P ; 错!必须初始化 int * const P =&x ; 表示P是不可改变的。P不能在=左侧。 *p可改变。,1.2.5 对指针使用const限定符(识记),4,指向常量的常量指针 const常量定义, 表示const后的表达式不可改变,定义时必须给出表达式的值。 int x=11; const int * const P =&x ; 表示P是不可改变的。*p不可改变。,1.2.6 泛型算法应用于普通数组(识记) 掌握数据的简单输入输出(简单应用) 泛型算法是C+ 标准模板库(Standard Template Library) 提供的一组操作。利用这些操作可以简化数组操作。 要使用这些操作必须包含头文件,1.2.6 泛型算法应用于普通数组(识记) 假定a,b是两个数组名,其长度为len 操作示例: 1,reverse(a,a+len) 将数组a中的元素顺序反转。(逆向) 2,copy(a,a+len,b) 将a数组的内容原样复制给b数组 reverse_copy (a,a+len,b) 将a数组的内容反转后复制给b数组,1.2.6 泛型算法应用于普通数组(识记) 假定a,b是两个数组名,其长度为len 操作示例: 3,sort(a,a+len) 将数组a中的元素按升序排序 4,sort(a,a+len,greater() 将数组a中的元素按降序排序,1.2.6 泛型算法应用于普通数组(识记) 假定a,b是两个数组名,其长度为len 操作示例: 5,find(a,a+len,value) 在数组a中查找值为value的元素,并返回位置指针,1.2.6 泛型算法应用于普通数组(识记) 假定a,b是两个数组名,其长度为len 操作示例: 6,输出数组中的内容 Copy(a,a+len, Ostream_iterator (cout,”字符串”)) Ostream_iterator表示输出流操作符 :表示要输出的数组类型 Cout表示流输出操作 “字符串”:表示分隔字符串,第一章认识C+的对象,1.2认识C+语言面向过程编程的特点,本节要点:,1.2.7 数据的简单输入输出(简单应用),第一章认识C+的对象,1.3程序的编辑、编译、运行,1.启动Visual C+ 6.0环境,1.3程序的编辑、编译、运行,方法:单击 “开始”-“程序”-“Microsoft Visual studio 6.0”-“Microsoft Visual C+ 6.0”命令,启动Visual C+,VC6主窗口如下:,1.3程序的编辑、编译、运行,2. 编辑源程序文件,(1)建立新工程项目 单击“文件”-“新建”,弹出 “新建”对话框。,单击“工程”选项卡;单击 “Win32 Console Application” 选项;“工程”文件框中输入项 目名,如“gc1”和“位置”框输入 或选择新项目所在位置,单击 “确定”按钮。 弹出“Win32 Console Application Step 1of 1”对话框。,单击“An empty project”按钮和“完 成”按钮。系统显示“新建工程信息”对 话框。单击“确定”按钮。,1.3程序的编辑、编译、运行,2. 编辑源程序文件,(2)建立新项目中的文件 单击“文件”-“新建”,弹 出“新建”对话框。, 选择“文件”选项卡。单击 “C+ Source File”选项,在 “文件”文件框中输入文件名, 单击“确定”按钮。系统自动 返回VC6主窗口。,显示文件编辑区窗口,在文件编辑 区窗口输入源程序文件。,1.3程序的编辑、编译、运行,3. 编译和连接,方法一:选择主窗口菜单栏中“编译”菜单项;系统弹出下拉菜单,选择“构件”菜单命令。,方法二:单击主窗口编译工具栏上的 “Build”按钮进行编译和连接。,1.3程序的编辑、编译、运行,(1)系统对程序文件进行编译和连接,生成以项目名称命名的可执行目标代码文件.exe。 (2)编译连接过程中,系统如发现程序有语法错误,则在输出区窗口中显示错误信息,给出错误的性质、出现位置和错误的原因等。如果双击某条错误,编辑区窗口右侧出现一个箭头,指示再现错误的程序行。用户据此对源程序进行相应的修改,并重新编译和连接,直到通过为止。,1.3程序的编辑、编译、运行,4. 执行,方法一:单击“编译”菜单中“执行”命令。 方法二:单击主窗口编译工具栏上的 “Build Execute”按钮来执行编译连接后的程序。,运行成功,屏幕上输出执行结果,并提示信息:“Press any key to continue”。此时按任意键系统都将返回VC6主窗口。,在执行程序过程中出现运行错误。用户要修改源程序文件并且重新编译、连接和执行。,第一章认识C+的对象,课后题: P26 三、改错题 写作业本上,本章考情分析,1.C+源程序文件扩展名为( ) Acpp Bh C1ib Dobj 考查内容:C+语言特点,2.在C+中使用流进行输入输出,其中专用于从键盘进行输入的流是( ) A.cerr B.cin C.cout D.cfile 考查内容:输入和输出,4.用于标识十六进制前缀或后缀是( ) A.元 B.后缀L或e C.前缀零 D.前缀0x 考查内容:C+整型常量的类型与特点,5.设存在整型变量int x,则下列句与其它三项含义不同的是( ) A.int* p=&x; B.int& p=x; C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论