C++ 学习之旅:基础语法学习
C++ 基础语法学习
在上一篇博客中,我们完成了 C++ 开发环境的搭建,现在就可以正式进入 C++ 基础语法的学习啦。掌握基础语法是深入学习 C++ 编程的基石,下面就让我们逐步探索 C++ 的基础语法世界。
一、变量与数据类型
(一)变量
在 C++ 中,变量是用来存储数据的容器。定义变量时需要指定变量的类型和名称。例如:
int num; // 定义一个整型变量numnum = 10; // 给变量num赋值为10
易错点:变量在使用前必须先定义,否则会报错。另外,变量名不能与 C++ 关键字重复,比如不能将变量命名为int while等。
实际应用场景:在开发一个简单的学生成绩管理系统时,可以用变量存储学生的学号、成绩等信息。
(二)数据类型
C++ 有丰富的数据类型,常见的有:
- 整型(int):用于存储整数,如int age = 20;。
- 浮点型(float 和 double):float用于存储单精度浮点数,double用于存储双精度浮点数,后者精度更高。例如float price = 19.9f;,double pi = 3.14159265358979323846; 。注意,float类型的字面量需要加上f后缀。
- 字符型(char): 用于存储单个字符,如char ch = ‘A’; ,字符需要用单引号括起来。
- 布尔型(bool): 只有两个值true和false,用于逻辑判断,如bool isDone = false; 。
不同数据类型的选择技巧:如果对精度要求不高且数据量较大,可选用float以节省内存;而在科学计算、高精度运算场景中,优先使用double。对于表示状态标志的变量,使用bool类型可使代码逻辑更清晰。
二、运算符
C++ 提供了多种运算符,方便进行各种运算。
- 算术运算符: 包括加(+)、减(-)、乘(*)、除(/)、取模(%)。例如:
int a = 10, b = 3;
int sum = a + b; // 加法运算,sum为13
int quotient = a / b; // 除法运算,quotient为3
int remainder = a % b; // 取模运算,remainder为1
- 赋值运算符(=): 用于给变量赋值,如int num = 5; 。
- 比较运算符: 包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=),用于比较两个值,返回bool类型结果。例如:
int x = 5, y = 3;
bool result = x > y; // result为true
- 逻辑运算符: 逻辑与(&&)、逻辑或(||)、逻辑非(!)。逻辑运算符用于组合多个条件进行逻辑判断。例如:
bool condition1 = true;
bool condition2 = false;
bool andResult = condition1 && condition2; // andResult为false
bool orResult = condition1 || condition2; // orResult为true
bool notResult =!condition1; // notResult为false
运算符优先级问题: 在一个复杂的表达式中,运算符优先级决定了运算顺序。比如int result = 2 + 3 * 4;,先计算乘法3 * 4,再计算加法,所以result的值为 14。建议使用括号来明确运算顺序,避免因优先级导致的错误,如int result = (2 + 3) * 4; ,此时result的值为 20 。
复合赋值运算符: 除了基本的赋值运算符,C++ 还有复合赋值运算符,如+= -= *= /=等。例如int num = 5; num += 3; ,等同于num = num + 3; ,最终num的值为 8 。复合赋值运算符能使代码更简洁。
三、控制结构
控制结构决定了程序的执行流程。
- 条件语句(if - else): 根据条件的真假执行不同的代码块。例如:
int score = 85;
if (score >= 60)
{
std::cout << "及格" << std::endl;
}
else {
std::cout << "不及格" << std::endl;
}
- 多分支语句(switch - case): 根据一个表达式的值来选择执行不同的分支。例如:
int day = 3;
switch (day)
{
case 1:
std::cout << "星期一" << std::endl;
break;
case 2:
std::cout << "星期二" << std::endl;
break;
case 3:
std::cout << "星期三" << std::endl;
break;
default:
std::cout << "其他" << std::endl;
break;
}
3. 循环语句(for、while、do - while):用于重复执行一段代码。
- for 循环:常用于已知循环次数的情况。例如:
for (int i = 0; i < 5; i++) {
std::cout << i << " ";
}
- while 循环:当条件为真时,重复执行循环体。例如:
int count = 0;
while (count < 3) {
std::cout << count << " ";
count++;
}
- do - while 循环:先执行一次循环体,再判断条件是否为真,若为真则继续循环。例如:
int num = 0;
do {
std::cout << num << " ";
num++;
} while (num < 3);
循环控制语句: 在循环中,break语句用于立即终止循环,continue语句用于跳过本次循环的剩余部分,直接开始下一次循环。例如在一个寻找 10 以内偶数的循环中:
for (int i = 0; i < 10; i++)
{
if (i % 2!= 0) {
continue;
}
std::cout << i << "是偶数" << std::endl;
}
这段代码中,continue跳过了奇数,只输出偶数。
嵌套控制结构: 实际编程中,经常会用到嵌套的控制结构,如在一个二维数组的遍历中,需要使用嵌套的for循环:
int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
通过对这些基础语法的学习,我们已经迈出了 C++ 编程的重要一步。在后续的学习中,我们还将深入探讨函数、类与对象等更高级的 C++ 特性。