c++复习.ppt_第1页
c++复习.ppt_第2页
c++复习.ppt_第3页
c++复习.ppt_第4页
c++复习.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

C 复习 2010 2011第二学期 考试范围 打 号不考 考试题型 综合成绩评定 成绩平时成绩 包括作业及上机实验 占25 期末笔试成绩占60 分组项目设计成绩占15 第一章 1 3c 的词法单位关键字标识符合法标识符由字母或下划线开始 由字母 数字 下划线组成1 4c 的数据类型int float double void char long 第一章 1 5常量和变量字符常量 用单引号引起来的单个字符字符串常量 用双引号引起来的若干个字符常变量 constfloatPI 3 14151 6运算符与表达式常用算术运算符 双目算术运算符 常用逻辑运算符 第一章 1 7数组与字符数组数组的声明数组的初始化 整体赋值数组的赋值1 8简单的输入输出 includecin cout includesetw width 第二章 3种结构 顺序 分支 循环转向语句break 无条件地结束switch语句 或循环语句只能用在switch语句 或循环语句中continue 用于终止当前一次循环只能用在循环体中return 无条件地结束函数的执行 return语句 return语句用于结束函数的执行 返回调用者 如果是主函数 则返回至操作系统 利用一个return语句可以将一个数据返回给调用者 通常 当函数的返回类型为void时 return语句可以省略 如果使用也仅作为函数或程序结束的标志 第二章 if else逻辑条件的连接运算符 例2 4 输入一个年份 判断是否为闰年 includeusingnamespacestd intmain intyear cout year if year 4 0 第二章 switch 表达式 case常量表达式1 语句1 break case常量表达式2 语句2 break case常量表达式n 语句n break default 语句n 1 若没有break swtich顺序执行 例 根据考试成绩的等级打印等级 includeusingnamespacestd intmain intscore cout score switch score 10 case10 case9 cout gradeA n break case8 cout gradeB n break case7 cout gradeC n break case6 cout gradeD n break default cout gradeE n retrun0 10或9共同执行一个语句 switch语句 第二章 forwhile 表达式 do while 表达式 includeusingnamespacestd voidmain inti j i为行号 1 4 j为输出图形的数量for i 1 i 4 i 输出4行图案 for j 1 j 8 2 i j cout 输出空格for j 1 j 2 i 1 j cout 输出星星cout endl 换行 第二章 循环的嵌套 第二章 includeusingnamespacestd voidmain inti 0 j 0 n cout nif n 0 i if n 0 j while n 0 cout 正整数个数 i 负整数个数 j endl 循环结构与选择结构相互嵌套 输入输出文件 include 第二章 例2 25 将百鸡问题计算结果存入文件 include includeusingnamespacestd intmain inti j k ofstreamofile 定义输出文件ofile open d myfile txt 作为输出文件打开ofile 公鸡母鸡小鸡 endl for i 0 i 20 i for j 0 j 33 j k 100 i j if 5 i 3 j k 3 100 例2 26 读出存放百鸡问题计算结果的文件 intmain chara 28 ifstreamifile 定义输入文件ifile open d myfile txt 作为输入文件打开inti 0 j k while ifile get a i 读标题 不可用 它不能读白字符if a i n break i a i 0 cout i j k 由文件读入数据if ifile eof 0 break 当读到文件结束时 ifile eof 为真cout setw 6 i setw 10 j setw 10 k endl ifile close 关闭文件return0 第三章 includeusingnamespacestd floatmax float floatb 声明intmain floatx y cout x y cout x 和 y 中较大数为 max x y 调用 endl return0 floatmax floata floatb if a b returna elsereturnb 定义 函数的声明 定义 调用 第三章 includeusingnamespacestd voidTableHead 声明intmain TableHead 调用return0 voidTableHead cout endl cout example endl cout endl 定义 函数的声明 定义 调用 22 传值调用 includeusingnamespacestd voidcount intx inty x x 2 y y y cout x x t cout y y endl voidmain inta 3 b 4 count a b 调用函数cout a a t cout b b endl 运行结果 x 6y 16a 3b 4 形参 实参 第三章 例 多个函数使用全局变量的例子 intn 用户在定义时不显式给出初始化值 则等效初始化为0voidfunc n 2 intmain n 100 cout n endl n 100 func cout n endl n 200 return0 第三章 3 3 2全局变量 第三章 voidfun intt 5 fun 中的局部变量 auto可省略cout fun 中的t t endl intmain floatt 3 5 main 函数中的局部变量cout main 中的t t endl fun cout main 中的t t endl return0 3 3 3局部变量 第三章 例3 10 自动变量与局部静态变量的区别intst staticintt 100 局部静态变量t returnt intat intt 100 自动变量t returnt intmain inti for i 0 i 5 i cout at t cout endl for i 0 i 5 i cout st t cout endl return0 3 6 1静态存储类型 局部静态变量显式给出初始化值 在该块第一次执行时完成 且只进行一次 第三章 3 8 1函数重载重载函数的函数名必须相同重载函数的形参必须不同 个数不同 类型不同 编译器不以形参名来区分intadd intx inty intadd inta intb 编译器不以返回值来区分intadd intx inty voidadd intx inty 第三章 3 8 2默认形参在同一个作用域中一个参数只能被指定一次默认值 不可以在声明和定义中同时指定默认值 即使默认值一样也不行 intfun2 int int 10 int 20 函数声明中给出缺省值 参数名也可省略voidmain fun2 intfun2 inta intb intc 定义中不再给出缺省值 第四章 会写类会写构造函数 复制构造函数 析构函数静态成员用关键字static在类内声明在类外定义和初始化 类外使用格式 类名 静态数据成员名 第五章 数组一维 二维数组数组作为函数形参指针指针的赋值与初始化指针与数组 数组作为函数参数 数组整体作实参 传送的是数组首地址 对形参数组的改变会直接影响到实参数组 intmain void inta 4 for inti 0 i a i twice a 4 for i 0 i 4 i cout a i a i endl return0 inttwice intr intlen for inti 0 i len i r i 2 voidprint matrix intc 3 for inti 0 i 3 i for intj 0 j 3 j cout c i j cout endl voidtranspose intc 3 for inti 0 i 3 i for intj i j 3 j intmid a i j a i j a j i a j i mid main inta 3 3 0 1 2 3 4 5 6 7 8 print matrix a transpose a print matrix a 举例 使用多维数组作为函数参数 数组作为函数形参数组名作为函数实参 第七章 New delete int pi newint 0 deletepi inti k int a cin i a newint i a指向动态数组for intk 0 k a k 数组赋值 a就是数组名 数组元素为a i Delete a 删除时要在指针名前加 a 第七章 动态一维数组 34 class派生类名 继承方式基类名 成员声明 派生类的声明 在派生过程中调整派生类继承的基类成员的访问属性 公有继承public私有继承private保护继承protected 第八章 公有继承 public 从父类继承的成员 新增加的成员 不论派生类以何种方式继承基类 都不能直接使用基类的私有 private 成员 私有继承 private 从父类继承的成员 新增加的成员 不论派生类以何种方式继承基类 都不能直接使用基类的私有 private 成员 保护继承 protected 从父类继承的成员 新增加的成员 不论派生类以何种方式继承基类 都不能直接使用基类的私有 private 成员 38 讨论 A 与在其他类中访问私有成员一样 派生类在需要访问基类的私有成员时 不能直接访问 只能通过基类提供的 接口 函数来访问 唯一的 特权 是 该函数可以是保护类型的 Q 派生类可以采用什么方式访问基类的私有成员 classRectangle publicPoint public voidInitR floatx floaty floatw floath W w H h InitP x y 调用基类公有成员函数 floatGetH returnH floatGetW returnW private floatW H 宽 高 classPoint public voidInitP floatxx 0 floatyy 0 X xx Y yy voidMove floatxOff floatyOff X xOff Y yOff floatGetX returnX floatGetY returnY private floatX Y 点坐标 40 多继承时派生类的声明 class派生类名 继承方式1基类名1 继承方式2基类名2 成员声明 注意 每一个 继承方式 只用于限制对紧随其后之基类的继承 41 单一继承时的构造函数声明 派生类名 派生类名 基类所需的形参 本类成员所需的形参 基类名 参数表 本类成员初始化赋值语句 includeusingnamecpacestd classB public B 构造函数B inti 构造函数 B voidprint private intb 42 单一继承时的构造函数举例 单一继承时的构造函数举例 classC publicB public C C inti intj C voidprint private intc C C inti intj B i c j cout C sconstructorcalled endl 构造函数实现 单一继承时的析构函数举例 classC publicB public C C inti intj C voidprint private intc public 第八章 同名覆盖 派生类对象正常使用访问派生类成员要通过派生类对象访问基类中被覆盖的同名成员 应使用基类名限定类型兼容 派生类对象作为基类对象使用访问基类成员将派生类对象地址赋值给基类指针或者将派生类对象初始化基类引用多态 虚函数访问当前对象的成员利用基类指针访问派生类对象的同名覆盖函数成员 当派生类与基类有相同成员时 46 classB1 public 外部接口intnV voidfun cout MemberofB1 endl 声明基类B1 classD1 publicB1 public intnV 同名数据成员voidfun 同名函数成员 cout MemberofD1 endl D1 B1 nv B1 fun nv fun voidmain D1d1 d1 nV 1 d1 fun 同名覆盖d1 B1 fun 基类名限定B1 p p 类型兼容 运行结果 MemberofD1MemberofB1MemberofB1 classD1 publicB1 public intnV 同名数据成员voidfun 同名函数成员 cout MemberofD1 endl 47 classB1 public 外部接口intnV virtualvoidfun cout MemberofB1 endl 声明基类B1 classE1 publicB1 public intnV 同名数据成员

温馨提示

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

评论

0/150

提交评论