C语言 流程图与伪代码 缩减

2024-04-25 21:04
文章标签 语言 代码 流程图 缩减

本文主要是介绍C语言 流程图与伪代码 缩减,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文 我们来说说流程图 伪代码和代码缩进

这些可以让我们在后面书写复杂逻辑时 不会感到 繁琐或逻辑混乱

流程图(Flowchart)

是用以算法、工作流或流程的一种框图表示,它以不同类型的框代表不同种类的步骤,每两个步骤之间则以箭头连接。
流程图是程序的一种比较直观的表示形式。
流程图大多时候自上而下绘制以表示流程的进行,使用菱形表示问题判断或判定,使用矩形表示普通的操作行为,使用箭头表示满足某个条件时流程的进行方向。

下面 我们来对比观看 左边是单分支的if结构流程图 右边则是 双分支if else 结构流程图
在这里插入图片描述
根据流程图分析 if中 只有一个可控制的分支 而 if esle 则有两个

其实 除了 选择结构 还有嵌套的 if esle 结构
简单说 就是讲一个 if else 语句 嵌套进另一个 if else中
在这里插入图片描述
C语言规定,每个 else 总是与同一层代码中离它最近的未被配对的if配对。
如下图 我们的 else 就应该 和 第二个if 配对
在这里插入图片描述
假如想要和第一个if配对 合理的使用复合语句构造代码块就可以解决这个问题。
在这里插入图片描述
用花括号 将他们语句扩起来 这样 就和第一个if 配对了

这里 我们可以做一个 嵌套if 的案例
我们让用户输入一个数值 如果 输入的值大于我们预定的值 回馈给用户 你猜大了
如果小于 则回馈用户 你猜小了 如果正好 告诉他 你猜对了
我们代码这样写

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>int main() {int n;scanf("%d", &n);if (n > 40) {printf("你猜的数字比实际值大!");} else {if (n < 40)printf("你猜的数字比实际值小!");elseprintf("你猜对了!");}return 0;
}

这里 我们先用 scanf 让用户输入一个数值
然后 判断 这个值
先判断 它是不是等于 40
如果是 则 输出 你猜的数字比实际值大!

然后 else 表示 首先 输入的不大于 40
那么 我们就还剩两种情况 正好等于 40 或者 小于40
在else中再嵌套一层if逻辑

我们运行代码
它先会要求我们输入内容
在这里插入图片描述
我们输入 一个 70

那么 70显然大于 40 走进来第一个if的语句
在这里插入图片描述
我们重新运行代码
然后 输入 20
20 显然是 小于 40的 走进了 else中的 第一个if中
在这里插入图片描述
我们再次重新运行
输入 40

显然 走进来 else中的else
在这里插入图片描述
当然 我们之前讲过 else if 如果希望更方便的写出这个逻辑 其实完全可以这样写

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>int main() {int n;scanf("%d", &n);if (n > 40) {printf("你猜的数字比实际值大!");}else if (n < 40) {printf("你猜的数字比实际值小!");}else {printf("你猜对了!");}return 0;
}

效果也是一样的
这就是 一个多分支if语句的实现方式

多分支if语句的流程图 如下图
在这里插入图片描述
它的逻辑 就是从 1 到 N语句判断 条件成立执行语句 如果全部不成立 执行n
无论执行了哪一个语句 都不会再执行其他语句

我们 代码 如果书写不规范 会导致 if等语句 匹配错误 要控制好缩减

这篇关于C语言 流程图与伪代码 缩减的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935787

相关文章

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum