C++入门教程

codeforces

C++入门教程

---------------------------------------------------------- 一. 初识C++ ---------------------------------------------------------

1. 什么是C++.

c++是一种较为基础的编程语言,虽然没有Python,Scratch那么高级,但是它应用范围很广.不论是信息奥赛还是国家考试,都会出现它的身影.所以,学好c++成了入门计算机的第一步

2. C++的编译.

所有的c++代码都需要编译成EXE文件.这里推荐几款好用而又著名的编译器:

(1) Devc++

(2) CodeBlocks

(3) Visual Studio Code

3. 基本格式.

#include//头文件,这个是万能的
#include//头文件
using namespace std;//命名空间
int main()//main主函数
{
	return 0;//返回函数,考试必须写
}

4. 视频链接.

我为此做过一个视频,大家可以拨冗看一下
bilibili
----------------------------------------------------- 二. C++的基本语法 -------------------------------------------------------

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. 输入输出.

在我们运行其他的程序时,都会看见上面有一行一行的文字,这就使我们想到:我们在编程序时,如何输入输出呢?下面,给几个例子给大家.

(1) 格式化输入输出.

scanf("");
printf("...(你想说的东东)");

其中,scanf的括号中的双引号中的内容可以是你想输入的变量.
例如:

  • %d 指的是 int 类型的数;

  • %c 指的是 char 类型的数;

  • lld 指的是 long long 类型的数;
    但是,格式化输入输出的应用并不是很广,大家把重点放在下一条上.

(2) 流输入输出.

cin>>k>>p>>o;
cout<<"言吾MYB是大傻瓜"<<"你好,我是言吾MYB"<<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;
  • 其中,被赋值的数放在等号的左边

注:

  1. 当某数自身加减时,可用 <某数>+=<加上的数><某数>=<某数>+<加上的数> 来解决.

  2. 特别的,当自身加一时,可用 <某数>++ 的形式来解决.

(2) 判断运算.

当我们想要判断这个式子是否正确时,就需要用到判断语句.
格式:

if(<判断的式子>==<结果>)//判断是否等于.
{
	<写下你想做的事情>
}
if<判断的式子>>=<结果>)//判断是否大于等于.
{
	<写下你想做的事情>
}
.....

总之,运算符有以下几种:

>= > !(非,不是,也就是为0)
<= < ?
== !=(不等于)
  • 其中,若这个式子不成立,则TA的值为0;反之,为1.

(3) 循环运算.

在我们编程的过程中,难免会碰到循环的情况,如循环算数等.

1) while

格式:

while(<判断>)
{
	<写上你要写的内容>
}
  • 注:

1.<判断>的内容为判断的算式,前面讲过.
2.判断的算式既可以是一个式子(例如: a+b==1 ),也可以是一个数字,其中除了 0 的值为0以外,其他全是1.

2) for(重点)

格式:

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
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. 其他一些东西

C++的基本教程,基本上已经学完,但是,有一些细节还需要讲一下.

(1) 井号键.

眼下,井号键后面跟两种:include 和 define;
#define格式:
#define <被替代的代码> <替换的代码>

  • 注意,后面不加分号.

(2) 函数.

函数尽量写在组函数的前面,并且函数可以互相调用.

你可能感兴趣的:(c++,c++,开发语言)