什么是基本数据类型
基本数据类型是C语言内置的一些类型,其共有三类,分别为整型,实型,字符型。这三种类型可用来存储不同的数据,为程序提供最基本的运算等操作。本节内容将讲解不同的数据类型以及其在标准输入输出中所使用的格式控制符。
整型
在C语言里,整型有以下几种不同的选择。以下描述内容中占用内存的情况均为64位平台上的情况。
类型 | 描述 | 格式控制符 |
---|---|---|
int | 最常用的整型,32位 | %d,%o,%x,%X,%u |
short ,short int | 16位,在所有平台上均不大于int | %hd,%ho,%hx,%hX,%hu |
long ,long int ** | 32位,在所有平台上均不小于int | %ld,%lo,%lx,%lX,%lu |
long long ,long long int | 64位,在所有平台上均不小于long long | %lld,%llo,%llx,%llX,%llu |
char | 8位,一般用于处理字符,也可以作为整型使用 | %hhd,%hho,%hhx,%hhX,%hhu |
整型都可以使用unsigned
修饰为无符号或使用signed
修饰为有符号,除char
之外,默认均为有符号。
实型
在C语言里,实型有以下几种不同的选择。以下描述内容中占用内存的情况均为64位平台上的情况。
类型 | 描述 | 格式控制符 |
---|---|---|
float | 32位 | %e %E %f %F %g %G %a %A |
double | 64位 | %le %lE %lf %lF %lg %lG %la %lA |
long double | 64位 | %le %lE %lf %lF %lg %lG %la %lA |
针对实型,其内容除了正常的实数之外,还可能为inf
,nan
,nan(snan)
,nan(ind)
字符型
char
在C语言中用来代表字符型,其格式控制符为%c
,char
除了用来处理字符之外,还可以用来处理整型。
字符串
C语言使用以'\0'
作为结尾的字符数组来保存字符串,其格式控制符为%s
。
示例代码
#include <stdio.h>
int main()
{
// 整型
int a;
short b;
long c;
long long int d;
char e;
scanf("%d %hd %ld %lld %hhd", &a, &b, &c, &d, &e);
printf("%d %hd %ld %lld %hhd\n", a, b, c, d, e);
printf("%o %ho %lo %llo %hho\n", a, b, c, d, e);
printf("%x %hx %lx %llx %hhx\n", a, b, c, d, e);
printf("%X %hX %lX %llX %hhX\n", a, b, c, d, e);
printf("%u %hu %lu %llu %hhu\n", a, b, c, d, e);
printf("%d,%d,%d,%d,%d\n", sizeof(a), sizeof(b), sizeof(c), sizeof(d), sizeof(e));
// 实型
float f;
double g;
long double h;
scanf("%f", &f);
printf("%e %E %f %F %g %G %a %A\n", f, f, f, f, f, f, f, f);
scanf("%lf", &g);
printf("%le %lE %lf %lF %lg %lG %la %lA\n", g, g, g, g, g, g, g, g);
scanf("%lf", &h);
printf("%le %lE %lf %lF %lg %lG %la %lA\n", h, h, h, h, h, h, h, h);
printf("%d,%d,%d\n", sizeof(f), sizeof(g), sizeof(h));
// 字符型
char i;
scanf("%c", &i);
printf("%c\n", i);
printf("%d\n", sizeof(i));
// 字符串
char j[256];
scanf("%s", j);
printf("%s\n", j);
return 0;
}
上述代码中,sizeof
关键字可用来获取数据类型占用内存的大小。