c++语句详细介绍(一)

简介: 前言这篇简单介绍一下c++语句,主要有简单语句、语句作用域、条件语句、迭代语句以及异常处理机制

前言

这篇简单介绍一下c++语句,主要有简单语句、语句作用域、条件语句、迭代语句以及异常处理机制

简单语句

在C++中,简单语句是构成程序的基础单元。它们通常执行单一的操作,并以分号(;)结束。以下是C++中常见的几种简单语句类型:

表达式语句:这是最常见的简单语句类型,它包括表达式后跟一个分号。例如,赋值操作、函数调用、算术运算等。

a = 5;     // 赋值语句
a++;       // 后缀递增
func();    // 函数调用
#include <iostream>

int main() {
    int a = 5;  // 赋值语句
    a++;        // 后缀递增表达式
    std::cout << a << std::endl; // 输出表达式
    return 0;
}

声明语句:用于声明变量。在C++中,变量在使用前必须声明。声明语句也是简单语句的一种。

int a;      // 声明一个整型变量a
double b;   // 声明一个双精度浮点变量b
#include <iostream>

int main() {
    int a;  // 声明一个整型变量a
    a = 10; // 赋值
    std::cout << a << std::endl;
    return 0;
}

返回语句(return):在函数中使用,用于返回函数的结果并退出函数。

return;        // 无返回值的函数中使用
return x + y;  // 返回表达式的结果


空语句:只包含一个分号,不执行任何操作。在某些情况下,空语句可以用于占位或表示循环体或条件体为空。

;  // 一个空语句

复合语句(或块):虽然不是简单语句,但它由花括号({})包围的一系列语句构成,通常用于定义变量的作用域。

{
    int a = 5;   // a的作用域限于这个复合语句
    a++;
}

语句作用域

在C++中,语句作用域指的是程序中变量和函数的可见性与有效性的范围。以下是C++中作用域的几种主要类型:

1. 局部作用域

  • 局部作用域通常指在函数或代码块(如if、for语句块)内声明的变量。
  • 这些变量只在声明它们的块或函数内部可见和有效。
  • 示例代码:
#include <iostream>

void myFunction() {
    int a = 5; // a的作用域限于myFunction
    std::cout << "Inside myFunction, a = " << a << std::endl;
}

int main() {
    myFunction();
    // std::cout << a; // 这里访问a将引发编译错误,因为a的作用域只在myFunction内
    return 0;
}

2. 全局作用域

  • 全局变量在所有函数外部定义,它们在整个程序中都是可见和有效的。
  • 示例代码:
#include <iostream>

int x = 20; // 全局变量x

void myFunction() {
    std::cout << "Inside myFunction, x = " << x << std::endl; // 可以访问全局变量x
}

int main() {
    myFunction();
    std::cout << "In main, x = " << x << std::endl;
    return 0;
}


3. 命名空间作用域

  • 命名空间提供了一种将全局变量和函数组织在一起的方式,避免名称冲突。
  • 示例代码:
#include <iostream>

namespace MyNamespace {
    int value = 5; // MyNamespace作用域内的变量
}

int main() {
    std::cout << "Value in MyNamespace: " << MyNamespace::value << std::endl;
    // 访问命名空间内的变量需要使用命名空间名称
    return 0;
}


4. 块作用域

  • 块作用域是指由花括号{}定义的代码块内声明的变量,它们的作用域限制在这个块内。
  • 示例代码:
#include <iostream>

int main() {
    {
        int a = 10; // a的作用域限于这个块
        std::cout << "Inside block, a = " << a << std::endl;
    }
    // std::cout << a; // 这里访问a将引发编译错误,因为a的作用域已结束
    return 0;
}

条件语句

在C++中,条件语句用于基于特定条件执行不同的代码路径。C++提供了几种条件语句,包括if、else if、else和switch。下面是对这些条件语句的详细介绍:

1. If语句

  • 基本形式:if语句用于在满足特定条件时执行一段代码。
if (condition) {
    // 执行代码
}


示例:

int a = 10;
if (a > 5) {
    std::cout << "a大于5" << std::endl;
}


2. Else语句

  • 与If结合:else语句用于在if条件不满足时执行另一段代码。
if (condition) {
    // 条件满足时执行
} else {
    // 条件不满足时执行
}

示例:

int a = 3;
if (a > 5) {
    std::cout << "a大于5" << std::endl;
} else {
    std::cout << "a小于或等于5" << std::endl;
}

3. Else If语句

  • 多重条件:else if用于在多个条件之间做出选择。
if (condition1) {
    // 条件1满足时执行
} else if (condition2) {
    // 条件2满足时执行
} else {
    // 以上条件都不满足时执行
}

示例:

