清华 郑莉 C++ .ppt

上传人:飞****9 文档编号:127407695 上传时间:2020-04-01 格式:PPT 页数:88 大小:812.51KB
返回 下载 相关 举报
清华 郑莉 C++ .ppt_第1页
第1页 / 共88页
清华 郑莉 C++ .ppt_第2页
第2页 / 共88页
清华 郑莉 C++ .ppt_第3页
第3页 / 共88页
清华 郑莉 C++ .ppt_第4页
第4页 / 共88页
清华 郑莉 C++ .ppt_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《清华 郑莉 C++ .ppt》由会员分享,可在线阅读,更多相关《清华 郑莉 C++ .ppt(88页珍藏版)》请在金锄头文库上搜索。

1、第二章C 简单程序设计 清华大学郑莉 C 语言程序设计 2 本章主要内容 C 语言概述基本数据类型和表达式数据的输入与输出算法的基本控制结构自定义数据类型 3 C 语言的产生 C 是从C语言发展演变而来的 首先是一个更好的C引入了类的机制 最初的C 被称为 带类的C 1983年正式取名为C 从1989年开始C 语言的标准化工作于1994年制定了ANSIC 标准草案于1998年11月被国际标准化组织 ISO 批准为国际标准 成为目前的C C 语言概述 4 C 的特点 全面兼容C它保持了C的简洁 高效和接近汇编语言等特点对C的类型系统进行了改革和扩充C 也支持面向过程的程序设计 不是一个纯正的面向

2、对象的语言支持面向对象的方法 C 语言概述 5 C 程序实例 例2 1 2 1 cpp includeusingnamespacestd voidmain void cout Hello n cout Welcometoc n 运行结果 Hello Welcometoc C 语言概述 6 C 字符集 大小写的英文字母 A Z a z数字字符 0 9特殊字符 空格 C 语言概述 7 词法记号 关键字C 预定义的单词标识符程序员声明的单词 它命名程序正文中的一些实体文字在程序中直接使用符号表示的数据操作符用于实现各种运算的符号分隔符 用于分隔各个词法记号或程序正文空白符空格 制表符 TAB键产生的

3、字符 换行符 Enter键所产生的字符 和注释的总称 C 语言概述 8 标识符的构成规则 以大写字母 小写字母或下划线 开始 可以由以大写字母 小写字母 下划线 或数字0 9组成 大写字母和小写字母代表不同的标识符 C 语言概述 9 数据类型 常量与变量 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 Page9 基本数据类型和

4、表达式 10 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字节 整型变量 基本数据类型和表达式 11 数据类型 整型数据及取值范围 类型说明符位数数值范围短整short16 32768

5、 32767基本int32 231 231 1 长整long32 231 231 1 无符号unsignedshort160 65535unsigned int 320 232 1 unsignedlong320 232 1 基本数据类型和表达式 12 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 数据类型 实型数据 实型常量

6、 float4字节3 4 10 387位有效数字double8字节1 7 10 30815位有效数字longdouble8字节1 7 10 30815位有效数字 实型变量 缺省为double型后缀F 或f 为float型后缀L 或l 为longdouble型 基本数据类型和表达式 13 数据类型 字符型数据 一 字符常量单引号括起来的一个字符 如 a D 字符变量用来存放字符常量例 charc1 c2 c1 a c2 A 字符数据在内存中的存储形式以ASCII码存储 占1字节 Page13 基本数据类型和表达式 14 字符数据的使用方法字符数据和整型数据之间可以运算 字符数据与整型数据可以互相

7、赋值 字符串常量例 CHINA a a 所以 charc c a Page14 数据类型 字符型数据 二 基本数据类型和表达式 15 数据类型 布尔型数据 布尔型变量的说明 例 boolflag 布尔型数据的取值 只有false和true两个值 基本数据类型和表达式 16 数据类型 变量初始化 例 inta 3 doublef 3 56 charc a intc 5 Page16 基本数据类型和表达式 17 数据类型 混合运算时的类型转换 不同类型数据进行混合运算时 C 编译器会自动进行类型转换 为了避免不同的数据类型在运算中出现类型问题 应尽量使用同种类型数据 可以采用强制类型转换 例如 f

8、loatc inta b c float a float b 或c float a float b 基本数据类型和表达式 18 变量的存储类型 auto属于一时性存储 其存储空间可以被若干变量多次覆盖使用 register存放在通用寄存器中 extern在所有函数和程序段中都可引用 static在内存中是以固定地址存放的 在整个程序运行期间都有效 基本数据类型和表达式 19 算术运算符与算术表达式 基本算术运算符 若整数相除 结果取整 取余 操作数为整数 优先级与结合性先乘除 后加减 同级自左至右 自增 自减 例 i j Page19 基本数据类型和表达式 20 赋值运算符和赋值表达式简单的赋

9、值运算符 举例n n 5表达式的类型等号左边对象的类型表达式的值等号左边对象被赋值后的值 Page20 基本数据类型和表达式 21 赋值运算符和赋值表达式复合的赋值运算符 有10种复合运算符 例a 3等价于a a 3x y 8等价于x x y 8 基本数据类型和表达式 22 赋值运算符和赋值表达式 赋值表达式举例 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 Page2

