C++基础
·
1. C++的编译.
Visual Studio. QtCreater(qt用5.12,c++用MSVC2019,qmakes)
2. 基本格式.
#include<bits/stdc++.h>//头文件,这个是万能的 |
#include<iostream>//头文件 |
using namespace std;//命名空间 |
int main()//main主函数 |
{ |
return 0;//返回函数,考试必须写 |
|
|
1. 命名变量.
int a;//int 类型,是整数型,范围:-2147483647~2147483647; |
double b;//double 类型,是浮点(小数)型; |
long long c;//long long 类型,长整型,大约能存到18,19位; |
char d;//char 类型,字符形式,至于什么是字符形式,大家可以上网查一下ASCII码表; |
string str;//string 类型,是字符串型,可以想象成是很多个char连在一起; |
bool n;//布尔值,即 0 或 1 ; |
2. 输入输出.
(2) 流输入输出.
cin>>k>>p>>o; |
cout<<"言吾"<<"你好,我"<<o<<endl; |
其中, << 和 >> 后可以加无限多的东西.
- 虽然流输入输出更加方便快捷,但是速度会更慢.
如果想达到同样的效果,需加上这一句话:
std::ios::sync_with_stdio(false); |
//...注释 |
3. 基本运算.
(1) 加减乘除.
加减乘除和数学运算一样,例如:
c=a+b;//将a+b的值给c; |
c=a*b; |
c=a/b; |
c=a-b; |
- 其中,被赋值的数放在等号的左边
注:
当某数自身加减时,可用
<某数>+=<加上的数>或<某数>=<某数>+<加上的数>来解决.特别的,当自身加一时,可用
<某数>++的形式来解决.
(2) 判断运算.
当我们想要判断这个式子是否正确时,就需要用到判断语句.
格式:
if(<判断的式子>==<结果>)//判断是否等于. |
{ |
<写下你想做的事情> |
} |
if<判断的式子>>=<结果>)//判断是否大于等于. |
{ |
<写下你想做的事情> |
} |
..... |
总之,运算符有以下几种:
| >= | > | !(非,不是,也就是为0) |
|---|---|---|
| <= | < | ? |
| == | !=(不等于) | ...... |
- 其中,若这个式子不成立,则TA的值为0;反之,为1.
(3) 循环运算.
在我们编程的过程中,难免会碰到循环的情况,如循环算数等.
1) while
格式:
while(<判断>) |
{ |
<写上你要写的内容> |
} |
- 注:
1.<判断>的内容为判断的算式,前面讲过.
2.判断的算式既可以是一个式子(例如:a+b==1),也可以是一个数字,其中除了0的值为0以外,其他全是1.
2) for(重点)
for(int i=1;i<=100;i++) |
//句子的意思是: |
//定义一个 i ,从 1 开始,一直加到 100 ,每次自加 1 ; |
{ |
sum++; |
} |
for语句相当于:
int i=<起始点>; |
while(i<=<界限>) |
{ |
<写上你要写的内容> |
i++;//<自加> |
} |
4. 数组(重点)
1) 定义及用法.
(一) 一维数组
格式:
int a[100]; |
// 定义数组a,大小为100; |
int b[200]; |
char c[1000]; |
long long d[2618]; |
等等. |
用法
(1). 循环输入
例:循环输入一组数据,输出他们的和.
代码:
#inclde<bits/stdc++.h> |
using namespace std; |
int a[101]; |
int n; |
long long sum=0; |
int main() |
{ |
cin>>n; |
for(int i=1;i<=n;i++) |
{ |
cin>>a[i]; |
sum+=a[i]; |
} |
cout<<sum; |
return 0; |
} |
(2). 循环输入+排序
例:输入一组数据,输出它的从小到大的排序
代码:
*具体算法后面会讲解.
#inclde<bits/stdc++.h> |
using namespace std; |
int a[101]; |
int n; |
int main() |
{ |
cin>>n; |
for(int i=1;i<=n;i++) |
cin>>a[i]; |
sort(a+1,a+1+n); |
for(int i=1;i<=n;i++) |
cout<<a[i]; |
return 0; |
} |
(二) 二维数组
格式:
int a[10][14514]; |
// 定义a二维数组,大小为10*14514. |
char k[14514][666]; |
long long kkk[1526][5]; |
等等. |
用法:
保存图,二维数据等等,不举例.
- 补:上节课,我们讲了一维数组和二维数组,但是,有没有三维数组和其他数组吗?
答案是有.
格式:<数据类型> + 空格 + <数据名称>[第一维][第二维][第三维]...[第 n 维];
表示方法为:<数据名称> + [][][]...[];
5. 函数(超重点)
格式:
<数据类型> + 空格 + 函数名称(任意名称) + `(` + <多个变量> + `)` |
{ |
} |
在学习的时候,我们看到,主程序的开头是:
int main() |
{ |
return 0; |
} |
6. 结构体
有时,我们会碰到一个物体的几种信息,例如一个学生的语文,数学,英语成绩.这时,我们就要用到结构体来存储信息.
格式:
struct <结构体名称> |
{ |
<结构体成员列表> |
}; |
// 其中,“;"的前面可以加上你要定义的变量,如a[10]; |
也可以这样定义变量:<结构体名称> + 空格 + 变量名称;
例:
输入一组学生的成绩:语文,数学,英语,输出其总成绩.
代码:
#include<bits/stdc++.h> |
using namespace std; |
int n; |
struct chengji |
{ |
int chi,ma,en; |
int total; |
}a[101]; |
int main() |
{ |
cin>>n; |
for(int i=1;i<=n;i++) |
{ |
cin>>a[i].chi>>a[i].ma>>a[i].en; |
total=a[i].chi+a[i].ma+a[i].en; |
} |
for(int i=1;i<=n;i++) |
cout<<a[i].total<<' '; |
return 0; |
} |
7. 其他一些东西
(1) 井号键.
眼下,井号键后面跟两种:include 和 define;#define格式:#define <被替代的代码> <替换的代码>
- 注意,后面不加分号.
(2) 函数.
函数尽量写在组函数的前面,并且函数可以互相调用.
更多推荐



所有评论(0)