第2章 C/C++快速入门
2.1 基本数据类型
2.1.1 变量的定义
Code
1 | 变量类型 变量名; |
或
Code
1 | 变量类型 变量名 = 初值; |
变量名注意点:
①不能是语言标识符;
②第一个字符必须是字母或下划线,除第一个字符之外的其他字符必须是字母、数字或下划线;
③区分大小写。
2.1.2 变量类型
1.整型
(1)整型 int
:绝对值在 1e9
之内可以放心使用。
(2)长整型 long long
:超过 int
时使用,初值太大需要在后面加 LL
。unsigned
可以将负数范围移到正数上。
2.浮点型
(1)单精度 float
:有效精度6-7位。
(2)双精度 double
:有效精度15-16位,因此浮点类型尽量使用 double
。
3.字符型
(1)字符变量和字符常量
使用ASCII码。
(2)转义字符
\n表示换行,\0表示空字符NULL。
(3)字符串常量
C中有字符数组,C++中有string类型。
4.布尔型
C语言使用必须添加 #include <stdbool.h>
头文件。0为false,非0为true,false为0,true为1。
2.1.3 强制类型转换
Code
1 | (新类型名)变量名 |
2.1.4 符号常量和const常量
Code
1 | #define 标识符 常量 |
Code
1 | const 数据类型 变量名 = 常量; |
虽然以上都能定义常量,但是推荐使用 const
写法。
Code
1 | #define 标识符 任何语句或片段 |
Code
1 |
|
const int INF = (1 << 30) - 1;
Code
1 | 或 |
const int INF = 0x3fffffff;
Code
1 |
|
int n = 5;
int a, b;
a = b = 5;
Code
1 |
|
2.3.2 if语句的嵌套
cpp
1 | if(A) |
2.3.3 switch语句
cpp
1 | switch(op) |
2.4 循环结构
2.4.1 while语句
cpp
1 | while(A) |
2.4.2 do···while语句
cpp
1 | do{ |
2.4.3 for语句
cpp
1 | for(A; B; C) |
2.4.4 break和continue语句
break:退出当前循环;
continue:结束循环的当前轮回
2.5 数组
2.5.1 一维数组
Code
1 |
|
如果数组大小较大(大概$10^6$级别),则需要将其定义在主函数外面,否则会使程序异常退出,原因是函数内部申请的局部变量来自系统栈,允许申请的空间较小;而函数外部申请的全局变量来自静态存储区,允许申请的空间较大。
2.5.4 memset——对数组中每一个元素赋相同的值
memset(数组名, 值, sizeof(数组名));
memset使用的是按字节赋值,速度快,但是只建议赋0或-1,因为二进制补码为全0或全1。二维数组及多维数组的赋值方法也是一样的。