1. 变量赋值与运算
问题:定义变量 int a = 2
,执行语句 a *= 4
后,a
的值是多少?
知识点:
-
复合赋值运算符:
a *= 4
是a = a * 4
的简写形式。 -
运算规则:先计算右侧表达式,再将结果赋值给左侧变量。
-
结果:
a
的初始值为2
,执行a *= 4
后,a
的值变为8
。
2. 二维数组与表达式计算
问题:定义二维数组 int a[3][3] = {{1, 2}, {3, 6}, {6, 1, 9}}
,计算表达式 (a[1][1] + a[2][2]) * a[1][2]
的结果。
知识点:
-
二维数组初始化:未显式初始化的元素默认为
0
。 -
数组访问:通过
a[i][j]
访问数组元素。 -
表达式计算:
-
a[1][1] = 6
,a[2][2] = 9
,a[1][2] = 0
。 -
表达式计算为
(6 + 9) * 0 = 0
。
-
-
结果:输出
0
。
3. 运算符优先级与表达式计算
问题:执行语句 cout << (2 + 3) * 4;
的输出结果是多少?
知识点:
-
运算符优先级:括号
()
优先级最高,乘法*
优先级高于加法+
。 -
表达式计算:
-
先计算括号内的
(2 + 3)
,结果为5
。 -
再计算
5 * 4
,结果为20
。
-
-
结果:输出
20
。
4. 函数参数传递与引用
问题:分析以下代码的输出结果:
cpp
复制
#include <iostream> using namespace std;void compute(int &a, int &b, int c = 10) {int temp = a;a = b + c;b = temp * c;c = b - a; }int main() {int x = 1, y = 2, z = 3;compute(z, x);compute(x, y, z);cout << x << " " << y << " " << z << endl;return 0; }
知识点:
-
引用传递:
int &a
和int &b
是引用参数,函数内部修改会影响外部变量。 -
值传递:
int c
是值参数,函数内部修改不会影响外部变量。 -
默认参数:
c
的默认值为10
。 -
函数调用过程:
-
第一次调用
compute(z, x)
:修改z
和x
的值。 -
第二次调用
compute(x, y, z)
:修改x
和y
的值。
-
-
结果:输出
13 330 11
。
5. 循环与条件判断
问题:分析以下代码的输出结果:
cpp
复制
#include <iostream> using namespace std;int main() {int a = 0;for (int i = 1; i <= 5; ++i) {if (i == 3)break;a += i;}cout << a << endl;return 0; }
知识点:
-
for
循环:从i = 1
到i = 5
,每次循环i
递增1
。 -
break
语句:当i == 3
时,跳出循环。 -
累加操作:
a += i
将i
的值累加到a
中。 -
循环执行过程:
-
i = 1
:a = 1
。 -
i = 2
:a = 3
。 -
i = 3
:跳出循环。
-
-
结果:输出
3
。
总结
-
变量赋值与运算:理解复合赋值运算符和运算规则。
-
二维数组与表达式计算:掌握二维数组初始化和元素访问,理解表达式计算顺序。
-
运算符优先级与表达式计算:熟悉运算符优先级规则,掌握括号的使用。
-
函数参数传递与引用:理解引用传递和值传递的区别,掌握默认参数的使用。
-
循环与条件判断:掌握
for
循环和break
语句的使用,理解累加操作的逻辑。
这些知识点涵盖了C++编程中的基础语法和常见操作,是编程学习中的重要内容。