【算法笔记】第二章: C/C++ 快速入门
标签(空格分隔):【算法笔记】
第二章:C/C++ 快速入门
2.0 引言
scanf 和 printf 比 cin 和 cout 要快得多。
C 语言的文件扩展名为 .c,但是考虑到 C++有很好的特性,因此一般直接使用 C++的扩展名 .cpp 。
头文件和主函数
- 头文件,例如
#include<stdio.h>
,其中 stdio.h 是标准输入输出库,在程序中如果由输入输出,就必须加上这个头文件。stdio 的全称为 standard input output ,h 为 head 的缩写,.h 就是头文件的文件格式。
当然,还有一些其他的库,例如,math.h 负责一些数学函数,string.h 负责字符串函数。在使用过程中,将它们的头文件包含到这个程序中来即可。
此外,在 C++ 中,stdio.h 可以写成它的等价写法 cstdio,也就是去掉 .h 并它前面加上 c 即可。所以#include<stdio.h>
和#include<cstdio>
是等价的。类似的有,#include<math.h>
和#include<cmath>
是等价的,#include<string.h>
和#include<cstring>
是等价的。 - 主函数:
- 头文件,例如
int main(){
...
return 0;
}
上面的代码就是主函数。主函数就是一个程序的入口位置,整个程序从主函数开始运行,一个程序最多只能有一个主函数。
2.1 基本数据类型
2.1.1 变量的定义
变量是在程序运行过程中其值可以改变的量,需要在定义后才可以使用,其定义格式如下:
变量类型 变量名;
当然,在变量定义时可以为它赋予初值:
变量类型 变量名 = 初值;
变量的命名需要满足以下几个条件:
- 不能是 C 语言的标识符(例如 for,if,or 等,因为它们本身在 C 语言中有含义)。建议选择具有一定实际意义的变量名,例如 Max,Sum 等,以提高程序可读性。
- 变量名的第一个字符必须是字母或下划线,除了第一个字符之外的其他字符必须是字母、数字或下划线。例如,abc,_hvsym12 是合法的变量名,而 6abc 是非法的变量名。
- 区分大小写,Max 和 max 可以作为两个不同的变量名。
2.1.2 变量类型
四种基本类型:
整型 :整型一般可以分为 short 、int、long long .
- int,一个int 占用 32 位,即 4 Byte,取值范围从
−231 − 2 31 ~ 231−1 2 31 − 1 ,绝对值在 109 10 9 之内的正数都可以使用 int 类型。 - long long,一个 long long 占用 64 位,即 8Byte,取值范围从 −263 − 2 63 ~ 263−1 2 63 − 1 ,如果题目要求的整数范围大于 2147483647(或者 231−1 2 31 − 1 ),就需要使用 long long 来存储。
注意:对于long long 类型的变量赋予初值,需要在初值后面加上LL,否则会出现编译错误。
long long BigNum = 123456789012345LL;
- 另外,对于整型数据,都可以在前面加上一个 unsigned,以表示无符号整型,例如 unsigned int 和unsigned long long。占用的位数和之前相投,但是去掉了负数部分,因此,unsigned int 表示范围 0 0 ~ 232−1 2 32 − 1 和 unsigned long long 表示 0 0 ~ 264−1 2 64 − 1 。
一般而言,很少会使用 unsigned int 和unsigned long long 的情况。
- int,一个int 占用 32 位,即 4 Byte,取值范围从
浮点型:通俗而言,浮点型就是小数,分为单精度(float)和双精度(double)。
- float,一个单精度类型的浮点数占用 32bit,其中 1bit作为符号位, 8bit作为指数位, 23bit作为尾数位,可以存放的数值范围是 −2128 − 2 128 ~