标准C++的基础语法和数据类型有哪些?


💻 I. C++ 基础语法结构

C++ 程序的基本结构由几个关键元素组成。

1. 基本程序结构

一个最小的 C++ 程序通常包含以下部分:

#include <iostream> // 预处理器指令:包含输入/输出流库

// 主函数:程序执行的起点
int main() {
    // 语句:代码执行的动作
    std::cout << "Hello, World!" << std::endl; 
    
    // 返回值:0 表示程序成功执行
    return 0; 
}
  • #include <...> (预处理器指令): 在编译前,指示编译器将指定文件(如 <iostream>)的内容插入到当前文件中。
  • main() 函数: 每个 C++ 程序都必须有一个 main 函数,它是程序的入口点。
    • int 表示函数返回一个整数值。
    • return 0; 是惯例,表示程序正常退出。
  • 分号 ;: C++ 中的每个语句都必须以分号结束。
  • 注释: 用于解释代码,不会被编译。
    • 单行注释:// 这是一个注释
    • 多行注释:/* 这是一个跨越多行的注释 */

2. 变量和常量

  • 变量 (Variable): 用于存储数据的命名内存区域。使用前必须先声明其类型。
    int age = 30; // 声明一个整数变量并初始化
    double salary; // 声明一个浮点数变量
    salary = 50000.50; // 赋值
    
  • 常量 (Constant): 其值在程序执行期间不能被修改的量。
    const double PI = 3.14159; // 编译时常量
    #define MAX_SIZE 100        // C 风格宏常量,不推荐在 C++ 中使用
    

3. 输入/输出 (I/O)

C++ 使用流(stream)进行输入和输出,主要通过 <iostream> 库实现。

  • 输出 (std::cout): 使用插入运算符 <<
    std::cout << "值是:" << age << std::endl; 
    // std::endl 作用是插入一个换行符并刷新缓冲区
    
  • 输入 (std::cin): 使用提取运算符 >>
    int input_value;
    std::cin >> input_value;
    

4. 控制流语句

用于控制程序执行的顺序。

语句作用示例
if/else条件分支,根据布尔表达式的值执行不同的代码块。if (age > 18) { ... } else { ... }
switch多重条件分支,根据变量的值跳转到不同的 case 标签。switch (day) { case 1: ... break; default: ... }
for 循环在已知迭代次数时使用。for (int i = 0; i < 10; i++) { ... }
while 循环在条件为真时重复执行代码块。while (count < 5) { ... }
do-while 循环至少执行一次,然后检查条件。do { ... } while (condition);
break / continuebreak 跳出整个循环;continue 跳过当前迭代,进入下一次迭代。N/A

5. 函数 (Functions)

用于将代码组织成可重用的块。

// 函数定义
int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(5, 3); // 函数调用
    return 0;
}

💾 II. C++ 核心数据类型

C++ 的数据类型决定了变量存储的内存大小和可表示的值的范围。

1. 基本(内置)数据类型

类型描述典型大小(字节)示例
bool布尔类型,只能存储 truefalse1bool is_valid = true;
char字符类型,用于存储单个字符或小整数。1char letter = 'A';
int整数类型,用于存储整数。4int count = 100;
float单精度浮点数,用于存储小数。4float pi = 3.14f;
double双精度浮点数,精度比 float 高,是浮点数的默认类型。8double price = 19.99;
void无类型,主要用于函数声明中表示不返回任何值。N/Avoid print_hello() { ... }

2. 修饰符(Modifiers)

基本类型可以使用修饰符来改变其含义和范围:

  • signed (有符号): 可以存储正数、负数和零(默认)。
    • signed int, signed char
  • unsigned (无符号): 只能存储正数和零,范围是正向的两倍。
    • unsigned int, unsigned char
  • short (短): 保证至少 16 位(2 字节),缩小存储范围。
    • short int (通常简写为 short)
  • long (长): 保证至少与 int 一样大。
    • long int (通常简写为 long), long long (保证至少 64 位)

3. 复合数据类型 (Derived Data Types)

这些类型基于基本数据类型构建。

类型描述示例
数组 (Arrays)存储同类型元素的固定大小的集合。int numbers[5] = {1, 2, 3, 4, 5};
指针 (Pointers)存储变量的内存地址。int *ptr = &age;
引用 (References)变量的别名,一旦初始化不能改变指向。int &ref = age;
结构体 (Structs)将不同类型的数据组合在一起的自定义数据类型。struct Person { int age; std::string name; };
类 (Classes)C++ 中面向对象编程的核心,是结构体的扩展,包含数据和操作数据的方法。class Car { public: void drive() {}; };
枚举 (Enums)定义一组命名整数常量。enum Color { Red, Green, Blue };

4. 字符串类型

在 C++ 中有两种主要的字符串类型:

  • C 风格字符串: 以空字符 \0 结尾的 char 数组(不推荐用于新代码)。
    char name[] = "Alice"; 
    
  • C++ 标准字符串 (std::string): 来自 <string> 库的类,可以动态管理大小,更安全、更方便(推荐)。
    #include <string>
    std::string fullName = "Bob Smith";
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值