C++基础概述

C++是一种通用的、面向对象的编程语言,由Bjarne Stroustrup于1985年开发。它是C语言的扩展,增加了面向对象编程(OOP)特性,同时保留了C的高效性和灵活性。C++广泛应用于系统开发、游戏开发、嵌入式系统和高性能计算等领域。

基本语法结构

C++程序由函数、变量、语句和表达式组成。每个C++程序必须包含一个main函数,作为程序的入口点。以下是一个简单的C++程序示例:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}

  • #include <iostream>:引入输入输出流库。
  • using namespace std:使用标准命名空间,避免重复写std::
  • cout << "Hello, World!" << endl:输出字符串并换行。
  • return 0:表示程序正常结束。

数据类型与变量

C++支持多种数据类型,包括基本类型和用户自定义类型。基本数据类型分为以下几类:

  • 整型intshortlonglong long
  • 浮点型floatdoublelong double
  • 字符型charwchar_t
  • 布尔型bool,值为truefalse

变量声明语法:

int age = 25;
float price = 99.99;
char grade = 'A';
bool isStudent = true;

运算符

C++支持多种运算符,包括算术、关系、逻辑、位运算等。

  • 算术运算符+-*/%
  • 关系运算符==!=><>=<=
  • 逻辑运算符&&(与)、||(或)、!(非)。
  • 赋值运算符=+=-=*=/=

控制结构

C++提供多种控制结构来控制程序流程。

条件语句

if (condition) {
    // 代码块
} else if (another_condition) {
    // 代码块
} else {
    // 代码块
}

循环语句

for (int i = 0; i < 10; i++) {
    // 代码块
}

while (condition) {
    // 代码块
}

do {
    // 代码块
} while (condition);

函数

函数是一段可重复使用的代码块,用于执行特定任务。函数定义包括返回类型、函数名、参数列表和函数体。

int add(int a, int b) {
    return a + b;
}

调用函数:

int result = add(5, 3); // result = 8

数组与字符串

数组是相同类型元素的集合,存储在连续内存中。

int numbers[5] = {1, 2, 3, 4, 5};

字符串是字符数组,C++提供了string类简化字符串操作。

#include <string>
string name = "Alice";

指针与引用

指针是存储内存地址的变量,引用是变量的别名。

int x = 10;
int *ptr = &x; // 指针
int &ref = x;  // 引用

面向对象编程

C++支持面向对象编程,包括类、对象、继承、多态等特性。

类与对象

class Person {
private:
    string name;
    int age;
public:
    void setName(string n) { name = n; }
    string getName() { return name; }
};

Person p;
p.setName("Bob");
cout << p.getName(); // 输出 "Bob"

继承

class Student : public Person {
private:
    int grade;
public:
    void setGrade(int g) { grade = g; }
};

文件操作

C++使用fstream库进行文件读写操作。

#include <fstream>
ofstream outFile("example.txt");
outFile << "Hello, File!";
outFile.close();

异常处理

C++通过trycatchthrow实现异常处理。

try {
    throw runtime_error("Error occurred");
} catch (runtime_error &e) {
    cout << e.what();
}

标准模板库(STL)

STL提供了一系列模板类和函数,如容器、算法和迭代器。

容器示例

#include <vector>
vector<int> vec = {1, 2, 3};
vec.push_back(4);

算法示例

#include <algorithm>
sort(vec.begin(), vec.end());

总结

C++是一门功能强大且灵活的语言,适合开发高性能和复杂的应用程序。掌握基础语法、数据类型、控制结构、函数和面向对象编程是学习C++的关键。通过实践和项目经验,可以逐步深入理解C++的高级特性和最佳实践。

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