




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2 1C语言的数据类型 C语言提供数据类型分类如下 1 基本类型分为整型 实型 又称浮点型 字符型和枚举型四种 2 构造类型分为数组类型 结构类型和共用类型三种 3 指针类型4 空类型本章将介绍基本类型中的整型 实型和字符型三种数据 第2章数据类型 运算符与表达式 2 2常量和变量 1常量概念 在程序运行过程中 其值不可改变的量称为常量 类似数学中的常数 整型常量一般常量实型常量分类 字符常量符号常量 用标识符代表常量 要求大写 例1 一般常量的使用main intsum sum 10 15 10和15是一般常量 printf sum d n sum 例2 符号常量的使用 definePRICE30main intnum total num 10 total num PRICE printf total d total printf PRICE d PRICE 说明 1 命名遵循见名知意原则 2 可一改全改 避免错误 3 define预定义命令 编译前系统中除 中的PRICE不替换 其余都替换成30 4 在其作用域内值不变且不可再赋值 PRICE 40 2变量概念 在程序运行过程中 其值可以被改变的量称为变量 三个要素 变量名变量值 在程序中 通过变量名来引用变量的值 变量类型 决定变量在内存中所占存储单元个数 变量的定义与初始化 在 语言中 要求对所有用到的变量 必须先定义 后使用 1 变量定义的一般格式数据类型变量名 变量名2 如 floatradius length area 2 变量定义同时初始化数据类型变量名 初值 变量名2 初值2 例如 floatradius 2 5 length area 或 floatradius 2 5 length 2 5 area 例3 main intnum1 num2 sum 3个都是整形变量 定义后初值不确定 num1 10 num2 25 sum num1 num2 printf sum d n sum num1 5 num2 num1 3 sum num1 num2 printf sum d n sum 分析该程序中各变量的值 2 3整型数据 1整型常量 即整常数 表示形式 1 十进制 如10 36 2 八进制 以数字 开头 如012 3 十六进制 以数字 字母x X 开头 如0 x36 分类 1 基本整型 如30 2 无符号整形 在数值后面加 U u 可不加 如20U 32u 3 长整型 在数值后面加 L l 如123l 315L等 2整型变量基本整型 类型关键字为int 分类 短整型 类型关键字为short int 长整型 类型关键字为long int 无符号基本整型 unsigned int 无符号整型无符号短整型 unsignedshort 无符号长整型 unsignedlong 如 inta 10 b 10 不能以连等形式 longc 20L unsignedshortd 说明 1 不同类型所占存储空间不同 2 值在 的整型常量 可以赋给int short型变量和longint型变量 值在 的整型常量加L或l 只能赋给longint型变量 类型匹配 3 对于unsigned不能存放负数 如d 10u 存放补码 占用内存字节数与值域 上述各类型整型变量占用的内存字节数 随系统而异 以16位操作系统为例 类型名所占字节数存储单元个数表数范围int22 32768 32767short22 32768 32767long44 231 231 1unsigned220 65535unsignedshort220 65535unsignedlong440 232 1 例1 分析变量在内存的存放形式inta 1 shortb 10 unsignedc c 70000 例2 分析运行结果 main inta b a 32767 b a 1 printf d d a b 练习 1 同时定义两个整形变量2 分别定义一基本整形变量赋最大值 一无符号短整形变量赋最小值 3 给初值a 2 且有如下定义 inta unsignedb longc 分别执行1 b a c b 2 c a c b 3 c 70000L b c a c a b c的值各是多少 2 4实型数据 1 实型常量十进制形式 由数字和小数点构成 小数点必须有 如 0 123 123123 0指数形式 要求E e 前有数字 E e 后指数为整数 如 123 103可写成123e3123E31 23e51 230000E 005 标准的13位形式 2 实型变量分类 单精度关键词float4个字节7位有效数字双精度double816长双精度longdouble1018 19 定义 如floatx y doublez 1 0 实型数据的有效位数问题 例1main floata 111111 111111 printf a f a 输出结果 a 111111 123456只有前7位是准确的 例2main floata 123456 789e5 b b a 20 printf a f b f a b 上机观察运行结果 1 字符型常量定义 用一对单引号括起来的单个字符 称为字符常量 如 A a 等 存放情况 字符型常量在内存占1个字节 存放其对应ASCII值 所以字符型常量可作为整常量处理 参与算术运算 如 main intc A c c 32 printf d c c c 转义字符 一种特殊形式的字符常量 以反斜杠 开头的转义字符 如表2 3 2 5字符型数据 如 字母 n回车换行符 t跳到下一输出区 b退一格 r回到本行行首 1 3位八进制数 前可不加0 101表示 A 1 2位十六进制数 必须加小写字母x x41表示 A x6D或 x6d均表示 m 注意 如果欲输出反斜杠或单 双引号 必须使用转义字符 例 欲输出Isay Goodbye printf Isay Goodbye 例1用转义字符输出字符 main printf x4F x4B x21 n 等价于printf OK n 例2写输出结果 main printf ab c t de rf tg n printf h ti b bj k 2 字符型变量 关键字char 分配1字节内存单元 定义 赋初值形式 charc1 c2 c1 a c2 b 给字符变量赋字符常量 实际上是将该常量字符的ASCII码值 无符号整数 存储到变量分配的内存单元中 特性 可输出字符范围内 语言允许字符型数据与整型数据之间通用 a 一个字符型数据 既可以字符形式输出 也可以整数形式输出 例3main charch1 ch2 ch1 a ch2 b printf ch1 c ch2 c n ch1 ch2 printf ch1 d ch2 d n ch1 ch2 程序运行结果 ch1 a ch2 bch1 97 ch2 98 b 允许对字符数据进行算术运算 即对它们的ASCII码值进行算术运算 例4main charch1 ch2 ch1 a ch2 B printf ch1 c ch2 c n ch1 32 ch2 32 字母的大小写转换 程序运行结果 ch1 A ch2 b 3 字符串常量 定义 用一对双引号括起来的0个 表示为 一对紧连的双引号 即空串 或多个字符 可包含转义字符 如 Howareyou n a1b3 Zhang 长度 字符串中字符的个数称为字符串长度 如 上述其长度分别为13 5和5 空格也是一个字符 存储 在存储字符串常量时 由系统在字符串的末尾自动加一个 0 作为字符串的结束标志 占一个字节 但其不计入串长度 注意 在源程序中书写字符串常量时 不必加结束字符 0 例 CHINA 最后一个字符 0 是系统自动加上的 它占用 字节而非 字节内存空间 区分 不要将字符常量与字符串常量混淆 如 a 是字符 a 是字符串 2020 3 17 21 可编辑 第二部分运算符和表达式 一 算术运算符和算术表达式算术运算符种类 单目和双目单目 单操作数 运算符种类 正 负 类型 表达式 运算对象必须为变量或表达式 不能是常量 单目 单操作数 运算符优先级 相同单目 单操作数 运算符结合性 由右向左运算 称右结合性 如 1 1 22 13 intx 3 float x4 int 5 56 2 12 5 inti 2 j j i j i j i j i j i 双目 双操作数 运算符种类 加 减 要求两侧均为整数 双目 双操作数 运算符优先级 相同且高于 双目 双操作数 运算符结合性 左结合性如 1 5 3 22 int 5 3 43 i j由低到高运算顺序 单目 算术表达式 如 12 15 2 18 427 3这样用算术运算符和括号将操作数连接起来 符合C语言语法规定的式子称为算术表达式 说明 1 有括号 配对 先做括号里面的 2 双目运算符左右两侧类型一致 不一致 系统按自动转换规律转换后再参与运算 结果与最高类型相同 如 1 2 01 0 2 0 0 51 0 2 0 5 0 0 5 例 分析10 a i f d e的结果类型 其中e为long类型 3 若自动转换不能满足要求 用强制类型转换 4 的运算对象只能是变量 既可在前 又可在后 二 赋值运算符和赋值表达式赋值运算符种类 单一赋值运算符 复合赋值运算符 不能有空格 赋值运算符优先级 同一优先级 低于算术运算符 赋值运算符结合性 右结合性赋值表达式 将一个变量和一个表达式用赋值运算符连接起来的式子 赋值表达式一般形式 变量 表达式如 a 2 b 3 b a a 2 a 3 都是正确的 a b 3 错 说明 1 赋值表达式加 即为赋值语句 2 当变量类型与表达式类型不一致时 系统自动转换成变量类型再赋值 例1 main inta 3 56 doubleb 3 56 printf d f a b 例2 main inta unsignedlongb 98304 a b printf d n a 3 单目运算表达式的赋值 如inta 3 a 例3 main inta 12 a a a aprintf d a 三 逗号运算符和逗号表达式逗号运算符 逗号运算符优先级 最低逗号运算符结合性 左结合性逗号表达式 用 将两个或多个表达式连接起来的式子 一般形式 表达式1 表达式2 表达式3 表达式n 结果 表达式值为整个表达式最后一个表达式值 求 x a 3 a 3 6 3 后x a值a 3 5 a 6 a值和表达式值printf d d d a b c a b 等价形式 四 求字节运算符一般形式 sizeof 变量名 sizeof 类型名 如 floatf printf d sizeof f printf d sizeof int printf d sizeof double 2 4 4关系运算及关系表达式 关系运算 即比较运算 将两个数据进行比较 判定结果成立与否 如 5 1成立 2b a 2 优先级 1 前4个高于后2个 2 低于算术运算符 但高于赋值运算符 二 关系表达式1 关系表达式 用关系运算符将两个表达式连接起来 符合C语言语法的式子 如 1 a b2 a b c d3 a 3 b 5 a b b c 2 关系表达式的值 逻辑值 非 真 即 假 逻辑真 用整数 表示 逻辑假 用整数 表示 如 a 2 b 3 c 4则1 c a b 2 ca 3 c a b 3 结合性 由左向右如 a b c优先级相同 由左向右运算 练习 如果num1 3 num2 4 num3 5 则 1 num1 num2 2 num1 num2 num3 3 num1 num2 num3思考题 2 3 小题中任意改变num1或num2的值 会影响整个表达式的值吗 为什么 4 num1 num2 num3再次强调 C语言用整数 1 表示 逻辑真 用整数 0 表示 逻辑假 所以 关系表达式的值 还可以参与其它种类的运算 例如算术运算 逻辑运算等 Return 2 4 5逻辑运算符及其表达式 关系表达式只能描述单一条件 例如 x 0 如果需要描述 x 0 同时 x 10 就要借助于逻辑表达式了 一 逻辑运算符 种类 逻辑与 相当于 同时 逻辑或 相当于 或者 逻辑非 相当于 否定 2 优先级 1 非 与 或 2 算术运算 关系运算 赋值运算3 结合性 自左至右二 逻辑表达式1 逻辑表达式 用逻辑运算符将1个或多个表达式连接起来 符合C语言语法规则的 进行逻辑运算的式子 1 逻辑运算符两侧的操作数 可以是任何类型的数据 如整型 实型 字符型等 如 5 3 2 8 a xb x 0 2 运算规则1 当且仅当两个运算量的值都为 真 时 运算结果为 真 否则为 假 2 当且仅当两个运算量的值都为 假 时 运算结果为 假 否则为 真 3 当运算量的值为 真 时 运算结果为 假 当运算量的值为 假 时 运算结果为 真 2 逻辑表达式的值也是一个逻辑值 非 真 即 假 判断一个数据的 真 或 假 时 以0和非0为根据 如果为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年人点餐课件
- 老年人手机摄影知识培训课件
- 老年人微课课件
- 泰富广场新年景观
- 期末专项训练:完形填空(含答案解析)-2024人教版七年级英语下册
- 老年人口腔清洁课件
- 人教新目标版八年级上册英语全册知识点总结单词+短语+句子+语法
- 人教版八年级英语下册期中复习:完形填空20篇(10空题)含答案
- 配音设备调试专业知识培训课件
- CN120198056A 基于工业物联网的仓储物品管理方法、系统、设备及介质
- TCECS24-2020钢结构防火涂料应用技术规程
- GA/T 594-2006保安服务操作规程与质量控制
- 开发区(园区)招商引资投资指南手册【超级完整版】课件
- 一年级上册语文全册课件
- 《礼仪规范教程》中职配套教学课件
- 颅脑外伤(共61张PPT)
- 项目部材料管理制度要点
- 消防安全检查记录表(完整详细版)1
- winmodv工厂可接受性测试、虚拟调试过程控制实时仿真
- 消费者行为学第01章导论
- 铁道概论全套课件
评论
0/150
提交评论