- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
03数据类型与表达式
数据类型、运算符与表达式 1 预备知识 2 C语言基本元素 3 基本数据类型 4 常量和变量 5 各类数据类型间的混合运算 6 运算符与表达式 各种进制之间的转换 二进制、八进制、十六进制转换成十进制 方法:按权相加 字节和位 内存以字节为单元组成 每个字节有一个地址 一个字节一般由8个二进制位组成 每个二进位的值是0或1 C 语言基本符号 C语言的基本符号可分4个类: 1)英文字母:大小写各26个,共计52个; 2)阿拉伯数:0~9共10个数字; 3)下划线:_; 4)特殊符号:标点符号和运算符,通常由1~2个符号组成。 标识符的书写规则: (1)标识符只能由字母、数字和下划线三种基本字符组成 (2)必须以字母或下划线开头 (3)不能以关键字作为标识符。 如:_1 year month day student_name sum0(合法) M.D.Jones $123 #a 3b ?c a=b 张三 int(不合法) 注意:在C语言中,大小写字母不等效。因此,a和A,I和i,Sum和sum,分别是两个不同的标识符。 由系统定义的具有特定含义的标识符 用户不能用来另作它用 C语言中由ANSI标准推荐的关键字有32个: 字符型(char) 整型(short,int,long,unsigned) 基本类型 数值类型 单精度型(float) 实型 双精度型(double) 枚举类型(enum) 数据类型 数组类型([ ]) 构造类型 结构体类型(struct) 共用体类型(union) 指针类型(*) 空类型(void) 赋值转换 在赋值时将赋值符右边值的类型转换成与其左边变量类型一致的类型。 有下列几种情况: 实型赋给整型(字符型):去掉小数部分; 整型(字符型)赋给实型: 补足有效位; 对char、int、short、long、unsigned型数据: 赋值符右边数据a位,赋值符左边的变量b位 若 a=b 原样照赋; ab 截断高a-b位,送低b 位; 有符号数据赋给有符号变量:符号扩展; 其他情况:高a-b位全补0。 符号扩展: 符号位为0,剩余的高位补0; 符号位为1,剩余的高位补1。 ab 赋值转换各种情况归结起来: 按存贮单元中的存贮形式直接传送 截取或扩展时尽量保持原数据的值 强制转换 一般形式:(类型名)(表达式) 例 (int)(x+y) (int)x+y (double)(3/2) (int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变 例 main() { float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); } 结果:x=3.600000,i=3 较高类型向较低类型转换时数据精度可能降低精度 注意 C 运 算 符 算术运算符:+ - * / % ++ -- 关系运算符: = == = != 逻辑运算符:! || 位运算符 : ~ | ^ 赋值运算符:= 及其扩展 条件运算符:? : 逗号运算符:, 指针运算符:* 求字节数 :sizeof 强制类型转换:
文档评论(0)