C++语法篇D01~D10
2025-02-23 11:13:30
发布于:浙江
- 基本框架
(1)头文件:
#include<bits/stdc++.h>
(2)命名空间:
using namespace std;
(3)主函数:有且只有一个
- 数据类型
2.1 整形(integer)
(1)int:整形 范围:-21亿~21亿 -231~231-1
(2)long long :长长整形 范围:-1018~1018 左右
2.2浮点型
(1)float: 单精度浮点型 (基本不用)
(2)double: 双精度浮点型 (小数就用这个)
2.3字符型
(1)char: 定义单个字符
字符: 字母、数字、符号等用单引号包起来的单个符号
(2)ASCII码
'A'=-65
'a'=-97
'0'=-48
空格=-32
2.4 字符串类型 string s;
(1) 头文件 #include<string>
(2) 计算长度 s.size(); s.length();
(3) 输入字符串
(a) cin>>s;(不带空格)
(b) getline(cin,s);(带空格)
(4) 比较大: 字典序(从小到大)
比较方式:按住一个个比较过去,直到第一个不相同,谁大就谁大
例子1:"123"<"2"
例子2:"121">"12"
3.输入输出
3.1 输入
(1)单个变量或者字符串:cin>>变量名;
(2)printf: 格式化输出
(a)小数:printf("%.2f",变量名); 保留两位小数
(b)右对齐-空格:printf("%5d",123);
(c)右对齐-补0:printf("%05d",123);
- 条件分支语句
(1) 单分支语句:如果条件成立,执行语句
if(条件){
语句;
}
(2)双分支语句
if(条件){
语句1;
}
else{
语句2;
}
(3)三目运算符:条件?语句1;语句2
如果条件成立,执行语句1;否则语句2
例如:
int day=10;
day==10?cout<<"老师真帅":cout<<"张斌真帅";
(4)多分支语句
if(){
}
else if(){
}
else if(){
}
else{
}
5.循环
(1) for循环
for(初始值;条件;变化量){
循环体;
}
初始值->条件->循环体->变化量->...
for(int i=1;i<=10;i++){
cout<<"老师真帅"<<endl;
}
(2) while循环:当条件成立的时候,执行语句
while(条件){
循环语句;
}
int day=10;
while(day==10){
cout<<"老师真帅"<<endl;
}
(3)do-while: 相比while循环,如果条件不成立,至少执行一次
do{
cout<<"老师真帅"<<endl;
} while(0);
-
数组
(1) 定义:变量类型 数组名[数组空间];//数组空间=n的最大值+5~10
(2)遍历范围:0~n-1 或者 1-n //注意循环范围 -
数位分离
(1) 分离个位
int n=12345,s=0;
while(n){
s+=n%10;
n/=10;
}
8函数
(1)函数声明-省略
(2)函数定义
函数类型 函数名(变量类型 变量名1,变量类型 变量名2,...){
函数内容;
}
函数类型-返回(int/double/string...) 无返回(void)
(3)函数调用
函数名(变量名1,变量名2,...)//注意:类型需要一 一对应
9.sort
(1) 头文件:algorithm
(2) 模板:sort(数组名+开始下标,数组名+结束下标+1,排序方式);
(3) 升序:从小到大 sort(a,a+n);
(4) 降序:从大到小
bool cmp(int x,int y){
return x>y;
}
sort(a,a+n,cmp);
10.结构体
struct 结构体类型名{
int 变量名1;
int 变量名2;
int 变量名3;
}结构体变量名/数组;
struct student{
string name;
int id;
int cls;
int age;
}a[105],b,c;
11.结构体排序
strust student{
int yw,sx,yy,sum,id;
}a[305];
bool cmp(student x,student y){
if(x.sum!=y.sum)return x.sum>y.sum;
else if(x.yw!=yw)return x.tw>y.yw;
else return x.id<y.id;
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].yw>>a[i].sx>>a[i].yy;
a[i].id=i;
a[i].sum=a[i].yw+a[i].sx+a[i].yy;
}
sort(a+1,a+n+1,cmp);
}
全部评论 2
建议用代码块包裹代码
2025-02-23 来自 广东
1```cpp
```2025-02-23 来自 广东
1感谢!!!
2025-02-23 来自 浙江
1感谢!!!
2025-02-23 来自 浙江
1
不喜勿喷,如果发现错误,请在评论区发,感谢!!!
2025-02-23 来自 浙江
1
有帮助,赞一个