int score = 85;
if (score >= 90) {
    std::cout << "优秀" << std::endl;
} else if (score >= 60) {
    std::cout << "及格" << std::endl;
} else {
    std::cout << "不及格" << std::endl;
}

4. Switch语句

  • 选择控制:switch语句根据变量的值选择执行不同的代码分支。
switch (expression) {
    case value1:
        // value1时执行
        break;
    case value2:
        // value2时执行
        break;
    // 更多cases
    default:
        // 没有匹配时执行
}

示例:

char grade = 'B';
switch (grade) {
    case 'A':
        std::cout << "优秀" << std::endl;
        break;
    case 'B':
    case 'C':
        std::cout << "良好" << std::endl;
        break;
    case 'D':
        std::cout << "及格" << std::endl;
        break;
    default:
        std::cout << "不及格" << std::endl;
}

5. 嵌套条件语句

  • 条件语句可以嵌套使用,以构建复杂的逻辑。
if (condition1) {
    // ...
    if (condition2) {
        // ...
    }
}

6. 条件运算符

  • C++还提供了三元条件运算符?:,用于简洁的条件表达。
int a = 10, b = 5;
int max = (a > b) ? a : b;  // 如果a > b,max = a,否则max = b

循环语句

在C++中,循环语句用于重复执行一段代码多次,直到满足某个特定的条件。C++提供了几种循环语句,包括while循环、do-while循环和for循环。以下是这些循环语句的详细介绍:

1. While循环

  • 用途:当给定的条件为真时,重复执行代码块。
  • 格式:
while (condition) {
    // 循环体
}

特点:循环开始前会检查条件。如果初始条件为假,则循环体一次也不执行。

#include <iostream>
int main() {
    int i = 0;
    while (i < 5) {
        std::cout << i << std::endl;
        i++;
    }
    return 0;
}


2. Do-While循环

  • 用途:至少执行一次代码块,然后在条件为真时重复执行。
  • 格式:
do {
    // 循环体
} while (condition);

特点:循环体至少执行一次,因为条件检查发生在循环体之后。

#include <iostream>
int main() {
    int i = 0;
    do {
        std::cout << i << std::endl;
        i++;
    } while (i < 5);
    return 0;
}

3. For循环

  • 用途:重复执行代码块,通常用于执行已知次数的循环。
  • 格式:
for (initialization; condition; increment) {
    // 循环体
}

特点:包括初始化表达式、循环条件和迭代表达式。

#include <iostream>
int main() {
    for (int i = 0; i < 5; i++) {
        std::cout << i << std::endl;
    }
    return 0;
}


4. 范围Based For循环(C++11及以上版本)

  • 用途:遍历容器(如数组或向量)中的每个元素。
  • 格式:
#include <iostream>
#include <vector>
int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    for (int v : vec) {
        std::cout << v << std::endl;
    }
    return 0;
}


c++语句详细介绍(二)https://developer.aliyun.com/article/1437104?spm=a2c6h.13262185.profile.43.5bba685cuSQkDD



目录
相关文章
|
机器学习/深度学习 分布式计算 大数据
【大数据技术】Spark MLlib机器学习特征抽取 TF-IDF统计词频实战(附源码和数据集)
【大数据技术】Spark MLlib机器学习特征抽取 TF-IDF统计词频实战(附源码和数据集)
215 1
|
XML 数据格式
xmpp即时通讯四
     TLS协商(5节)后,如果需要SASL协商(6节)与资源绑定(7节),XML节可通过流来发送。定义了三种XML节用于 'jabber:client'与'jabber:server'命名空间:&lt;message/&gt;, &lt;presence/&gt;, and &lt;iq/&gt;。另外,这种节有五个通用属性。这些通用属性,像三种节的基本语义一样,都定义在此;与即时消
1057 0
MFC中创建没有子窗口的MDI应用程序
如何创建一个 没有子窗口的多文档应用程序 ..  这里涉及到     CCommandLineInfo  类    下面说说这个类的用处     这个类在 MFC应用程序初始化时候调用  可以通过命令参数 来设置 程序初始状态        在 APP类的初始化函数中有如下代码      CCommandLineInfo cmdInfo;   .
772 0
|
3天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。
|
4天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
372 91
|
5天前
|
SQL 人工智能 自然语言处理
Geo优化SOP标准化:于磊老师的“人性化Geo”体系如何助力企业获客提效46%
随着生成式AI的普及,Geo优化(Generative Engine Optimization)已成为企业获客的新战场。然而,缺乏标准化流程(Geo优化sop)导致优化效果参差不齐。本文将深入探讨Geo专家于磊老师提出的“人性化Geo”优化体系,并展示Geo优化sop标准化如何帮助企业实现获客效率提升46%的惊人效果,为企业在AI时代构建稳定的流量护城河。
385 156
Geo优化SOP标准化:于磊老师的“人性化Geo”体系如何助力企业获客提效46%