C++编程基础入门知识(最详细建议收藏)

字数过多,可跳到最后

1.1 第一个C++程序

编写一个C++程序总共分为4个步骤

  • 创建项目
  • 创建文件
  • 编写代码
  • 运行程序
1.1.1 创建项目

​ Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开

v2-0581af50f160cbbbbc62f827e463bfc3_720w.png

v2-1e4ee533d56359e70e19f2f2824bedef_720w.png

1.1.2 创建文件

右键源文件,选择添加->新建项

v2-42d9e2bdf0ec3fdef74db245db44e7cc_720w.png

v2-f8709360fb6c02c1a9bf33dae9156d43_720w.png

1.1.3 编写代码

v2-58631cd1e59b7c071ea41a831c5a0b95_720w.png

c++
#include
using namespace std;

int main() {

	cout << "Hello world" << endl;

	system("pause");

	return 0;
}
1.1.4 运行程序

1.2 注释

作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码

两种格式

  1. 单行注释// 描述信息 - 通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明
  2. 多行注释/* 描述信息 */ - 通常放在一段代码的上方,对该段代码做整体说明

提示:编译器在编译代码时,会忽略注释的内容

1.3 变量

作用:给一段指定的内存空间起名,方便操作这段内存

语法数据类型 变量名 = 初始值;

示例:

#include
using namespace std;

int main() {

	//变量的定义
	//语法:数据类型  变量名 = 初始值

	int a = 10;

	cout << "a = " << a << endl; system("pause");

	return 0;
}
```> 注意:C++在创建变量时,必须给变量一个初始值,否则会报错 ### 1.4  常量

**作用**:用于记录程序中不可更改的数据

C++定义常量两种方式

1. **\#define** 宏常量: `#define 常量名 常量值` * ==通常在文件上方定义==,表示一个常量


2. **const**修饰的变量 `const 数据类型 常量名 = 常量值` * ==通常在变量定义前加关键字const==,修饰该变量为常量,不可修改 **示例:**

```C++
//1、宏常量
#define day 7

int main() {

	cout << "一周里总共有 " << day << " 天" << endl;
	//day = 8;  //报错,宏常量不可以修改

	//2、const修饰变量
	const int month = 12;
	cout << "一年里总共有 " << month << " 个月份" << endl;
	//month = 24; //报错,常量是不可以修改的 system("pause");

	return 0;
}
```### 1.5 关键字

**作用:**关键字是C++中预先保留的单词(标识符)

* **在定义变量或者常量时候,不要用关键字** C++关键字如下:

| asm | do | if | return | typedef  |
| ---------- | ------------ | ---------------- | ----------- | -------- |
| auto | double | inline | short | typeid   |
| bool | dynamic_cast | int | signed | typename |
| break | else | long | sizeof | union |
| case | enum | mutable | static | unsigned |
| catch | explicit | namespace | static_cast | using |
| char | export | new | struct | virtual  |
| class | extern | operator | switch | void |
| const | false | private | template | volatile |
| const_cast | float | protected | this | wchar_t  |
| continue   | for | public | throw | while |
| default | friend | register | true | |
| delete | goto | reinterpret_cast | try | |

`提示:在给变量或者常量起名称时候,不要用C++得关键字,否则会产生歧义。` ### 1.6 标识符命名规则

**作用**:C++规定给标识符(变量、常量)命名时,有一套自己的规则

* 标识符不能是关键字
* 标识符只能由字母、数字、下划线组成
* 第一个字符必须为字母或下划线
* 标识符中字母区分大小写

> 建议:给标识符命名时,争取做到见名知意的效果,方便自己和他人的阅读
## 2 数据类型

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存

### 2.1 整型

**作用**:整型变量表示的是==整数类型==的数据

C++中能够表示整型的类型有以下几种方式,**区别在于所占内存空间不同**:

| **数据类型** | **占用空间** | 取值范围 |
| ------------------- | ----------------------------------------------- | ---------------- |
| short(短整型) | 2字节 | (-2^15 ~ 2^15-1) |
| int(整型) | 4字节 | (-2^31 ~ 2^31-1) |
| long(长整形) | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-2^31 ~ 2^31-1) |
| long long(长长整形) | 8字节 | (-2^63 ~ 2^63-1) | ### 2.2 sizeof关键字

**作用:**利用sizeof关键字可以==统计数据类型所占内存大小==

**语法:** `sizeof( 数据类型 / 变量)`

**示例:**

```C++
int main() {

	cout << "short 类型所占内存空间为: " << sizeof(short) << endl;

	cout << "int 类型所占内存空间为: " << sizeof(int) << endl;

	cout << "long 类型所占内存空间为: " << sizeof(long) << endl;

	cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl;

	system("pause");

	return 0;
}
```> **整型结论**:==short < int <= long <="long" ### 2.3 实型(浮点型) **作用**:用于="=表示小数==" 浮点型变量分为两种: 1. 单精度float 2. 双精度double 两者的**区别**在于表示的有效数字范围不同。 | **数据类型** **占用空间** **有效数字范围** ------------ ---------------- float 4字节 7位有效数字 double 8字节 15~16位有效数字 **示例:** ```c++ int main() { f1="3.14f;" d1="3.14;" cout << endl; d1<< "float sizeof=" << sizeof(f1) << endl;
	cout << " f2=" << f2 << endl;

	float f3 = 3e-2;  // 3 * 0.1 ^ 2
	cout << " f3=" << f3 << endl;

	system(" pause"); return 0; } ```2.4 字符型 **作用:**字符型变量用于显示单个字符 **语法:**`char ch="a" ;`> 注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号

> 注意2:单引号内只能有一个字符,不可以是字符串 - C和C++中字符型变量只占用==1个字节==。
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元 示例:

```C++
int main() { char ch = 'a';
	cout << ch << endl;
	cout << sizeof(char) << endl;

	//ch = "abcde"; //错误,不可以用双引号
	//ch = 'abcde'; //错误,单引号内只能引用一个字符

	cout << (int)ch << endl;  //查看字符a对应的ASCII码
	ch = 97; //可以直接用ASCII给字符型变量赋值
	cout << ch << endl;

	system("pause");

	return 0;
}

ASCII码表格:

ASCII 控制字符 ASCII 字符 ASCII 字符 ASCII 字符
0 NUT 32 (space) 64 @ 96
1 SOH 33 ! 65 A 97 a
2 STX 34 " 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 , 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DCI 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 TB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 / 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 ^ 126 `
31 US 63 ? 95 _ 127 DEL

ASCII 码大致由以下两部分组成:

  • ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。
  • ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。 ### 2.5 转义字符

**作用:**用于表示一些不能显示出来的ASCII字符

现阶段我们常用的转义字符有:\n \\ \t

转义字符 含义 ASCII码值(十进制)
\a 警报 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下
  • 22
    点赞
  • 192
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值