变量、常量和运算符
1. 变量
1.1 什么是变量?
在编程中,变量是用于存储数据的容器。每个变量都有一个名称(标识符)和一个类型。变量的值可以在程序执行过程中改变。
1.2 变量的声明和初始化
在C++中,变量的声明需要指定其类型和名称。变量可以在声明时进行初始化,也可以在后续代码中赋值。
#include <iostream>
int main() {
// 声明一个整型变量并初始化
int age = 25;
// 声明一个浮点型变量
float height;
// 后续赋值
height = 1.75;
std::cout << "Age: " << age << std::endl;
std::cout << "Height: " << height << std::endl;
return 0;
}
1.3 变量的命名规则
- 变量名必须以字母或下划线开头。
- 变量名可以包含字母、数字和下划线。
- 变量名区分大小写。
- 变量名不能是C++关键字。
int myVariable; // 合法
int _variable2; // 合法
int 2variable; // 非法
int class; // 非法(class是关键字)
2. 常量
2.1 什么是常量?
常量是固定值,在程序执行期间不会改变。常量可以是数字、字符、字符串等。
2.2 常量的声明
在C++中,常量可以使用const关键字声明。常量必须在声明时进行初始化,并且不能在后续代码中修改。
#include <iostream>
int main() {
const int DAYS_IN_WEEK = 7;
const float PI = 3.14159;
std::cout << "Days in a week: " << DAYS_IN_WEEK << std::endl;
std::cout << "Value of PI: " << PI << std::endl;
return 0;
}
2.3 常量的命名规则
常量的命名通常采用全大写字母,单词之间用下划线分隔,以提高代码的可读性。
const int MAX_VALUE = 100;
const float MIN_TEMPERATURE = -40.0;
3. 运算符
3.1 算术运算符
算术运算符用于执行基本的数学运算。
| 运算符 | 描述 | 示例 |
| --- | --- | --- |
| + | 加法 | a + b |
| - | 减法 | a - b |
| * | 乘法 | a * b |
| / | 除法 | a / b |
| % | 取模(求余) | a % b |
#include <iostream>
int main() {
int a = 10, b = 3;
std::cout << "a + b = " << a + b << std::endl;
std::cout << "a - b = " << a - b << std::endl;
std::cout << "a * b = " << a * b << std::endl;
std::cout << "a / b = " << a / b << std::endl;
std::cout << "a % b = " << a % b << std::endl;
return 0;
}
3.2 关系运算符
关系运算符用于比较两个值,返回布尔值(true或false)。
| 运算符 | 描述 | 示例 |
| --- | --- | --- |
| == | 等于 | a == b |
| != | 不等于 | a != b |
| > | 大于 | a > b |
| < | 小于 | a < b |
| >= | 大于等于 | a >= b |
| <= | 小于等于 | a <= b |
#include <iostream>
int main() {
int a = 10, b = 3;
std::cout << "a == b: " << (a == b) << std::endl;
std::cout << "a != b: " << (a != b) << std::endl;
std::cout << "a > b: " << (a > b) << std::endl;
std::cout << "a < b: " << (a < b) << std::endl;
std::cout << "a >= b: " << (a >= b) << std::endl;
std::cout << "a <= b: " << (a <= b) << std::endl;
return 0;
}
3.3 逻辑运算符
逻辑运算符用于组合多个条件表达式。
| 运算符 | 描述 | 示例 |
| --- | --- | --- |
| && | 逻辑与 | a && b |
| || | 逻辑或 | a || b |
| ! | 逻辑非 | !a |
#include <iostream>
int main() {
bool a = true, b = false;
std::cout << "a && b: " << (a && b) << std::endl;
std::cout << "a || b: " << (a || b) << std::endl;
std::cout << "!a: " << (!a) << std::endl;
return 0;
}
3.4 赋值运算符
赋值运算符用于将值赋给变量。
| 运算符 | 描述 | 示例 |
| --- | --- | --- |
| = | 简单赋值 | a = b |
| += | 加法赋值 | a += b |
| -= | 减法赋值 | a -= b |
| *= | 乘法赋值 | a *= b |
| /= | 除法赋值 | a /= b |
| %= | 取模赋值 | a %= b |
#include <iostream>
int main() {
int a = 10, b = 3;
a += b; // 等价于 a = a + b
std::cout << "a += b: " << a << std::endl;
a -= b; // 等价于 a = a - b
std::cout << "a -= b: " << a << std::endl;
a *= b; // 等价于 a = a * b
std::cout << "a *= b: " << a << std::endl;
a /= b; // 等价于 a = a / b
std::cout << "a /= b: " << a << std::endl;
a %= b; // 等价于 a = a % b
std::cout << "a %= b: " << a << std::endl;
return 0;
}
4. 实践练习
练习1:计算圆的面积
编写一个程序,要求用户输入圆的半径,然后计算并输出圆的面积。使用常量PI表示圆周率。
#include <iostream>
int main() {
const float PI = 3.14159;
float radius;
std::cout << "Enter the radius of the circle: ";
std::cin >> radius;
float area = PI * radius * radius;
std::cout << "The area of the circle is: " << area << std::endl;
return 0;
}
练习2:温度转换
编写一个程序,要求用户输入摄氏温度,然后将其转换为华氏温度并输出。转换公式为:F = C * 9/5 + 32。
#include <iostream>
int main() {
float celsius, fahrenheit;
std::cout << "Enter the temperature in Celsius: ";
std::cin >> celsius;
fahrenheit = celsius * 9 / 5 + 32;
std::cout << "The temperature in Fahrenheit is: " << fahrenheit << std::endl;
return 0;
}
练习3:判断闰年
编写一个程序,要求用户输入一个年份,然后判断该年份是否为闰年。闰年的判断规则如下:
- 能被4整除但不能被100整除的年份是闰年。
- 能被400整除的年份也是闰年。
#include <iostream>
int main() {
int year;
std::cout << "Enter a year: ";
std::cin >> year;
bool isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
if (isLeapYear) {
std::cout << year << " is a leap year." << std::endl;
} else {
std::cout << year << " is not a leap year." << std::endl;
}
return 0;
}
5. 总结
在本教程中,我们学习了C++中的变量、常量和运算符。变量用于存储数据,常量用于存储固定值,运算符用于执行各种操作。通过实践练习,我们进一步巩固了这些概念。希望你能通过这些练习更好地理解和掌握这些基础知识。