总结数据类型如下:
各种数据类型所占字节数,暂时理解为:
只需记住:void 类型:0 byte
bool类型,char类型:1 byte
short 类型:2 byte
long long 类型,double 类型:8byte
其余类型为 2 byte 或者 4 byte ;编译器可以根据硬件的不同自由确定占几个字节。
转换:
1、整型,实型(浮点型)和字符型数据之间通过类型转换便可进行混合运算;但并非所有类型的数据之间都可 以进行转换:指针和前三种类型的数据不能进行类型换算。
2、相同类型的数据在转换时,低精度向高精度扩展。字符必定先转换为整数(1 byte 转为 2 byte),short 转为int ;float 转为 double
3、不同类型的数据在转换时,低级类型向高级类型转换。int 与 double 进行运算时,先将 int 转换为double ,再进行运算,结果为double 类型。
# include <stdio.h>
void main()
{
/* 定义变量并赋初值 */
int a = 5;
char c = 'a';
float f = 5.3;
double m = 12.65;
double result;
/* 同类型数据间进行运算并输出结果 */
printf("a + c = %d\n", a + c);
printf("a + c = %c\n", a + c);
printf("f + m = %f\n", f + m);
/* 不同类型数据间进行运算并输出结果 */
printf("a + m = %f\n", a + m);
printf("c + f = %f\n", c + f);
/* 将上述四个变量进行混合运算,并输出结果 */
result = a + c * (f + m);
printf("double = %f\n", result);
}
上述代码中:
当结果以整型输出格式“%d”输出时,结果为整数。
当结果以字符型输出格式“%c”输出时,结果为字符。
ASCII表中'a' = 97
新增:
1. 字符类型数据转为整型(char -> int)
例:' 9 ' 转换得到 9 ,如何操作?
‘ 9 ’ 的ascii 值为57 ‘ 0 ’ 的ascii 值为48
57-48=9;
字符数据的的ascii 值 -48 = 整型数据的acsii 值
2.大小写字母转换
例:A 转换为 a,如何操作
A 65 ; a 97
大写 的ascii 值 +32 = 小写 的acsii值