




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 语法 标识符 由字母 数字和下划线三种字符组成 且必须以字母或下划线开头 关键字不能作为用户定义的标识符 用户定义标识符 合法 char2 abca3P1不合法 intp i break3aa bclasspublic常量 合法 n 102 t 72 不合法 ABC 1 2e0 5M 编译预处理命令文件包含 include当调用系统提供的资源时 需使用该命令 如 在调用库函数时 使用的文件包含命令如下 字符串处理函数需使用 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 输出结果为 ab123 strcat str1 str2 strcmp str1 str2 需使用 include stdio h gets puts 需使用 include math h sqrt fabs需使用 include stdlib h rand符号常量的定义 用 define命令如 defineN10等价于 constintN 10 运算符和表达式 结合性及优先级例 1 x x 3x x x 3 若初始情况下x 5 则执行上述运算后x 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必须为整型 12 右边表达式作为一个整体出现 结果的类型intn s 0 for n 1 n 9 ch是非数字字符x 0 x 200 x 2 0 x是0到200之间的偶数用随机函数产生在某一区间的数rand 101rand 51 50若随机产生a b范围内的整数rand b a 1 a 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 输出dcout s 2 输出ccout s 2 输出cde cout依据其后表达式类型决定输出内容 语句 if 条件表达式 几种等价关系if x 依据x的类型不同 分别等价于如下形式 if x 0 if x 0 if x NULL 那么if x 对应的等价关系呢 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 x 2 while x cout x endl 执行次数 无限次x x 3 intk 3 while k 0 k for intk 1 k 3 k 6 注意区分空循环 执行次数0 2 break语句x 0 for j 4 j 6 j if j 2 break x j cout x 4 退出switch语句或本层循环 在双重循环中使用时 注意退出的是哪一层 数组避免下面错误 intn 10 a n chars 5 Thisisabook chars 10 s Iamfine 1 数组必须定义长度 且长度不能用变量 2 不能越界 3 数组名是地址常量 不可被赋值4 只有字符数组可整体操作 数组名做函数形参时 一维数组省略长度说明 二维数组省略第一维的长度说明 如 voidsort intx intn voidfun char 10 intn 二维数组的输入 输出 元素的赋值 2356789 函数定义 函数头的末尾无分号若函数类型为非void类型 则函数中应有return语句返回同类型的数据 参数一一说明类型调用 以语句的形式调用 函数类型为void 以表达式形式调用 函数类型非void 说明 函数定义在后 调用在前时需要 形式同函数头部 参数传递 值参数 单向传递 实参 变量或表达式 形参 只能是变量 如有函数原型说明 voidfun intx inty 则函数调用 fun a 5 fun a b a b 都是允许的 地址参数 参数本身单向传递 但指针变量所指内容或数组元素的改变是双向的实参 变量地址 数组名或有明确指向的指针变量 形参 指针变量或数组名 引用参数 形参的改变影响实参 实参 变量 形参 变量的引用 注意形参和实参写法 若有函数 voidfun int p int 指针变量做形参 变量的引用做形参 变量的地址做实参 变量做实参 参数缺省 voidfun inti intj intk intm 3 intn 4 假设函数调用语句为 fun 1 2 错误 至少应有三个实参fun 10 20 30 50 错误 只能从左至右匹配 函数重载要求 参数个数不同参数类型不同 函数名相同 变量的作用域和存储类别静态变量只初始化一次 而动态变量每调用一次函数 便初始化一次 voidtest inti 0 staticintj 0 i j cout i j endl voidmain inti test test i 1 j 1i 1 j 2 当全局变量和局部变量同名时 局部变量起作用intm 10 voida intn n 15 n m m 2 main intn 3 a n printf n d m d n n m 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 voidcube 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 指针运算 加减一个整数两同类型指针变量相减int p q 若已知p 1000 q 1004则 q p的值为 1004 1000 4 1p 2的值为1000 4 2 1008inta 3 p p是指向变量a的指针 b是变量a的引用 指针和数组若 inta 5 1 3 5 7 9 p a 1 则 p 1的值为4 p 1 的值为5 例 分析下面程序 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 p 结构变量之间可整体赋值 I O流类打开文件的方式 创建流类对象的同时打开文件ofstreamoutfile abc dat fstreamoutfile abc dat ios out 先创建流类对象 再打开文件ofstreamoutfile outfile open abc dat 几个读写成员函数 ifstreamofstreamfstream get getline put write readchars 10 abcdefg cout write s 2 put a 文件打开时 默认的模式为文本文件二进制文件需显式地打开 ios binary 面向对象程序设计基础三个特性封装性继承性多态性类定义形式 包括成员函数的两种实现方式数据成员 成员函数通常的访问权限类体中不允许对数据成员初始化访问权限public 可以被外部程序访问private 只能被该类的成员函数访问protected 能被该类和派生类的成员函数访问 对象的成员表示形式数据成员 或 成员函数 或 类定义及对象的引用方法 includeclassCpoint private intX Y public voidset intx inty X x Y y voidprint voidCpoint print coutset 4 6 p2 print 对象初始化构造函数和析构函数的特点缺省构造函数自动生成的条件派生类的继承关系 如 在公有继承中 基类的私有成员将成为其派生类的什么成员 派生类的定义形式 继承关系 构造函数虚函数和抽象类的概念 二 算法1 求级数和通常求级数部分和可通过如下步骤实现 根据给出公式求级数部分和 如 计算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 for i 2 i sqrt m 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 也可以从定义出发求解最大公约数 程序略 还可以用辗转相减的方法求解最大公约数 程序略 4 判断回文 1 判断字符串是不是回文串 方法是构造一个原串的逆序串 再和原串比较 若相同则是回文串 注意字符串处理函数的正确使用 include stdio h include string h include iostream h voidmain chars 80 p s ch s1 80 inti j 0 gets s strcpy s1 s 先将原串复制到另一字符串中保存起来 注意两参数的类型j strlen s for i 0 i j 2 i ch s i s i s j i 1 s j i 1 ch if strcmp s s1 0 注意两字符串比较一定要通过调用该函数 两参数为字符指针或字符数组名cout yes endl elsecout no endl 5 数组 1 求极值 包括最大最小值及其下标 求最大值max a 0 for k 1 kmax max a k 求最大值的位置 即下标 intfun inta intn intimax k imax 0 for k 1 ka imax 注意是元素之间比较 imax为最大下标imax k 注意替换的是最大下标 而不是元素return imax 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 插入 删除 程序略 请参阅教材及习题 注意数组不同移动方向情况下循环控制变量的变化情况 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 bo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化创意行业知识产权保护策略研究报告
- 2025年文化传媒行业内容付费模式研究报告
- 2025年生物医药行业医疗保健趋势与市场前景研究报告
- 2025年三亚市国有资产管理有限公司招聘5名笔试题库历年考点版附带答案详解
- 2025基金投顾资格考试题库及答案
- 2025年智慧健康行业智慧健康生活模式研究报告
- 2025年数字金融行业金融科技创新案例研究报告
- 2025年快递行业智能快递箱技术应用前景研究报告
- 注射用维得利珠单抗临床应用考核试题
- 常用急救专业知识考试题库及答案(含各题型)
- 2025年吉安县公安局面向社会公开招聘留置看护男勤务辅警29人笔试备考试题及答案解析
- 内部审计管理系统建设需求
- 燃气输配课程设计说明书
- 如何进行模拟堂教学
- 手术操作分类代码国家临床版3.0
- 监控扩容施工方案
- 轴的计算与校核、传动轴计算(无密码可修改)
- 职称若干问题回答
- 《复旦大学介绍》
- 静电测试作业指导书
- 马云演讲中英文版
评论
0/150
提交评论