10、2 基本数据类型和表达式 23 逗号运算和逗号表达式 格式表达式1 表达式2求解顺序及结果先求解1 再求解2 最终结果为表达式2的值例a 3 5 a 4最终结果为60 Page23 基本数据类型和表达式 24 关系运算与关系表达式 关系运算是比较简单的一种逻辑运算 优先次序为 优先级相同 高 优先级相同 低 关系表达式是一种最简单的逻辑表达式其结果类型为bool 值只能为true或false 例如 a b c a b x y 3 基本数据类型和表达式 25 逻辑运算与逻辑表达式 逻辑运算符 非 与 或 优先次序 高 低逻辑表达式例如 a b x y 其结果类型为bool 值只能为true或fa

11、lse 基本数据类型和表达式 26 条件运算符与条件表达式 一般形式表达式1 表达式2 表达式3表达式1必须是bool类型执行顺序先求解表达式1 若表达式1的值为true 则求解表达式2 表达式2的值为最终结果若表达式1的值为false 则求解表达式3 表达式3的值为最终结果例 x a b a b 基本数据类型和表达式 27 条件运算符与条件表达式 注意 条件运算符优级高于赋值运算符 低于逻辑运算符表达式2 3的类型可以不同 条件表达式的最终类型为2和3中较高的类型 例 x a b a b 基本数据类型和表达式 28 sizeof运算符 语法形式sizeof 类型名 或sizeof 表达式 结

12、果值 类型名 所指定的类型或 表达式 的结果类型所占的字节数 例 sizeof short sizeof x 基本数据类型和表达式 29 位运算 按位与 运算规则将两个运算量的每一个位进行逻辑与操作举例 计算3 基本数据类型和表达式 30 位运算 按位或 运算规则将两个运算量的每一个位进行逻辑或操作举例 计算3 53 000000115 000001013 5 00000111用途 将某些位置1 其它位不变 例如 将int型变量a的低字节置1 a a 0 xff 基本数据类型和表达式 31 位运算 按位异或 运算规则两个操作数进行异或 若对应位相同 则结果该位为0 若对应位不同 则结果该位为1

13、 举例 计算071 052071 00111001052 00101010071 052 00010011 基本数据类型和表达式 32 位运算 按位异或 用途 使特定位翻转 与0异或保持原值 与1异或取反 例如 要使01111010低四位翻转 01111010 0000111101110101 基本数据类型和表达式 33 位运算 取反 单目运算符 对一个二进制数按位取反 例 025 0000000000010101 025 1111111111101010 基本数据类型和表达式 34 位运算 移位 左移运算 右移后 低位 舍弃高位 无符号数 补0有符号数 补 符号位 基本数据类型和表达式 35

14、 运算符优先级 括号 sizeof 位运算 赋值运算逗号运算 低 高 基本数据类型和表达式 36 混合运算时数据类型的转换 隐含转换 一些二元运算符 算术运算符 关系运算符 逻辑运算符 位运算符和赋值运算符 要求两个操作数的类型一致 在算术运算和关系运算中如果参与运算的操作数类型不一致 编译系统会自动对数据进行转换 即隐含转换 基本原则是将低类型数据转换为高类型数据 charshortintunsignedlongunsignedlongfloatdouble低高 基本数据类型和表达式 37 混合运算时数据类型的转换 隐含转换 当参与运算的操作数必须是bool型时 如果操作数是其它类型 编译系

15、统会自动将非0数据转换为true 0转换为false 位运算的操作数必须是整数 当二元位运算的操作数是不同类型的整数时 也会自动进行类型转换 赋值运算要求左值与右值的类型相同 若类型不同 编译系统会自动将右值转换为左值的类型 基本数据类型和表达式 38 混合运算时数据类型的转换 强制类型转换 语法形式 类型说明符 表达式 或 类型说明符 表达式强制类型转换的作用是将表达式的结果类型转换为类型说明符所指定的类型 基本数据类型和表达式 39 语句 声明语句表达式语句选择语句循环语句跳转语句复合语句标号语句 40 表达式语句 格式 表达式 表达式语句与表达式的区别 表达式可以包含在其它表达式中 而语

16、句不可 例 if a b 0 t a 不可写为 if a b 0 t a 语句 41 复合语句 将多个语句用一对大括号包围 便构成一个复合语句例如 sum sum i i 语句 42 简单的输入 输出 向标准输出设备 显示器 输出例 intx cout x 43 顺序结构分支结构循环结构 算法的基本控制结构 44 如何解决分支问题 例2 2输入一个年份 判断是否闰年 算法的基本控制结构 includeusingnamespacestd voidmain void intyear boolIsLeapYear cout year IsLeapYear year 4 0 45 运行结果 Entertheyear 20002000isaleapyear 46 47 if 表达式 语句例 if x y couty cout x elsecout y if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 else语句n if语句 三种形式 算法的基本控制结构 48 如何解决多分问题 例2 3输入两个整数 比较两个数的大小 算法的基本控制结构 includeusing

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号