1. 基本框架
-
引入万能头文件: \underline{\qquad \#include<bits/stdc++.h>\qquad} ;
-
计算机术语 IO 中的 I 一般表示 \underline{\qquad 输入\qquad} ,O 一般表示 \underline{\qquad 输出\qquad} ;
-
C++ 程序中使用
cout
语句,除了万能头文件外还有另一个头文件 \underline{~~~iostream~~~} ; -
使用标准命名空间:\underline{\qquad using~namespace~std\qquad} ;
-
如果没有使用标准命名空间,那么
cout
应该写作 \underline{~~~std::cout~~~} 才能编译成功; -
C++ 基本程序框架:
#include <bits/stdc++.h> // 头文件 using namespace std; // 命名空间 int main() // 主函数 { // 程序语句写在这里 return 0; // 程序出口 }
2. 基本变量类型
-
C++ 变量命名规则中规定变量名只能由 \underline{~~字母~~} 、\underline{~~数字~~} 和 \underline{~~下划线~~} 组成,且不能以 \underline{~~数字~~} 开头;
-
C++ 中的 关键字 \underline{~~不能~~} 作为变量名,比如 \underline{~~~int、return、true、false~~~} 等;
-
C++ 常见整型:
短整型 \underline{~~~short~~~} ,基本整型 \underline{~~~int~~~} ,长整型 \underline{~~~long~long~~~} ;
-
定义一个 基本整型 变量
a
并初始化为10
\underline{\qquad int~a=10\qquad} ; -
一行代码定义两个基本整型变量并将其中一个初始化为
10
\underline{~~~int~a=10,b~~~} ; -
C++ 常见浮点型:
单精度浮点型 \underline{~~~float~~~} ,双精度浮点型 \underline{~~~double~~~} ,
高精度浮点型 \underline{\qquad long~double\qquad} ;
-
C++ 布尔型 \underline{\qquad bool\qquad} ,字符型 \underline{\qquad char\qquad} ;
-
其他类型变量隐式转化为 bool 型变量时,非零值 会转化为 \underline{~~~1~~~} ,零 会转化为\underline{~~~0~~~} ;
-
定义一个 字符型 变量
a
并初始化为字符's'
\underline{\qquad char~a=~'s'\qquad} ; -
字符型变量在计算机中是以整数的形式存储,所使用的编码表叫做 \underline{~~~ASCII~~~} ;
-
C++ 基本变量类型所占内存大小(字节):
short int long~long float double char bool 2 4 8 4 8 1 1
3. 基本输入输出
-
C++ 中的输出流 \underline{\qquad cout\qquad} ;
-
现在有
int a = 1, b = 2;
使用变量a
和b
输出:- 输出
12
并换行 \underline{\qquad cout<<a<<b<<endl\qquad} ; - 输出
1-2
\underline{\qquad cout<<a<<~'-'<<b\qquad} ;
- 输出
-
现在有
double a = 1.54321;
使用变量a
输出:- 保留两位小数输出 \underline{\qquad cout<<fixed<<setprecision(2)<<a\qquad} ;
- 强制转换为
int
类型输出 \underline{\qquad cout<<int(a)\qquad} ; cout << int(a + 0.5)
的结果是 \underline{~~~2~~~} ,可以实现 \underline{~~~四舍五入~~~} 取整功能;
-
现有
bool a = false;
执行cout << a;
输出的结果是 \underline{\qquad 0\qquad} ; -
C++ 中的输入流 \underline{\qquad cin\qquad} ;
-
现在有
int a, b;
使用一行程序语句输入两个变量的值 \underline{\qquad cin>>a>>b\qquad} ;
4. 分支语句
-
C++ 双分支语句中,表示“如果”的关键字是 \underline{~~~ if~~~} ,表示“否则”的是 \underline{~~~ else~~~} ;
-
补全代码片段实现变量
a
大于0
时输出“Yes”,否则输出“No”:int a; cin >> a; if (a > 0) { cout << "Yes"; } else { cout << "No"; }
-
C++ 中判断变量
a
是偶数可以用 \underline{\qquad if~(a~\%~2==0)\qquad} ; -
C++ 多分支语句中,“否则如果”的表示方法是 \underline{\qquad else~~if\qquad} ;
-
C++ 分支语句中,如果有多个分支 同时满足条件,程序会 \underline{~只执行第一个满足的~} ;
-
逻辑运算符
&&
表示 \underline{~~与~~} 运算,两个表达式都为true
时结果为 \underline{\qquad true\qquad} ,表达式中只要有false
则为 \underline{\qquad false\qquad} ; -
逻辑运算符
||
表示 \underline{~~或~~} 运算,两个表达式都为false
时结果为 \underline{\qquad false~~~~~~} ,表达式中只要有true
则为 \underline{\qquad true\qquad} ; -
C++ 中判断变量
a
满足 10 < a < 99 可以用 \underline{\qquad if(10<a~\&\&~a<99)\qquad} ; -
在以下代码片段中:
switch (a) { case 1: case 2: cout << "hello" << endl; // ① case 3: cout << "nice" << endl; // ② default: cout << "good" << endl; // ③ }
- 如果
a == 1
成立,则会执行语句 \underline{\qquad①②③\qquad} (序号); - 如果
a == 10
成立,则会执行语句 \underline{\qquad③\qquad} (序号); - 如果只想让程序输出一行结果,需要在 \underline{~~~①②~~~} 号语句后编写 \underline{~~~break~~~} ;
- 如果
5. 循环语句
for 循环
-
C++ 在
for()
循环语句中包含三要素,分别是:初始化、循环条件、循环变量更新,三要素之间需要使用 \underline{\qquad分号\qquad} 隔开; -
在以下代码片段中标注了程序语句①②③④:
// ①②③④ 作为标记使用,非实际编写在代码中 for (int i = 1 ①; i <= 3 ②; i++ ③) { cout << i ④; }
- 语句 \underline{~~①~~} 只会执行一次,循环的条件是 \underline{~~②~} ,每次执行 ④ 之后会执行 \underline{~~③~~} ;
- 这个循环会循环 \underline{~~~3~~~} 次,程序的输出结果是 \underline{\qquad123\qquad} ;
- 程序语句 ③ 是
i = i + 1
的意思,除此外还可以写作 \underline{~~~i+=1~~~} 或++i
; - 程序语句 ①②③④ 的完整执行顺序是 \underline{~~①~②④③~②④③~②④③~②~~} ;
- 最后一次循环过后变量
i
的值为 \underline{\qquad4\qquad} ,循环条件不成立,结束循环; - 要输出 13579,应该修改为:
for (int i = 1; i <= 9; i+=2)
- 要输出 56789,应该修改为:
for (int i = 5; i <= 9; i++)
-
使用循环枚举法时,可以在
for()
循环中 嵌套分支语句,在以下代码片段中:int A, B; cin >> A >> B; for (int x = A; x <= B; x++) if (x % 3 == 0) cout << x;
这段代码的作用是输出 \underline{~~~A~~~} ~ \underline{~~~B~~~} 范围中符合条件 \underline{~~是3的倍数~~} 的数字;
-
补充以下代码片段,实现求 1~10 之间所有偶数和的程序:
int n = 0; for (int i = 1; i <= 10; i++) if (i % 2 == 0) n += i;
-
如果将上题最后一行代码改成
n++
,则这个程序可以求 1~10 之间 \underline{~~偶数的个数~~} ;
while/do...while 循环
-
C++ 在
while()
循环中,小括号内的内容为 \underline{\qquad循环的条件\qquad} ; -
C++ 中
for()
循环和while()
循环可以相互转换,那么将代码while(a < 5)
改写成for()
循环,应该是 \underline{\qquad for(~;a<5~;~)\qquad} ; -
while()
循环更适合循环次数 \underline{\qquad未知\qquad} 的程序,在不明确循环条件的时候,可以编写一个“死循环”,写一个最简单的“死循环”:\underline{\qquad while(~true~)\qquad} ; -
现在已知第一行代码
int a = 5, b = 5;
接下来有两段代码片段:while (a > 5) { // 片段 1 cout << a << ' '; a--; }
do { // 片段 2 cout << b << ' '; b--; } while (b > 5);
-
片段 1 执行的结果为 \underline{~~~无输出~~~} ,片段 2 执行的结果为 \underline{~~~输出5~~~} ;
-
将初始代码修改为
int a = 9, b = 9;
之后:片段 1 执行的结果为 \underline{~~~9~8~7~6~~~} ,片段 2 执行的结果为 \underline{~~~9~8~7~6~~~} ;
-
break 与 continue
-
break
语句的作用是 \underline{~~立即终止当前循环,跳出循环体或switch结构~~} ; -
continue
语句的作用是 \underline{~~跳过本次循环中的剩余部分,进入下一次循环~~} ; -
在以下代码片段中:
for (int i = 1; i <= 10; i++) { if (i == 5) __①__; cout << i; }
- 如果 ① 处填写
break
,则程序会循环 \underline{~~~5~~~} 次,输出为 \underline{\qquad1234\qquad} ; - 如果 ① 处填写
continue
,则程序会循环 \underline{~~~10~~~} 次,输出为 \underline{~~~1234678910~~~} ;
- 如果 ① 处填写
循环嵌套
-
外层循环每执行 \underline{~~一次~~} ,内层循环执行 \underline{~~一整轮~~} ;
-
补充以下代码片段,实现绘制一个由
*
组成的 5 行 10 列的字符矩形:for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 10; j++) { cout << '*'; } cout << endl; }
如果想要一个直角三角形
◺
可以将j <= ____
填写为 \underline{\qquad j<=i\qquad} ; -
以下代码中,
cout
语句会执行 \underline{~~~12~~~} 次,输出为:\underline{~~~11~12~13~14~21~22~23~24~31~32~33~34~} ;for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 4; j++) { cout << i << j << ' '; } }
-
循环嵌套最多可以嵌套 \underline{\qquad无限\qquad} 层;
-
break
和continue
对 \underline{\qquad当前\qquad} 层循环生效;
数学函数
- C++ 标准库中的头文件 \underline{\qquad cmath\qquad} 中定义了包含了多种数学函数的声明和定义,用于执行常见的数学运算;
- 求 10 的算术平方根 \sqrt{10} 可以使用数学函数:\underline{\qquad sqrt(10)\qquad} ;
- 求 a^4 可以使用数学函数:\underline{\qquad pow(a,~4)\qquad} ;
- 求浮点数 a 向上取整的结果 \lceil a \rceil 可以使用数学函数:\underline{\qquad ceil(a)\qquad} ;
- 求浮点数 a 向下取整的结果 \lfloor a \rfloor 可以使用数学函数:\underline{\qquad floor(a)\qquad} ;
- 求数字 a 的绝对值 \vert a \rvert 可以使用数学函数:\underline{\qquad abs(a)\qquad} ;
- 求数字 a,b 中的较大值可以使用数学函数:\underline{\qquad max(a,~b)\qquad} ;
- 求数字 a,b 中的较小值可以使用数学函数:\underline{\qquad min(a,~b)\qquad} ;