C++基本语法

C++基本语法的详细介绍,涵盖了注释、标识符和关键字、数据类型、变量声明和初始化、常量、运算符以及输入输出等内容。

1. 注释

注释用于解释代码,不会被编译器执行。C++ 支持两种注释方式:

  • 单行注释 :使用 //

  • 多行注释 :使用 /* ... */

    // 这是一个单行注释

    /*
    这是
    一个多行
    注释
    */

2. 标识符和关键字

  • 标识符:用于命名变量、函数、类等。标识符必须以字母或下划线开头,后面可以是字母、数字或下划线。
  • 关键字:C++ 中预定义的单词,具有特殊含义,不能用作标识符。

合法的标识符示例

  • myVariable
  • _variable
  • variable123

非法的标识符示例

  • 1variable (以数字开头)
  • my-variable (包含非法字符)

常见的关键字

  • int, double, char, bool
  • if, else, for, while
  • class, struct, enum
  • public, private, protected
  • static, const, volatile
  • true, false
  • new, delete
  • return

3. 数据类型

C++ 提供了多种数据类型,包括基本数据类型和复合数据类型。

  • 整型

    • int:通常为32位
    • short:通常为16位
    • long:通常为32位或64位
    • long long:通常为64位
  • 浮点型

    • float:通常为32位
    • double:通常为64位
    • long double:通常为80位或128位
  • 字符型

    • char:通常为8位
    • wchar_t:宽字符,通常为16位或32位
  • 布尔型

    • bool:可以取值 truefalse

4. 变量声明和初始化

变量用于存储数据。声明变量时需要指定其类型和名称,可以同时进行初始化。

复制代码
int age = 25;      // 声明并初始化一个整型变量
double height = 1.75;  // 声明并初始化一个浮点型变量
char grade = 'A';   // 声明并初始化一个字符型变量
bool isStudent = true;  // 声明并初始化一个布尔型变量

5. 常量

常量是在程序运行过程中不可改变的值。可以使用 const 关键字声明常量。

复制代码
const int MAX_SIZE = 100;  // 声明一个整型常量
const double PI = 3.14159;  // 声明一个浮点型常量

6. 运算符

C++ 提供了多种运算符,用于执行数学运算、逻辑运算和位运算。

  • 算术运算符

    • +:加法
    • -:减法
    • *:乘法
    • /:除法
    • %:取模(求余)
  • 关系运算符

    • ==:等于
    • !=:不等于
    • <:小于
    • >:大于
    • <=:小于等于
    • >=:大于等于
  • 逻辑运算符

    • &&:逻辑与
    • ||:逻辑或
    • !:逻辑非
  • 位运算符

    • &:按位与
    • |:按位或
    • ^:按位异或
    • ~:按位取反
    • <<:左移
    • >>:右移
  • 赋值运算符

    • =:简单赋值
    • +=:加法赋值
    • -=:减法赋值
    • *=:乘法赋值
    • /=:除法赋值
    • %=:取模赋值

7. 输入输出

C++ 使用 iostream 库进行输入输出操作。常用的操作符有 <<>>

复制代码
#include <iostream>

int main() {
    int number;
    std::cout << "请输入一个整数: ";
    std::cin >> number;
    std::cout << "你输入的整数是: " << number << std::endl;
    return 0;
}

示例代码

以下是一个完整的示例代码,展示了上述基本语法的使用:

复制代码
#include <iostream>

