目录
一、C++初识
1、第一个C++程序
2、注释
3、变量
4、常量
5、关键字
6、标识符命名规则
二、数据类型
1、整型
2、sizeof关键字
3、实型(浮点型)
4、字符型型
5、转义字符
6、字符串型
7、布尔类型bool
8、数据的输入
三、运算符
1、算术运算符
2、赋值运算符
3、比较运算符
4、逻辑运算符
四、程序流程结构
1、选择结构
2、循环结构
3、跳转语句
编写一个c++程序总共分为四个步骤
1、创建项目
2、创建文件
3、编写代码
4、运行程序
1、创建项目
Visual studio使我们常用来编写C++程序的主要工具(这里以vs2022为例)
2、创建文件
右击源文件->添加->添加新建项
3、编写代码
#include
using namespace std;
int main() {
cout << "hello world" << endl;
system("pause");
return 0;
}
4、运行项目
作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码
两种格式:
1.单行注释://描述信息
通常放在一行代码的上方,或者—条语句的末尾,对该行代码说明
⒉.多行注释:/*描述信息*/
通常放在一段代码的上方,对该段代码做整体说明
提示:编译器在编译代码时,会忽略注释的内容
示例:
作用:给一段指定的内存空间起名。方便操作这段内存
语法:数据类型 变量名 = 初始值;
示例:
作用:用于记录程序中,不可更改的数据
C++定义常量两种方式
1、#define宏常量: #define 常量名 常量值
通常在文件上方定义,表示一个常量
2、const修饰的变量:const 数据类型 常量名 = 常量值
通常在变量定义前加关键字const,修饰该变量为常量,不可修改
示例:
作用:关键字是c++中预先保留的单词(标识符)
注意:在定义变量或者常量的时候,不要用关键字
C++关键字如下:
作用:C++规定给标识符(变量、常量)命名时,有一套自己的规则
1、标识符不能是关键字
2、标识符只能由字母、数字、下划线组成
3、第一个字符必须为字母或下划线
4、标识符中字母区分大小写
示例:
建议:给标识符命名时,争取做到见名知意的效果,方便自己和他人的阅读
c++规定再创建一个变量或者常量的时候,必须要指定出相应的数据类型,否则无法给变量分配内存
数据类型存在的意义:给变量分配合适的内存空间
作用:整型变量表示的是整数类型的数据类型
C++中能够表示整型的类型有以下几种方式,区别在于所占的内存空间不同:
示例:
作用:利用sizeof关键字可以统计数据类型所占内存大小
语法:sizeof(数据类型/变量)
示例:
整型结论:short < int <= long < long long
作用:用于表示小数
浮点型变量分为两种:
1、单精度 float
2、双精度 double
两者的区别在于表示的有效数字范围不同。
示例:
科学计数法:
作用:字符型变量用于显示单个字符
语法:char* ch = 'a';
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
注意事项:
1、C和C++中,字符型变量只占一个字节
2、字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
示例:
ASCLL码表:
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 |
作用:用于表示一些不能先死出来的Ascll字符
现阶段,我们常用的转义字符有:\n \\ \t
转义字符 |
含义 |
ASCII码值(十进制) |
\a |
警报 |
007 |
\b |
退格(BS) ,将当前位置移到前一列 |
008 |
\f |
换页(FF),将当前位置移到下页开头 |
012 |
\n |
换行(LF) ,将当前位置移到下一行开头 |
010 |
\r |
回车(CR) ,将当前位置移到本行开头 |
013 |
\t |
水平制表(HT) (跳到下一个TAB位置) |
009 |
\v |
垂直制表(VT) |
011 |
*\* |
代表一个反斜线字符"" |
092 |
' |
代表一个单引号(撇号)字符 |
039 |
" |
代表一个双引号字符 |
034 |
? |
代表一个问号 |
063 |
\0 |
数字0 |
000 |
\ddd |
8进制转义字符,d范围0~7 |
3位8进制 |
\xhh |
16进制转义字符,h范围09,af,A~F |
3位16进制 |
示例:
作用:用于表示一串字符
两种风格:
1、c风格:char 变量名[] = “字符串值”
2、c++风格:string 变量名 = “字符串值”
示例:
注意:
1、注意:c风格的字符串可以用双引号
1、c++风格的字符串,需要包含 #include
头文件
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
1、true ----真(本质是1)
2、false ----假(本质是0)
bool类型只占一个字节
非0,表示true,0表示false
示例:
作用:用于从键盘获取数据
关键字:cin
语法:cin<<变量
示例:
作用:用于执行代码的运算
常用的几类运算符
运算符类型 |
作用 |
算术运算符 |
用于处理四则运算 |
赋值运算符 |
用于将表达式的值赋给变量 |
比较运算符 |
用于表达式的比较,并返回一个真值或假值 |
逻辑运算符 |
用于根据表达式的值返回真值或假值 |
作用:用作处理四则运算
算术运算符包括以下符号:
运算符 |
术语 |
示例 |
结果 |
+ |
正号 |
+3 |
3 |
- |
负号 |
-3 |
-3 |
+ |
加 |
10 + 5 |
15 |
- |
减 |
10 - 5 |
5 |
* |
乘 |
10 * 5 |
50 |
/ |
除 |
10 / 5 |
2 |
% |
取模(取余) |
10 % 3 |
1 |
++ |
前置递增 |
a=2; b=++a; |
a=3; b=3; |
++ |
后置递增 |
a=2; b=a++; |
a=3; b=2; |
-- |
前置递减 |
a=2; b=--a; |
a=1; b=1; |
-- |
后置递减 |
a=2; b=a--; |
a=1; b=2; |
示例:
注意事项:
1、两个整数相除,结果还是整数
2、0不可以做除数
3、小数相除,结果可以为小数
4、取模时,模数不能为0
5、小数是不可以做取模运算的
6、前置++,现对变量++,在计算表达式,后置++相反
作用:用于将表达式的值赋给变量
赋值运算符包括以下几个符号
运算符 |
术语 |
示例 |
结果 |
= |
赋值 |
a=2; b=3; |
a=2; b=3; |
+= |
加等于 |
a=0; a+=2; |
a=2; |
-= |
减等于 |
a=5; a-=3; |
a=2; |
*= |
乘等于 |
a=2; a*=2; |
a=4; |
/= |
除等于 |
a=4; a/=2; |
a=2; |
%= |
模等于 |
a=3; a%2; |
a=1; |
示例:
作用:用作表达式的比较,返回一个真值或者假值
比较运算符有以下的符号
运算符 |
术语 |
示例 |
结果 |
== |
相等于 |
4 == 3 |
0 |
!= |
不等于 |
4 != 3 |
1 |
< |
小于 |
4 < 3 |
0 |
> |
大于 |
4 > 3 |
1 |
<= |
小于等于 |
4 <= 3 |
0 |
>= |
大于等于 |
4 >= 1 |
1 |
示例:
作用:用于根据表达式的值返回真值或者假值
逻辑运算符有以下符号:
运算符 |
术语 |
示例 |
结果 |
! |
非 |
!a |
如果a为假,则!a为真; 如果a为真,则!a为假。 |
&& |
与 |
a && b |
如果a和b都为真,则结果为真,否则为假。 |
|| |
或 |
a || b |
如果a和b有一个为真,则结果为真,二者都为假时,结果为假。 |
示例:
c/c++支持三种程序运行结构:顺序结构,选择结构,循环结构
1、顺序结构:程序按顺序执行,不发生跳转
2、选择结构:依据条件是否满足,有选择执行相应功能
3、循环结构:依据条件是否满足,循环多次执行某段代码
(1)、if语句
作用:执行满足条件的语句
if的三种形式:
1、单分支格式
格式:if(条件){执行语句}
2、单分支多行格式
格式:if(条件){满足执行语句}else{不满足执行语句}
3、多分支格式
格式:if(条件1){条件1满足执行语句}else if(条件2){条件2满足执行语句}else{条件都不满足执行语句}
示例:
(2)、三目运算符
作用:通过三目运算符实现简单的判断
语法:表达式1?表达式2:表达式3
解释:
1、如果表达式1为true,执行2,返回2的结果
2、如果表达式1为false,执行3,返回3的结果
示例:
(3)、Switch语句
作用:执行多条件分支语句
语法:
switch (表达式){
case 结果1:执行语句;break;
case 结果2:执行语句;break;
......
case 结果n:执行语句;break;
default: 执行语句;break;
}
示例:
(1)、while语句
作用:满足循环条件,执行循环语句
语法:while(循环条件){循环语句}
解释:只要循环条件结果为真,就执行循环语句
示例:
(2)、do_while语句
作用:满足循环条件,执行循环语句
语法:do{循环语句} while(循环条件)
注意:与while的区别是,do_while会先执行一次循环语句,再判断循环条件
示例:
案例:用do_while语句实现求水仙花数
int main() {
int i = 0;
int q = 100;
do {
int a = (q / 100) % 10;
int b = (q / 10) % 10;
int c = q % 10;
if ((a*a*a + b*b*b + c*c*c) == q) {
i++;
cout << "水仙数" << i << ":" << q << endl;
}
q++;
} while (q<1000);
}
(3)、for循环语句
作用:满足循环条件,执行循环语句
语法:for(起始表达式;条件表达式;末尾循环体){循环语句}
示例:
(4)、嵌套循环
作用:在循环体中,再嵌套一层循环,解决一些实际问题
示例:
(1)、break语句
作用:用于跳出选择结构或者循环结构
break使用的时机
1、出现在switch条件语句中,作用是终止case并跳出switch
2、出现在循环语句中,作用是跳出当前的循环语句
3、出现在嵌套循环中,跳出最近的内层循环语句
示例:
(2)、continue语句
作用:在循环语句中,跳过本次循环余下尚未执行的语句,继续执行下一次循环
示例:
(3)、goto语句
作用:可以无条件跳转语句
语法:goto 标记;
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置。
示例:
goto过于强大,了解即可,不推荐使用!
喜欢就点赞收藏吧~~~