【笔记】C语言的数据类型

前言

C语言的数据类型学习笔记

数据类型

整型

整型变量定义方式

  • signed关键字为有符号位数
  • unsigned关键字为无符号位数
  • 有符号位数可以省略signed关键字
int 整数类型
  • int类型可以存储4个字节的整数
1
2
3
4
5
6
// 有符号位
int 变量名;
signed int 变量名;

// 无符号位
unsigned int 变量名;
short 短整数类型
  • short类型可以存储2个字节的整数
1
2
3
4
5
6
// 有符号位
short 变量名;
signed short 变量名;

// 无符号位
unsigned short 变量名;
long 长整数类型
  • long类型在32位系统下可以存储4个字节的整数
  • long类型在64位系统下
    • Linux系统下可以存储8个字节的整数
    • Windows系统下可以存储4个字节的整数
1
2
3
4
5
6
// 有符号位
long 变量名;
signed long 变量名;

// 无符号位
unsigned long 变量名
long long 长整数类型
  • short类型可以存储8个字节的整数
1
2
3
4
5
6
// 有符号位
long long 变量名;
signed long long 变量名;

// 无符号位
unsigned long long 变量名;

整型变量赋值方式

int 整数类型
1
2
3
4
5
6
// 有符号位
变量名 = 变量值;

// 无符号位
变量名 = 变量值u;
变量名 = 变量值U;
long 长整数类型
1
2
3
4
5
6
7
// 有符号位
变量名 = 变量值l;
变量名 = 变量值L;

// 无符号位
变量名 = 变量值UL;
变量名 = 变量值ULL;
long long 长整数类型
1
2
3
4
5
6
7
// 有符号位
变量名 = 变量值ll;
变量名 = 变量值LL;

// 无符号位
变量名 = 变量值ull;
变量名 = 变量值ULL;

整形的不同进制数

  • 不同进制的数值数据的赋值和输出方式
不同进制数的赋值
十进制数
1
2
int num;
num = 十进制数;
八进制数
1
2
int num;
num = 0八进制数;
十六进制数
1
2
int num;
num = 0x十六进制数;
不同进制数的输出
输出十进制数
  • 有符号
1
print("%d", 十进制数)
  • 无符号
1
print("%u", 十进制数)
输出八进制数
1
print("%o", 八进制数)
输出十六进制数
  • 英文字母小写
1
print("%x", 十六进制数)
  • 英文字母大写
1
print("%X", 十六进制数)

Char 字符类型

  • Char的本质是一个整数,大小为1Byte
    在C语言中没有1Byte的数值数据类型,所以用Char替代

定义一个Char变量

1
char 变量名;

赋值一个字符常量

<char>:一个字符,可以是转义字符

1
变量名 = '<char>';

输出一个字符

1
print("%c", 字符变量);

浮点类型

浮点型定义方式

float
  • Linux占用4个字节
  • Windows占用4个字节
1
2
3
4
5
6
// 有符号位
float 变量名 = 变量值;
signed float 变量名 = 变量值;

// 无符号位
unsigned float 变量名 = 变量值;
double
  • Linux占用8个字节
  • Windows占用8个字节
1
2
3
4
5
6
// 有符号位
double 变量名 = 变量值;
signed double 变量名 = 变量值;

// 无符号位
unsigned double 变量名 = 变量值;
long double
  • Linux占用16个字节
  • Windows占用12个字节
1
2
3
4
5
6
// 有符号位
long double 变量名 = 变量值;
signed long double 变量名 = 变量值;

// 无符号位
unsigned long double 变量名 = 变量值;

浮点型输出方式

输出浮点型
1
2
printf("%f", 变量名);
printf("%Lf", 变量名);
无符号位浮点型输出
1
printf("%lu", 变量名);

完成