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;
}
相关推荐
Smile丶凉轩14 分钟前
微服务即时通讯系统的实现(服务端)----(1)
c++·git·微服务·github
萝卜兽编程37 分钟前
优先级队列
c++·算法
珹洺2 小时前
C语言数据结构——详细讲解 双链表
c语言·开发语言·网络·数据结构·c++·算法·leetcode
孙同学要努力2 小时前
C++知识整理day1——前置基础知识整理(命名空间、输入输出、函数重载、引用)
开发语言·c++
沐泽Mu2 小时前
嵌入式学习-C嘎嘎-Day05
开发语言·c++·学习
几窗花鸢2 小时前
力扣面试经典 150(下)
数据结构·c++·算法·leetcode
Beau_Will3 小时前
数据结构-树状数组专题(1)
数据结构·c++·算法
hunandede3 小时前
av_image_get_buffer_size 和 av_image_fill_arrays
c++
怀澈1225 小时前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
chnming19875 小时前
STL关联式容器之set
开发语言·c++