




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章数据描述 计算机数据的预备知识数据类型常量与变量不同类型数据间的转换运算符和表达式 2020 2 10 2 补充 计算机数据的预备知识 计算机中数的表示及进制转换 字节和位 数值的表示方法 原码 反码和补码 2020 2 10 3 计算机中数的表示及进制转换 数码 表示数的符号基 数码的个数权 每一位所具有的值 十进制 4956 4 10 9 10 5 10 6 10 二进制 1011 1 2 0 2 1 2 1 2 十六进制 81AE 8 16 1 16 10 16 14 16 八进制 4275 4 8 2 8 7 8 5 8 2020 2 10 4 各种进制之间的相互转换二进制 八进制 十六进制 十进制 按权相加法 2020 2 10 5 各种进制之间的相互转换十进制 二进制 八进制 十六进制 辗转相除法 例1 59 10 2 例1 59 10 111011 2 2020 2 10 6 各种进制之间的相互转换十进制 二进制 八进制 十六进制 辗转相除法 例2 159 10 8 例2 159 10 237 8 2020 2 10 7 各种进制之间的相互转换十进制 二进制 八进制 十六进制 辗转相除法 例3 459 10 16 例3 459 10 1CB 16 2020 2 10 8 各种进制之间的相互转换二进制 八进制从右向左 每3位一组 不足3位左补0 每3位二进制转换成八进制八进制 二进制用3位二进制数代替每一位八进制数把所有的八进制数串起来 000 0001 1010 2011 3100 4101 5110 6111 7 例1 1101001 2 001 101 001 2 151 8 例2 246 8 010 100 110 2 10100110 2 2020 2 10 9 各种进制之间的相互转换二进制 十六进制从右向左 每4位一组 不足4位左补0 每4位二进制转换成十六进制八进制 二进制用4位二进制数代替每一位十六进制数把所有的十六进制数串起来 0000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F 例1 11010101111101 2 0011 0101 0111 1101 2 357D 16 例2 4B9E 16 0100 1011 1001 1110 2 100101110011110 2 2020 2 10 10 字节和位内存以字节为单元组成每个字节有一个地址一个字节一般由8个二进制位组成每个二进位的值是0或1 2020 2 10 11 数值的表示方法 原码 反码 补码原码 最高位为符号位 其余为本身的绝对值反码 正数 与原码相同负数 原码符号位不变 其它位对位取反补码 正数 与原码 反码相同负数 反码保持符号位不变 再整个加1 2020 2 10 12 3 1数据类型 2020 2 10 13 基本数据类型 2020 2 10 14 3 2常量与变量 标识符定义 用来标识变量 常量 函数等的字符序列组成 只能由字母 数字 下划线组成 首字符须是字母或下划线大小写敏感不能使用关键字长度 最长32个字符 TurboC 命名原则 见名知意不宜混淆如1与l o与0 例 判断下列标识符号合法性sumSumM D JohndayDate3daysstudent name 33lotus 1 2 3chara b above 123 M D John 3days 33 char a b 123 2020 2 10 15 常量定义 程序运行时其值不能改变的量 即常数 分类 符号常量 用标识符代表常量定义格式 define符号常量常量一般用大写字母是宏定义预处理命令 不是C语句直接常量 整型常量12 22435 0313 0 x121实型常量3 14 1 2e 8 3 6E 9字符常量 A E 101 xEF n 字符串常量 China Hellow 如 definePRICE30 例符号常量举例Ex02 01 c definePRICE30main intnum total num 10 total num PRICE printf total d total 运行结果 total 300 整型直接常量的类型的确定原则 1 根据其值所在范围确定其数据类型 2 在整常量后加字母l或L 认为它是longint型常量 例30000为int型65536为longint型 例12与12L 实型直接常量的类型的确定原则 1 默认为双精度double型 2 在实型常量后加字母f或F 认为它是浮点型 float 常量 用单引号括起来的单个普通字符或转义字符 如 a A n 101 字符常量的值 该字符的ASCII码值 转义字符 反斜线后面跟一个字符或一个代码值表示 如 A 101 x41 65 如 A 65 a 97 0 48 n 10 例转义字符举例Ex02 02 cmain printf 101 x42C n printf Isay Howareyou n printf CProgram n printf Turbo C 运行结果 屏幕显示 ABCIsay Howareyou CProgram Turbo C 用双引号 括起来的字符序列 每个字符串尾自动加一个 0 作为字符串结束标志 0 字符常量与字符串常量不同 2020 2 10 16 变量 概念 其值可以改变的量变量名与变量值变量定义的一般格式 数据类型变量1 变量2 变量n 变量初始化 定义时赋初值变量的使用 先定义 后使用变量定义位置 一般放在函数开头 决定分配字节数和数的表示范围 合法标识符 例 inta b c floatdata 例 inta 2 b c 4 floatdata 3 67 charch A intx 1 y 1 z 1 intx y z 1 main inta b 2 floatdata a 1 data a b 1 2 printf data f n data 例1 intstudent stadent 19 Undefinedsymbol statent infunctionmain 例2 floata b c c a b Illegaluseoffloatingpointinfunctionmain 2020 2 10 17 基本数据类型变量 例 a D a 68 x A 5 x 65 5 s G s 33 71 没有字符串变量 用字符数组存放 2020 2 10 18 变量和常量定义的一个例子 例 Ex02 04 c definePRICE12 5main intnum 3 floattotal charch1 ch2 D total num PRICE ch1 ch2 A a printf total f ch1 c n total ch1 运行结果 total 37 500000 ch1 d 2020 2 10 19 显式转换 强制转换 形式 类型名 表达式 得到所需类型的中间变量 原变量类型不变 2 3不同类型间的数据转换 隐式转换转换场合运算转换赋值转换输出转换函数调用转换 例 charch inti floatf doubled longl ch I f d f i 10 a i f d l inta floatf 1 2 a 1 2 a的值为 1 inta 65 charch A floatf 6 57 printf a c ch d f d a ch f 输出结果 a A ch 65 f 6 intmax intx inty inta a max 3 14 A 例 int x y int x y double 3 2 int 3 6 例main floatx inti x 3 6 i int x printf x f i d x i 结果 x 3 600000 i 3 2020 2 10 20 2 3运算符的表达式 2020 2 10 21 学习运算符的注意点 运算符功能与运算量关系要求运算量个数 要求运算量类型 运算符优先级别结合方向结果的类型 2020 2 10 22 1 算术运算符和表达式基本算术运算符 功能 完成基本的算术运算与2个运算量运算 为二目运算符 的两侧必须为整数优先级 2 3 4 结合方向 从左向右 为负号 从右向左 结果类型 整数相除结果为整数 例5 2 5 2 0 例5 2 2 5 2 0 2 5 例5 2 5 2 1 10 5 1 5 5 2 例5 2 1 5 2 11 10 15 1 05 5 2 2020 2 10 23 1 算术运算符和表达式自增和自减运算符 功能 使变量自己增加或减少1单目运算符 前置 先自增或自减 再取变量后置 先取变量 再自增或自减优先级 2 3 4 结合方向 从右至左注意点 不能用于常量和表达式 5 a b 例j 3 k j j 3 k j j 3 printf d j j 3 printf d j a 3 b 5 c a b a 3 b 5 c a b 例j 3 k j j 4 k 4j 3 k j j 3 printf d j j 3 printf d j a 3 b 5 c a b a 3 b 5 c a b 例j 3 k j j 4 k 4j 3 k j j 4 k 3j 3 printf d j j 3 printf d j a 3 b 5 c a b a 3 b 5 c a b 例j 3 k j j 4 k 4j 3 k j j 4 k 3j 3 printf d j 4j 3 printf d j a 3 b 5 c a b a 3 b 5 c a b 例j 3 k j j 4 k 4j 3 k j j 4 k 3j 3 printf d j 4j 3 printf d j 3a 3 b 5 c a b a 3 b 5 c a b 例j 3 k j j 4 k 4j 3 k j j 4 k 3j 3 printf d j 4j 3 printf d j 3a 3 b 5 c a b a 4 c 20a 3 b 5 c a b 例j 3 k j j 4 k 4j 3 k j j 4 k 3j 3 printf d j 4j 3 printf d j 3a 3 b 5 c a b a 4 c 20a 3 b 5 c a b a 4 c 15 例 i i 3 printf d i 例 i i i 3 printf d i 3 2020 2 10 24 2 赋值运算符和表达式基本赋值运算符 格式 变量标识符 表达式功能 将一个数据 常量 变量或表达式 的值给一变量复合赋值运算符 符号 含义 exp1op exp2 exp1 exp1opexp2优先级 14结合方向 从右向左左侧必须是变量 不能是常量或表达式赋值转换规则 使赋值号右边表达式值自动转换成其左边变量的类型赋值表达式的值与变量值相等 且可嵌套 例a 3 d func c d 2 例 a 12 a a a a 例 a 12 a a a a a 264等价于a a a a a a 例inta 2 a 4 1 a a a a 3 例inta 2 a 4 1 a a a a 3 a 0等价于a a a a a a a a 3 例3 x 2 y a b 3 例inti i 2 56 结果i 2 例floatf inti i 10 f i 则f 10 0 例 a b c 5a b 5 a 5 c 6 a b 4 c 6 a b 10 c 2 例 a b c 5 表达式值为5 a b c值为5a b 5 a 5 c 6 a b 4 c 6 a b 10 c 2 例 a b c 5 表达式值为5 a b c值为5a b 5 b 5 a 11a 5 c 6 a b 4 c 6 a b 10 c 2 例 a b c 5 表达式值为5 a b c值为5a b 5 b 5 a 11a 5 c 6 表达式值为11 c 6 a 11a b 4 c 6 a b 10 c 2 例 a b c 5 表达式值为5 a b c值为5a b 5 b 5 a 11a 5 c 6 表达式值为11 c 6 a 11a b 4 c 6 表达式值10 a 10 b 4 c 6a b 10 c 2 例 a b c 5 表达式值为5 a b c值为5a b 5 b 5 a 11a 5 c 6 表达式值为11 c 6 a 11a b 4 c 6 表达式值10 a 10 b 4 c 6a b 10 c 2 表达式值5 a 5 b 10 c 2 a 3 a a 3x y 8 x x y 8 x 3 x x 3 2020 2 10 25 3 逗号运算符和表达式功能 串接多个独立的表达式格式 表达式1 表达式2 表达式n结合方向 从左向右优先级 15逗号表达式的值 表达式n的值用途 常用于循环for语句中 例a 3 5 a 4a 3 5 a 4 a 5x a 3 6 3 x a 3 6 aa 1 b 2 c 3 printf d d d a b c printf d d d a b c b c 例a 3 5 a 4 a 15 表达式值60a 3 5 a 4 a 5x a 3 6 3 x a 3 6 aa 1 b 2 c 3 printf d d d a b c printf d d d a b c b c 例a 3 5 a 4 a 15 表达式值60a 3 5 a 4 a 5 a 15 表达式值20 x a 3 6 3 x a 3 6 aa 1 b 2 c 3 printf d d d a b c printf d d d a b c b c 例a 3 5 a 4 a 15 表达式值60a 3 5 a 4 a 5 a 15 表达式值20 x a 3 6 3 赋值表达式 表达式值18 x 18x a 3 6 aa 1 b 2 c 3 printf d d d a b c printf d d d a b c b c 例a 3 5 a 4 a 15 表达式值60a 3 5 a 4 a 5 a 15 表达式值20 x a 3 6 3 赋值表达式 表达式值18 x 18x a 3 6 a 逗号表达式 表达式值18 x 3a 1 b 2 c 3 printf d d d a b c printf d d d a b c b c 例a 3 5 a 4 a 15 表达式值60a 3 5 a 4 a 5 a 15 表达式值20 x a 3 6 3 赋值表达式 表达式值18 x 18x a 3 6 a 逗号表达式 表达式值18 x 3a 1 b 2 c 3 printf d d d a b c 1 2 3printf d d d a b c b c 例a 3 5 a 4 a 15 表达式值60a 3 5 a 4 a 5 a 15 表达式值20 x a 3 6 3 赋值表达式 表达式值18 x 18x a 3 6 a 逗号表达式 表达式值18 x 3a 1 b 2 c 3 printf d d d a b c 1 2 3printf d d d a b c b c 3 2 3 例 Ex02 05 c includemain intx y 7 floatz 4 x y y 6 y z printf x d n y d x y 运行结果 x 3 y 13 2020 2 10 26 4 关系运算符和表达式功能 比较两个常量 变量或表达式的值的大小符号 结合方向 从左向右优先级 6 7 关系表达式的值 逻辑 真 和 假 用1和0表示用途 循环语句和选择语句中 例c a b c a b a b c a b ca bc a b c 例inta 3 b 2 c 1 d f a b a b cb cbf a b c 例inta 3 b 2 c 1 d f a b 表达式值1 a b cb cbf a b c 例inta 3 b 2 c 1 d f a b 表达式值1 a b c 表达式值1b cbf a b c 例inta 3 b 2 c 1 d f a b 表达式值1 a b c 表达式值1b cbf a b c 例inta 3 b 2 c 1 d f a b 表达式值1 a b c 表达式值1b cb d 1f a b c 例inta 3 b 2 c 1 d f a b 表达式值1 a b c 表达式值1b cb d 1f a b c f 0 例 若a 0 b 0 5 x 0 3 则a x b的值为 例 若a 0 b 0 5 x 0 3 则a x b的值为0 例 5 2 7 8在C中是允许的 值为 例 5 2 7 8在C中是允许的 值为0 例 inti 1 j 7 a a i j 4 0 则a 例 inti 1 j 7 a a i j 4 0 则a 2 例 a 0结果为 A 100结果为 例 a 0结果为1 A 100结果为0 关系运算请注意 1 应避免对实数作相等或不等的判断如1 0 3 0 3 0 1 0结果为 关系运算请注意 1 应避免对实数作相等或不等的判断如1 0 3 0 3 0 1 0结果为0 关系运算请注意 1 应避免对实数作相等或不等的判断如1 0 3 0 3 0 1 0结果为0可改写为 fabs 1 0 3 0 3 0 1 0 1E 6 2 注意区分 与 如inta 0 b 1 if a b printf aequaltob elseprintf anotequaltob 2 注意区分 与 如inta 0 b 1 if a b printf aequaltob elseprintf anotequaltob 2 注意区分 与 如inta 0 b 1 if a b printf aequaltob elseprintf anotequaltob 2 注意区分 与 如inta 0 b 1 if a b printf aequaltob elseprintf anotequaltob 2020 2 10 27 5 逻辑运算符和表达式功能 判断逻辑值和对逻辑值进行操作符号 逻辑运算真值表结合方向 从右向左 从左向右优先级 2 11 12 逻辑运算中 运算参量 0表示假 非0表示真运算结果 0表示假 1表示真短路特性 逻辑表达式求解时 并非所有的逻辑运算符都被执行 只是在必须执行下一个逻辑运算符才能求出表达式的解时 才执行该运算符 例ab x ya b x y a a b 例ab x ya b x y a a b 例ab x y a b x y a b x y a a b 例ab x y a b x y a b x y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质控护士竞聘课件
- 谓语非谓语课件
- 2025版材料智能家居产品采购与销售合同
- 2025产品集成与定制化技术服务合同范本下载
- 2025年度河道疏浚工程土石方清运劳务分包合同
- 2025版建筑结构设计咨询及优化服务合同
- 2025年教育贷款担保合同范本大全
- 2025草坪种植工程与配套灌溉系统安装合同
- 2025版电子商务平台摊位入驻服务合同
- 2025典当行股权收购与品牌建设一体化合同
- 迷彩九月+启航青春+课件-2025-2026学年高一上学期开学军训动员主题班会
- 2025年暑期教师研修心得-研修蓄力笃行致远
- 2025秋人教版初中数学九年级上册教学计划及进度表
- 2025年中国烟花爆竹协会烟花工艺师认证考试专项练习含答案
- 2025年政府会计准则制度实施能力考试(气象事业单位)高频错题及答案
- 2024年陕西事业单位联考A类综合应用能力试题及答案
- 河北省大厂回族自治县2025年上半年事业单位公开招聘教师岗试题含答案分析
- 人教版物理九年级全一册16.1《电压》听评课记录
- (2025年标准)被迫堕胎补偿协议书
- 咸阳赤壁市事业单位招聘笔试真题2024
- iso内审员管理制度
评论
0/150
提交评论