1. 整型
分类
- short int
- int
- long int
- long long int
查看占用空间大小
大小与编译器有关,不同编译器占用大小不同
#include "stdio.h"
int main() {
printf("short int size: %d\n", sizeof(short int));
printf("int size : %d\n", sizeof(int));
printf("long int size : %d\n", sizeof(long int));
}
打印结果:
short int size: 2
int size : 4
long int size : 4
printf打印格式化
short int | int | long int | long long int | |
十进制有符合 | %hd | %d | %ld | %lld |
十进制无符号 | %hu | %u | %lu | %llu |
八进制 | %ho | %o | %lo | %llo |
十六进制 | %hx | %x | %lx | %llx |
最大值与最小值
有符号数
#include "stdio.h"
#include "limits.h"
int main(){
printf("short int min: %hd, max: %hd\n", SHRT_MIN, SHRT_MAX);
printf("int min: %d, max: %d\n", INT_MIN, INT_MAX);
printf("long int min: %ld, max: %ld\n", LONG_MIN, LONG_MAX);
printf("long long int min: %lld, max: %lld\n", LONG_LONG_MIN, LONG_LONG_MAX);
};
无符号数
#include "stdio.h"
#include "limits.h"
int main() {
printf("short int min: %d, max: %hu\n", 0, USHRT_MAX);
printf("int min: %d, max: %u\n", 0, UINT_MAX);
printf("long int min: %d, max: %lu\n", 0, ULONG_MAX);
printf("long long int min: %d, max: %llu\n", 0, ULONG_LONG_MAX);
};
2. 字符char
单引号表示,内存中存储的依然是整数。占一个字节
#include "stdio.h"
int main() {
char i = 0;
char i2 = '0';
printf("i integer: %d, char %c\n", i, i);
printf("i2 integer: %d, char %c\n", i2, i2);
}
转义字符
\n:new line 下一行
\b:backspace
\r:return
\t:table
\':'
宽字符
wchar_t
#include "stdio.h"
int main() {
wchar_t wc = L'中';
printf("宽字符: %d", wc);
}
浮点数
分为 float 和 double
在计算机中用可续计数法表示。
float有效位数是6位,double的有效位数是15到16位。