高级程序设计C语言教学课件作者 第3章 数据类型运算符与表达式

上传人:f****u 文档编号:128877076 上传时间:2020-04-21 格式:PPT 页数:50 大小:347.50KB
返回 下载 相关 举报
高级程序设计C语言教学课件作者 第3章 数据类型运算符与表达式_第1页
第1页 / 共50页
高级程序设计C语言教学课件作者 第3章 数据类型运算符与表达式_第2页
第2页 / 共50页
高级程序设计C语言教学课件作者 第3章 数据类型运算符与表达式_第3页
第3页 / 共50页
高级程序设计C语言教学课件作者 第3章 数据类型运算符与表达式_第4页
第4页 / 共50页
高级程序设计C语言教学课件作者 第3章 数据类型运算符与表达式_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《高级程序设计C语言教学课件作者 第3章 数据类型运算符与表达式》由会员分享,可在线阅读,更多相关《高级程序设计C语言教学课件作者 第3章 数据类型运算符与表达式(50页珍藏版)》请在金锄头文库上搜索。

1、1 第3章数据类型 运算符与表达式 漳州师范学院赵红 C语言程序设计 2020 4 21 2 教学要求 教学要求 了解C语言中数据类型的分类 掌握整型 实型 字符型 字符串常量的表示方法 掌握符号常量的定义和使用 掌握变量的定义 存放形式 初始化 使用方法 掌握基本算术 强制类型转换 自增 自减 赋值 逗号运算符和表达式 掌握各类数值型数据间的混合运算 教学重点 整型 实型 字符型常量的表示方法和变量的定义 存放形式 初始化 使用方法 算术 赋值 逗号运算符和表达式 教学难点 自增 自减运算符和表达式 混合表达式计算 2020 4 21 3 为什么要指定数据类型 2020 4 21 4 第3章

2、C的数据类型 2020 4 21 5 为什么要指定数据类型 1 不同类型的数据在内存中占据不同长度的存储区 2 不同类型的数据取值范围不同 3 不同类型的数据有不同的操作 C语言对程序中要用到的每一个变量都要事先指定它的数据类型 2020 4 21 6 常量的分类 常量的定义 常量的分类 直接常量 符号常量表达形式 1 整型常量6 432 76543 546783424 2 实型常量2 23 546 2487615247 3 057439 5 3 字符常量 a 6 M 4 符号常量WHI defineWHI Iamastudent WHI是符号常量 2020 4 21 7 例3 1符号常量的使

3、用 definePRICE30main intnum total num 10 total num PRICE printf total d total 格式控制字符串中的普通字符 照原样输出 符号常量 运行结果 total 300 符号常量 符号常量必须先定义后才能用它表示一个数值 符号常量的值在其作用域内不能改变 也不能再被赋值 习惯 符号常量名用大写 变量用小写 好处 含义清楚 一改全改 2020 4 21 8 预备知识 标识符P39 用于程序中的变量 符号常量 数组 函数 数据类型等操作对象的名字由字母 下划线和数字组成的字符序列 1 系统定义标识符 关键字 具有固定名字和特定含义的标

4、识符2 用户定义标识符用于对用户使用的变量 数组 函数等操作对象进行命名 2020 4 21 9 对标识符的规定 用户定义标识符必须以字母或下划线 开头不能含有除字母 数字和下划线 外的其他字符标识符中大小写字母含义不同关键字必须用小写字母 不允许使用关键字为变量 数组 函数等操作对象命名 2020 4 21 10 在程序运行过程中 其值可以被改变的量称为变量 变量的三个要素 1 变量名 每个变量都必须有一个名字 2 变量值 在程序运行过程中 变量值存储在内存中 在程序中 通过变量名来引用变量的值 3 变量的类型例如 inta 23 a 2个字节 变量的类型int变量名字 a变量的值 23在内

