C语言复习整理(二)——数据类型与类型转换

基本数据类型

(1)基本类型:整形,实型(浮点型),字符型,枚举类型。
(2)构造类型:数组类型,结构体类型,共用体类型。
(3)指针类型(指针类型的值是地址值)
(4)空类型(例如void声明的函数不带回返回值就是空类型)

常量

(1)整形常量:十进制(不以0开头,无前缀%d),八进制(以0为前缀,无小数部分,%o),十六进制(以0x或0X开头,%x)。另外还有长整型常量在后加后缀L或l,无符号常量后加后缀U或u。(例如:123L是长整型常量,123U是一个无符号整形常量,123UL是一个无符号长整型常量)
(2)实型常量:又称浮点数。十进制小数形式,指数形式(类似科学计数法,例123.4E3或123.4e3代表123.4*10^3)。指数形式表示实型常量时候要注意,E和e前面必须有数字,后面必须是整数。实数在指数形式输出是,是按照规范化形式输出的,例:1.234e5。(C语言对实型常量不区分float和double,都作为double处理,可以使计算结果更准确。如果要提高运算速度,可以在实型常量后面加上字母F或f指定其为单精度实型类型float
(3)符号常量:符号常量即标识形式的常量,一般形式如:#define 标识符 常量。预处理时会将标识符替换为常量。(定义符号常量作用是为了提高程序的可读性,便于程序调试、修改和纠错。)(符号常量不能再被赋值。为与程序中定义的变量区别,符号常量一般用大写字母表示
(4)字符型常量:字符常量与字符串常量两种。字符常量只能用单引号括起来,单引号中只有一个字符(可以是字符集中的任意字符,除了单引号 ’ 和反斜线 / )。每个字符常量都对应一个整数值,即ASCII码值,字符常量区分大小写。其中:
‘\n’ 回车换行,光标从当前位置移动到下一行开头。
‘\t’ 横向跳到下一制表位置(Tab,1,9,17…是制表位)
‘\b’ 退格,光标回退一格
‘\r’ 回车,光标从当前位置移到当前行开头
‘\f’ 走纸换页,光标从当前位置移到下页开头
‘\\’ 反斜线符""
‘\’’ 单引号符
‘\"’ 双引号符
‘\ddd’ 1~3位八进制数所代表的字符,例:’\101’代表字符常量’A’
‘\xhh’ 1~2位十六进制数所代表的字符,例:’\x41’代表字符常量’A’
字符串常量时用一对双引号括起来的字符串序列,存储形式是以ASCII码形式存在内存中,在字符串结尾家一个字符串结束标志‘\0’,以此判断字符串时否结束。字符串常量的大小是字符数量+1(’\0’)字节。

运算符及表达式

运算符根据所能连接的预算对象个数分为:单目,双目,三目运算符。
单目运算符都为同优先级(最高优先级,优先级大于双目和三目运算符),自右向左结合(右结合性)。
双目运算符中,算术运算符优先级最高,逻辑运算符最低。(双目优先级大于三目)。
三目运算符运算优先级 > 赋值语句 > 逗号运算符。
只有单目,赋值,三目运算符是自右向左结合,其他都是自左向右结合
优先级:单目运算符>算数运算符(双目)> 逻辑运算符(双目)> 三目运算符> 赋值运算符>逗号运算符

常考点:m=i++,m=++i,m=j–,m=–j的区别。
m=i++先将i的值赋给m,然后执行i=i+1;
m=j–先将j的值赋给m,然后执行j=j-1;
m=++i先执行i=i+1,然后将i的值赋给m;
m=–j先执行j=j-1,然后将j的值赋给m;

不同类型数据间的混合运算与类型转换

表达时钟有不同数据类型的数据参加运算时,就要进行类型转换。
转换的规则:先降低级别类型的运算对象向高级别类型的运算进行转换,然后在进行同类型运算。(由编译系统自动完成,因此称为自动类型转换)。

高 double<-----float

long

unsigned

低 int<-----char,short

横向的箭头表示必定的转换,及char,short类型数据运算时必定先转为int型,float型数据运算时也一律要先转换成double型,以提高运算的精度。即使是两个float型数据运算时也一律先转换成double型,然后进行运算。
纵向箭头表示当运算对象不同时转换的方向,转换由低向高进行。
转换按数据长度增加的方向进行,以保证精度不降低。
强制类型转换可以将变量在运算时强制转换成相应的类型,只在运算中起作用,是临时的,没有改变变量本身的类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值