7_24日C语言|整型提升相关介绍
2017-07-26 15:11
375 查看
整型提升
分析:
char a 和 char b 属于截断;
对于char c = a+b 来说属于整型提升再截断
对于char a = -1;
10000000 00000000 00000000 00000001 //-1的原码
11111111 11111111 11111111 11111110//-1的反码
11111111 11111111 11111111 11111111//-1的补码
截断后:11111111//-1
整型提升:补符号位
11111111 11111111 11111111 11111111//-1
对于 unsigned char b = -1;
10000000 00000000 00000000 00000001 //-1的原码
11111111 11111111 11111111 11111110//-1的反码
11111111 11111111 11111111 11111111//-1的补码
截断后:11111111//-1
整型提升:补符号位,由于是无符号数补0
00000000 00000000 00000000 11111111//255
算数转换
当两者类型不同时,要将精度小的转为精度大的
N/A表示无结合性
memset(起始地址,初始化字符,字节数);//内存操作函数在string.h中
注意
函数的调用,为形式参数开辟空间,形参的实例化;
传值调用,形参是实参的临时拷贝,形参的修改对实参无影响;
传址调用,形参是实参的临时拷贝,形参的修改对实参有影响;
实参主要有:变量,常量,表达式,函数等;
形参在调用结束后销毁;
int main() { char a = 10; char b = 20; char c = a+b; return 0; }
分析:
char a 和 char b 属于截断;
对于char c = a+b 来说属于整型提升再截断
char a = -1; unsigned char b = -1; printf("%d\n",a);//-1 printf("%d\n",b);//255
对于char a = -1;
10000000 00000000 00000000 00000001 //-1的原码
11111111 11111111 11111111 11111110//-1的反码
11111111 11111111 11111111 11111111//-1的补码
截断后:11111111//-1
整型提升:补符号位
11111111 11111111 11111111 11111111//-1
对于 unsigned char b = -1;
10000000 00000000 00000000 00000001 //-1的原码
11111111 11111111 11111111 11111110//-1的反码
11111111 11111111 11111111 11111111//-1的补码
截断后:11111111//-1
整型提升:补符号位,由于是无符号数补0
00000000 00000000 00000000 11111111//255
算数转换
当两者类型不同时,要将精度小的转为精度大的
float f =3.14; int num = f;// 精度丢失,隐式转换
N/A表示无结合性
memset(起始地址,初始化字符,字节数);//内存操作函数在string.h中
注意
//数组初始化 for(i = 0; i<sizeof(arr)/sizeof(arr[0]); i++) arr[i]=1; //memset初始化 memset(arr,1,sizeof(arr)); //两者效果是不同的,因为数组每个元素是4个字节,memset是对每个字节进行赋值,但初始化为0效果是相同的
函数的调用,为形式参数开辟空间,形参的实例化;
传值调用,形参是实参的临时拷贝,形参的修改对实参无影响;
传址调用,形参是实参的临时拷贝,形参的修改对实参有影响;
实参主要有:变量,常量,表达式,函数等;
形参在调用结束后销毁;
相关文章推荐
- C语言进阶:整型提升
- C语言中的整型提升(integral promotion)
- 任意输入不超过6位的整型数,求数的位数,用switch语句输出各个数,并逆序输出的相关做法。c语言。
- c语言 无符号数 结构体指针 整型提升
- C语言中,时间调用处理的相关函数介绍
- 提升C语言内功的书——部分相关电子书在本人资源里
- C语言进阶:整型提升
- C语言可变参数函数的使用及相关函数介绍
- C语言中的整型提升与混合类型数据的运算
- C语言中的整型提升(integral promotion)
- C语言中的整型提升与混合类型数据的运算
- C语言中的整型提升(Integral Promotion)
- c语言预处理指令、typedef、static和extern相关介绍
- C语言中时间调用处理的相关函数介绍
- C语言 sizeof 整型提升 类型转换
- 【C语言】整型溢出和整型提升
- 关于C语言整型提升的讲解
- C语言中的整型提升(integral promotion)
- C语言中的数值类型转换:整型提升/寻常算术变化/截断/强制类型转换
- C语言中,时间调用处理的相关函数介绍