5、存中存储单元占16位 0000000000010111 二进制数值 变量的概念 注意区别变量名和变量值 2020 4 21 11 main intx y x 5 y 3 printf d d n x y x 1 y 2 printf d d n x y 运行结果 5 31 2 x y是整型变量每个变量分配2个字节存储单元 将数值5 3分别存放到x y变量的存储单元 x y变量的值重新赋值 例 输出变量的数值 x y 2020 4 21 12 1 变量定义的一般格式 存储类型 数据类型变量名 变量名2 例如 inta1 a2 a3 2 变量初始化 存储类型 数据类型变量名 初值 变量名2 初值2

6、 例如 floata1 2 5 a2 5 23 a3 45 43 变量的定义与初始化 2020 4 21 13 整型数据在内存中的存放 数值是以补码表示的 一个正数的补码与原码相同 一个负数的补码求法 原码的二进制形式 取反求得反码 再加1 得到负数的补码 例如 8的原码 1000000000001000 求反码 1111111111110111 补码 1111111111111000 整型常量在内存中的存放 2020 4 21 14 3 3 3整型常量的类型p43 方括号表示可选项int分配2Byte long分配4Byte 2020 4 21 15 1 整型常量 整型常量的类型 根据值大小

7、默认类型 整型常量后面加l或L 则认为是longint型例如 123L 0L 432l 0 x100l 注意 十六进制常量中可以使用大写字母A F 也可以使用小写字母a f 八进制常量中不能出现数字8或9例如 018 0921非法 2020 4 21 16 includemain printf 0 x80 d n 0 x80 printf 0200 d n 0200 printf 128 d n 128 printf 128 o n 128 不输出前缀数字 例输出不同进制整型常量 实战 运行结果 0 x80 1280200 128128 128128 200 2020 4 21 17 1 整型

8、变量分为类 1 基本整型 int 2 短整型 short int 3 长整型 long int 无符号整型 无符号型又分为 3种 unsigned int unsignedshortunsignedlong 3 3 2整型变量 复习 2020 4 21 18 1 实型常量 实数 又称浮点数 表示形式 1 十进制形式例如 3 14 9 8 2 指数形式E e 例如 3 02 534 42367750 7注意指数形式的写法 P45 3 4 1实型常量 2020 4 21 19 实型变量分类 1 单精度型变量float型变量占4字节 32位 提供7位有效数字值域 3 4e 38 3 4e 38 2

9、双精度型变量double型变量占8个字节 64位 提供15 16位有效数字值域 1 7e 308 1 7e 308 3 4 2实型变量 2020 4 21 20 3 4 2实型变量 类型说明符位数数值范围单精度float3210 37 1038双精度double6410 307 10308长双精度longdouble12810 4931 104932 2020 4 21 21 数值的有效数字7位尾数7031不是有效数值 3 4 2实型数据的舍入误差 2020 4 21 22 1 字符常量的定义用一对单引号括起来的单个字符称为字符常量 例如 A 7 等 2 转义字符 语言还允许使用一种特殊形式的

10、字符常量 就是以反斜杠 开头的转义字符 n b r t 0 ddd xhh注意 如果反斜杠本身作为字符常量 必须使用转义字符 3 5字符数据P48 2020 4 21 23 3 以 开头的字符在printf函数中控制输出格式 n换行 t横向跳格 下一个输出区 b退格 r回车 反斜杠字符 双引号 ddd1到3位8进制数所代表的字符 如 101 A xhh1到2位16进制数所代表的字符 3 5 1字符常量P48 2020 4 21 24 main printf ABC tabc txyz n printf abc bxyz n 程序运行结果如下 例用转义字符输出字符和不可打印字符 2020 4 2

11、1 25 字符变量 关键字为char 字符变量类型 占用1字节内存单元 1 变量值的存储将一个字符常量存储到一个字符变量中 实际上是将该字符的ASCII码值 无符号整数 存储到内存单元中 2 变量值的特性字符数据在内存中存储的是字符的ASCII码 一个无符号整数 其形式与整数的存储形式一样 3 5 2字符变量 2020 4 21 26 charch1 ch2 定义变量 ch1 ch2 ch1 a 给字符变量赋值 ch2 b 字符数据 a b 的ASCII码值97 98 一个无符号整数 分别存放在变量ch1 ch2所占用内存存储单元中 其形式与整数的存储形式一样 ch1ch2 97 98 3 5

