C++入门教程
---------------------------------------------------------- 一. 初识C++ ---------------------------------------------------------
1. 什么是C++.
c++是一种较为基础的编程语言,虽然没有Python,Scratch那么高级,但是它应用范围很广.不论是信息奥赛还是国家考试,都会出现它的身影.所以,学好c++成了入门计算机的第一步
2. C++的编译.
所有的c++代码都需要编译成EXE文件.这里推荐几款好用而又著名的编译器:
(1) Devc++
(2) CodeBlocks
(3) Visual Studio Code
3. 基本格式.
#include<bits/stdc++.h>//头文件,这个是万能的
#include<iostream>//头文件
using namespace std;//命名空间
int main()//main主函数
{
return 0;//返回函数,考试必须写
}
----------------------------------------------------- 二. 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;
- 其中,被赋值的数放在等号的左边
注:
当某数自身加减时,可用
<某数>+=<加上的数>
或<某数>=<某数>+<加上的数>
来解决.特别的,当自身加一时,可用
<某数>++
的形式来解决.
(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<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. 其他一些东西
C++的基本教程,基本上已经学完,但是,有一些细节还需要讲一下.
(1) 井号键.
眼下,井号键后面跟两种:include 和 define;
#define
格式:
#define <被替代的代码> <替换的代码>
- 注意,后面不加分号.
(2) 函数.
函数尽量写在组函数的前面,并且函数可以互相调用.
标签:int,入门教程,long,C++,数组,格式,main From: https://www.cnblogs.com/tlmyb/p/17498186.html