1. 数据类型
C++作为一种强类型语言,支持多种数据类型,这些数据类型用于声明变量、函数参数、返回值等。数据类型可以分为两大类:基本数据类型和复合数据类型。
基本数据类型
- 整型(Integer Types):包括
int
(基本整型)、short
(短整型)、long
(长整型)、long long
(超长整型)、char
(字符型,虽常作为整型处理)等。它们用于存储整数值。 - 浮点型(Floating-Point Types):包括
float
(单精度浮点型)、double
(双精度浮点型)、long double
(扩展精度浮点型)等。它们用于存储带小数点的数值。 - 布尔型(Boolean Type):
bool
,用于表示真(true)或假(false)的逻辑值。
示例:
#include <iostream>
int main() {
int num = 42; // 整型
float pi = 3.14f; // 浮点型,注意f后缀表示float类型
bool isTrue = true; // 布尔型
std::cout << "Number: " << num << ", PI: " << pi << ", Truth: " << (isTrue ? "True" : "False") << std::endl;
return 0;
}
复合数据类型
- 数组(Array):用于存储一系列同类型数据的集合。可以通过索引访问数组中的元素。
- 结构体(Struct):用户自定义的复合数据类型,可以包含不同种类的数据(如整型、浮点型等)作为成员。
- 类(Class):C++中的核心特性之一,是结构体的扩展,支持面向对象编程的三大特性:封装、继承和多态。
- 指针(Pointer):存储变量地址的变量类型,通过指针可以间接访问和操作内存中的数据。
- 引用(Reference):是变量的别名,通过引用可以直接访问和操作原变量的值,但必须在声明时初始化。
示例(以数组为例):
#include <iostream>
int main() {
int numbers[] = {1, 2, 3, 4, 5}; // 整型数组
for(int i = 0; i < 5; ++i) {
std::cout << numbers[i] << " ";
}
std::cout << std::endl;
return 0;
}
2. 运算符与表达式
C++提供了丰富的运算符,用于执行各种算术、关系、逻辑等操作。
- 算术运算符:
+
、-
、*
、/
、%
(取模)等,用于执行基本的数学运算。 - 关系运算符:
==
、!=
、<
、<=
、>
、>=
等,用于比较两个表达式的值。 - 逻辑运算符:
&&
(逻辑与)、||
(逻辑或)、!
(逻辑非)等,用于组合或修改条件语句的真值。 - 赋值运算符:
=
(简单赋值)、+=
、-=
、*=
、/=
等,用于给变量赋值或修改其值。 - 位运算符:
&
、|
、^
、~
、<<
、>>
等,用于对整数的二进制位进行操作。
注:表达式的求值和优先级遵循数学和编程的通用规则,通常需要使用括号()
来改变默认的优先级顺序。
示例:
#include <iostream>
int main() {
int a = 10, b = 20;
int sum = a + b; // 加法运算符
int product = a * b; // 乘法运算符
if(a < b) { // 关系运算符
std::cout << a << " is less than " << b << std::endl;
}
if(sum > 20 && product == 200) { // 逻辑运算符
std::cout << "Both conditions are true" << std::endl;
}
return 0;
}
3. 控制结构
- 条件语句:
if-else
:根据条件表达式的真假执行不同的代码块。switch
:根据表达式的值与多个case
标签的匹配情况执行相应的代码块。
- 循环语句:
for
:通过初始化、条件判断和迭代更新三个部分控制循环的执行。while
:当条件为真时,重复执行循环体。do-while
:至少执行一次循环体,然后检查条件,若为真则继续执行。
示例(条件语句):
#include <iostream>
int main() {
int score = 85;
if(score >= 90) {
std::cout << "Grade: A" << std::endl;
} else if(score >= 80) {
std::cout << "Grade: B" << std::endl;
} else {
std::cout << "Grade: Below B" << std::endl;
}
return 0;
}
示例(循环语句):
#include <iostream>
int main() {
for(int i = 0; i < 5; ++i) {
std::cout << "Number " << i << std::endl;
}
return 0;
}
4. 函数
函数是C++中组织代码的基本单位,用于实现特定的功能。
- 函数的定义:包括返回类型、函数名、参数列表(可选)和函数体。函数体包含实现特定功能的代码。
- 函数的调用:通过函数名和参数(如果有)来调用函数,执行函数体内的代码。
- 参数传递:
- 值传递:调用函数时,实参的值被复制到形参中,函数内对形参的修改不会影响到实参。
- 引用传递:通过引用(使用
&
操作符)传递参数,函数内对形参的修改会影响到实参。 - 指针传递:通过指针传递参数,允许函数直接访问和修改实参指向的内存地址中的数据。
- 递归函数:一个函数调用自身的函数。递归函数必须有一个明确的退出条件,以防止无限递归导致程序崩溃。
示例(函数的定义与调用):
#include <iostream>
// 函数定义
int add(int a, int b) {
return a + b;
}
int main() {
// 函数调用
int result = add(5, 3);
std::cout << "The sum is: " << result << std::endl;
return 0;
}
示例(值传递,引用传递):
#include <iostream>
// 值传递
void incrementByValue(int x) {
x = x + 1; // 仅修改局部副本
}
// 引用传递
void incrementByReference(int& x) {
x = x + 1; // 修改实际参数
}
int main() {
int num = 5;
incrementByValue(num); // num 不变
std::cout << "After value increment: " << num << std::endl; // 输出 5
incrementByReference(num); // num 增加
std::cout << "After reference increment: " << num << std::endl; // 输出 6
return 0;
}
标签:std,运算符,入门,int,函数,数据类型,C++,语法,cout From: https://blog.csdn.net/weixin_45843323/article/details/140307096