深圳7月第二期XP01班笔记
2025-07-29 09:42:06
发布于:广东
Day01
1 基本框架
#include <iostream> //1. 头文件 cin cout
#include <cstdio> //printf
#include <bits/stdc++.h> //万能头文件
using namespace std; //2. 标准命名空间
int main(){ //3. 主函数
return 0;
}
2 变量的定义
2.1 定义规则: 变量类型 + 变量名;
2.2 变量类型
int: 整型 -20亿~20亿
long long: 超长整型
float: 单精度浮点型(不建议使用)
double: 双精度浮点型
2.3 变量命名规则
1)由大小写字母、数字、下划线组成;
2)不能以数字开头;
3)不能是关键字;
4)严格区分大小写;
3 输入和输出
3.1 输入
cin >> 变量名;
3.2 输出
1)cout << "张老师真帅!" << endl; //end of line
2)printf("格式控制符", 变量名);
a. 保留三位小数 printf("%.3lf", a);
b. 输出整型 printf("%d", a);
c. 输出超长整型 printf("%lld", a);
d. 右对齐6位,用空格补齐 printf("%6d", a);
e. 右对齐6位,用0补齐 printf("%06d",a);
4. 类型转换
4.1 int/int的结果是什? int类型
比如:3/4=0 5/3=1
4.2 double/int的结果是什么? double类型
比如:3.0/4=0.75
4.3 转换
double a = 3.14;
int b = a; //方法1
cout << (int)a; //方法2
Day02
1 分支语句
1.1 单分支语句
if(表达式){
语句组;
}
1.2 双分支语句
if(表达式){
语句组1;
} else{
语句组2;
}
//三目运算符: 表达式?语句组1:语句组2;
1.3 多分支语句
if(表达式1){
} else if(表达式2){
} else if(...){
} else{
}
2 数学函数
2.1 求两者较大值
max(a,b);
2.2 求两者较小值
min(a,b);
2.3 求a的b次方
pow(a,b);
2.4 求a的绝对值
abs(a);
2.5 求根号a
sqrt(a);
3 逻辑运算符
3.1 逻辑与 &&
1 && 1 = 1
0 && 1 = 0
1 && 0 = 0
0 && 0 = 0
3.2 逻辑或 ||
1 || 1 = 1
1 || 0 = 1
0 || 1 = 1
0 || 0 = 0
3.3 逻辑非
!1 = 0
!0 = 1
4 运算符优先级
5 字符类型
字符:字母、符号等,带有单引号
char ch;
6 switch语句
switch(表达式){
case 常量1: 语句1; break;
case 常量2: 语句2; break;
case 常量3: 语句3; break;
...
default: 语句;
}
Day03
循环
-
while循环
while(条件表达式){
循环语句;
}
//int i = 1; //初始值
//while(i <= 1000){ //条件表达式
// cout << "老师真帅"; //循环语句
// i++; //变化量 i=i+1 i+=1
//} -
do-while循环:无论如何,都会至少执行一次
do{
循环语句;
} while(条件表达式);
//int i = 1;
//do{
// cout << "老师真的很帅" << endl;
// i++;
//} while(i <= 1000); -
for循环
for(①初始值; ②循环条件; ③变化量){
④循环语句;
}
执行顺序:①-> ②-> ④-> ③{-> ②-> ④-> ③}
//for(int i = 1; i <= 1000; i++){
// cout << "老师帅...爆了";
//} -
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 - 数组
#include <iostream>
using namespace std;
int main(){
// 一、定义
// 天目山的帅气/美丽的老师们
// int a[5]; //定义了一个int类型的数组,空间5
// 典狱长 上课老师 助教老师 生活老师 班主任老师
// 3 5 7 5 5
// 二、初始化
// (1)
// int a[5] = {3, 5, 7, 5, 5};
// 下标:下面的标号
// 典狱长有几个? a[0] => 数组名 + [下标]
// cout << a[3];
// (2)部分初始化 => 未初始化部分都是0
// int a[5] = {1};
// cout << a[2] << " " << a[3] << " " << a[4];
// (3)不初始化 => 里面的数值是随机的
// int a[5];
// cout << a[2] << " " << a[3] << " " << a[4];
// (4)
// int a[] = {1, 2, 3, 4, 5};
// => int a[5] = {1, 2, 3, 4, 5};
三、输出
int a[5] = {3, 5, 7, 5, 5};
//0 1 2 3 4
//初始值0 条件 <5 变化量i++
//循环体:cout << a[?] << endl;
for(int i = 0; i < 5; i++){
cout << a[i] << endl;
}
四、输入 输入n(0< n <= 100)个数字
int a[105]; //最大的n+5 / +10
//初始值0 条件 < n 变化量i++
for(int i = 0; i < n; i++){
cin >> a[i];
}
return 0;
}
Day05
-
字符 char
ASCII码 '0'-48 'A'-65 'a'-97 ' '-32 -
字符数组
定义:char + 数组名[数组长度]; -
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 判断子串
#include <iostream>
using namespace std;
int main(){
//1、定义两个字符串s1\s2,输入
string s1, s2;
cin >> s1 >> s2;
//2. 判断s1是不是s2的字串
if(s2.find(s1) != -1 || s2.find(s1) != string::npos){
//s1是s2的子串
cout << s1 << " is substring of " << s2;
} else if(s1.find(s2) != -1 || s1.find(s2) != string::npos){
//s2是s1的子串
cout << s2 << " is substring of " << s1;
} else{
//找不到
cout << "No substring";
}
return 0;
}
Day08
//sort从小到大排序
#include <bits/stdc++.h>
using namespace std;
int a[105];
int main(){
//1. 定义n并输入n个数据
int n;
cin >> n;
for(int i = 0; i < n; i++){
cin >> a[i];
}
//2. 升序:从小到大
//sort(数组名+开始下标,数组名+结束下标+1);
sort(a+0, a+n);
//3. 输出
for(int i = 0; i < n; i++){
cout << a[i] << endl;
}
return 0;
}
//sort从大到小排序
#include <bits/stdc++.h>
using namespace std;
int a[105];
bool cmp(int x, int y){
return x > y; //从大到小
}
int main(){
//1. 定义n并输入n个数据
int n;
cin >> n;
for(int i = 0; i < n; i++){
cin >> a[i];
}
//2. 降序:从大到小
//sort(数组名+开始下标, 数组名+结束下标+1, 排序方式);
sort(a+0, a+n, cmp); //compare
//3. 输出
for(int i = 0; i < n; i++){
cout << a[i] << endl;
}
return 0;
}
全部评论 9
这一次竟然没有张斌肾衰
3天前 来自 浙江
2别传了别传了,怕了
3天前 来自 广东
1哈哈哈
2天前 来自 辽宁
0
本人住在深圳,可人在杭州,想家了
2小时前 来自 浙江
0厉害厉害
昨天 来自 广东
0牛
昨天 来自 陕西
0%%%
昨天 来自 湖南
0每日打卡
喊一声:老师真帅!!!
2天前 来自 广东
0老师您今年在深圳?
4天前 来自 辽宁
0是的是的,在深圳
3天前 来自 广东
0不是说在杭州或上海吗
昨天 来自 浙江
08.11去杭州
昨天 来自 广东
0
发现张老师
4天前 来自 广东
0hello
5天前 来自 广东
0
有帮助,赞一个