C语言教程第2章数据类型、运算符与表达式.ppt

上传人:max****ui 文档编号:8291538 上传时间:2020-03-28 格式:PPT 页数:50 大小:567.50KB
返回 下载 相关 举报
C语言教程第2章数据类型、运算符与表达式.ppt_第1页
第1页 / 共50页
C语言教程第2章数据类型、运算符与表达式.ppt_第2页
第2页 / 共50页
C语言教程第2章数据类型、运算符与表达式.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
自然语言层次 程序设计语言层次 第2章数据类型 运算符与表达式 第2章数据类型 运算符与表达式 本章主要教学内容 基本数据类型常量和变量标识符命名常用运算符和表达式运算符的优先级与结合性 2 1一个简单的C程序例子 include 函数功能 计算两个整数相加之和入口参数 整型数据a和b返回值 整型数a和b之和 intAdd inta intb return a b 主函数 main intx y sum 0 printf Inputtwointegers scanf d d 输出x和y相加之和 一个C语言程序必须有且仅有一个用main作为名子的函数 一个C程序可以包含零到多个用户自定义函数 可以调用系统提供的库函数 调用前要相应的关文件包含到文件中 1 C程序是由函数构成的 2 函数由函数首部和函数体两部分组成 3 C程序书写格式与规则 分号结束用 和 包含起来的内容为注释 2 2C程序常见标识符号分类 1 关键字2 标识符3 运算符4 分隔符5 其它符号6 数据 关键字C语言规定有固定含义的单词例 intreturnconst 详见附录B 标识符预定义和用户自定义标识符例 预定义标识符main printf用户自定义标识符x y add 运算符丰富 共34种 13类 附录C例 算术运算符 关系运算符 增1和减1运算符 用户自定义标识符命名规则英文字母 数字和下划线 标识符有长度限制 见名知意 标识符区分大小写尽可能与开发工具风格一致 分隔符空格 回车 换行 逗号等例 inta b c 其它符号大花括号 和 通常用于标识函数体或者一个语句块 和 是程序注释所需的定界符数据常量和变量 由英文字母 数字和下划线组成 大小写敏感不可以是数字开头直观 见名知意 便于记忆和阅读最好使用英文单词或其组合切忌使用汉语拼音下划线和大小写通常用来增强可读性variablenamevariable namevariableName不允许使用关键字作为标识符的名字int float for while if等某些功能的变量采用习惯命名如 for语句所采用的循环变量习惯用i j k Windows风格 UNIX风格 标识符的命名规则 2 3数据类型 数据为什么要区分类型 不同类型的数据代表不同的 数据表示形式合法的取值范围占用内存空间大小可参与的运算种类 从基本数据类型到抽象数据类型无数据类型基本数据类型构造数据类型抽象数据类型 数据类型 基本类型构造类型指针类型空类型 整型实型字符型枚举类型 基本整型长整型短整型无符号整型 单精度双精度 数组类型结构体类型共用体类型 2 3数据类型 基本数据类型 常量变量 在计算机中存储的数据 按存储的性质分 可分为 2 4常量 定义 常量是一种在程序中保持固定类型和固定值的数据 类型整型常量实型常量字符常量字符串常量枚举常量 2 4常量 常量 整型常量18 31长整型常量123l 123L 123456l 123456L无符号型常量123u 123U浮点常量十进制小数形式123 45 456 78指数形式1e 2 4 5e3单精度实型常量123 45f 456 78F 1e 2f 4 5e3F长双精度型常量123 45l 456 78L 1e 2l 4 5e3L 2 4常量 八进制与十六进制常量 以数字 0 开始的整型常数是八进制数022 037010和10大小不一样因为八进制并不常用 所以此种表示法比较少见以 0 x 或者 0X 开始的整型常数是十六进制A F和a f用来表示十进制的10 15十六进制的形式比较常用 尤其在进行位一级的控制的时候0 x12 0 x1F 0 x1f 2 4常量 字符常量 由单引号括起来的一个字符 字符常数的表示方法 a A 5 单引号内只能有一个字符 除非用 开头就是一个普通整数 也可以参与各种数学运算每个字符具有一个0 255之间的数值 可从ASCII表查出注意 5 和整数5的区别字符的数学运算在密码学内用得比较多 字符常量 转义字符一些特殊字符 无法从键盘输入或者另有它用 用转义字符表示 P23表2 2 2 4常量 字符串常量 用双引号括起来的0个或多个字符组成的字符序列 Iamastring 表示空字符串转义字符也可以在字符串中使用引号只作为字符串开始和结束的标志C语言内部用 0 表示字符串的结束除注释外 是唯一可以出现中文的地方 x 和 x 是不同的里定义了一系列专门的字符串处理函数 2 4常量 也称符号常量 是指用一个标识符号代表一个常量 一般用大写字母表示 宏常量 宏定义的一般形式 define标识符字符串 include definePI3 14159 defineR5 3Main printf area f n PI R R 宏定义 无分号 printf area f n 3 14159 5 3 5 3 宏替换 2 4常量 枚举常量 一一列举 当某些量仅由有限个数据值组成通常用此类型 其描述的是一组整型值的集合 枚举常量的定义举例1 enumresponse no yes none enumresponseanswer response为枚举数据类型answer为枚举类型的变量 枚举标记 可省略 枚举常量的定义举例2 enum no yes none answer 省略枚举标记 枚举常量的定义举例3 enumresponse no 1 yes 1 none 0 定义时明确设置每一常量值 注意 枚举标记后面的变量中的每一个符号代表的是一个整数值 这些符号只是一个整数的值的名子 不是字符串 2 4常量 从程序来窥其一斑enumweeks MON TUE WED THU FRI SAT SUN enumweekstoday enumresponse no yes none enumresponseanswer today TUE answer yes if answer yes printf TodayisTuesday n elseprintf TodayisNOTTuesday n 枚举常量 2 4常量 const常量 用const修饰定义的变量为常量constfloatpi 3 1425926 常量只能在定义时赋值 然后不能再改变其值常数 const常量 宏常量和枚举常量 都可以用来表示一个永远不会改变的数前者不建议直接使用 而用后三者代替 2 4常量 2 5变量 变量是在程序执行过程中可以改变 可以赋值的量 在程序中每一个变量都有一个名子即变量名 程序对该变量访问 存入 读取 都是通过变量名进行的 每个变量在使用之前声明 2 5变量 变量声明与初始化 变量定义语句形式1 类型关键字变量名1 变量名2 变量定义语句形式2 定义的同时赋初值 类型关键字变量名1 常量1 变量名2 常量2 变量名是由用户定义的标识符 用于标识内存中一个具体的存储单元 其中存放的是数据称为变量的值 floata b c intsum intsum 0 floata 89 12 2 5变量 变量声明与初始化 使用变量的基本原则变量必须先定义 后使用所有变量必须在第一条可执行语句前定义声明的顺序无关紧要一条声明语句可声明若干个同类型的变量声明变量 是初始化变量的最好时机不被初始化的变量 其值为危险的随机数 charesc a inti 1 intsum 0 floateps 1 0e 5 2 5变量 使用变量时的注意事项 1 先定义后使用2 注意区分变量名和变量值3 int型变量隐含为有符号型的4 变量所占存储空间的大小不能想当然 includemain printf DatatypeNumberofbytes n printf n printf char d n sizeof char printf int d n sizeof int printf shortint d n sizeof short printf longint d n sizeof long printf float d n sizeof float printf double d n sizeof double 2 5变量 5 注意实型数据内存存储格式 6 注意char型与int型数据之间的关系 includemain charch b ch b 32 printf c d n ch ch 运行结果 B 66 ch b a A 2 5变量 7 注意实型变量数据的舍入误差 float型数据提供7位有效数字double型数据提供16位有效数字使用不当导致舍入误差 includemain floata doubleb a 123456 789e4 b 123456 789e4 printf f n f n a b 运行结果 1234567936 0000001234567890 000000 2 6常用运算符及表达式 算术运算符 加 减 乘 除 求余运算四则混合运算中 先算乘除 后算加减 按从左向右的顺序计算 左结合 常用的标准数学函数 include 算术运算的运算规则 1 运算的优先顺序为先 后 同等优先级从左到右运算 举例 18 5 95 9 18 2 两个类型相同的操作数 运算结果类型也相同 举例 5 9 82 5 8 0 2 6常用运算符及表达式 3 两个类型不同的操作数 运算结果类型与其中类型较高的类型相同 举例 5 0 9 182 5 8 4 求余运算的运算结果其值为相除所得余数 而符号与被除数的符号相同 举例 13 5 313 5 3 算术运算的运算规则 2 6常用运算符及表达式 2 6常用运算符及表达式 算术表达式 用算术运算符将运算对象连接起来的式子称为算术表达式 运算对象可以常量 变量和函数 举例 a b c d a b c d a b c d a b 2c a b 2c a b 2c a b 2 c cos45 2ex cos 45 2 exp x cos 3 14 45 180 2 exp x 2 6常用运算符及表达式 关系运算符 优先于 关系运算符 例 设a 3 b 2 c 1 计算下列表达式的值 1 a b 2 d a b 3 a b c 4 a b c 1 1 1 0 注意 和 比较下列程序段 2 6常用运算符及表达式 逻辑运算也被称为布尔 Boolean 运算 与运算 a b b c a大于b 并且b大于c 或运算 a b b c a大于b 或者b大于c 求反 a 如果a是0 结果非0 如果a是非0 结果是0并不改变a的值 逻辑运算符与逻辑表达式 2 6常用运算符及表达式 2 6常用运算符及表达式 实例 ch是英文大写字母 ch A ch Z 判断某一年year是否是闰年的条件是满足下列两个条件之一 能被4整除 但不能被100整除 能被400整除 year 4 0 year 100 0 year 400 0 2 6常用运算符及表达式 赋值运算符与赋值表达式 1 作用 将一个数据赋予一个变量 右结合 如 A B C 5 A B C 5 2 号两端数据类型不同时的转换规则 赋值号 1 整型 实型舍去小数部分 2 实型 整型值不变 依浮点形式存放 3 整型 字符型值放低8位 高8位为0 4 字符型 整型仅将低8位存入 2 6常用运算符及表达式 复合赋值运算符 可用的10种复合赋值运算 如 A 3 X y 8 A A 3 X X y 8 练习 设a 12计算a a a a 264 2 6常用运算符及表达式 类型转换 赋值 在进行赋值操作时 会发生类型转换将取值范围小的类型转为取值范围大的类型是安全的反之是不安全的如果大类型的值在小类型能容纳的范围之内 则平安无事但是 浮点数转为整数 会丢失小数部分 非四舍五入反之 转换后的结果必然是错误的 具体结果与机器和实现方式有关 避免如此使用 类型转换 自动 2 6常用运算符及表达式 同种数据类型的运算结果 还是该类型不同种数据类型的运算结果 是两种类型中取值范围更大的那种longdouble double float long int short char把数据赋值给另外一种类型变量也会发生自动类型转换从小到大 顺利转换从大到小 可能丢失信息 好的编译器会发出警告 2 6常用运算符及表达式 类型转换 强制 可以把表达式的值硬性转为任意类型 一般形式 类型 表达式 includemain intm 5 printf m 2 d n m 2 printf float m 2 f n float m 2 printf float m 2 f n float m 2 printf m d n m 增1和减1运算符 2 6常用运算符及表达式 形式 n n n n 让参与运算的变量加1 让参与运算的变量减1作为后缀运算符时 先取n的值 然后加 减1作为前缀运算符时 先加 减1 然后取n的值m n 等价于m n n m n 等价于n m n 2 6常用运算符及表达式 增1和减1运算符 例 写出执行后x y的值intx y i 10 x i y i intx y i 10 x i y i x 11y 11 x 10y 11 2 6常用运算符及表达式 增1和减1运算符 说明 1 仅用于变量 不可用于常量或表达式 2 注意其结合性 采用右结合 3 常用于循环控制变量使用 如 i 则为 i i j则为 i j 4 良好的程序设计风格提倡 在一行语句中 一个变量只能出现一次加1或者减1运算 2 6常用运算符及表达式 按位与运算 按位或运算 按位异或运算 按位右移运算 按位求反 位运算符 功能 各表达式分别求值 以表达式n的值作为整个表达式的值 多数情况下 并不使用整个逗号表达式的值 更常见的情况是要分别得到各表达式的值主要用在循环语句中 同时对多个变量赋初值等for i 0 j 0 i j i j 2 6常用运算符及表达式 逗号运算符 一般形式 表达式1 表达式2 表达式n 逗号运算符 2 6常用运算符及表达式 main inta 2 b 4 c 2 x y y x a b b printf y d x d y x 例 运行结果 y 6 x 6 条件运算符 2 6常用运算符及表达式 1 运算符 表达式的一般形式 3 执行过程 条件运算符 2 6常用运算符及表达式 1 max a b a b 2 x a b 3 x y 1 1 5 例 2 6常用运算符及表达式 常用运算符的优先级及结合性 P46页表2 12用括号来控制运算顺序更直观 方便 并减少出错的概率 多数运算符为左结合少数为右结合 一元运算符赋值运算符条件运算符 本章小结 变量的命名规则数据类型char short int long float double longdoublesigned unsignedenum常数 转义字符运算符算术运算符 关系运算符 逻辑运算符 增一 减一运算符 位运算符 赋值运算符 类型强转运算符 逗号运算符 条件运算符 sizeof类型转换优先级和结合性 本章作业 习题2 2 1 2 2 2 3
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!