C++基础语法入门:数据类型、控制结构与函数
C++简介
- C++的历史与特点
C++由Bjarne Stroustrup在1983年开发,最初作为C语言的扩展,加入了面向对象编程(OOP)特性。它的特点包括高性能、支持面向对象、泛型编程以及底层操作能力,因此被广泛应用于系统软件、游戏开发和高性能应用。 - C++与C的区别
C++在C的基础上添加了面向对象的特性(如类、继承、多态),并支持函数重载、运算符重载、模板等高级功能。C语言偏重于过程化编程,C++则鼓励通过类和对象封装数据和行为。 - C++的编译过程
C++程序需要经过预处理、编译、链接等多个阶段。编译器首先将源代码转换为机器语言,链接器将多个目标文件合并成一个可执行文件。
基本语法
- 数据类型
C++支持多种基本数据类型,包括: - 整型(int):用于表示整数。
- 浮动类型(float、double):用于表示带小数点的数字。
- 字符类型(char):用于表示单个字符。
- 布尔类型(bool):表示真(true)或假(false)。
- 变量声明与初始化
在C++中,变量必须先声明后使用,可以在声明时进行初始化:
int age = 25;
float height = 5.9;
char grade = 'A';
- 常量(const)
const用于声明常量,常量值在程序执行过程中不可更改:
const int MAX_SCORE = 100;
- 输入输出:cin 和 cout
C++提供了cin用于输入,cout用于输出:
int num;
std::cin >> num; // 从键盘输入
std::cout << "The number is: " << num << std::endl; // 输出到屏幕
- 基本运算符
- 算术运算符:
+,-,*,/,% - 比较运算符:
==,!=,<,>,<=,>= - 逻辑运算符:
&&,||,! - 控制结构
C++提供了多种控制结构来控制程序流程: - if、else:用于条件判断。
- switch:用于多条件选择。
- for、while、do-while:用于循环结构。 示例:
if (num > 10) {
std::cout << "Greater than 10" << std::endl;
} else {
std::cout << "Less than or equal to 10" << std::endl;
}
函数
- 函数的声明与定义
C++函数有返回类型、函数名和参数列表:
int add(int a, int b) {
return a + b;
}
- 函数参数传递
- 按值传递:将实际参数的值传递给函数,函数内的修改不会影响外部变量。
- 按引用传递:通过引用传递实际参数,函数内的修改会影响外部变量。
void increment(int &num) {
num++;
}
- 函数重载
C++支持函数重载,即允许多个同名函数通过不同参数类型或数量区分:
int add(int a, int b) { return a + b; }
double add(double a, double b) { return a + b; }
- 返回值与函数递归
函数可以返回一个值,支持递归调用:
int factorial(int n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
数组与字符串
- 一维和二维数组
数组是存储相同类型数据的集合,可以是多维数组:
int arr[5] = {1, 2, 3, 4, 5}; // 一维数组
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 二维数组
- 字符串处理
- C风格字符串:以
\0结尾的字符数组。cpp char str[] = "Hello, World!"; - C++风格字符串:使用
std::string类。cpp std::string str = "Hello, World!";
总结
通过掌握C++的基础语法,初学者可以迅速构建简单的程序,理解数据类型、控制结构、函数等核心概念,为后续的面向对象编程与高级特性打下坚实的基础。