已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机程序设计基础 C语言 长春工程学院计算机基础教学中心基础教研室 第二章数据类型 运算符和表达式 2 1数据类型2 2标识符 常量与变量2 3整型量2 4实型量2 5字符型量2 6类型转换2 7基本运算符和表达式 2 1数据类型 数据类型是按被说明量的性质 表示形式 占据存储空间的多少 构造特点来划分的 数据为什么要区分类型 不同类型的数据代表不同的数据表示形式合法的取值范围占用内存空间大小可参与的运算种类 数据类型决定 1 数据占内存字节数2 数据取值范围3 其上可进行的操作 2 2标识符 常量与变量 标识符定义 用来标识变量 常量 函数等的字符序列组成 只能由字母 数字 下划线组成 且第一个字符必须是字母或下划线大小写敏感如 sum Sum SUM是不同的三个标识符 不能使用关键字长度 最长255个字符命名原则 见名知意不宜混淆如l与I o与0 例 判断下列标识符号合法性sumSumM D JohndayDate3daysstudent name 33lotus 1 2 3chara b above 123 例2 3 变量的定义 include stdio h main inta 定义变量a为整型a 20 printf d a 运行结果 20 1 整型常量2 整型变量 2 3整型量 整型常量 整常数 三种形式 十进制整数 由数字0 9和正负号表示 如123 45八进制整数 由数字0开头 后跟数字0 7表示 如0123 011十六进制整数 由0 x开头 后跟0 9 a f A F表示 如0 x123 0 xff 例12与12L 例30000为int型65536为longint型 整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L 认为它是longint型常量 问题 0123 100 x123 100 xff 10 不合法的八进制数 082 包含了非八进制数码 0127 出现了负号 不合法的十六进制整常数 5A 无前缀0X 0X3H 含有非十六进制数码 整型变量类型说明符数的范围分配字节数int 2147483648 2147483647 shortint 32768 32767 unsignedint0 4294967295 longint 2147483648 2147483647 unsignedlong0 4294967295 举例 inta b c a b c为整型变量 longx y x y为长整型变量 unsignedp q p q为无符号整型变量 例2 4 整型变量的定义与使用 include stdio h main inta b c d unsignedu a 10 b 20 u 30 c a u d b u printf c d d d n c d 运行结果 c 40 d 10 例2 5 整型数据的溢出 include stdio h main shortinta b a 32767 b a 1 printf d d n a b 运行结果 32767 32768 32767 0111111111111111 327681000000000000000 2 4实型量 1 实型常量2 实型变量 实型常量 实数或浮点数 表示形式 十进制数形式 必须有小数点 如0 123 123 123 0 0 0 123 指数形式 e或E之前必须有数字 指数必须为整数 如12 3e3 123E2 1 23e4 e 5 1 2E 3 5 实型常量的类型默认double型在实型常量后加字母f或F 认为它是float型 实型变量float 占4字节 提供7位有效数字 数值范围为3 4E 38 3 4E 38double 占8字节 提供15 16位有效数字数值范围为1 7E 308 1 7E 308 例2 6 include stdio h voidmain floata doubleb a 1234 56789 b 1234 5678901234 printf f n f n a b 运行结果 1234 567871 float保留7位 1234 567890 最多6位小数 2 5字符型量 1 字符常量2 转义字符3 字符变量4 字符串常量 字符常量定义 用单引号括起来的单个普通字符或转义字符 字符常量的值 该字符的ASCII码值 如 101 A 012 n 376 x61 a 60 0 483 例 A 101 x41 65 如 A 65 a 97 0 48 n 10 如 a A n 101 转义字符 反斜线后面跟一个字符或一个代码值表示 例转义字符举例main printf 101 x42C n printf Isay Howareyou n printf CProgram n printf Visual C 运行结果 屏幕显示 ABCIsay Howareyou CProgram Visual C 例main printf Y b n 运行结果 屏幕显示 打印机输出 字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算 例a D a 68 x A 5 x 65 5 s G s 33 71 没有字符串变量 用字符数组存放 例2 9 把小写字母换成大写字母 include stdio h voidmain charc1 c2 c1 a c2 b c1 c1 32 c2 c2 32 printf c c n d d n c1 c2 c1 c2 运行结果 A B65 66 例 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 字符常量与字符串常量不同 字符串常量定义 用双引号 括起来的字符序列存储 每个字符串尾自动加一个 0 作为字符串结束标志 例 charch ch A 2 6类型转换 不同类型数据间的转换自动转换什么情况下发生运算转换 不同类型数据混合运算时赋值转换 把一个值赋给与其类型不同的变量时输出转换 输出时转换成指定的输出格式函数调用转换 实参与形参类型不一致时转换运算转换规则 不同类型数据运算时先自动转换成同一类型 自动转换说明 必定的转换 运算对象类型不同时转换 强制转换一般形式 类型名 表达式 例 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 精度损失问题 2 7基本运算符和表达式 学习运算符应注意 运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型 算术运算符和表达式基本算术运算符 结合方向 从左向右优先级 2 3 4 说明 可为单目运算符时 右结合性两整数相除 结果为整数 要求两侧均为整型数据 例5 2 5 2 0 例5 2 5 2 1 10 5 1 5 5 2 例5 2 2 5 2 0 2 5 例5 2 1 5 2 11 10 15 1 05 5 2 自增 自减运算符 作用 使变量值加1或减1种类 前置 i i 先执行i 1或i 1 再使用i值 后置i i 先使用i值 再执行i 1或i 1 例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 k 4 j 4 k 3 j 4 4 3 c 20 a 4 c 15 a 4 自增 自减运算符 作用 使变量值加1或减1种类 前置 i i 先执行i 1或i 1 再使用i值 后置i i 先使用i值 再执行i 1或i 1 说明 不能用于常量和表达式 如5 a b 结合方向 自右向左优先级 2 3 4 例 i i i 3 printf d i 3 例 i i 3 printf d i 赋值运算符和表达式简单赋值运算符符号 格式 变量标识符 表达式作用 将一个数据 常量或表达式 赋给一个变量 复合赋值运算符种类 含义 exp1op exp2 exp1 exp1opexp2 例a 3 d func c d 2 说明 结合方向 自右向左优先级 14左侧必须是变量 不能是常量或表达式 赋值表达式的值与变量值相等 且可嵌套 赋值转换规则 使赋值号右边表达式值自动转换成其左边变量的类型 例3 x 2 y a b 3 例floatf inti i 10 f i 则f 10 0 例inti i 2 56 结果i 2 例 a b c 5a b 5 a 5 c 6 a b 4 c 6 a b 10 c 2 表达式值为5 a b c值为5 b 5 a 5 表达式值11 c 6 a 11 表达式值10 a 10 b 4 c 6 表达式值5 a 5 b 10 c 2 说明 结合方向 自右向左优先级 14左侧必须是变量 不能是常量或表达式 赋值表达式的值与变量值相等 且可嵌套 赋值转换规则 使赋值号右边表达式值自动转换成其左边变量的类型 例 a 12 a a a a 例 inta 2 a 4 1 a a a a 3 a 264等价于a a a a a a a 0等价于a a a a a a a a 3 逗号运算符和表达式形式 表达式1 表达式2 表达式n结合性 从左向右优先级 15逗号表达式的值 等于表达式n的值用途 常用于循环for语句中 例a 3 5 a 4a 3 5 a 4 a 5例x a 3 6 3 x a 3 6 a例a 1 b 2 c 3 printf d d d a b c printf d d d a b c b c a 15 表达式值60 a 15 表达式值20 赋值表达式 表达式值18 x 18 逗号表达式 表达式值18 x 3 1 2 3 3 2 3 逗号运算符和表达式形式 表达式1 表达式2 表达式n结合性 从左向右优先级 15逗号表达式的值 等于表达式n的值用途 常用于循环for语句中 例 ch2 6 c includemain intx y 7 floatz 4 x y y 6 y z printf x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游度假鱼塘施工合同范本
- 临时司机招聘协议零时工
- 城市化妆品运输安全管理办法
- 个体玩具店店长聘用合同
- 汽车销售中介佣金协议
- 生物科技电路施工合同
- 企业团建保姆服务合同模板
- 商业店铺租赁合同撰写指南
- 水务公司建设灰工施工合同
- 甜品店排水板施工合同
- GB/T 17892-2024优质小麦
- 调酒初级基础理论知识单选题100道及答案解析
- 危废治理项目经验-危废治理案例分析
- 南京市2024-2025学年六年级上学期11月期中调研数学试卷二(有答案)
- 汽车防冻液中毒
- 粉条产品购销合同模板
- 2024至2030年中国自动车配件行业投资前景及策略咨询研究报告
- 2024-2030年中国蔗糖行业市场深度调研及发展趋势与投资前景研究报告
- 北师版 七上 数学 第四章 基本平面图形《角-第2课时 角的大小比较》课件
- 外研版小学英语(三起点)六年级上册期末测试题及答案(共3套)
- 北师大版(2024新版)七年级上册生物期中学情调研测试卷(含答案)
评论
0/150
提交评论