《算法笔记》学习记录-第二章 C/C++快速入门
《算法笔记》学习记录-第二章 C/C++快速入门
- 2.0 C语言小程序
- 2.1 基本数据结构
- 2.1.1 变量定义
- 2.1.2 变量类型
- 2.1.3 强制类型转换
- 2.1.4 符号常量和const常量
- 2.1.5 运算符
- 1. 算数运算符
- 2. 关系运算符
- 3. 逻辑运算符
- 4. 条件运算符
- 5. 位运算符
- 2.2 顺序结构
- 2.2.1 赋值表达式
- 2.2.2 使用 scanf 和 printf 输入/输出
- 1. scanf 函数的使用
- 2. printf 函数的使用
- 2.2.3 使用 getchar 和 putchar 输入/输出字符
- 2.2.4 注释
- 2.2.5 typedef
- 2.2.6 常用 math 函数
- 1. fabs(double x)
- 2. floor(double x) 和 ceil(double x)
- 3. pow(double r, double p)
- 4. sqrt(double x)
- 5. log(double x)
- 6. sin(double x)、cos(double x) 和 tan(double x)
- 7. asin(double x)、acos(double x) 和 atan(double x)
- 8. round(double x)
- 2.3 选择结构
- 2.3.1 if 语句
- 2.3.2 if 语句的嵌套
- 2.3.3 switch 语句
- 2.4 循环结构
- 2.4.1 while 语句
- 2.4.2 do...while 语句
- 2.4.3 for 语句
- 2.4.4 break 和 continue 语句
- 2.5 数组
- 2.5.1 一维数组
- 2.5.2 冒泡排序
- 2.5.3 二维数组
- 2.5.4 memset--对数组中每一个元素赋相同的值
- 2.5.5 字符数组
- 1. 字符数组的初始化
- 2. 字符数组的输入输出
- (1)scanf 输入,printf 输出
- (2)getchar 输入,putchar 输出
- (3)gets 输入,puts 输出
- 3. 字符数组的存放方式
- 2.5.6 string.h 头文件
- 1. strlen()
- 2. strcmp()
- 3. strcpy()
- 4. strcat()
- 2.5.7 sscanf 与 sprintf
- 2.6 函数
- 2.6.1 函数的定义
- 2.6.2 再谈 main 函数
- 2.6.3 以数组作为函数参数
- 2.6.4 函数的嵌套调用
- 2.6.5 函数的递归调用
- 2.7 指针
- 2.7.1 什么是指针
- 2.7.2 指针变量
- 2.7.3 指针与数组
- 2.7.4 使用指针变量作为函数参数
- 2.7.5 引用
- 1. 引用的含义
- 2. 指针的引用
- 2.8 结构体(struct)的使用
- 2.8.1 结构体的定义
- 2.8.2 访问结构体内的元素
- 2.8.3 结构体的初始化
- 2.9 补充
- 2.9.1 cin 与 cout
- 1. cin
- 2. cout
- 2.9.2 浮点数的比较
- 1. 等于运算符(==)
- 2. 大于运算符(>)
- 3. 小于运算符(<)
- 4, 大于等于运算符(>=)
- 5. 小于等于运算符(<=)
- 6. 圆周率π
- 2.9.3 复杂度
- 1. 时间复杂度
- 2. 空间复杂度
- 3. 编码复杂度
- 2.10 黑盒测试
- 2.10.1 单点测试
- 2.10.2 多点测试
- 3种输入方式:
- (1) while...EOF 型
- (2) while...break 型
- (3) while(T--) 型
- 三种输出类型
- (1) 正常输出
- (2) 每组数据输出之后都额外加一个空行
- (3) 两组输出数据之间有一个空行,最后一组数据后面没有空行
2.0 C语言小程序
#include // 头文件
// 等价写法:#include
// #include 等价 #include
// #include 等价 #include
int main(){ // 主函数,一个程序最多只能有一个主函数
// 定义两个整数型变量a和b
int a, b;
// 读入两个整数
scanf("%d%d", &a, &b);
// 输出两个整数的和
printf("%d", a+b);
return 0;
}
2.1 基本数据结构
2.1.1 变量定义
格式:
变量类型 变量名;
或者
变量类型 变量名 = 初值; // 在定义的时候就赋初值
2.1.2 变量类型
- 整型
int: 绝对值在 10 9 10^9 109范围以内的整数或者32位整数, 输出格式是%dlong long
- 浮点型 : 输出格式是
%f; 不要使用float,碰到浮点型的数据都用double- 单精度
float: 有效精度6~7位 - 双精度
double: 有效精度15~16位
- 单精度
- 字符型
- 字符变量和字符常量(字符本身,例如: ‘e’):
char;小写字母比大写字母的ASCII码值大32;字符常量(必须是单个字符)必须用单引号标注 - 转义字符:
换行;Tab键;
- 字符变量和字符常量(字符本身,例如: ‘e’):

