数据类型 | 取值范围 | 大致范围 | 占用大小 | 输入格式 | 输出格式 |
---|---|---|---|---|---|
int | $- 2^{31}$ ~ $ +(2^{31} - 1)$ | $- 2 × 10^9$ ~ $+2 × 10^9$ | 4Byte | scanf(“%d”, &d); | printf(“%d”, d); |
long long | $- 2^{63}$ ~ $ +(2^{63} - 1)$ | $- 9 × 10^{18}$ ~ $+9 × 10^{18}$ | 8Byte | scanf(“%lld”, &lld); | printf(“%lld”, lld); |
float | $- 2^{128}$ ~ $ +2^{128}$ | 实际精度6~7位 | 4Byte(符号1位,指数8位,尾数23位) | scanf(“%f”, &f); | printf(“%f”, f); |
double | $- 2^{1024}$ ~ $ +2^{1024}$ | 实际精度15~16位 | 8Byte(符号1位,指数11位,尾数52位) | scanf(“%lf”, &lf); | printf(“%f”, f); |
char | $-128$ ~ $+127$ | $-128$ ~ $+127$ | scanf(“%c”, &c);字符串:scanf(“%s”, str); | printf(“%c”, c); 字符串:printf(“%s”, str); | |
bool | 0 or 1(false or true) | 0 or 1(false or true) |
小写字母比大写字母的ASCII码值大32;
由于数组名称本身就代表了数组第一个元素的地址,所以scanf中,char字符串数组整个输入的情况下不需要加取地址运算符;
在scanf中,%c格式是可以读入空格和换行的,其他格式的输入是以空格和换行作为读入结束的标志;
常用输出格式:%0md(使不足m位的int型变量以m位进行右对齐输出,高位用0补齐)、%.mf(使浮点数保留m位小数输出,服从“四舍五入五成双”的规则);
getchar和putchar分别用来输入和输出单个字符(包括换行符),gets和puts分别用来输入和输出一行字符串;
gets识别换行符\n作为输入结束,因此scanf完一个整数后,如果要使用gets,需要先用getchar接收整数后的换换行符;
char字符串数组的末尾都有一个空字符\0,以表示存放的字符串的结尾,结束符\0的ASCII码为0,即空字符NULL,占用一个字符位,因此创建char字符串数组时字符数组的长度比实际存储的字符串长度至少多1;
空字符\0和空格不是一个东西,空格的ASCII码为32;
常用 string 函数(使用时要在程序开头加上
string.h
头文件):(1).
strlen(str)
: 该函数用于返回字符数组中第一个\0前的字符个数;(2).
strcmp(str1, str2)
: 该函数用于返回两个字符串大小的比较结果,比较原则是按字典序。如果str1 > str2
,则返回一个正整数,如果str1 = str2
,则返回0,如果str1 < str2
,则返回一个负整数;(3).
strcpy(str1, str2)
: 该函数用于将字符数组 str2 复制给字符数组 str1 ,包括结束符\0;(4).
strcat(str1, str2)
: 该函数用于将字符数组 str2 接到字符数组 str1 后面;(5).
sscanf(str, "%d", &n)
: 该函数用于将字符数组 str 中的内容以 “%d” 的格式写到 n 中;(6).
sprintf(str, "%d", n)
: 该函数用于将 n 以 “%d” 的格式写到字符数组 str 中。字符数组的初始化方法:
(1).
char str[15] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!'};
(2). 通过直接赋值字符串来初始化(仅限初始化,程序其他位置不允许直接赋值整个字符串):
char str[15] = "Hello World!";
常用 math 函数(使用时要在程序开头加上
math.h
头文件):(1).
fabs(double x)
: 该函数用于对 double 型变量取绝对值;(2).
floor(double x)
: 该函数用于对 double 型变量的向下取整;(3).
ceil(double x)
: 该函数用于对 double 型变量的向上取整;(4).
pow(double r, double p)
: 该函数用于返回 $r^p$ ,要求 r 和 p 都是 double 型变量;(5).
sqrt(double x)
: 该函数用于返回 double 型变量的算术平方根;(6).
log(double x)
: 该函数用于返回 double 型变量的以自然对数为底的对数;(7).
round(double x)
: 该函数用于将 double 型变量四舍五入,返回值也是 double 型,需进行取整。