




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计 C C 语言的产生 C 是从C语言发展演变而来的 首先是一个更好的C引入了类的机制 最初的C 被称为 带类的C 1983年正式取名为C 从1989年开始C 语言的标准化工作于1994年制定了ANSIC 标准草案于1998年11月被国际标准化组织 ISO 批准为国际标准 成为目前的C C 的特点 全面兼容C它保持了C的简洁 高效和接近汇编语言等特点对C的类型系统进行了改革和扩充C 也支持面向过程的程序设计 不是一个纯正的面向对象的语言支持面向对象的方法 C 程序的开发过程 C 语言是一种高级程序设计语言 它的开发过程与其他高级语言程序开发过程类似 一般要经过四个步骤 编辑 编译 链接 执行 1编辑是指把按照C 语法规则编写的程序代码通过编辑器输入计算机 并存盘 在存盘时 C 源文件的扩展名为 CPP 2编译将编辑好的C 源程序通过编译器转换为目标文件 即生成该源文件的目标代码 3链接将用户程序生成的多个目标代码文件和系统提供的库文件中的某些代码连接在一起 生成一个可执行文件 4执行把生成的可执行文件运行 在屏幕上显示运行结果 用户可以根据运行结果来判断程序是否出错 C 基础入门 1 第一个C 程序 每个C 程序都包含一个或多个函数 而且必须有一个命名为main 作为程序执行的入口 这是和C语言一样的 HelloWorld程序 includevoidmain printf Helloworld n includeintmain cout Helloworld endl return0 输入输出PrintfVScoutScanfVScin 求2个数的平均数 includeintmain inti 10 j 20 intk i j 2 cout i i andj j endl cout averageis k endl return0 写入到流cin includeintmain inti j cout i j intk i j 2 cout i i andj j endl cout averageis k endl return0 修改后的程序第1版 includeintmain inti j std cout i j intk i j 2 std cout i i andj j std endl std cout averageis k std endl return0 标准库std 命名空间 namespace 标准C 库提供的对象等都放在标准名字空间std 要使用它们 必须要声明使用标准名字空间std 运算符 作用域操作符用std貌似有点烦usingnamespacestd include 修改后的程序第2版 includeusingnamespacestd intmain inti j cout i j intk i j 2 cout i i andj j endl cout averageis k endl return0 2 C 基础知识 C 字符集 大小写的英文字母 A Z a z数字字符 0 9特殊字符 空格 关键字 基本数据类型 数据类型是指定义了一组数据以及定义在这一组数据的操作 它是程序中最基本的元素 C 数据类型十分丰富 大体上可分为基本类型 空类型 构造类型 指针类型 类类型五种 变量 变量名命名变量名的命名要遵守以下规则 不能是C 保留字 第一个字符必须是字母或下划线 中间不能有空格变量名除了使用26个英文大小写字母和数字外 只能使用下划线 一般不要超过31个字符 变量名不要与C 中的库函数名 类名和对象名相同 例如 下列变量名是合法的变量名 a123c3bfile 1 整型 类型说明符位数数值范围短整short16 32768 32767基本int32 231 231 1 长整long32 231 231 1 无符号unsignedshort160 65535unsigned int 320 232 1 unsignedlong320 232 1 实型 类型名称字节float单精度4double双精度8 字符型 字符常量单引号括起来的一个字符 如 a D 字符变量用来存放字符常量例 charc1 c2 c1 a c2 A 字符数据在内存中的存储形式以ASCII码存储 占1字节 用7个二进制位 布尔型 布尔型变量的说明 例 boolflag 布尔型数据的取值 只有false和true两个值 数据类型的转换 显式类型转换显式类型转换是由程序员显式指出的类型转换 转换形式有两种 类型名 表达式 类型名 表达式这里的 类型名 是任何合法的C 数据类型 例如float int等 通过类型的显式转换可以将 表达式 转换成适当的类型 例如 doublef 3 6 intn int f 这样n为3 运算符 按其在表达式中所起的作用又可分为 算术运算符 关系运算符 逻辑运算符 位运算符 自增自减运算符 赋值运算符 及其扩展 等 条件运算符 指针运算符 和 分量运算符 下标运算符 求字节运算符sizeof 强制类型转换运算符 type 逗号运算符 运算符与表达式 基本算术运算符 若整数相除 结果取整 取余 操作数为整数 优先级与结合性先乘除 后加减 同级自左至右 自增 自减 例 i j 赋值运算符和赋值表达式有10种复合运算符 例a 3等价于a a 3x y 8等价于x x y 8 关系运算与关系表达式关系运算是比较简单的一种逻辑运算 优先次序为 优先级相同 高 优先级相同 低 关系表达式是一种最简单的逻辑表达式其结果类型为bool 值只能为true或false 例如 a b c a b x y 3 逻辑运算与逻辑表达式逻辑运算符 非 与 或 优先次序 高 低逻辑表达式例如 a b x y 其结果类型为bool 值只能为true或false 条件运算符与条件表达式一般形式表达式1 表达式2 表达式3表达式1必须是bool类型执行顺序先求解表达式1 若表达式1的值为true 则求解表达式2 表达式2的值为最终结果若表达式1的值为false 则求解表达式3 表达式3的值为最终结果例 x a b a b 注意 条件运算符优先级高于赋值运算符 低于逻辑运算符例 x a b a b sizeof运算符sizeof 类型名 或sizeof 表达式 结果值 类型名 所指定的类型或 表达式 的结果类型所占的字节数 例 sizeof short sizeof x sizeof 用法1 void p malloc 100 计算sizeof p 2 intn 10 charstr Hello char p str 请计算 sizeof n sizeof str sizeof p 3 voidFunc charstr 100 请计算sizeof str 流程控制 选择结构 if switch case default 循环结构 WhileFor跳转语句 break continue goto if语句 if 表达式 语句例 if x y couty cout x elsecout y if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 else语句n switch语句 一般形式switch 表达式 case常量表达式1 语句1case常量表达式2 语句2 case常量表达式n 语句ndefault 语句n 1 执行顺序以case中的常量表达式值为入口标号 由此开始顺序执行 因此 每个case分支最后应该加break语句 while语句和do while语句 形式 while 表达式 语句 do语句while 表达式 for语句 语法形式for 表达式1 表达式2 表达式3 语句 跳转语句 continue语句和break语句的区别是 continue语句只结束本次循环 而不是终止整个循环的执行 break语句则是结束本次循环 不再进行条件判断 Break for for if i 1 break a 1 break跳至此处 Continue 例如 输出1 100之间的不能被7整除的数 for inti 1 i 100 i if i 7 0 continue cout i endl 当i被7整除时 执行continue语句 结束本次循环 即跳过cout语句 转去判断i 100是否成立 只有i不能被7整除时 才执行cout函数 输出i 3 注释 C 中注释的种类 从 语言继承过来的注释对 单行注释 关于注释 规则1 注释是对代码的 提示 而不是文档 程序中的注释不可喧宾夺主 注释太多了会让人眼花缭乱 注释的花样要少 规则2 如果代码本来就是清楚的 则不必加注释 否则多此一举 令人厌烦 例如 i i加1 多余的注释 规则3 边写代码边注释 修改代码同时修改相应的注释 以保证注释与代码的一致性 不再有用的注释要删除 规则4 注释应当准确 易懂 防止注释有二义性 错误的注释不但无益反而有害 程序文件名 HelloWorld cpp 本程序显示 HelloWorld 设计者 gec时间 7 13 2010 include 载入头文件usingnamespacestd 使用命名空间stdvoidmain 程序入口 cout HelloC endl 结构体 结构的概念结构是由不同数据类型的数据组成的集合体 声明结构类型struct结构名 数据类型成员名1 数据类型成员名2 数据类型成员名n 使用结构体成员的引用形式 结构变量名 成员名 举例 structstudent 学生信息结构体 intnum 学号charname 20 姓名chargender 性别intage 年龄floatscore 成绩charaddr 30 住址 例 structtest floata intb testpn1 联合体 联合表示几个变量公用一个内存位置 在不同的时间保存不同的数据类型和不同长度的变量 例 uniontest inti charmm uniontestaa 枚举类型 枚举常量可以通过建立枚举类型来定义 枚举类型是一种用户自定义数据类型 在声明枚举类型时 需要把常量的值一一列举出来 形式如下 enum枚举类型名 常量值1 常量值2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 休闲餐饮连锁店厨师团队合作协议
- 《房屋买卖定金合同范本》
- 临时仓储彩钢板房搭建与仓储物流合同
- 眼科技能培训
- 智能化砂石料采购及仓储物流合同
- 休闲农业园区场地承包经营与服务协议范本
- 拆除工程后期维护服务合同范本
- 茶园租赁与茶叶品牌连锁经营合作合同
- 战国后期教育论著
- 能源领域采购战略合作框架协议
- 2025年湖北高考真题化学试题(解析版)
- 2025-2030年中国停车场行业市场现状供需分析及投资评估规划分析研究报告
- 林业碳汇项目开发流程与审核要点
- 安徽宣城职业技术学院招聘笔试真题2024
- 2025西山煤电井下岗位高校毕业生招聘500人(山西)笔试参考题库附带答案详解
- 排污许可证申请流程
- 药具培训培训试题及答案
- 重庆市大渡口区2023-2024学年四年级下学期数学期末测试卷(含答案)
- 2025年高考全国一卷写作范文4篇
- 坚持严格阵地管理制度
- 2025年广西公需科目答案03
评论
0/150
提交评论