1.1逻辑类型
只有两个量ture和false, 表示逻辑真值和逻辑假值。
1.2整数类型
计算机在内存中的储存方式是补码:
原码:符号位加上真值的绝对值,用最高位(第一位)表示符号位,其余表示值
反码:正数的反码是其本身,负数的反码是在其原码的基础上符号位不变,其余位按位取反
补码:正数的补码是其本身,负数的补码是在其原码的基础上符号位不变,其余按位取反后+1
1.char(字符型,存储字符,本质是整数)
类型名称 | 长度(字节) | 值域 |
char | 1 | -128 - 127 或0 - 255 |
signed char | 1 | -128 - 127 |
unsigned char | 1 | 0 - 255 |
使用char数据类型需要的变量需要特别注意,防止数据超出值域。
2.short(短整型)
类型名称 | 长度(字节) | 值域 |
short(signed short) | 2 | -32768 - 32767 |
unsigned short | 2 | 0 - 65535 |
3.int(标准整型)
类型名称 | 长度(字节) | 值域 |
int(signed int) | 4 | -2147483648 - 2147483647 |
unsigned int | 4 | 0 - 4294967295 |
4.long(长整型)、long long(长长整型)
下面代码可以知道不同数据类型在系统占用长度:
#include<stdio.h>
#include<stdbool.h>
int main()
{
printf("%d %d %d %d \n",sizeof(bool),sizeof(char),sizeof(short),sizeof(int));
}
1.3浮点类型
·单精度浮点:float
·双精度浮点:double
·扩展精度浮点型:long double
1.4bool类型
类型名称 | 值域 |
bool | 非零(ture),零(false) |
#include<stdio.h>
#include<stdbool.h>
int main()
{
bool a;
a = 1;
if(a) //如果满足条件则打印下一行
{
printf("ture, %d \n",a);
}
else
{
printf("faluse, %d \n",a);
}
}
补充:
·枚举类型:
严格来说属于整型的一种,但用户需定义枚举常量,通常被归类为用户自定义类型
·void类型:
表示“无类型”,用于函数无返回值(void fun (。。。))或通用指针(void*),但不作为变量类型使用