C++ - 快速入门 C++

I_like_magic

此教程是为了让一些有编程基础的人快速入门 C++ 的,所以比较简洁,不会有详细解释

注:由于 Markdown 显示的问题,下文所有表格里如果出现 | 符号,将会显示成 \|,请大家谅解

C/C++ 编辑器

以下三个是比较常用的 C++ 编辑器

  1. VSCode
  2. Dev-C++
  3. Vim

下载链接分别是:

作者首推 VSCode,然后是 Dev-C++

代码模板

#include<bits/stdc++.h> //头文件
using namespace std; //名字空间
int main(){ //主函数
    cout<<"Hello! World!\n";
    return 0; 
}

头文件

调用头文件:#include<文件名>

万能头:#include<bits/stdc++.h>

万能头几乎包含所有常用头文件,除了 windows.h

定义变量

关键字

int long double bool string char 等都是 C++ 定义变量的关键字

int a; 定义一个整型 a

string a; 定义一个字符串 a

下表列出了许多类型的范围、占空间大小

类型字节数范围
char1-128 到 127
unsigned char10 到 255
int4-2,147,483,648 到 2,147,483,647
unsigned int40 到 4,294,967,295
short int2-32,768 到 32,767
unsigned short int20 到 65,535
long long8-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
unsigned long long80 to 18,446,744,073,709,551,615
float4-3.4e38 到 3.4e38 (7 位有效数字)
double8-1.7e308 到 1.7e308 (15 位有效数字)
long double16-1.7e308 到 1.7e308 (18-19位有效数字)

变量名规则

  • C++ 变量名只能由字母、数字和下划线组成,且第1个字符必须是字母或下划线。

    例如 sum a i num xl area _total 等都是合法的变量名

    2A al x l 100 f**k 等都不是合法的变量名。

  • C++ 严格区分大小写字母,因此 sumSum 被认为是不同的变量名。

  • C++ 中,变量名不能与关键字重合,比如 int 是一个不合法的变量名。

运算符号

四则运算符

+ - * / % 对应 加、减、乘、除、模

++ -- 为自增运算符,比如 A++ 会使 A 的值 +1

注意:

++ -- 分为前缀和后缀,A++ ++A 都会使 A 的值 +1

但是,A++ 会返回 +1 前的 A 值,而 ++A 会返回 +1 后的 A

比如 int A = 1; B = A++;,B 的值为 1

int A = 1; B = ++A,B 的值为 2

-- 是一样的道理

关系运算符

符号表示
==检查两个操作数的值是否相等,如果相等则条件为真
!=检查两个操作数的值是否相等,如果不相等则条件为真
>检查左操作数的值是否大于右操作数的值,如果是则条件为真
<检查左操作数的值是否小于右操作数的值,如果是则条件为真
>=检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真
<=检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真

逻辑运算符

符号表示
&& 逻辑与运算符如果两个操作数都 true,则条件为 true
\|\| 逻辑或运算符如果两个操作数中有任意一个 true,则条件为 true
! 逻辑非运算符用来逆转操作数的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false

位运算符

符号表示说明
&按位与按二进制位进行与运算
\|按位或按二进制位进行或运算
^异或按二进制位进行异或运算
~取反按二进制位进行取反运算
<<左移将一个运算对象的各二进制位全部左移若干位
>>右移将一个运算对象的各二进制位全部右移若干位

赋值运算符

符号说明
=简单的赋值运算符,把右边操作数的值赋给左边操作数
+=加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数
-=减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数
*=乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数
/=除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数
%=求模且赋值运算符,求两个操作数的模赋值给左边操作数
<<=左移且赋值运算符
>>=右移且赋值运算符
&=按位与且赋值运算符
^=按位异或且赋值运算符
\|=按位或且赋值运算符

举例:

A += B 等同于 A = A + B
A -= B 等同于 A = A - B
A *= B 等同于 A = A * B
A /= B 等同于 A = A / B
A %= B 等同于 A = A % B
A <<= B 等同于 A = A << B
A >>= B 等同于 A = A >> B
A &= B 等同于 A = A & B
A ^= B 等同于 A = A ^ B
A |= B 等同于 A = A | B

杂项运算符

符号说明
sizeof返回变量的大小
A ? B : C三目运算符
,逗号运算符会顺序执行一系列运算,返回最后一个值
.->成员运算符用于引用类、结构和共用体的成员
Cast强制转换运算符把一种数据类型转换为另一种数据类型
&返回变量的地址
*指针,指向一个变量

举例:

int a; sizeof(a); 中的 sizeof(a) 将返回 a 的大小,就是 4(字节)
A ? B ? C 如果 A 为真,那么返回 B,否则返回 C
a++,b--,c*=2 返回的是 c*=2 的值
int(1.23) 会把 1.23 强制转换为 int 类型,也就是 1
&a 会返回 A 的地址
int *a = &b *a 是一个指针,指向 b 的地址

优先级

级别符号结合性
1() [] -> . a++ a--从左到右
2+ - ! ~ ++a --a (type) * & sizeof从右到左
3* / %从左到右
4+ -从左到右
5<< >>从左到右
6< <= > >=从左到右
7== !=从左到右
8&从左到右
9^从左到右
10\|从左到右
11&&从左到右
12\|\|从左到右
13?:从右到左
14= += -= *= /= %= >>= <<= &= ^= \|=从右到左
15,从左到右

条件语句

写程序时,我们经常遇到这样的情况:

那么怎么用 C++ 代码实现呢?

使用 if 语句即可

int a=1,b=2;
if(a<b){
  int t=a;
  a=b;
  b=t;
}

在这里,a<b 为真,于是执行大括号内的语句

但如果要这种情况呢?

聪明的朋友已经想到,可以这样实现:

int a=10,b=5,c;
bool f=0;
if(a<b){
  c=a;
  f=1;
}
if(f==0){
  c=b;
}

但是,这样显然太麻烦了,于是我们可以使用 if else 语句

int a=10,b=5,c;
if(a<b){
  c=a;
}else{
  c=b;
}

在这里,a<b 为假,于是执行 else 后大括号内的语句

如果大括号内只有一个语句,我们可以把大括号去掉:

int a=10,b=5,c;
if(a<b)c=a;
else c=b;

因此,我们可以这样写代码:

int a=10,b=5,c=1,d;
if(a>b&&a>c)d=a;
else if(b>a&&b>c)d=b;
else d=c;

未完待续

文档信息

Search

    Table of Contents