3
X01-Day01
1. 头文件、命名空间、主函数
#include <iostream>
using namespace std;
int main(){
return 0;
}
2. 输入和输出
2.1 输入
cin >> 变量名;
2.2 输出
cout << "输出的内容";
2.3 格式化输出
printf("输出的格式",变量名);
2.3.1 保留小数
double f = 3.1415926;
printf("%.2lf", f); 或者 printf("%.2f",f);
【注意】double仅能在printf的时候使用%f,scanf只能使用%lf
2.3.2 右对齐
用空格补齐:printf("%5d", 变量名);
用0补齐: printf("%05d", 变量名);
2.4 变量
2.4.1 变量定义
数据类型 + 变量名
2.4.2 变量的命名规则
(1) 数字、下划线、大小写字母组成
(2) 数字不能开头、下划线可以
(3) 不能使用关键字
(4) 严格区分大小写
2.4.3 变量类型
int -210^9 ~ 210^9
long long 超长整型
float 单精度浮点型 6~7有效数字
double 双精度浮点型 15~16位有效数字
3. 运算符
3.1 算术运算符
* * * / %(取余)
注意:整数/整数的结果是整数
3.2 关系运算符
> < >= <= == !=
4. 分支结构
4.1 单分支结构
if(今天下雨了){ //是否成立
cout << "老师太帅了!";
}
X01-Day02
Day02
分支结构
一、单分支结构
//如果条件成立,那么就执行语句
//if(条件表达式){ //成立-非0 / 不成立-0
// 语句;
//}
if(day==2){
cout << "你们真可爱!";
}
二、双分支
//如果条件成立,那么就执行语句组1;否则执行语句组2
//if(条件表达式){
// 语句组1;
//} else{
// 语句组2;
//}
if(day==2){
cout << "竹笋炒肉";
} else{
cout << "糖炒栗子";
}
三目运算符: 条件表达式?语句1:语句2;
day==2?cout<<"竹笋炒肉":cout<<"糖炒栗子";
三、多分支结构
如果条件1成立,那么执行语句组1;
否则如果条件2成立,那么执行语句组2;
否则如果.....
否则....
四. switch语句
五. 复合运算符
自增/自减运算符 : ++ --
i++ : 看++的位置,在后,先用再+
++ i : 看的位置,++在前面,先加再用
i-- : 自行补充
--i :
六. 运算符优先级
从高到低
1. ()
2. !
3. * / % 大于 + -
4. > \ >= < <= 大于 == !=
5. &&
6. ||
7. =
Day03
循环
1. while循环
while(条件表达式){
循环语句;
}
//int i = 1; //初始值
//while(i <= 1000){ //条件表达式
// cout << "老师真帅"; //循环语句
// i++; //变化量 i=i+1 i+=1
//}
2. do-while循环:无论如何,都会至少执行一次
do{
循环语句;
} while(条件表达式);
//int i = 1;
//do{
// cout << "老师真的很帅" << endl;
// i++;
//} while(i <= 1000);
3. for循环
for(①初始值; ②循环条件; ③变化量){
④循环语句;
}
执行顺序:①-> ②-> ④-> ③{-> ②-> ④-> ③}
//for(int i = 1; i <= 1000; i++){
// cout << "老师帅...爆了";
//}
4. break、continue
4.1 break(打破、打碎):终止循环
//int i = 1;
//for(int i = 1; i <= 1000; i++){
// if(i % 2 == 0){
// break;
// }
// cout << "老师怎么可能衰" << endl;
//}
4.2 continue:跳过本次循环,直接进入下一次循环
//int i = 1;
//for(int i = 1; i <= 1000; i++){
// if(i % 2 == 0){
// continue;
// }
// cout << "老师怎么可能衰" << endl;
//}
Day04 - 数组
Day05
1. 字符 char
ASCII码 '0'-48 'A'-65 'a'-97 ' '-32
2. 字符数组
定义:char + 数组名[数组长度];
3. string
3.1 头文件
#include <string>
3.2 初始化
string s; //没有空间
string s = "abcde"; => 使用上等同于数组
3.3 输入
(1) 不带空格的输入: cin >> s;
(2) 带空格的输入 : getline(cin, s);
3.4 长度计算
s.length(); s.size();
3.5 判断大小写字母
(1) 大写字母:s[i] >= 'A' && s[i] <= 'Z'
(2) 小写字母:s[i] >= 'a' && s[i] <= 'z'
(3) 数字字符:s[i] >= '0' && s[i] <= '9'
3.6 判断子串
Day07
一、
函数:把多次重复使用的东西打包起来,使用的时候方便
//1. 函数的声明(当定义在主函数之前,省略) - 做了一个榔头的设计图,想要打晕杨老师
函数类型 函数名(形参1, 形参2, 形参3....);
//2. 函数的定义(这个函数要做什么?功能是什么?) - 根据设计图,做出了榔头
函数类型 函数名(形参1, 形参2, 形参3....){
//操作
//返回结果
}
//3. 函数的调用(使用函数) - 用榔头
函数名(实参1, 实参2, 实参3....);
二、形参和实参
形参:在函数里面的,没有实际意义
实参:在主函数里,有实际意义
三、全局变量和局部变量
四、函数类型
(1) 有返回值的, int 、double、 string、 char
(2) 无返回值的, void
Day08
//冒泡排序、选择排序、插入排序、桶排序、sort
//1. 冒泡排序(从小到大): 两两比较,如果前面一个数字比
后面的数字大,那么就交换
(1) (2) (3) (6) (8)
//2. 选择排序:第一次从待排序数据中找到最小的,
//和第一个数交换位置; 第二次从待排序数据中找到
//最小的,和第二个数交换位置......
5 2 1 6 0
(0) (1) (2) (5) (6)
//3. 插入排序:从有序的数据中从后往前开始比较(上厕所着急程度)
1 2 3 4 5
//4. 桶排序
1-"老师真帅" 1
2-"哇老师太帅了" 2
3-"老师帅爆了" 4
4-"老师怎么能这么帅" 1
5-"老师肾爆了" 0
//5. sort() - 狗皮膏药
头文件:#include <algorithm>
格式:sort(数组开始, 数组结束+1, 排序方式);
有帮助,赞一个