变量和数据类型
在C++中,变量用于存储数据值。每个变量都有一个特定的数据类型,它决定了变量可以存储的值的类型以及这些值占用的内存空间。
定义变量
定义变量时需要指定其数据类型和变量名。例如:
int age; float salary; char initial;
初始化变量
可以在定义变量的同时初始化它们:
int age = 30; float salary = 5000.0; char initial = 'J';
变量的作用域
变量的作用域决定了在何处可以访问该变量。C++中有两种主要作用域:全局作用域和局部作用域。
- 全局变量:在所有函数之外定义的变量。
- 局部变量:在函数内部或代码块内部定义的变量。
// www.javascriptcn.com code example
#include <iostream>
using namespace std;
// 全局变量
int x = 10;
void func() {
// 局部变量
int y = 20;
cout << "局部变量y: " << y << endl;
}
int main() {
cout << "全局变量x: " << x << endl;
func();
return 0;
}常量
常量是固定值,在程序执行期间不会改变。有两种类型的常量:字面常量和符号常量。
字面常量
字面常量是指在代码中直接出现的固定值,如数字、字符串等。
int a = 10; // 整型字面常量 float b = 20.5; // 浮点型字面常量 char c = 'A'; // 字符型字面常量 string d = "Hello"; // 字符串字面常量
符号常量
使用 const 关键字定义符号常量,以提高代码可读性和维护性。
const int MAX_SIZE = 100; cout << "最大尺寸为: " << MAX_SIZE << endl;
运算符
运算符是用于执行特定计算的符号。C++支持多种运算符,包括算术运算符、比较运算符、逻辑运算符等。
算术运算符
算术运算符用于执行基本的数学运算。
| 运算符 | 描述 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
| % | 取模(余数) |
int a = 10; int b = 3; cout << "加法: " << (a + b) << endl; cout << "减法: " << (a - b) << endl; cout << "乘法: " << (a * b) << endl; cout << "除法: " << (a / b) << endl; cout << "取模: " << (a % b) << endl;
比较运算符
比较运算符用于比较两个值。
| 运算符 | 描述 |
|---|---|
| == | 等于 |
| != | 不等于 |
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
int a = 10; int b = 3; cout << "a == b: " << (a == b) << endl; cout << "a != b: " << (a != b) << endl; cout << "a > b: " << (a > b) << endl; cout << "a < b: " << (a < b) << endl; cout << "a >= b: " << (a >= b) << endl; cout << "a <= b: " << (a <= b) << endl;
逻辑运算符
逻辑运算符用于组合条件语句。
| 运算符 | 描述 |
|---|---|
| && | 与(逻辑与) |
| ! | 非(逻辑非) |
bool flag1 = true; bool flag2 = false; cout << "flag1 && flag2: " << (flag1 && flag2) << endl; cout << "flag1 || flag2: " << (flag1 || flag2) << endl; cout << "!flag1: " << (!flag1) << endl;
控制结构
控制结构用于控制程序的流程,包括条件语句和循环语句。
条件语句
条件语句根据条件是否满足来决定执行哪一段代码。
if 语句
int score = 85;
if (score >= 60) {
cout << "及格" << endl;
}if-else 语句
int score = 59;
if (score >= 60) {
cout << "及格" << endl;
} else {
cout << "不及格" << endl;
}if-else-if 语句
// www.javascriptcn.com code example
int score = 75;
if (score >= 90) {
cout << "优秀" << endl;
} else if (score >= 75) {
cout << "良好" << endl;
} else if (score >= 60) {
cout << "及格" << endl;
} else {
cout << "不及格" << endl;
}循环语句
循环语句允许我们多次执行一段代码。
while 循环
int count = 0;
while (count < 5) {
cout << "计数: " << count << endl;
count++;
}for 循环
for (int i = 0; i < 5; i++) {
cout << "计数: " << i << endl;
}do-while 循环
int count = 0;
do {
cout << "计数: " << count << endl;
count++;
} while (count < 5);数组
数组是一种数据结构,用于存储相同类型的元素集合。
一维数组
声明和初始化一维数组:
int arr[5]; // 声明一个包含5个整数的一维数组
int arr2[5] = {1, 2, 3, 4, 5}; // 声明并初始化一维数组访问数组元素:
int arr[5] = {1, 2, 3, 4, 5};
cout << "arr[0]: " << arr[0] << endl; // 输出1多维数组
多维数组可以看作是一维数组的数组。
声明和初始化二维数组:
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};访问二维数组元素:
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
cout << "matrix[1][2]: " << matrix[1][2] << endl; // 输出6函数
函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段。
定义函数
// www.javascriptcn.com code example
#include <iostream>
using namespace std;
// 定义函数
void sayHello() {
cout << "你好!" << endl;
}
int add(int a, int b) {
return a + b;
}
int main() {
sayHello(); // 调用sayHello函数
int result = add(10, 20); // 调用add函数,并将结果存储在result中
cout << "结果是: " << result << endl;
return 0;
}参数传递
参数可以通过值传递和引用传递。
值传递
// www.javascriptcn.com code example
void modifyValue(int x) {
x = 20;
}
int main() {
int num = 10;
modifyValue(num);
cout << "num: " << num << endl; // 输出10,因为num没有被修改
return 0;
}引用传递
// www.javascriptcn.com code example
void modifyReference(int &x) {
x = 20;
}
int main() {
int num = 10;
modifyReference(num);
cout << "num: " << num << endl; // 输出20,因为num被修改了
return 0;
}结构体
结构体是一种用户自定义的数据类型,可以包含多个不同类型的数据成员。
定义结构体
// www.javascriptcn.com code example
struct Person {
string name;
int age;
};
int main() {
Person p1;
p1.name = "张三";
p1.age = 30;
cout << "姓名: " << p1.name << ", 年龄: " << p1.age << endl;
return 0;
}结构体作为函数参数
// www.javascriptcn.com code example
void printPerson(Person p) {
cout << "姓名: " << p.name << ", 年龄: " << p.age << endl;
}
int main() {
Person p1 = {"李四", 25};
printPerson(p1);
return 0;
}通过以上内容,你可以了解到C++的基本语法,包括变量和数据类型、常量、运算符、控制结构、数组、函数和结构体。这些基础知识是编写高效且易维护的C++程序的基础。