12、 3字符变量的存储形式 2020 4 21 27 3 一个字符型数据 既可以字符形式输出 也可以整数形式输出 例 字符变量的字符形式输出和整数形式输出 main charch1 ch2 ch1 a ch2 b printf ch1 c ch2 c n ch1 ch2 printf ch1 d ch2 d n ch1 ch2 3 5 3字符变量的使用方法 程序运行结果 ch1 a ch2 bch1 97 ch2 98 2020 4 21 28 4 允许对字符数据进行算术运算 此时就是对它们的ASCII码值进行算术运算 例3 11字符数据的算术运算 main charch1 ch2 ch1 a c

13、h2 B 等价于ch1 97 ch2 66 printf ch1 d ch1 32 字母的大小写转换 printf ch2 d n ch2 32 printf ch1 c ch2 c n ch1 32 ch2 32 3 5 3字符变量的使用方法 运行结果 ch1 65 ch2 98ch1 A ch2 b 2020 4 21 29 1 字符串常量的概念和字符串长度字符串常量 是用一对双引号括起来的若干字符序列 字符串长度 字符串中字符的个数称为 空串 长度为0的字符串 即一个字符都没有的字符串 表示为 一对紧连的双引号 例如字符串常量 Howdoyoudo 长度为14 空格也是一个字符 Good

14、morning 长度为13如果反斜杠和双引号作为字符串中的有效字符 则必须使用转义字符 例 C msdos v6 22 C msdos v6 22 Isay Goodbye Isay Goodbye 3 5 4字符串常量 2020 4 21 30 4 字符串常量 用双引号括起的一个字符序列例如 ABC 123 a n t nGoodmorning 字符串常量的长度 所包含的字符个数字符串常量的存储方式 所占存储单元数 串长度 1例如 字符串结束标记 2020 4 21 31 例3 13输出字符串常量main printf s n Isay Goodbye 3 5 4字符串常量 运行结果 Isa

15、y Goodbye 2020 4 21 32 C语言规定 在存储字符串常量时 由系统在字符串的末尾自动加一个 0 作为字符串的结束标志 如果有一个字符串为 CHINA 则它在内存中的实际存储如下所示 CHINA 0最后一个字符 0 是系统自动加上的 它占用 字节而非 字节内存空间 3 5 3字符串的存储 2020 4 21 33 例 字符常量 A 与字符串常量 A 的区别 1 定界符不同 字符常量使用单引号 A 而字符串常量使用双引号 2 长度不同 字符常量的长度固定为1 而字符串常量的长度 可以是0 也可以是某个整数 3 存储要求不同 字符常量存储的是字符的ASCII码值 而字符串常量 除了

16、要存储有效的字符外 还要存储一个结束标志 0 3 5 4字符常量与字符串常量的区别 2020 4 21 34 复习 变量定义 变量定义的一般格式 数据类型说明符变量列表 例如 inti j longk m floatx y charch1 ch2 必须使用合法的标识符作变量名不能使用关键字为变量命名 2020 4 21 35 总结一下 标识符命名规则数据基本类型常量 变量整型常量整型变量实型常量实型变量字符常量P48字符变量字符串常量 常量25 3 5e2 a 567 xab abcdef 定义变量inta floatb doubled charc a 5 b 3 6 c f 2020 4 21 36 3 6表达式 变量赋初值 允许在说明变量的时候对变量赋初值 例如 inta 5 b 10 2 doublex 23 568 y charch1 a ch2 66 ch3 142 表示定义变量并对变量存储单元赋值 错误的初始化 inta 3 b b 5 floatm n 23 16 2020 4 21 37 3 7各类数值型数据间的混合运算 数据类型 不同类型数据混合运算时的类型转换不同类

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

当前位置:首页 > 高等教育 > 大学课件

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