




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章C 简单程序设计 C 语言程序设计 本章主要内容 C 语言概述 了解 基本数据类型和表达式 掌握 数据的输入与输出 掌握 算法的基本控制结构 了解 自定义数据类型 理解 2 1 1C 语言的产生 C 是从C语言发展演变而来的 首先是一个更好的C引入了类的机制 最初的C 被称为 带类的C 1983年正式取名为C 从1989年开始C 语言的标准化工作于1994年制定了ANSIC 标准草案于1998年11月被国际标准化组织 ISO 批准为国际标准 成为目前的C 2 1C 语言概述 2 1 2C 的特点 全面兼容C它保持了C的简洁 高效和接近汇编语言等特点对C的类型系统进行了改革和扩充C 也支持面向过程的程序设计 不是一个纯正的面向对象的语言支持面向对象的方法 C 语言概述 2 1 2 1 3C 程序实例 例2 1 2 1 cpp includeusingnamespacestd voidmain void cout Hello n cout Welcometoc n 运行结果 Hello Welcometoc C 语言概述 2 1 C 程序的结构与基本组成一个简单的C 程序 是由若干个函数构成的 其中有且仅有一个名称为main的函数存在 下图说明了C 程序的基本框架结构 1 声明区声明区处在程序文件的所有函数的外部 1 包含头文件 如 include iostream h 2 宏定义 如 definePI3 1415926 3 类定义 如classname 4 结构体定义 如structrecord 5 函数声明 如voidprint 6 全局变量声明 如floatH 2 58 7 条件编译 如 ifdef 等 2 主程序区主程序以main 函数开始 是整个程序运行的入口 该函数中可能包含的内容主要有 1 局部变量的声明 如 inti 1 2 函数调用 如 y sin x 3 一般运算 如 a b c d 3 4 结构控制 如 if a b c a 5 对象与结构的处理 6 文件的处理等 4 程序举例 3 函数定义区程序中除了main函数之外 还可以包含其它的函数 每个函数是由函数说明和函数体两部分构成的 如图所示 从上例可以看出 1 C语言中原有的规则和语句在C 中仍可继续使用 但C 又增添了很多新的风格 2 一个C 的程序是由一到若干个函数构成的 但其中必须有且仅有一个名称为main的函数存在 3 不管一个程序中有多个函数 只有main函数整个程序运行时的入口 程序运行时从此函数开始执行 但在程序中 main函数所处的位置可以任意 4 一个C 的函数是由两部分构成的 即函数的说明部分和函数体 函数的说明部分包括了函数的返回值的类型 函数的名称 圆括号 形参及形参的类型说明 函数体由一对大括号 括起来 其内容是由若干条语句构成 函数体的内容决定了该函数的功能 5 C 对程序中的名称是大小写 敏感 的 除特殊情况下 应一律小写 6 程序中的注释 可以用 或 单行注释 对程序中的内容进行注释 二者的区别在于 采用 方法时 注释可以写成多行 而采用 方法时 注释只能写成一行 它可单独占一行 也可写在某行程序代码的末尾 7 数据输出 除了使用printf 函数 还可使用功能更强大 更方便的cout对象进行输出数据 格式如下 cout 数据1 数据2 数据n如 上例中的语句cout s is i yearsold 表示同时输出了变量s的值 字符串 is 变量i的值和字符串 yearsold 8 数据输入 除了使用scanf 函数 还可使用功能更强大 更方便的cin对象进行数据输入 格式如下 cin 变量1 变量2 变量n如 上例中的语句cin s 表示给变量s输入一个值 9 在分别使用cout和cin进行数据的输出和输入时 需要在程序的开头嵌入 iostream h 文件 在该头文件中定义了输入输出流对象cout和cin等 10 一个C 的源程序文件在存盘时 要以 CPP为文件名后缀 而不是 C 2 1 4C 字符集 与c语言完全相同 大小写的英文字母 A Z a z数字字符 0 9特殊字符 空格 C 语言概述 2 1 2 1 5词法记号 关键字C 预定义的单词P22标识符程序员声明的单词 它命名程序正文中的一些实体文字在程序中直接使用符号表示的数据操作符用于实现各种运算的符号 等分隔符 用于分隔各个词法记号或程序正文空白符空格 制表符 TAB键产生的字符 换行符 Enter键所产生的字符 和注释的总称 C 语言概述 2 1 标识符的构成规则 与c语言相同 以大写字母 小写字母或下划线 开始 可以由以大写字母 小写字母 下划线 或数字0 9组成 大写字母和小写字母代表不同的标识符 不能是c 关键字 C 语言概述 2 1 2 2 1基本数据类型 Page17 基本数据类型和表达式 整型数据 与c语言完全相同 略 同学们课后自己看书 常量与变量 字符型数据 布尔型数据 混合运算时的类型转换 运算符与表达式 语句 实型数据 2 2 数据类型 常量与变量 includeusingnamespacestd voidmain void constintPRICE 30 intnum total floatv r h num 10 total num PRICE cout total endl r 2 5 h 3 2 v 3 14159 r r h cout v endl Page18 基本数据类型和表达式 includeusingnamespacestd voidmain void constintPRICE 30 intnum total floatv r h num 10 total num PRICE cout total endl r 2 5 h 3 2 v 3 14159 r r h cout v endl 数据类型 整型数据 整型常量 shortunsignedshort2字节int unsignedint4字节longunsignedlong4字节 整型变量 基本数据类型和表达式 c语言中是16位 2个字节 整型数据及取值范围 类型说明符位数数值范围短整short16 32768 32767基本int32 231 231 1 长整long32 231 231 1 无符号unsignedshort160 65535unsigned int 320 232 1 unsignedlong320 232 1 基本数据类型和表达式 includeusingnamespacestd voidmain void constintPRICE 30 intnum total floatv r h num 10 total num PRICE cout total endl r 2 5 h 3 2 v 3 14159 r r h cout v endl 数据类型 实型数据 实型常量 float4字节3 4 10 387位有效数字double8字节1 7 10 30815位有效数字longdouble8字节1 7 10 30815位有效数字 实型变量 缺省为double型后缀F 或f 为float型后缀L 或l 为longdouble型 基本数据类型和表达式 数据类型 字符型数据 一 字符常量单引号括起来的一个字符 如 a D 字符变量用来存放字符常量例 charc1 c2 c1 a c2 A 字符数据在内存中的存储形式以ASCII码存储 占1字节 用7个二进制位 Page22 基本数据类型和表达式 字符数据的使用方法字符数据和整型数据之间可以运算 字符数据与整型数据可以互相赋值 字符串常量例 CHINA a a 所以 charc c a Page23 数据类型 字符型数据 二 基本数据类型和表达式 数据类型 布尔型数据 布尔型变量的说明 例 boolflag 布尔型数据的取值 只有false和true两个值 基本数据类型和表达式 数据类型 变量初始化 例 inta 3 doublef 3 56 charc a intc 5 Page25 基本数据类型和表达式 变量的存储类型 auto属于临时性存储 其存储空间可以被若干变量多次覆盖使用 register存放在通用寄存器中 extern在所有函数和程序段中都可引用 static在内存中是以固定地址存放的 在整个程序运行期间都有效 基本数据类型和表达式 2 2 2表达式1算术运算符与算术表达式 基本算术运算符 若整数相除 结果取整 取余 操作数为整数 优先级与结合性先乘除 后加减 同级自左至右 自增 自减 例 i j Page27 基本数据类型和表达式 2赋值运算符和赋值表达式简单的赋值运算符 举例n n 5表达式的类型等号左边对象的类型表达式的值等号左边对象被赋值后的值 Page28 基本数据类型和表达式 2赋值运算符和赋值表达式复合的赋值运算符 有10种复合运算符 例a 3等价于a a 3x y 8等价于x x y 8 基本数据类型和表达式 赋值运算符和赋值表达式 赋值表达式举例 a 5表达式值为5a b c 5表达式值为5 a b c均为5a 5 c 6 表达式值为11 a为11 c为6a b 4 c 6 表达式值为10 a为10 b为4 c为6a b 10 c 2 表达式值为5 a为5 b为10 c为2a a a a相当于a a a a a a Page30 基本数据类型和表达式 3逗号运算和逗号表达式 格式表达式1 表达式2求解顺序及结果先求解1 再求解2 最终结果为表达式2的值例a 3 5 a 4最终结果为60 Page31 基本数据类型和表达式 4关系运算与关系表达式 关系运算是比较简单的一种逻辑运算 优先次序为 优先级相同 高 优先级相同 低 关系表达式是一种最简单的逻辑表达式其结果类型为bool 值只能为true或false 例如 a b c a b x y 3 基本数据类型和表达式 5逻辑运算与逻辑表达式 逻辑运算符 非 与 或 优先次序 高 低逻辑表达式例如 inta 5 b 3 x 10 y 20 则 a b x y 的值为 其结果类型为bool 值只能为true或false 基本数据类型和表达式 6条件运算符与条件表达式 一般形式表达式1 表达式2 表达式3表达式1必须是bool类型执行顺序先求解表达式1 若表达式1的值为true 则求解表达式2 表达式2的值为最终结果若表达式1的值为false 则求解表达式3 表达式3的值为最终结果例 x a b a b 基本数据类型和表达式 条件运算符与条件表达式 注意 条件运算符优级高于赋值运算符 低于逻辑运算符表达式2 3的类型可以不同 条件表达式的最终类型为2和3中较高的类型 例 x a b a b 基本数据类型和表达式 7sizeof运算符 语法形式sizeof 类型名 或sizeof 表达式 结果值 类型名 所指定的类型或 表达式 的结果类型所占的字节数 例 sizeof short sizeof x 基本数据类型和表达式 运算符优先级 括号 sizeof 位运算 赋值运算逗号运算 低 高 基本数据类型和表达式 数据类型 混合运算时的类型转换 不同类型数据进行混合运算时 C 编译器会自动进行类型转换 为了避免不同的数据类型在运算中出现类型问题 应尽量使用同种类型数据 可以采用强制类型转换 例如 floatc inta b c float a float b 或c float a float b 基本数据类型和表达式 混合运算时数据类型的转换 隐含转换 一些二元运算符 算术运算符 关系运算符 逻辑运算符 位运算符和赋值运算符 要求两个操作数的类型一致 在算术运算和关系运算中如果参与运算的操作数类型不一致 编译系统会自动对数据进行转换 即隐含转换 基本原则是将低类型数据转换为高类型数据 charshortintunsignedlongunsignedlongfloatdouble低高 基本数据类型和表达式 混合运算时数据类型的转换 隐含转换 当参与运算的操作数必须是bool型时 如果操作数是其它类型 编译系统会自动将非0数据转换为true 0转换为false 位运算的操作数必须是整数 当二元位运算的操作数是不同类型的整数时 也会自动进行类型转换 赋值运算要求左值与右值的类型相同 若类型不同 编译系统会自动将右值转换为左值的类型 基本数据类型和表达式 混合运算时数据类型的转换 强制类型转换 语法形式 类型说明符 表达式 或 类型说明符 表达式强制类型转换的作用是将表达式的结果类型转换为类型说明符所指定的类型 基本数据类型和表达式 2 3数据的输入与输出 I O流 预定义的插入符与提取符 在C 中 将数据从一个对象到另一个对象的流动抽象为 流 2 3 1I O流 流在使用前要被建立 使用后要被删除 从流中获取数据的操作称为提取操作 向流中添加数据的操作称为插入操作 数据的输入与输出是通过流来实现的 cin是预定义的用来处理标准输入的流类对象 键盘 cout是预定义的用来处理标准输出的流类对象 屏幕 2 3 2预定义的插入符和提取符1预定义的插入符 是预定义的插入符 作用在流类对象cout上 用来实现屏幕输出 格式 cout 表达式 表达式 在输出语句中 可以串联多个插入运算符 输出多个数据项 在插入运算符后面可以写任意的表达式 系统会自动计算出它们的值并传递给插入符 例如 cout Hello n 将字符串 Hello 输出到屏幕上并换行 cout a b a b 将字符串 a b 和表达式a b的计算结果依次在屏幕上输出 2预定义的提取符 是预定义的提取符 作用在流类对象cint上 用来实现键盘输入 格式 cin 变量 变量 在输入语句中 可以串联多个提取运算符 用于实现给多个变量输入数据 变量的类型可以不一致 例如 inta b cin a b 要求从键盘上输入两个int型数 两数之间以空格分隔 若输入56这时 变量a得到的值为5 变量b得到的值为6 2 3 3简单的I O格式控制 在数据输入输出时 cin和cout能对数据自动按正确的格式进行处理 除此之外 还可按特殊的格式加以处理 这些操纵符可以直接嵌入到输入输出语句中实现I O控制 使用该操纵符 必须在源程序的开头包含iomainip头文件 例如 要输出浮点数3 1415并换行 设置域宽为5个字符 小数点后保留两位有效数字 输出语句如下 cout setw 5 setprecision 3 3 1415 endl 作业2 1 2 3 5 8 10 16 21 22 32 48 小结 C 字符集 大小写的英文字母 A Z a z数字字符 0 9特殊字符 空格 49 词法记号 关键字C 预定义的单词标识符程序员声明的单词 它命名程序正文中的一些实体文字在程序中直接使用符号表示的数据操作符用于实现各种运算的符号分隔符 用于分隔各个词法记号或程序正文空白符空格 制表符 TAB键产生的字符 换行符 Enter键所产生的字符 和注释的总称 50 类型说明符位数数值范围短整short16 32768 32767基本int32 231 231 1 长整long32 231 231 1 无符号unsignedshort160 65535unsigned int 320 232 1 unsignedlong320 232 1 整型数据及取值范围 51 实型数据 float4字节3 4 10 387位有效数字double8字节1 7 10 30815位有效数字longdouble8字节1 7 10 30815位有效数字 整型兼容 bool1字节falsetruechar1字节 128 127unsignedchar1字节0 255 52 汉 汉 哪种表示正确 m k 等价于 m k k 1 k 1 m k 53 if 表达式 语句例 if x y couty cout x elsecout y if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 else语句n if语句 三种形式 算法的基本控制结构 54 一般形式if if 语句1else语句2elseif 语句3else语句4注意语句1 2 3 4可以是复合语句 每层的if与else配对 或用 来确定层次关系 算法的基本控制结构 55 一般形式switch 表达式 case常量表达式1 语句1case常量表达式2 语句2 case常量表达式n 语句ndefault 语句n 1 switch语句 执行顺序以case中的常量表达式值为入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁合同担保法律风险规避与合规审查要点
- 大宗固废循环利用技术开发方案
- 数字化在线营销方案策划
- 2025年风电行业市场前瞻:技术创新引领风电运维服务升级报告
- 石嘴山快速门施工方案
- 项目咨询策划方案范文
- DB65T 4332-2020 羊鼻蝇蛆病防治技术规程
- 冻货应急预案(3篇)
- DB65T 4504-2022 马血液梨形虫检测技术规程
- 生物质能源在分布式能源系统中的2025年应用技术创新与市场前景分析报告
- 人教版六年级英语上册《全册》完整版
- 2023人教版九年级语文上册 第一单元主题阅读 课件
- 媒介素养概论 课件 刘勇 第0-4章 绪论、媒介素养-新闻评论
- 铁丝镀锌工操作规程培训
- 美慧树课件教材培训
- 2023年北京市中考物理试卷(解析版)
- 严防管制刀具 对自己和他人负责-校园安全教育主题班会课件
- 幼儿园学生近视防控工作领导小组及岗位职责
- 沙盘游戏在自闭症中的运用课件
- 医院培训课件:《护患沟通技巧》
- 青稞栽培管理培训课件
评论
0/150
提交评论