选择结构程序综合举例

简介: 选择结构程序综合举例

switch 语句在编程中用于实现多分支选择结构,它允许程序根据一个表达式的值来执行不同的代码块。switch 语句通常与整数或字符类型的变量一起使用,但在某些编程语言(如Java 7及以上版本和C#)中,也支持字符串类型的switch语句。

下面是一个使用 switch 语句的C语言示例,展示了如何实现多分支选择结构,并附有足够的注释和说明以满足1000字的要求。

#include <stdio.h> 

int main() { 
// 定义一个整数变量用于存储用户的选项 
int choice; 

// 提示用户输入选项 
printf("请选择一个选项:\n"); 
printf("1. 显示欢迎信息\n"); 
printf("2. 显示当前时间(本例中仅模拟显示)\n"); 
printf("3. 执行计算任务(示例:计算两个数的和)\n"); 
printf("4. 退出程序\n"); 

// 读取用户输入 
scanf("%d", &choice); 

// 使用switch语句根据用户选择执行不同的代码块 
switch (choice) { 
case 1: // 如果用户选择了1 
// 显示欢迎信息 
printf("欢迎使用该程序!\n"); 
break; // 使用break语句跳出switch语句,防止执行下一个case的代码 

case 2: // 如果用户选择了2 
// 显示当前时间(本例中仅模拟显示) 
printf("当前时间是:模拟时间 12:34:56\n"); // 注意:这不是真实时间,仅为示例 
break; 

case 3: // 如果用户选择了3 
// 执行计算任务(示例:计算两个数的和) 
int num1, num2, sum; 
printf("请输入第一个数:"); 
scanf("%d", &num1); 
printf("请输入第二个数:"); 
scanf("%d", &num2); 
sum = num1 + num2; 
printf("两个数的和是:%d\n", sum); 
break; 

case 4: // 如果用户选择了4 
// 退出程序 
printf("感谢使用,程序将退出。\n"); 
// 在C语言中,通常使用return语句退出main函数,从而结束程序 
return 0; 

default: // 如果用户输入了不在上述case中的值 
// 输出错误消息 
printf("无效的选项,请重新输入。\n"); 
// 在这个例子中,我们没有使用break,因为default后面没有其他的case需要避免执行 

// 我们可以选择重新提示用户输入,或者执行其他操作 
// 这里为了简化示例,我们直接结束程序 
return 1; // 非零返回值通常表示程序出现了错误 
} 

// 如果没有break语句,并且用户的输入匹配了某个case,那么程序会继续执行后续的case,直到遇到break或switch语句结束 
// 这被称为case穿透或case下落,通常是不希望发生的,除非有特殊需求 

// 在这个示例中,我们为每个case都添加了break语句,以避免case穿透 

return 0; // 程序正常结束,返回0 
}

在上面的代码中,我们定义了一个 choice 变量来存储用户的选项。然后,我们使用 switch 语句根据 choice 的值执行不同的代码块。每个 case 关键字后面跟着一个可能的 choice 值,以及当该值匹配时要执行的代码。break 语句用于防止程序继续执行下一个 case 的代码。default 子句用于处理所有不匹配的情况。在这个示例中,如果用户输入了一个无效的选项,程序会输出一个错误消息并退出。

目录
相关文章
|
固态存储 关系型数据库 MySQL
TiDB亿级数据亚秒响应查询集群部署
TiDB亿级数据亚秒响应查询集群部署
538 0
|
10月前
|
JavaScript 前端开发 安全
JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择
本文深入探讨了JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择。JavaScript以其灵活性和广泛的生态支持著称,而TypeScript通过引入静态类型系统,提高了代码的可靠性和可维护性,特别适合大型项目。文章还讨论了结合使用两种语言的优势,以及如何根据项目需求和技术背景做出最佳选择。
926 4
|
11月前
|
设计模式 开发框架 开发工具
深入理解移动应用开发:从概念到实践
【9月更文挑战第30天】在这篇文章中,我们将深入探讨移动应用开发的各个方面。我们将从移动应用开发的基本概念开始,然后逐步深入到具体的技术实现。我们将讨论移动操作系统的基础知识,包括Android和iOS的架构和特性。然后,我们将深入探讨移动应用开发的关键技术,包括编程语言、开发框架和应用设计模式。我们还将提供一些代码示例,以帮助读者更好地理解和掌握这些概念和技术。最后,我们将讨论移动应用开发的未来趋势和挑战。
278 6
|
Linux 程序员 Shell
【Linux】进程的基本属性|父子进程关系
【Linux】进程的基本属性|父子进程关系
【Linux】进程的基本属性|父子进程关系
|
云安全 负载均衡 安全
CC攻击和DDoS攻击
【8月更文挑战第17天】
714 4
|
Prometheus 监控 Cloud Native
Gin 集成 prometheus 客户端实现注册和暴露指标
Gin 集成 prometheus 客户端实现注册和暴露指标
420 0
|
SQL 安全 关系型数据库
关系型数据库REVOKE语句
`REVOKE` 语句用于在关系型数据库中撤销用户或角色的权限,以增强安全性。基本语法包括指定权限类型(如 `SELECT`)、对象类型和名称,以及目标用户或角色。可选地,可以使用 `GRANT OPTION FOR` 撤销授予权限的能力,以及 `CASCADE` 或 `RESTRICT` 处理依赖关系。示例:`REVOKE SELECT ON TABLE employees FROM john;` 这句话撤销用户 `john` 对 `employees` 表的 `SELECT` 权限。各数据库系统可能有不同的语法细节,建议参照具体系统的官方文档。
313 3
|
机器学习/深度学习 人工智能 算法
深入分析自动化测试中AI驱动的测试用例生成
【5月更文挑战第4天】随着人工智能(AI)技术的飞速发展,其在软件测试领域的应用也日益广泛。特别是在自动化测试过程中,AI技术能够显著提高测试用例的生成效率和质量。本文将探讨AI在自动化测试用例生成中的应用原理、优势以及面临的挑战,并展示通过AI技术优化测试流程的实际案例。
753 8
|
人工智能 关系型数据库 MySQL
Linux | MySQL安装Workbench图形化
Linux | MySQL安装Workbench图形化
|
机器学习/深度学习 安全 网络安全
网络信息安全之零信任
根据NIST《零信任架构标准》中的定义:零信任(Zero Trust,ZT)提供了一系列概念和思想,在假定网络环境已经被攻陷的前提下,当执行信息系统和服务中的每次访问请求时,降低其决策准确度的不确定性。零信任架构(ZTA)是一种企业网络安全的规划,它基于零信任理念,围绕其组件关系、工作流规划与访问策略构建而成。
1206 1