- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第02章C数据类型
预备知识
基本数据类型
常量与变量
运算符和表达式
复合数据类型
;2.0 预备知识;数制;各种进制之间的转换
二进制、八进制、十六进制转换成十进制
方法:按权相加;各种进制之间的转换(整数)
二进制、八进制、十六进制转换成十进制
方法:按权相加;二进制与八进制之间的转换
二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制
八进制转换成二进制:用3位二进制数代替每一位八进制数;二进制与十六进制之间的转换
二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制
十六进制转换成二进制:用4位二进制数代替每一位十六进制数;字节和位
内存以字节为单元组成
每个字节有一个地址
一个字节一般由8个二进制位组成
每个二进位的值是0或1;数值的表示方法——原码、反码和补码
原码:最高位为符号位,其余各位为数值本身的绝对值
反码:
正数:反码与原码相同
负数:符号位为1,其余位对原码取反
补码:
正数:原码、反码、补码相同
负数:最高位为1,其余位为原码取反,再对整个数加1;2.1 基本数据类型;2.2 常量与变量;实型常量:把带小数的数称为实数或浮点数
表示形式:
十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123.
指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 ;字符常量
定义:用单引号括起来的单个普通字符或转义字符. ;字符常量与字符串常量不同;2.2.2 变量
概念:其值可以改变的量
变量定义的一般格式:
[修饰符] 数据类型 变量1[,变量2,…,变量n];;2.3 运算符和表达式;算术运算符
基本算术运算符: + - * / %
功能:取模运算符%用于计算两整数相除后得到的余数
结合方向:从左向右
优先级: * / % ----- + -
(13) (12)
说明:
两整数相除,结果为整数
%要求两侧均为整型数据
;赋值运算符
简单赋值运算符
符号: =
格式: 变量标识符=表达式
作用:将右侧的表达式求出结果,赋给其左侧的变量;说明:
结合方向:自右向左
优先级: 2
左侧必须是变量,不能是常量或表达式;例 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; ;说明:
++ -- 不能用于常量和表达式,如5++,(a+b)++
++ --结合方向: 自右向左
优先级:15;关系运算符和逻辑运算符
关系运算符
种类: = == = !=
结合方向:自左向右
优先级别:;a;;;;条件运算符
一般形式: expr1 ? expr2 : expr3
执行过程
功能:相当于条件语句,但不能取代一般if语句;位运算:对整个数据按二进制位进行运算,位运算的对象只能是整型数据,结果仍是整型数据
位逻辑运算符:~(15)、(8)、^(7)、|(6)
移位运算符:左移、右移(11);sizeof运算符
sizeof运算符是测试变量、表达式或类型名所占用的字节数。有两种用法:
sizeof 表达式:
sizeof(类型标识符):
;表达式
算术表达式
逻辑表达式
关系表达式
赋值表达式
条件表达式
逗号表达式
;隐式类型转换:由编译器自动完成的类型转换
什么情况下发生
运算转换------不同类型数据混合运算时
赋值转换------把一个值赋给与其类型不同的变量时
输出转换------输出时转换成指定的输出格式
函数调用转换------实参与形参类型不一致时转换
运算转换规则:不同类型数据运算时先自动转换成同一类型;说明:;显示类型转换
一般形式:
(类型名) 表达式
类型名 (表达式)
例 int(x+y)
(int)x+y
(double)(3/2)
(int)3.6
说明:强制转换得到所需类型的中间变量,原变量类型不变 ;2.4 复合数据类型; 结构
;例 struct student
{ int num;
char name[20];
char sex;
int age;
float sc
文档评论(0)