百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

玩转C语言:switch语句和跳转语句的绝佳应用指南!

wptr33 2025-03-19 17:25 9 浏览

当谈到C语言中的分支语句和跳转语句时,主要涉及的是switch语句以及break语句和continue语句的使用。这些语句提供了一种控制程序流程的方式,使程序可以根据条件执行不同的操作或跳过某些代码块。下面我将逐步介绍这些概念并提供一些示例,帮助你更好地理解它们。

分支语句(switch语句):

switch语句允许根据不同的条件执行不同的代码块。它通常用于处理多个选择情况,并根据不同的选项执行相应的代码。下面是switch语句的一般形式:

switch (expression) {
    case constant1:
        // 执行代码块1
        break;
    case constant2:
        // 执行代码块2
        break;
    ...
    case constantN:
        // 执行代码块N
        break;
    default:
        // 当没有匹配的常量时执行的代码块
}

expression是一个表达式,其结果将与各个case后的常量进行比较。
case后的常量可以是整数或字符常量,它们将与expression的值进行比较。
如果某个case匹配了expression的值,将执行该case后的代码块,并且通过break语句跳出switch语句。
如果没有匹配的case,将执行default后的代码块(可选)。
下面是一个示例,演示如何使用switch语句根据用户输入的数字执行不同的操作:

#include 

int main() {
    int choice;
    printf("请输入一个数字(1-3): ");
    scanf("%d", &choice);

    switch (choice) {
        case 1:
            printf("你选择了数字1\n");
            break;
        case 2:
            printf("你选择了数字2\n");
            break;
        case 3:
            printf("你选择了数字3\n");
            break;
        default:
            printf("无效的选择\n");
    }

    return 0;
}

在上述示例中,根据用户输入的数字,程序将输出相应的消息。如果输入的数字不是1、2或3,则将输出"无效的选择"。

跳转语句:

跳转语句用于控制程序的执行流程,它们可以使程序跳过一些代码块或在循环中终止循环的执行。以下是两种常见的跳转语句:

break语句:
break语句用于在switch语句或循环中提前结束代码块的执行,并跳出该语句或循环。当break语句执行时,程序将继续执行跳出的语句或循环之后的代码。下面是一个示例,展示了如何在switch语句中使用break语句:

#include 

int main() {
    int choice;
    printf("请输入一个数字(1-3): ");
    scanf("%d", &choice);

    switch (choice) {
        case 1:
            printf("你选择了数字1\n");
            break;
        case 2:
            printf("你选择了数字2\n");
            break;
        case 3:
            printf("你选择了数字3\n");
            break;
        default:
            printf("无效的选择\n");
    }

    printf("程序继续执行...\n");

    return 0;
}

在上述示例中,如果用户输入的数字是1、2或3,将会输出相应的消息,并且在执行完相应的代码块后跳出switch语句,继续执行后续的代码。

continue语句:
continue语句用于在循环中跳过当前迭代,并开始下一次迭代。当continue语句执行时,程序将直接跳过当前迭代剩余的代码,并开始下一次循环迭代。下面是一个示例,展示了如何在循环中使用continue语句:

#include 

int main() {
    int i;
    for (i = 1; i <= 5; i++) {
        if (i == 3) {
            continue;
        }
        printf("%d ", i);
    }

    printf("\n循环结束\n");

    return 0;
}

在上述示例中,当变量i的值等于3时,将执行continue语句,跳过后续的代码(即printf语句),并开始下一次循环迭代。这将导致输出中没有数字3。

希望通过以上讲解,你能对C语言中的分支语句(switch语句)和跳转语句(break语句、continue语句)有一个更好的理解。不断练习和编写代码是巩固和提高你的C语言技能的关键,祝你取得成功!

每天坚持学习一点点,不求有回报,只愿可以丰富自己!!!

相关推荐

每天一个AI姬,AMD核显用户有福了,AI绘画打破 NVIDIA 显卡垄断

使用StableDiffusion进行AI绘画,并不一定只能使用NVIDIA英伟达显卡,甚至,也不一定只能使用独立显卡。今天我们使用AMD6800H核显,并安装了StableDif...

NETworkManager:功能强大的网络管理与问题排除工具

关于NETworkManagerNETworkManager是一款功能强大的网络管理与问题排除工具,该工具完全开源,可以帮助广大研究人员轻松管理目标网络系统并排除网络疑难问题。该工具使用远程桌面、Po...

AMD也能深度学习+免费AI绘画:StableDiffusion+ROCm部署教程!

某国政客扇扇嘴皮子,CN玩硬件和深度学习的圈子里就掀起了一场风暴,这就是著名的嘴皮子效应(误)。没了高性能计算的A100H100倒也能理解,但是美利坚这波把RTX4090禁售了就让人无语了,所以不少做...

windows 下编译 python_rtmpstream

最近在研究数字人,看了大咖的项目(https://github.com/lipku/metahuman-stream),尝试编译此项目的依赖项目python_rtmpstream(https://gi...

如何使用 Python 操作 Git 代码?GitPython 入门介绍

花下猫语:今天,我在查阅如何用Python操作Gitlab的时候,看到这篇文章,觉得还不错,特分享给大家。文中还提到了其它几种操作Git的方法,后续有机会的话,再陆续分享之~~作者:匿蟒...

网上看了不少,终于把ZlmediaKit流媒体框架搭建起来啦

你都站在2023年代了,视频通话、视频直播、视频会议、视频监控就是风口浪尖上的猪师兄,只要你学那么一丁点,拿个高薪的工作不过分吧!我也是半瓶子晃荡的,所以路人呀,共学习,同进步!本篇开始,只讲在Lin...

MacDown:一款 macOS 的强大 Markdown 编辑器

大家好,很高兴又见面了,我是"...

ZLMediaKit安装配置和推拉流

一、ZLMediaKit库简介ZLMediaKit是一个基于...

大神赞过的:学习 WebAssembly 汇编语言程序设计

文/阿里淘系F(x)Team-旭伦随着前端页面变得越来越复杂,javascript的性能问题一再被诟病。而Javascript设计时就不是为了性能优化设计的,这使得浏览器上可以运行的本地语言一...

【Docker】部署WVP视频监控平台

回来Docker系列,今天将会跟大家分享一则关于开源WVP视频监控平台的搭建。先说结论吧,一开始按照网上说的一步一步搭建没有搭建成功,不知道是版本太旧还是我这边机器有问题,尝试了好几个不同方式的搭建都...

MongoDB+GridFS存储文件方案

GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文...

【开源】强大、创新且直观的 EDA套件

今天分享的LibrePCB是...

Ollama如何制作自己的大模型?

背景Llama3发布了,这次用了...

Ollama使用指南【超全版】

一、Ollama快速入门Ollama是一个用于在本地运行大型语言模型的工具,下面将介绍如何在不同操作系统上安装和使用Ollama。官网:https://ollama.comGithub:http...

基于区块链的价值共享互联网即时通讯应用平台源码免费分享

——————关注转发之后私信回复【源码】即可免费获取到本项目所有源码基于区块链的价值共享互联网即时通讯应用平台,是一个去中心化的任何人都可以使用的通讯网络,是一款基于区块链的价值共享互联网即时通讯AP...