C语言基础知识(二)

第二部分:类型转换
1、隐式类型转换(自动转换)
在有多种数据类型混合计算的时候,若未人为控制类型,系统会自动进行类型转换
转换的规则是:存储长度较短的转换成存储长度较长的,且不丢失数据
char--->short--->int--->unsigned int(--->long--->unsigned long)--->double
float--------↑

2、赋值转换
如果赋值运算符两侧数据类型不一致,则在赋值时会发生赋值类型转换
1)int型与float型
将float类型赋值给int型时,会舍去小数部分。如:
int a = 3.5;
//此时a的值是3
将int类型赋值给float型时,数值会以float类型存储。如:
float f = 4;
//此时f的值是4.0
2)float型与double型
将double型赋值给float型时,截取7位有效数字存储在float类型中。但要注意不要超过float类型的存储范围(因为double类型存储范围比float类型大)
3)char型与int型
将int类型赋值给char类型时,直接截取低8位存储在char型中。
将char类型赋值给int类型时,分两种情况:
⑴无符号char类型(即unsigned char型),数据存储在int类型低8位,剩下24位补0
⑵有符号char类型,数据存储在int型低8位。若char首位是0,则int型剩下24位补0;若char首位是1,则int型剩下24位补1。
4)int型与long类型(只考虑int型与long类型长度不一致情况)
将long类型赋值给int类型时,直接截断数据,将低位原封不动存储在int型中。
将int类型赋值给long类型时,分两种情况:
⑴无符号int类型(即unsigned int型),数据存储在long类型低位,剩下位补0
⑵有符号int类型,数据存储在long类型低位。若int首位是0,则剩下位补0;若int首位是1,则剩下位补1。

3、强制类型转换
隐式类型转换或赋值转换有时不会得到我们预期的结果,这时我们可以使用强制类型转换来实现我们想要的类型转换结果。
强制类型转换:人为地将某类型转换为另一类型
强制类型转换符:()括号
用法:
(待转换的类型)变量
例如:
float a = 3.5;
(int)a;//将a强制转换成int类型

float pi = 3.1415926;
int x = (int)pi;
在这里x会变成3,而pi还是原数值(3.1415926)。即经过赋值运算后,pi的类型又变回浮点数,pi的值不会变。


第三部分:运算符与表达式
1、表达式
用运算符和括号将操作数连接起来的符合C语言语法规则的句子称为表达式。
如2*y+5中,*和+是运算符,2,y,5是操作数,整个句子符合C语言语法规则。
2、运算符
运算符用于执行程序代码运算,对一个以上的操作数进行运算。
在C语言中,运算符需要至少1个操作数(不超过3个)
在C语言中,把除了控制语句(如if,for等)和输入输出语句以外的几乎所有的基本操作都当做运算符处理。
3、运算符的分类
1)根据结合数的数目分类:
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值