---------------------------------------------------------- 一. 初识C++ ---------------------------------------------------------
c++是一种较为基础的编程语言,虽然没有Python,Scratch那么高级,但是它应用范围很广.不论是信息奥赛还是国家考试,都会出现它的身影.所以,学好c++成了入门计算机的第一步
所有的c++代码都需要编译成EXE文件.这里推荐几款好用而又著名的编译器:
#include //头文件,这个是万能的
#include //头文件
using namespace std;//命名空间
int main()//main主函数
{
return 0;//返回函数,考试必须写
}
我为此做过一个视频,大家可以拨冗看一下
bilibili
----------------------------------------------------- 二. C++的基本语法 -------------------------------------------------------
在我们做数学题的时候,经常会碰到设未知数的问题.这个"未知数"有点像我们的变量,是随机的.
格式: <类型名> + '空格' + <变量名>
例如:
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 ;
在我们运行其他的程序时,都会看见上面有一行一行的文字,这就使我们想到:我们在编程序时,如何输入输出呢?下面,给几个例子给大家.
scanf("");
printf("...(你想说的东东)");
其中,scanf
的括号中的双引号中的内容可以是你想输入的变量.
例如:
%d
指的是 int
类型的数;
%c
指的是 char
类型的数;
lld
指的是 long long
类型的数;
但是,格式化输入输出的应用并不是很广,大家把重点放在下一条上.
cin>>k>>p>>o;
cout<<"言吾MYB是大傻瓜"<<"你好,我是言吾MYB"<<o<<endl;
其中, <<
和 >>
后可以加无限多的东西.
std::ios::sync_with_stdio(false);
就能提高速度啦!
<代码>//...
那么,这个 //...
是什么东东呢??
它叫做注释,是写代码的人为了让他人理解代码写的玩意.
//
后面的内容,编译器都是不看的.
前面我们已经讲到了输入输出,那么如何运算呢?今天,我们将继续学习基本运算.
加减乘除和数学运算一样,例如:
c=a+b;//将a+b的值给c;
c=a*b;
c=a/b;
c=a-b;
注:
当某数自身加减时,可用
<某数>+=<加上的数>
或<某数>=<某数>+<加上的数>
来解决.特别的,当自身加一时,可用
<某数>++
的形式来解决.
当我们想要判断这个式子是否正确时,就需要用到判断语句.
格式:
if(<判断的式子>==<结果>)//判断是否等于.
{
<写下你想做的事情>
}
if<判断的式子>>=<结果>)//判断是否大于等于.
{
<写下你想做的事情>
}
.....
总之,运算符有以下几种:
>= | > | !(非,不是,也就是为0) |
---|---|---|
<= | < | ? |
== | !=(不等于) | … |
在我们编程的过程中,难免会碰到循环的情况,如循环算数等.
格式:
while(<判断>)
{
<写上你要写的内容>
}
1.<判断>的内容为判断的算式,前面讲过.
2.判断的算式既可以是一个式子(例如:a+b==1
),也可以是一个数字,其中除了0
的值为0以外,其他全是1.
格式:
for(<起始点>;<终点>;<自加>)
{
<写上你要写的内容>
}
例如:
for(int i=1;i<=100;i++)
//句子的意思是:
//定义一个 i ,从 1 开始,一直加到 100 ,每次自加 1 ;
{
sum++;
}
所以,for语句相当于:
int i=<起始点>;
while(i<=<界限>)
{
<写上你要写的内容>
i++;//<自加>
}
格式:
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 维];
<数据名称> + [][][]...[];
格式:
<数据类型> + 空格 + 函数名称(任意名称) + `(` + <多个变量> + `)`
{
}
在学习的时候,我们看到,主程序的开头是:
int main()
{
return 0;
}
有时,我们会碰到一个物体的几种信息,例如一个学生的语文,数学,英语成绩.这时,我们就要用到结构体来存储信息.
格式:
struct <结构体名称>
{
<结构体成员列表>
};
// 其中,“;"的前面可以加上你要定义的变量,如a[10];
也可以这样定义变量:<结构体名称> + 空格 + 变量名称;
例:
输入一组学生的成绩:语文,数学,英语,输出其总成绩.
代码:
#include
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;
}
C++的基本教程,基本上已经学完,但是,有一些细节还需要讲一下.
眼下,井号键后面跟两种:include 和 define;
#define
格式:
#define <被替代的代码> <替换的代码>
函数尽量写在组函数的前面,并且函数可以互相调用.