当前位置: 首页 > news >正文

C语言——流程控制:if...else、switch...case

控制类语句:

 逻辑运算符:

选择语句:

if...else:

  

if()括号内的内容终究会被转换成0,1,满足的话即为1,不满足的话为0。因此要注意,()括号内因为条件语句,不能是赋值语句

示例一:比较两个数的大小,按照从小到大输出
#include<stdio.h>int main()  //不管输入两个数的大小,保证data1存放其中较小的数
{int data1;int data2;int datatemp;printf("请输入你的数据:\n");scanf("%d%d",&data1,&data2);if(data1 > data2)  //交换{printf("========\n");  //判断程序是否进入了循环,用来调试代码datatemp = data1;data1 = data2;data2 = datatemp;}printf("%d,%d",data1,data2);return 0;
}

 示例二:输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。

#include<stdio.h>int main()
{char cdata;printf("请输入一个字母:\n");scanf("%c",&cdata);if(65 <= cdata && cdata <= 90){                 //判断输入是否是大写字母printf("它对应的小写字母是:%c",cdata+32);}else if(97 <= cdata && cdata <= 122){          //判断输入的是否是小写字母printf("它本来就是小写字母:%c",cdata);}else{printf("你输入的不是字母\n");}return 0;
}

switch...case:

存在意义:if语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(85 分以上为'A'等,70~84 分为'B'等,60~69 分为'C'等),人口统计分类(按年龄分为老、中、青、少、儿童),工资统计分类,银行存款分类等。当然这些都可以用嵌套的if语句来处理,但如果分支较多,则嵌套的if语句层数多,程序冗长而且可读性降低。C语言提供 switch 语句直接处理多分支选择。

结构示例:
#include<stdio.h>int main()
{int data;char cdata;printf("请输入一个数:\n");scanf("%d",&data);switch(data){case 1:printf("符合1的情况\n");break;case 2:printf("符合2的情况\n");break;case 3:printf("符合3的情况\n");break;default:printf("符合其他情况\n");}getchar();  //吸收掉上一个scanf函数输入后的换行符printf("请输入一个字符:\n");scanf("%c",&cdata);switch(cdata){case 'a':printf("符合a的情况\n");break;case 'b':printf("符合b的情况\n");break;case 'c':printf("符合c的情况\n");break;default:printf("符合其他情况\n");}return 0;
}
示例一:

#include<stdio.h>int main()
{float number;printf("请输入任意一个数x=:");scanf("%f",&number);if(number < 1){printf("对应的函数值y=:%.3f",number);   //保留三位小数}else if(number >= 1 && number < 10){printf("对应的函数值y=:%.3f",2*number-1);}else{printf("对应的函数值y=:%.3f",3*number-11);}return 0;
}

相关文章:

C语言——流程控制:if...else、switch...case

控制类语句&#xff1a; 逻辑运算符&#xff1a; 选择语句&#xff1a; if...else&#xff1a; if&#xff08;&#xff09;括号内的内容终究会被转换成0,1&#xff0c;满足的话即为1&#xff0c;不满足的话为0。因此要注意&#xff0c;&#xff08;&#xff09;括号内因为条件…...

小白的OS Copilot 产品测评

背景 通过群友介绍才知OS Copilot 。不想错过任何优秀的AI产品。随着互联网的发展和时代的进步&#xff0c;要紧跟时代&#xff0c;了解市面上的优秀的AI科技产品。 OS Copilot 产品体验评测 1&#xff09;您的角色是什么&#xff1f;开发、运维、学生&#xff1f;如果使用O…...

使用Scikit-Learn决策树:分类问题解决方案指南

如何用scikit-learn的决策树分类器解决分类问题 1. 引言 在本教程中&#xff0c;我们将探讨如何使用scikit-learn&#xff08;sklearn&#xff09;库中的决策树分类器解决分类问题。决策树是一种强大的机器学习算法&#xff0c;能够根据输入数据的特征属性学习决策规则&#…...

E12.【C语言】练习:求两个数的最大公约数

1.枚举 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() {int a 0;int b 0;int tmp 0;scanf("%d %d", &a, &b);if (a < b){for (int i1; i < a; i){if (0a% i && 0b%i)tmp i;}}if (a>b){for (int i 1; i <…...

Elasticsearch:介绍 retrievers - 搜索一切事物

作者&#xff1a;来自 Elastic Jeff Vestal, Jack Conradson 在 8.14 中&#xff0c;Elastic 在 Elasticsearch 中引入了一项名为 “retrievers - 检索器” 的新搜索功能。继续阅读以了解它们的简单性和效率&#xff0c;以及它们如何增强你的搜索操作。 检索器是 Elasticsearc…...

全面升级的对象创建——抽象工厂模式(Python实现和JAVA实现)

1. 引言 大家好&#xff01;在之前的文章中&#xff0c;我们探讨了简单工厂和工厂方法模式&#xff1a; 轻松创建对象——简单工厂模式&#xff08;Python实现&#xff09; 轻松创建对象——简单工厂模式&#xff08;Java实现&#xff09; 灵活多变的对象创建——工厂方法模式…...

谷粒商城实战笔记-29~34-前端基础 - ES6

文章目录 零&#xff0c;安装Live Server插件一&#xff0c;创建前端工程1&#xff0c;创建工程2&#xff0c;在工程ES6中创建一个html文件 二&#xff0c;ES6 简介1&#xff0c;ES6 的历史 三&#xff0c;前端基础ES61&#xff0c;let 和 const1.1&#xff0c;let1.1.1 严格的…...

浔川官方撤销浔川总社部社长王*职位——浔川官方

2024年7月13日晚9点半&#xff0c;浔川社团举报中心接到举报&#xff0c; 询问情况后&#xff0c;才知&#xff0c;浔川社团前日&#xff08;7月13日&#xff09;发布了一篇文章《浔川回应浔川官方宣布官方账号将在CSDN进行无人管理——浔川官方》文章会被删除&#xff0c;官方…...

小白学python(第七天)

哈哈&#xff0c;这个系列的文章也有一段时间没更新&#xff0c;主要是最近在忙c嘎嘎&#xff0c;不过没事接下来会优先更python啦&#xff0c;那么我们先进入正题吧 函数的定义及调用 函数定义 格式&#xff1a;def 函数名&#xff08;形参列表&#xff09;&#xff1a; 语…...

npm和yarn清理缓存命令

yarn清除缓存 1、查看yarn全局缓存目录 yarn cache dir2、清除缓存 yarn cache cleannpm 清除缓存 1、将node-modules文件夹先删除 2、清理缓存命令&#xff1a; npm cache clean --force3、重新安装一次即可 npm install /cnpm install...

数据结构之初始二叉树(1)

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;数据结构&#xff08;Java版&#xff09; 目录 树型结构 树的概念 与树的有关概念 树的表示形式 树的应用 二叉树 概念 两种特殊的…...

STM32-寄存器点灯案例详解

本文以PA1引脚点亮LED灯为案例&#xff0c;解析了STM32寄存器操作的配置过程&#xff0c;以及从手册查询方法和寄存器配置步骤。 一、概念 1.十六进制和二进制之间相互转换关系 首先&#xff0c;需要了解十六进制和二进制之间的基本转换方法。十六进制是一种基数为16的数制&…...

Github Action 自动部署更新静态网页服务

本文首发于 Anyeの小站&#xff0c;点击跳转 获得更优质的阅读体验 前言 贴一段胡话 在用过 应用&#xff1a;静态网页服务 之后&#xff0c;事实证明&#xff1a; 总而言之&#xff0c;自动化是一个很令人着迷的东西&#xff0c;摆脱重复繁琐的工作&#xff0c;解放了双手的…...

如何在CSS中控制动画的触发位置?

如何在CSS中控制动画的触发位置&#xff1f; 在CSS中控制动画的触发位置主要是通过transform属性来实现的。例如&#xff0c;如果你希望动画从某个固定的位置开始&#xff0c;可以设置transform: translate(x, y)&#xff0c;其中x和y是你想让元素偏离其原始位置的距离。对于动…...

MFC流的形式读取图片

1.基于对话框布置控件 2.给控件绑定变量 3.给按钮控件添加响应函数 void CMFC流的形式读取图片Dlg::OnBnClickedButton1() {// TODO: 在此添加控件通知处理程序代码//HDC mECGDC; // 设备描述表句柄//CPen mECGDrawPen; // ECG波形画笔//RECT mECGRect; // 在该矩形区域内画…...

查找PPT中某种字体的全部对应文字

本文章的目的是找到某种字体的文字&#xff0c;而不是替换某种字体的文字&#xff0c;也不是将某种字体全部替换为另外一种文字。 第一步&#xff1a;在PPT中按下ALTF11 出现以下窗口 第二步&#xff1a;点击插入->模块 第三步&#xff1a;将以下代码输入到窗体中 Sub F…...

相机光学(三十一)——暗房设置的要求

ISO标准通常在测试相机时指定对周围条件的要求。由于摄影ISO组试图保持这些要求与所有标准一致&#xff0c;所以我们总结了这个“技术说明”中的重要方面。   温度应保持在23C /- 2C的范围内。在设计空调系统时&#xff0c;请记住图表照明的耗电量和发热量。湿度需要在&#…...

Linux安全技术与防火墙

一、安全技术和防火墙 1.1 安全技术 入侵检测系统&#xff1a;特点是不阻断网络访问&#xff0c;主要是提供报警和时候报警&#xff0c;不主动介入。 入侵防御系统&#xff1a;透明模式工作&#xff0c;对数据包、网络监控、服务攻击、木马蠕虫、系统漏洞等等进行准确的分析和…...

C#中简单Socket编程

C#中简单Socket编程 Socket分为面向连接的套接字(TCP套接字)和面向消息的套接字(UDP 套接字)。我们平时的网络编程是对Socket进行操作。 接下来&#xff0c;我用C#语言来进行简单的TCP通信和UDP通信。 一、TCP通信 新建项目SocketTest&#xff0c;首先添加TCP通信的客户端代…...

UNIAPP_ReferenceError: TextEncoder is not defined 解决

错误信息 1、安装text-decoding npm install text-decoding2、main.js import { TextEncoder, TextDecoder } from text-decoding global.TextEncoder TextEncoder global.TextDecoder TextDecoder...

从Proteus 8.13升级到8.15:为了串口通信,我做了这些事(附完整迁移与配置指南)

从Proteus 8.13升级到8.15&#xff1a;串口通信修复与平滑迁移实战指南 当你的电路仿真项目频繁遭遇串口通信异常&#xff0c;调试窗口不断弹出"COM Port Error"时&#xff0c;很可能是Proteus 8.13版本的已知缺陷在作祟。作为深度使用者&#xff0c;我经历过三次关键…...

PPT转视频工具,就得保留全部动画效果 —— 使用YOCO有感

在做课件视频这件事上&#xff0c;我踩过不少坑。一开始我以为&#xff0c;PPT转视频无非就是“把页面录下来”&#xff0c;后来才发现&#xff0c;真正决定视频质量的&#xff0c;不是画面清不清&#xff0c;而是PPT里的“动画逻辑”有没有被完整保留。而这一点&#xff0c;恰…...

深入理解ThreadLocal:为什么Entry的Key必须是弱引用?

前言 ThreadLocal是Java并发编程中一个非常重要的工具类&#xff0c;它能为每个线程维护独立的变量副本。但很多开发者对它的理解停留在“每个线程有自己的变量副本”这个层面&#xff0c;对于其内部实现细节&#xff0c;尤其是Entry的Key为什么设计成弱引用&#xff0c;往往一…...

GraphRAG硬核实战:打造企业“数字老师傅”

技术隐喻警示&#xff1a;如果你还在用传统的向量数据库试图解决企业级知识传承问题&#xff0c;这就像试图用“关键词搜索”去训练一个博士生——不仅力不从心&#xff0c;更是对算力的极度浪费。 在企业数字化转型的深水区&#xff0c;我们面临着一个极其残酷的**“默会知识”…...

Entries()方法

entries() 方法返回一个迭代器对象&#xff0c;包含数据结构中每个元素的键值对。不同数据结构的用法略有不同。1. 数组的 entries()返回索引和值的键值对const arr [a, b, c]; const iterator arr.entries();console.log(iterator.next().value); // [0, a] console.log(ite…...

CSS如何制作透明度渐变的蒙版_使用linear-gradient从黑色过渡到透明

linear-gradient做透明蒙版时背景没变暗&#xff0c;是因为未使用带alpha通道的颜色&#xff08;如rgba或带透明度的十六进制&#xff09;&#xff0c;而默认颜色如black或#000无透明度&#xff0c;导致渐变失效&#xff1b;必须用rgba(0,0,0,0.8)到rgba(0,0,0,0)等显式透明色&…...

Sanitizer工具集:高效检测内存与线程问题的实战指南

1. Sanitizer工具集概述Sanitizer是由Google发起的一套开源运行时检测工具集&#xff0c;专门用于帮助开发者发现程序中的各类隐藏缺陷。作为一名嵌入式开发者&#xff0c;我深刻体会到调试内存泄漏、线程竞争等问题时的痛苦。传统的调试手段往往需要耗费大量时间在复现和定位问…...

HarmonyOS6 半年磨一剑 - RcSwitch 组件内联提示与外部文字系统深度解析

文章目录前言一、switchInlinePrompt&#xff1a;两种显示策略1.1 模式切换的总开关二、外部文字模式2.1 文字的动态位置&#xff1a;跟随状态切换2.2 外部文字的样式处理2.3 外部文字配置示例三、内联模式&#xff1a;文字与图标嵌入圆点区域3.1 内联渲染的结构原理3.2 图标优…...

RL训练像点外卖?ProRL底层逻辑拆解(非常详细),从入门到精通看这篇!

一句话讲清楚&#x1f449;&#x1f3fb; NVIDIA提出ProRL Agent&#xff0c;把多轮LLM Agent的RL训练中「轨迹生成&#xff08;Rollout&#xff09;」这一步从训练框架中彻底剥离出来&#xff0c;变成一个独立的HTTP服务&#xff0c;训练侧只需发HTTP请求就能拿到轨迹和奖励信…...

【linux基础】小白超详细 Ubuntu 安装教程(AI提供)

全程零命令、零复杂设置&#xff0c;只教最稳妥、最安全的单系统全新安装&#xff08;清空硬盘装Ubuntu&#xff09;&#xff0c;从下载→做U盘→装系统→首次使用一步到位。一、安装前准备&#xff08;必看&#xff01;&#xff09;1. 硬件要求&#xff08;台式机轻松满足&…...