《C++程序设计》复习.ppt_第1页
《C++程序设计》复习.ppt_第2页
《C++程序设计》复习.ppt_第3页
《C++程序设计》复习.ppt_第4页
《C++程序设计》复习.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

C 程序设计 复习 第二章C 简单程序设计 英文字母 A Z a z 数字字符 0 9 下划线 以大 小写字母或下划线开始 不能是C 关键字 1 2 3 C 标识符 基本数据类型 布尔型 整型 实型 字符型 bool长度 1字节 int长度 4字节shortintlongint float长度 4字节double长度 8字节 char长度 1字节 计算某种类型对象在内存中所占的字节数的操作运算符为 sizeof例如 sizeof double sizeof int sizeof 100 intx cout sizeof long sizeof x 计算某种类型的对象在内存中所占的字节数 运算符与表达式 算术运算符与表达式 赋值运算符和赋值表达式 整数相除取整 只能用于整型数 例如 intx 8 y x 例 intn 2 n n 5 n n n 运算符具有优先级与结合性表达式 由运算符 运算量和括号组成 运算符与表达式 逻辑运算与逻辑表达式 条件运算符与条件表达式 非 则y a b x y 结果类型为bool 值只能为1或0 例 inta 5 b 20 x coutb a b 另例见书中例题 关系运算与关系表达式 优先级相同 高 优先级相同 低 例如 a b c a b x y 3结果类型为bool 值只能为1或0 运算符优先级 低 高 声明语句 intmax intx inty 表达式语句 x 3 y 5 2 选择语句 if a b 0 t a 循环语句 while for复合语句 sum sum i i 语句 以分号 结尾 三种基本结构 顺序结构 选择结构 循环结构 if语句 三种形式 if x y couty cout x elsecout y if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 else语句n 注意嵌套if语句中 每层的if与else配对 if x y if x y couty endl elsecout x y endl elsecout x y endl switch语句 case分支可包含多个语句 且不用 表达式 判断值都是int型或char型 若干分支执行内容相同可共用一组语句 switch 10 3 case1 case2 case3 case4 while do while for语句 while dowhile for 表达式1 表达式2 表达式3 循环体语句 注意循环语句的条件判断表达式 1 inta 5 b 3 b while a b 与while a b 的区别2 inta 1 while a 合法吗 3 for 合法吗 4 for inti 0 i 5 i cout endl break语句 break语句使程序从循环体和switch语句内跳出 继续执行逻辑上的下一条语句 结束该层的循环 第三章函数 函数声明的语法形式类型标识符函数名 形式参数表 语句序列 若无参数 写void 是被初始化的内部变量 寿命和可见性仅限于函数内部 若无返回值 写void 若函数有返回值 如类型标识符为int float等 由return语句给出 例如 return0函数中可有多条return语句 若函数无返回值 函数类型为void 不能使用函数值 例 voidfn b f 错 要注意区分 函数定义性声明 调用前函数原型声明 函数调用 三者的不同和它们之间的关系 调用形式 函数名 实参列表 函数调用可以是一条独立的语句 也可以出现在表达式中 例 fn cout max a b 嵌套调用 函数中调用其它函数 递归调用 函数直接或间接调用自身 程序是由一个主函数main 或者多个函数组成的 但必须要有一个主函数 程序是从这个主函数开始运行的 main 函数也可以有形参 函数的参数传递 用引用做形参 引用 注意 声明一个引用时 必须同时对它进行初始化 使它指向一个已存在的对象 一旦一个引用被初始化后 就不能改为指向其它对象 引用作为形参传送的是参数地址voidswap int a int b 重载函数 C 允许两个以上的函数 具有相同的函数名 但是形参的个数或者类型不同 编译器根据实参的类型及个数的最佳匹配 自动确定调用哪一个函数 这就是函数的重载 第四章类与对象 类是一种用户自定义类型 声明形式 class类名称 public 公有成员 外部接口 private 私有成员protected 保护型成员 任何外部函数都可以访问public数据和函数 private数据和函数 只允许本类中的函数访问 而类外部的任何函数都不能访问 类的数据和函数确定了属性后 外部的任何函数都不能改变 对象是类的实例 为对象分配存储空间而不为类分配存储空间 类名对象名 例 ClockmyC 类中成员的访问方式 类中成员互访直接使用成员名类外访问使用 对象名 成员名 方式访问public属性的成员 例 myc show 构造函数 特殊成员函数 构造函数的作用是 在对象被创建时使用特定的值构造对象 为对象分配内存空间 进行初始化并执行对象的其他内部管理操作 在对象创建时由系统自动调用 如果程序中未声明 则系统自动产生出一个默认形式的构造函数构造函数允许为内联函数 重载函数 带默认形参值的函数该函数的名字与类同名 且不指定函数类型 可以有参数 析构函数 特殊成员函数 完成对象被删除前的一些清理工作 在对象的生存期结束的时刻系统自动调用它 然后再释放此对象所属的空间 如果程序中未声明析构函数 编译器将自动产生一个默认的析构函数 它的名字与类同名 并在前面加 符号 用来与构造函数加以区别 析构函数没有返回类型 没有参数 不能重载 一个类中只可能定义一个析构函数 静态生存期 这种对象生存期与程序的运行期相同 在文件作用域中声明的对象具有这种生存期 在函数内部声明静态生存期对象 要冠以关键字static 静态变量的初值缺省为0 例 staticinti 动态生存期 块作用域中声明的 没有用static修是的对象是动态生存期的对象 习惯称局部生存期对象 开始于程序执行到声明点时 结束于命名该标识符的作用域结束处 动态变量的缺省初值不确定 友元函数 友元函数是在类声明中由关键字friend修饰说明的非成员函数 在它的函数体中能够通过对象名访问private和protected成员访问对象中的成员必须通过对象名 友元函数能够访问该类的所有成员 第六章数组指针与字符串 数组 一维数组的声明类型说明符数组名 常量表达式 例如 inta 10 表示a为整型数组 有10个元素 a 0 a 9 数组元素在内存中顺次存放 它们的地址是连续的 例如 a 0 地址是从2000开始 则a 2 的地址是从2008开始 数组名字是数组首元素的内存地址 数组名是一个常量 不能被赋值 一维数组的初始化 在声明数组时对数组元素赋以初值 例如 inta 10 0 1 2 3 4 5 6 7 8 9 可以只给一部分元素赋初值 例如 inta 10 a b c d e 在对全部数组元素赋初值时 可以不指定数组长度 例如 inta 1 2 3 4 5 数组长度与数组元素个数相同 引用先声明 后使用 只能逐个引用数组元素 而不能一次引用整个数组 例如 a 0 a 5 a 7 a 2 3 a a a 5 错 存储顺序按行存放 上例中数组a的存储顺序为 二维数组的声明类型说明符数组名 常量表达式 常量表达式 例如 floata 3 4 例 a 1 0 的地址为 2010 则a 0 3 的地址为 2010 1 4 a 2 1 的地址为 2010 5 4 二维数组的声明 28 将所有数据写在一个 内 按顺序赋值例如 inta 3 4 1 2 3 4 5 6 7 8 9 10 11 12 分行给二维数组赋初值例如 inta 3 4 1 2 3 4 5 6 7 8 9 10 11 12 可以对部分元素赋初值例如 inta 3 4 1 0 6 0 0 11 二维数组的初始化 29 数组作为函数参数 数组元素作实参 与单个变量一样 数组名作参数 形 实参数都应是数组名 类型要一样 传送的是数组首地址 对形参数组的改变会直接影响到实参数组 指针 地址运算符 var表示var的内存起始地址指针运算符 所处位置不同 则含义不同 指针 内存地址 用于间接访问内存单元 指针变量 用于存放地址的变量 声明 数据类型 标识符例 inti int i p i p 指针变量 初始化 数据类型 指针名 初始地址 int i p i p指向整型变量i的指针 引用 inti int i p 注意 inti int i p i p 1 指针名 地址2 指针的类型int是它所指向变量的类型 pa 123456 pa 2 pa 1 pa 1 pa 2 pa 3 pa 2 pa pa 1 pa 2 pa 3 pa 1 int pa 34 指针变量的运算 指针pa加减整数n pa n或pa n指针指向当前位置的前方或后方第n个数据的地址 指针pa加1或减1 pa pa 1 pa pa 1 int pa a 6 pa a pa 2 等价a 2 5 用指针处理数组元素 声明与赋值例 inta 10 pa pa 通过指针引用数组元素 pa等于a 0 pa 1 等于a 1 pa i 等于a i a i pa i a i pa i 都是等效的 注意 a 是错误的 为什么 pa 对否 动态申请内存操作符new释放内存操作符delete 字符数组 字符数组的初始化例 charstr 8 112 114 111 103 114 97 109 0 charstr 8 p r o g r a m 0 charstr 8 program charstr program charstr program charstr p r o g r a m 是否相同 字符数组的声明charstr 5 类的继承与派生 继承 保持已有类的特性而构造新类的过程 派生 在已有类的基础上新增自己的特性而产生新类的过程 被继承的已有类称为基类 或父类 派生出的新类称为派生类 三种继承方式公有继承私有继承保护继承 class派生类名 继承方式基类名 派生成员声明 公有继承 public 基类的public和protected成员的访问属性在派生类中保持不变 派生类中的成员函数可以直接访问基类中的public和protected成员 但基类的private成员不可直接访问 通过派生类的对象只能访问基类的public成员 私有继承 private 基类的public和protected成员都以private身份出现在派生类中 派生类中的成员函数可以直接访问基类中的public和protected成员 但基类的private成员不可直接访问 通过派生类的对象不能直接访问基类中的任何成员 保护继承 protected 基类的public和protected成员都以protected身份出现在派生类中 派生类中的成员函数可以直接访问基类中的public和protec

温馨提示

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

评论

0/150

提交评论