int main() {
    // 注释
    // 这是一个单行注释
    /*
    这是
    一个多行
    注释
    */

    // 变量声明和初始化
    int age = 25;
    double height = 1.75;
    char grade = 'A';
    bool isStudent = true;

    // 常量
    const int MAX_SIZE = 100;
    const double PI = 3.14159;

    // 运算符
    int sum = 10 + 5;
    int difference = 10 - 5;
    int product = 10 * 5;
    int quotient = 10 / 5;
    int remainder = 10 % 5;

    // 关系运算符和逻辑运算符
    bool isEqual = (age == 25);
    bool isNotEqual = (age != 25);
    bool isGreater = (age > 20);
    bool isLess = (age < 30);
    bool isGreaterOrEqual = (age >= 25);
    bool isLessOrEqual = (age <= 25);
    bool isTrue = (age > 20 && age < 30);
    bool isFalse = (age > 30 || age < 20);
    bool isNotTrue = !(age == 25);

    // 位运算符
    int bitwiseAnd = 5 & 3;
    int bitwiseOr = 5 | 3;
    int bitwiseXor = 5 ^ 3;
    int bitwiseNot = ~5;
    int leftShift = 5 << 1;
    int rightShift = 5 >> 1;

    // 输入输出
    std::cout << "Age: " << age << std::endl;
    std::cout << "Height: " << height << std::endl;
    std::cout << "Grade: " << grade << std::endl;
    std::cout << "Is Student: " << (isStudent ? "Yes" : "No") << std::endl;

    std::cout << "Sum: " << sum << std::endl;
    std::cout << "Difference: " << difference << std::endl;
    std::cout << "Product: " << product << std::endl;
    std::cout << "Quotient: " << quotient << std::endl;
    std::cout << "Remainder: " << remainder << std::endl;

    std::cout << "Is Equal: " << (isEqual ? "Yes" : "No") << std::endl;
    std::cout << "Is Not Equal: " << (isNotEqual ? "Yes" : "No") << std::endl;
    std::cout << "Is Greater: " << (isGreater ? "Yes" : "No") << std::endl;
    std::cout << "Is Less: " << (isLess ? "Yes" : "No") << std::endl;
    std::cout << "Is Greater or Equal: " << (isGreaterOrEqual ? "Yes" : "No") << std::endl;
    std::cout << "Is Less or Equal: " << (isLessOrEqual ? "Yes" : "No") << std::endl;
    std::cout << "Is True: " << (isTrue ? "Yes" : "No") << std::endl;
    std::cout << "Is False: " << (isFalse ? "Yes" : "No") << std::endl;
    std::cout << "Is Not True: " << (isNotTrue ? "Yes" : "No") << std::endl;

    std::cout << "Bitwise AND: " << bitwiseAnd << std::endl;
    std::cout << "Bitwise OR: " << bitwiseOr << std::endl;
    std::cout << "Bitwise XOR: " << bitwiseXor << std::endl;
    std::cout << "Bitwise NOT: " << bitwiseNot << std::endl;
    std::cout << "Left Shift: " << leftShift << std::endl;
    std::cout << "Right Shift: " << rightShift << std::endl;

    return 0;
}
相关推荐
TinyPiXOS开发者联盟12 分钟前
轻量级嵌入式系统的 Lottie 动画实现
linux·c++·动画·嵌入式开发·lottie·tinypixos·tpgui
kyle~13 分钟前
C++---关键字constexpr
java·开发语言·c++
进击的圆儿27 分钟前
10个TCP可靠性与拥塞控制题目整理
网络·c++·tcp/ip
小欣加油38 分钟前
leetcode 860 柠檬水找零
c++·算法·leetcode·职场和发展·贪心算法
买辣椒用券2 小时前
在Linux上实现Modbus RTU通信:一个轻量级C++解决方案
linux·c++
小龙报2 小时前
《C语言疑难点 --- C语内存函数专题》
c语言·开发语言·c++·创业创新·学习方法·业界资讯·visual studio
卡提西亚3 小时前
C++笔记-21-运算符重载
c++·笔记
草莓熊Lotso3 小时前
C++ 继承特殊场景解析:友元、静态成员与菱形继承的底层逻辑
服务器·开发语言·c++·人工智能·经验分享·笔记·1024程序员节
利刃大大4 小时前
【动态规划:01背包】01背包详解 && 模板题 && 优化
c++·算法·动态规划·力扣·背包问题
9ilk4 小时前
【基于one-loop-per-thread的高并发服务器】--- 前置技术
运维·服务器·c++·笔记·后端·中间件