c++复习2010-12_第1页
c++复习2010-12_第2页
c++复习2010-12_第3页
c++复习2010-12_第4页
c++复习2010-12_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

考试注意事项带好准考证 学生证进入考场 并将其放在屏幕的左边 待查 书包 书籍 笔记本 手机等不得带入考场迟到15分钟以上者不能参加本场及后面场次的考试 考试系统使用注意 务必认真研读 编程题上传前必须关闭VC应用程序 否则正在窗口中的程序无法上传 单击此菜单后弹出如下窗口 打开该文件夹查看有否对应的 cpp文件 题型及题量同模拟题 具体如下 单选部分 16题程序填充 3题编程部分 4题 其中两个编程题 两个改错题 试题类型及分布 提示 考试系统的 帮助 菜单下有关于常用库函数的功能介绍和头文件说明 一 语法 标识符 由字母 数字和下划线三种字符组成 且必须以字母或下划线开头 关键字不能作为用户定义的标识符 用户定义标识符 合法 char2 abca3P1不合法 intp i break3aa bclasspublic常量 合法 n 102 t 72 不合法 ABC 1 2e0 5M 主要知识点 运算符和表达式 结合性及优先级例 1 a a 2a a a 2 若初始情况下a 3 则执行上述运算后a 2 x 0 a b 若已知a 4 b 3 x 5则a b 3 若已知inta 5 0 2 4 6 8 p a 设a的首地址为1000 则 执行 p 后表达式的值为0 p的值为1004执行 p后表达式的值为1 p的值为1000执行 p后表达式的值为2 p的值为1004对操作数的要求 1 i j 3 变量 2 a ba b必须为整型 结果的类型intn s 0 for n 1 n 9 ch是非数字字符x 0 a 0 b 1 a 2 b 1 初始化与赋值 错误 inta b c 0 应为 inta 0 b 0 c 0 或 inta 0 b 0 c 0 或 inta b c a b c 0 引用 intx 5 y是x的引用 二者同步变化 输入和输出流cin cout例 charc 20 cin c 若输入howdoyoudo则c的值为how gets c 则c的值为 howdoyoudo 改为 voidmain charch b s abcde cout ch 2 输出100 d 的ASCII码 ch ch 2 cout ch 输出dcout s 2 输出ccout s 2 输出cde cout依据其后表达式类型决定输出内容 语句 if 条件表达式 几种等价关系if x 依据x的类型不同 分别等价于如下形式 if x 0 if x 0 思考 if x 的等价关系if x NULL switch语句switch a 5 case0 cout a case1 cout a case2 cout a case3 cout a 若a 2 则输出 20 chara A switch a case A cout a 1 case B cout a 1 case C cout a default cout a 循环 1 do while先执行后判断 至少执行一次for while先判断后执行 可能一次也不执行for循环条件中常使用逗号表达式voidmain inti for i 0 i 5 i 2 cout i voidmain inti for i 0 i 5 i 2 cout i intk 3 while k 0 k for intk 1 k 3 k 6 024 注意区分空循环 执行次数 2 break语句和continue语句x 0 for j 4 j 6 j if j 2 break x j cout x 4 x 0 for j 4 j 6 j if j 2 continue x j cout x 10 数组避免下面错误 chars 5 Thisisabook chars 10 s Iamfine intn 10 a n 不要越界数组名是地址常量 不可被赋值只有字符数组可整体操作 数组名做函数形参时 一维数组省略长度说明 如 voidsort intx intn 二维数组的输入 输出 元素的存储 2356789 函数定义 函数头的末尾无分号若函数类型为非void类型 则函数中应有return语句返回同类型的数据 参数一一说明类型调用 以语句的形式调用 函数类型为void 以表达式形式调用 函数类型非void 说明 函数定义在后调用在前时需要 参数传递 值参数 单向地址参数 数组名或指针变量 参数本身单向传递 但指针变量所指内容或数组元素的改变是双向的引用参数 形参的改变影响实参 变量的作用域和存储类别静态变量只初始化一次 若未初始化 默认值为 动态变量每调用一次函数 便初始化一次 若未初始化 默认值为不定值voidtest inti 0 staticintj 0 i j cout i j endl voidmain inti test test i 1 j 1i 1 j 2 当全局变量和局部变量同名时 局部变量起作用intm 10 n 10 voida intn n 15 n m m 2 voidmain intn 3 a n cout n n m m endl n 3 m 5 voidcube intx x x x x voidmain intx 5 cube x cout x endl voidcube int x x x x x voidmain intx 5 cube intcube intx x x x x return x voidmain intx 5 x cube x cout x endl voidintx 5 voidcube x x x x voidmain cube cout x endl 例 分析下面程序 传值调用结果为5 传址调用结果为125 虽为传值调用 但返回值赋值给x 故结果为125 无参函数 使用的全局变量 故结果为125 include iostream h voidcube int 引用调用结果为125 指针运算float p q 若已知p 1000 则q 1004则 q p的值为1p 2的值为1008inta 3 p p是指向变量a的指针 b是变量a的引用 指针和数组若 inta 5 1 3 5 7 9 p a 1 则 p 1的值为4 p 1 的值即p 1 的值为5 注意一些概念的区别 若有函数 voidfun int p int 指针变量做形参 变量的引用做形参 变量的地址做实参 变量做实参 例 分析下面程序 include stdio h voidf float p1 float p2 float s s newfloat s p1 p2 voidmain floata 1 0 b 2 0 s 1 0 形参的指向已变 与实参不再指向相同的内容 返回指针值的函数 求一维数组a中的最大值 inta 8 45 6 35 12 100 11 3 40 voidmain int p 1 p max cout p int max 函数的返回值为指针 inti k 0 intt a 0 for i 1 i 8 i if t a i t a i k i return 2 max a k 函数定义在调用之后故需函数说明 include iostream h voidmaxmin inta intn int p int q inti max a 0 min a 0 for i 1 imax max a i if a i n for i 0 i a i maxmin a n 结构体structstudent intnum charname 20 floatscore st 123456L zhangsan 88 stclass 30 p 链表 动态生成新结点指针的方式 p newnode 或者 p structnode malloc sizeof node 结点成员的表达向表头 表尾 表中插入结点的语句删除表头 表中结点的语句 文件文件的打开与关闭fopen fclose函数的正确使用正确区别文件是以文本文件还是二进制文件形式打开 正确区分文件是以读的方式还是写的方式打开 要求熟练掌握用以下函数进行文件读写操作字符读写函数 fgetc fputc字符串读写函数 fgets fputs块读写函数 fread fwrite 面向对象程序设计基础三个特性封装性继承性多态性类定义形式 包括成员函数的两种实现方式数据成员 成员函数通常的访问权限类体中不允许对数据成员初始化访问权限public 可以被外部程序访问private 只能被该类的成员函数访问protected 能被该类和派生类的成员函数访问 对象的成员表示形式 或 类定义及对象的引用方法 include iostream h classCpoint private intX Y public voidset intx inty X x Y y voidprint voidCpoint print coutset 4 6 p2 print 对象初始化构造函数和析构函数的特点缺省构造函数自动生成的条件 熟练掌握简单的类的定义和对象成员的访问方法 常用内部函数 字符串处理函数需使用 include string h strlen str 如 strlen nabcd 的结果为5 不包含对 0 的统计 strlwr str strupr str strcpy str1 str2 如 chars1 30 abcd strcpy s1 2 123 cout s1 输出结果为 ab123strcat str1 str2 strcmp str1 str2 需使用 include stdio h gets puts 需使用 include math h sqrt fabs需使用 include stdlib h rand exit 二 算法1 求级数和通常求级数部分和可通过如下步骤实现 和 0 通项 第一项while 通项尚未足够小 和 和 通项 通项 f 通项 描述通项的变化 通常需多条语句 或项数未达到要求 根据给出公式求级数部分和 如 计算sin x 的值 公式为 当第n项的绝对值小于10 5时结束 sinx 0 t x i 1 while fabs t 1e 5 sinx sinx t t t x x i 1 i 2 i i 2 求级数和的应用问题如 一球从10米高度落下并反弹 且每次反弹的高度为下落的一半 问第四次落地时共经过多少米 include iostream h voidmain floatn s 0 h 10 s s h 第一次落地时经过的距离 因从高空落下和以后各次不同故特殊处理 for n 2 n 4 n 第二次到第四次的处理过程 h h 2 反弹高度s s 2 h cout s endl 2 素数 1 intisprime intm inti for i 2 m i 0 i 注意此处分号不能少return i m 2 include math h k sqrt m for i 2 i k i if m i 0 break if i k 1 else 3 最大公约数和最小公倍数intgcd intm intn inth while h m n m n n h return n 也可以从定义出发求解最大公约数 程序略 还可以用辗转相减的方法求解最大公约数 程序略 voidmain inta b c 0 c1 cin a c1 a while a 0 b a 10 c c 10 b a 10 if c1 c cout yes elsecout no 构造a的逆序数a 123c 321 4 判断回文数和回文串 inthuiwen chars chart 100 strcpy t s intlen strlen s inti for i 0 i len 2 i charc s i s i s len 1 i s len 1 i c if strcmp s t 0 return1 elsereturn0 inthuiwen chars inti len strlen s for i 0 i len 2 i if s i s len 1 i return0 return1 5 数组 1 求极值 包括最大最小值及其下标 求最大元素max a 0 for k 1 kmax max a k 求最大元素的位置 即下标 intimax k imax 0 for k 1 ka imax 注意是元素之间比较 imax为最大下标imax k 注意替换的是最大下标 而不是元素 2 排序冒泡法 for i 0 ia j 1 temp a j a j a j 1 a j 1 temp 选择法 for i 0 i n 1 i k i for j i j n j if a k a j k j if i k w a i a i a k a k w 3 插入 删除注意数组不同移动方向情况下循环控制变量的变化情况插入 for k 0 k k i a i 1 a i 从最后元素开始 往后移a k x 插入删除 for i 0 i 10 i if key a i break for j i j 10 j 从待删位置开始 向前移a j a j 1 4 二分法查找在由小到大排列的N个元素组成的数组中查找x 主要实现部分如下 bot 0 top N mid bot top 2 while bota mid bot mid 1 elsetop mid 1 mid bot top 2 if bot top cout notfound n elsecout a mid a mid endl

温馨提示

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

评论

0/150

提交评论