




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
变量基本运算符及其表达式 第三讲 Begin 第二章数据类型 运算符和表达式 2 2常量 变量 变量说明 声明 格式 数据类型说明符变量名称表 ANSIC规定 用变量说明 声明 完成这两项工作 数据类型说明符说明数据的类型 2 3常量 变量和标准函数 例 intsum intx y floatvolt chardegree 变量与内存每一个变量有名字 类型 值 位置和大小 当一个新的值赋予变量时 新值替换原值 从内存中读取变量的值 其值不会改变 2 3常量 变量和标准函数 用来存放整型数据的变量 1 整型变量 整型变量的分类表 与操作系统 编译系统 机器有关 在定义整型变量时 要注意数据类型允许的数值范围 2 3常量 变量和标准函数 includevoidmain shortinta b unsignedc d a 32767 b 32768 c 32768 d 65535 printf a d b d n a b printf c u d u c d a 32767 b 32768c 32768 d 65535 例 整型变量的使用 2 3常量 变量和标准函数 结论 a 1的结果 32768 超出了基本整型变量b所能容纳的数值范围 32768 32767 这种情况称为 溢出 整型上溢 分析 书上P31 例2 6 也是整型上溢的问题 运算符 sizeof取字节数运算符sizeof 数据类型 sizeof 变量 2 3常量 变量和标准函数 2 实型变量 用来存放实型数据的变量 实型变量分类表 includevoidmain floatf doubled f 33333 33333 d 33333333333333 333333 printf f f nd f n f d 2 3常量 变量和标准函数 f 33333 332031d 33333333333333 333500 例 实型变量的使用 实型数据的有效数字和精度 由于单精度浮点型数据有效位数有7位 可保留6位小数 而变量f数值的整数已占5位 故小数2位之后均为无效数字 d是双精度型 有效位为16位 可保留14位小数 但输出结果时小数后最多保留6位 其余部分四舍五入 3 字符型变量 用来存放字符常量的变量 在内存单元中 每个字符型变量分配一个字节用于存放一个字符 实际上存放的是字符的ASCII码值 c1单元存放的是01000001 十进制65 c2单元存放的是01100001 十进制97 例 charc1 c2 c1 A c2 a 所以 在C语言中字符型数据和整型数据之间可以通用 即 允许对整型变量赋字符值 高8位为0 允许对字符变量赋整型值 高8位丢掉 允许把字符变量按整型量输出 允许把整型量按字符量输出 允许字符量与整型量进行运算 a 1 2 3常量 变量和标准函数 2 3常量 变量和标准函数 includevoidmain charc1 c2 c1 97 c2 98 printf c1 c c2 c n c1 c2 printf c1 d c2 d c1 c2 c1 a c2 bc1 97 c2 98 例 字符变量的使用 2 3常量 变量和标准函数 编写程序将小写字母a和b转换为大写字母 includeintmain void charc1 c2 c1 a c2 b c1 c1 32 c2 c2 32 printf c c n d d n c1 c2 c1 c2 return0 A B65 66 例 字符变量的使用 4 变量的初始化 在定义变量的同时给变量赋初值 例 inta 15 b charc1 X c2 Y floatf1 f2 f3 24 5 inta 20 b 20 c 20 2 3常量 变量和标准函数 inta b c 20 错 数据类型变量名 常量值 2 4基本运算符及其表达式 2 4基本运算符及其表达式 2 4 1算术运算符 ArithmeticOperators 与算术表达式 1 基本算术运算符 注意 运算只能用于整型数据 2 4基本运算符及其表达式 2 4 1算术运算符 ArithmeticOperators 与算术表达式 例 19 5结果为3 整数相除结果为整数 22 4结果为2 取模运算返回余数 问题 19 5 0结果为 22 4 0结果为 22 a 结果为 注意 教材上P38页第5行应为 3 0 10 0 5 0结果为1 0 2 4基本运算符及其表达式 2 自增自减运算符 incrementanddecrementOperators C自增自减运算符 7777 6 i 2 4基本运算符及其表达式 2 自增自减运算符 incrementanddecrementOperators 注意 自增 自减运算只能用于变量 不能用于常量和表达式 例如 6 a b 均为非法的运算表达式x y等价于 x y 自增 自减运算符的运算顺序 在表达式中当多个运算符相连时 应自左而右地将若干个字符组成一个运算符 2 4基本运算符及其表达式 k i j i 2 j 1 k 2 3算术表达式 ArithmeticExpressions 由算术运算符和括号将运算对象 如常量 变量 函数等 连接起来的一个有值的式子 说明 算术表达式的运算顺序如下 2 4基本运算符及其表达式 3算术表达式 ArithmeticExpressions 说明 表达式的类型为该表达式值的类型 表达式的求值顺序 先按运算符的优先级执行 当一个运算对象两侧的运算符优先级别相同时 则按结合性处理 2 4基本运算符及其表达式 转换方式 自动类型转换 强行类型转换 2 4基本运算符及其表达式 类型转换TypeConversions 在C程序中 当不同类型的量进行运算时 要转换成同一种类型然后再进行运算 例 15 2 5 A 7 0 2 2 2数据类型 强制类型转换forcedconversions 将一个表达式的值转换成所需要的类型 例 double i int f1 f2 float 14 4 强制或自动转换都是一种临时性转换 并未改变变量的原类型 例 includevoidmain intx 8 floatf 6 85 printf float x f x d n float x x printf int f d f f n int f f 一般形式 类型说明符 表达式 2 4基本运算符及其表达式 2 4 2关系运算符与关系表达式 RelationalOperatorsandPrecedence 关系运算 比较运算 即比较两个量的大小 比较的结果为 真 或 假 例 a 3如果a 8 则结果为 真 如果a 1 则结果为 假 1 关系运算符 C关系运算符 Relationaloperatorshavelowerprecedencethanarithmeticoperators 关系运算符为双目运算符 左结合性 2 关系表达式RelationalExpression 用关系运算符将两个表达式连接起来的式子 2 4基本运算符及其表达式 C语言没有逻辑型数据 因此 在返回逻辑值时 用1表示 真 用0表示 假 在判断逻辑值时 用非0代表 真 用0代表 假 2 4基本运算符及其表达式 0 1 0 Forinstance 已知a 3 b 2 c 1则1 c a b结果为02 a bb结果为1 2 4基本运算符及其表达式 例 写出下列各题的关系表达式 1 X为不小于 5的整数2 X为非零的数3 例 includevoidmain inta b c a b c 10 a b c printf d d d n a b c a b c 2 printf d d d n a b c a b c 100 printf d d d n a b c 2 4 3逻辑运算符与逻辑表达式LogicalOperatorsandPrecedence关系表达式只能表达一些简单的关系 如 sum 1500y z即只能对一个条件进行测试 而以下关系 20 x 100则不能用关系表达式表达 逻辑非 真值表 1 逻辑运算符C逻辑运算符 2 4基本运算符及其表达式 逻辑或 真值表 逻辑与 真值表 2 4基本运算符及其表达式 2 逻辑表达式LogicalExpression 用逻辑运算符将表达式连接起来的式子 如 1 0 x 10 x 0 x5或x5 x 153 a b不能同时为零 a 0 b 0 a 0 b 0 一般形式为 表达式1 逻辑运算符 表达式2 2 4基本运算符及其表达式 逻辑表达式是构成选择结构条件的基本式子 注意 在计算逻辑表达式时 并非所有的逻辑运算符都参与运算 如 x y 1 x x y 0 1 2 4基本运算符及其表达式 短路能力 例 1 74 mum 0 由于5 4故短路 则mum 0不执行 2 4基本运算符及其表达式 includevoidmain inta 1 b 1 d 1 d a 1 b 1 printf 1 d d d n a b d d a 0 b 0 printf 2 d d d n a b d d a 1 例 程序运行结果 1 1 1 1 2 0 0 0 3 1 1 1 4 0 1 0 includevoidmain 注意短路 inta b c d a b c 1 d a b Run 例 程序运行结果 1 2111 2 2211 3 2 2 2 2 4基本运算符及其表达式 2 4 4条件运算符与条件表达式 条件运算符 三目运算符右结合 例 a b max a max b 例 grade 60 printf Passed printf Failed 一般形式 2 4 5赋值运算符与赋值表达式 简单赋值运算符为 由 连接的式子称为 简单 赋值表达式 assignmentstatement 一般形式 1 简单赋值运算符和简单赋值表达式 2 4基本运算符及其表达式 赋值运算符优先级为14 仅高于逗号运算符 而低于其他所有运算符 2 4 5赋值运算符与赋值表达式 1 简单赋值运算符和简单赋值表达式 2 4基本运算符及其表达式 赋值运算的类型转换 规则为 整型数据赋给字符型时 只把低8位赋给字符变量 字符型数据赋给整型变量时 整型变量的高八位补0 低八位取字符的ASCII码值 整型数据赋给实型变量时 以浮点形式取值 实型数据赋给整型变量时 只取整数部分 如 K 8 88 k值为8 如 f 15 f值为15 000000 如 K A k值为65 如 C 578 C值为字母B 2 4基本运算符及其表达式 2 复合赋值运算符和复合赋值表达式 复合赋值运算符是在简单赋值运算符前加双目运算符构成 共以下10种 2 4基本运算符及其表达式 复合赋值运算符优先级14 右结合性 2 4 6逗号运算符和逗号表达式 逗号运算符 用逗号运算符将各表达式连接起来的式子称为逗号表达式 逗号运算符优先级15 是所有运算符中最低的 2 4基本运算符及其表达式 程序中并非所有出现逗
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物理初中人教版八年级下册期末测试模拟真题经典答案
- 【语文】湖北省武汉市育才小学二年级上册期末复习试题
- 【语文】中山市小学三年级下册期末试题
- 人教版九年级代词练习题含答案
- 【语文】广东省深圳市罗湖区滨河小学小学二年级上册期末试题
- 2025年机修钳工中级工钳工工艺成本考试试卷及答案
- 2025土木工程考试题库及答案
- 2025高考全国卷历史真题和答案
- 雪糕店活动策划方案怎么写
- 债务咨询整合方案怎么写
- 四川能投合江电力有限公司员工招聘考试参考题库及答案解析
- 2025年山西省政府采购评审专家考试真题库(带答案)
- 华为技术有限公司企业简称2023环境、社会与公司治理报告:高科技行业ESG绩效与NGO监督
- 宿管员业务知识培训内容课件
- 安全生产例会会议记录以及会议内容
- 眼视光技术介绍
- DB64T 2146-2025 工矿企业全员安全生产责任制建设指南
- 间歇充气加压用于静脉血栓栓塞症预防的中国专家共识解读
- 2025年宜宾市中考语文试题卷(含答案详解)
- 2025-2030中国止痛药品市场供需形势及未来前景动态研究报告
- 儿童化妆教学课件
评论
0/150
提交评论