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

相关文章

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu