一、基本数据类型
数据类型 | 字节大小 | 取值范围 |
---|---|---|
int (整型) | 4 字节 | -2 147 483 648 〜+2 147 483 647,即-2^31 ~ +(2^31-1) |
unsigned int (无符号整型) | 4 字节 | 0 〜4 294 967 295 |
long int (长整型) | 4 字节 | -2 147 483 648 〜+2 147 483 647,即-2^63 ~ +(2^63-1) |
long long int (超长整型) | 8字节 | -9 223 372 036 854 775 808~9 223 372 036 854 775 807 |
char(字符型) | 1字节 | -128~127 |
注意:
int至少与short一样大。
long int至少与int一样大。
unsigned short int与short大小相同。
unsigned int与int大小相同。
unsigned long与long大小相同。
long long int 和unsigned long long int将确保至少有 8 字节(64位)大小
1.绝对值在10^9以内的整数都可以用int
2.给long long型赋大于2^31-1的初值需要加上LL,如long long a =123456789012345LL
3.常见ASCII码
字符 | ASCII |
---|---|
A-Z | 65-90 |
a-z | 97-122 |
0-9 | 48-57 |
\0 | 0 |
小写字母比大写大32
二、输入输出
1.printf的%f说明符既可以输出float型又可以输出double型
2.scanf对于float类型必须用%f,double必须用%lf
(1)%md
向右对齐输出,高位补空格。符号则为左对齐
(2)%0md
同上,但用0补齐
(3)%.md
保留m位小数
三、typedef
typedef给复杂数据类型起一个别名
eg:
typedef long long LL;
四、常用math函数
1.fabs(double x) 取绝对值 PS:abs是整数取绝对值
2.floor(double x)和ceil(double x)向下和向上取整
3.pow(double x,double x)指数函数
4.sqrt(double x)算术平方根
5.log(double x)以e为底的对数
6.round(double x)四舍五入
7.double floor(double); 该函数返回一个小于或等于传入参数的最大整数。
8.rand()随机数,使用前必须调用srand函数
五、选择分支语句
switch(表达式){
case 表达式1:
…break;
case 表达式2:
…break;
default:
…
}
六、数组
一维数组
如果对数组赋初值,则没有赋值的部分默认为0
如果未赋值,则为随机数
给数组赋初值0:
int a[10] = {0};
或int a[10] = {};
多维数组
int a[4] [4] = {{1,2},{},{3,4},{5}};
内容:
1 2 0 0
0 0 0 0
3 4 0 0
5 0 0 0
memset(数组名,值,sizeof(数组名))对数组赋值
字符数组
输入输出
1.scanf printf
2.getchar putchar
3.gets puts
七、字符串函数
1.strlen 数组中第一个\0前面的字符个数
2.strcmp 比大小,如果前大于后,返回正
3.strcpy(a,b) 字符串复制,将b复制给a
4.strcat字符串连接,b接到a后面
5.sscanf (str,"%d",&n)将字符串输入的变量里
6.sprintf(str,"%d",n)将变量写入字符串里
7.strstr(str1, str2);
功能为在str1中查找str2,如果存在,那么返回查找到的起始指针,否则返回NULL。
8.strchr(s1, ch); 返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。