C语言条件运算符——三元表达式例题(素材来自C技能树)

news2024/11/17 3:50:08

📑三目运算符

  • 三目运算符也叫条件运算符、三元运算符,是由一个问号和一个冒号组成。
  • 语法:
  表达式1?表达式2:表达式3;
  • 语义:
  • 先执行表达式1,如果表达式1的结果如果为真,那么执行表达式2,并且这个整体的运算式的结果是表达式2的结果;如果表达式1的结果如果为假,执行表达式3,运算式的结果是表达式3的结果。
  int a,b,c;
  a=7;
  b=6;
  c=(a>b)?a:b;
  • 等同于
  if (a>b) c=a;
  else c=b;
  • 三目运算符可以嵌套使用,我不建议使用三目运算符,过于复杂的三目运算难以理解。

📑题目要求

三数最大值

输入三个整数,求出最大值并输出。以下选项中的条件表达式,哪一项放在(1)处无法求出最大值。

#include <stdio.h>

int main(int argc, char** argv)
{
    int a, b, c, max;
    printf("请输入3个整数:");
    scanf("%d,%d,%d", &a, &b, &c);

    (_____1_____)
    printf("3个整数中的最大的是:%d", max);

    return 0;
}

条件表达式的基本逻辑:

  • A、max = a > b ? a > c ? a : c : b > c ? b : c;
  • B、max = (c > ((a > b) ? a : b)) ? c : ((a > b) ? a : b);
  • C、max = c > (a > b) ? a : (b ? c : (a > b)) ? a : b;
  • D、max = a > b ? (a > c ? a : c) : (b > c ? b : c);

📑题目分析

A选项:

A选项包括了三个三元表达式,一个嵌套两个,还是很好理解的,假设a比b大,a则继续与c比较,反之b比a大则b继续与c比较,进而可以判断出最大值,因此A选项对。


B选项:

B选项也是包括了三个三元表达式,一个嵌套两个,只不过多了些括号的使用,要注意优先级的处理。首先从左往右看,先看第一部分可以得出,在第一个三元表达式中判断a和b谁大,可以得出c>a>b或c>b>a的条件,如果条件为true,c为最大值,反之进入第二部分,对a和b的大小进行判断,最后得出a或b其中一个为最大值,因此B选项正确。


C选项:

C选项也是包括了三个三元表达式,一个接着一个嵌套,先对c > (a > b)进行分析,先判断a和b的大小,可以得出c>a>b或c>b>a的条件,假设条件为true,直接输出表达式2为a,假设条件为false,走表达式3的嵌套三元表达式,输出结果还是a,因此C选项不正确,无法求出最大值。


D选项:

D选项跟B选项很像也是包括了三个三元表达式,一个嵌套两个。从左到右看,首先a大于b,a与c比较大小,a大输出a,反之输出c。然后a小于b,b与c比较大小,b大输出b,反之输出c,因此B选项正确。

 📚C语言——习题、知识点案例,持续更新🔥  

🎯点赞收藏,防止迷路🔥 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/30308.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

level2接口有什么用?是如何获取A股行情数据的?

目前国内有很多数据团队专门为金融机构、学术团体和量化研究者们提供的本地量化金融数据服务&#xff0c;那么最常见的就是通达信、同花顺等团队&#xff0c;他们开发出来的level2接口可快速查看和计算金融数据&#xff0c;无障碍解决本地、Web、金融终端调用数据的需求。为了满…

彻底解决 K8s 节点本地存储被撑爆的问题

一、存储的内容 要解决存储使用过多的问题&#xff0c;就得先了解存储中都保存了些什么内容&#xff0c;否则解决不了问题&#xff0c;还可能带来更多的风险。 1.1、镜像 容器要在节点上运行&#xff0c;kubelet 首先要拉取容器镜像到节点本地&#xff0c;然后再根据镜像创建…

3分钟读懂RD与RT

Route-Distinguisher&#xff08;后简称"RD"&#xff09;&#xff0c;Route-Target&#xff08;后简称"RT"&#xff09;经常出现在EVPN、MPLS VPN中&#xff0c;但它们是完全不同的两个概念&#xff0c;初学者往往难以区分两者的差异。学霸题&#xff1a;区…

Jmeter入门

性能测试&#xff1a;模拟多个用户的操作对服务器硬件性能的影响 TPS&#xff1a;Transaction per Second&#xff0c;每秒事务处理能力 RT&#xff1a;Response Time&#xff0c;响应时间 安装 由于本人只有window系统&#xff0c;故只讲解win下的安装 安装JDK 下载地址&a…

2023年最热门的网络安全岗位分析

大数据、人工智能、云计算、物联网、5G等新兴技术的高速发展&#xff0c;蒸蒸日上。但是随之也出现了许多问题&#xff0c;比如&#xff1a;政府单位、企业、个人信息泄露&#xff0c;网络安全问题日益严峻&#xff0c;网络空间安全建设刻不容缓。 网络安全人才需求量巨大&…

双核驱动,合力共进,郁锦香与凯里亚德酒店强强联合释放多元化商业价值

近日&#xff0c;以“清风雅茗 亨嘉之会”为主题的2022锦江酒店&#xff08;中国区&#xff09;厦门站品牌投资品鉴会圆满落幕&#xff0c;众多投资人和酒店品牌方负责人齐聚一堂&#xff0c;在充满文艺气息的滨海城市厦门&#xff0c;感受精致、愉悦的慢生活。在品牌见面环节&…

NodeJs实战-Express构建照片存储网站(1)-ejs视图引擎填充数据

ejs视图引擎填充数据express 生成项目安装 express-generator生成项目程序结构理解项目结构生成的文件的含义视图渲染填充照片数据增加路由器修改 app.js修改 routes增加对应的视图页面路由器 res.render 查找视图逻辑新增文件之后的项目结构图效果图项目地址express 生成项目 …

kali Linux常用快捷键及vim的基本使用

kali Linux 系统快捷键 Ctrl Alt T &#xff1a;打开一个新的命令行终端。 如果是在桌面打开的是这种情况 Ctrl C 复制。 Ctrl Z 撤消。 Ctrl S &#xff1a;保存 Ctrl Q &#xff1a;退出。 终端快捷键 TAB &#xff1a;补全命令。 Ctrl &#xff1a;放大文字…

Netty系列(一):Springboot整合Netty,自定义协议实现

Netty是由JBOSS提供的一个java开源框架&#xff0c;现为 Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具&#xff0c;用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说&#xff0c;Netty 是一个基于NIO的客户、服务器端的编程框架&…

目标检测论文解读复现之十六:基于改进YOLOv5的小目标检测算法

前言 此前出了目标改进算法专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读最新目标检测算法论文&#xff0c…

Java项目使用intellij-IDEA查看依赖包版本是否有冲突(方法及工具)

编译器及版本idea-ultimate依赖管理工具maven 第一个是idea本身的 Step1&#xff1a;点击右侧的maven Step2&#xff1a;右键依赖项&#xff0c;点击分析依赖关系 Step3&#xff1a;可以在模块名位置进行切换&#xff0c;左侧三角的标志则表示该包引入了多个版本&#xff…

【云原生】Docker网络原理及Cgroup硬件资源占用控制

内容预知 1.dockers的网络模式 获取容器的进程号 docker网络模式的特性 1.1 host主机模式 1.2 container模式 1.3 none模式 1.4 bridge 桥接模式 1.5 容器的自定义网络 &#xff08;1&#xff09;未创建自定义网络时&#xff0c;创建指定IP容器的测试 &#xff08;2&a…

双坐标轴柱状图

双坐标轴柱状图 setwd(“H:/分析评价 20220531/6-分析过程”) #设置工作路径 library(xlsx)#加载excel文件包 #---------------------------------------------------------------------------------------------------------- tiff(file“1-占比.tiff”,res600,width6000,hei…

负载均衡有哪些?

目录 【一】前言 【二】负载均衡分类 2.1 DNS 2.2 硬件负载均衡 2.3 软件负载均衡 2.4 组合负载均衡 【三】负载均衡算法 3.1 负载均衡算法分类 3.2 轮询 3.3 加权轮询 3.4 负载最低优先 3.5 性能最优类 3.6 Hash 【四】总结 【一】前言 在互联网尤其是移动互联…

【前沿技术RPA】 一文了解UiPath的项目活动设置

&#x1f40b;作者简介&#xff1a;博主是一位.Net开发者&#xff0c;同时也是RPA和低代码平台的践行者。 &#x1f42c;个人主页&#xff1a;会敲键盘的肘子 &#x1f430;系列专栏&#xff1a;UiPath &#x1f980;专栏简介&#xff1a;UiPath在传统的RPA&#xff08;Robotic…

【计算机组成原理Note】5.2 指令周期的数据流

5.2 指令周期的数据流 5.2.1 指令周期 指令周期&#xff1a;CPU从主存中每取出并执行一条指令所需的全部时间。 指令周期&#xff1a;常常用若干机器周期来表示&#xff0c;机器周期又叫CPU周期。 一个机器周期又包含若干时钟周期(也称为节拍、T周期或CPU时钟周期&#xff…

SpringCloud微服务(十一)——Sentinel服务熔断限流

SpringCloud Alibaba Sentinel服务熔断与限流 简介 github&#xff1a;[https://github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B5](https://github.com/alibaba/Sentinel/wiki/如何使用) 官网&#xff1a;https://spring-cloud-alibaba-group.github.io/github-pages/…

为什么追踪员工的时间和出勤率很重要

监控员工的出勤时间和出勤率对于提高业务绩效和生产力至关重要。实施有效计时策略的组织可以帮助员工跟上项目目标和截止日期&#xff0c;提高客户满意度&#xff0c;并加强对员工产出的整体意识。所以每个企业组织都应该掌握员工出勤时间和出勤数据。 为什么要掌握员工出勤时…

阿里架构师耗时 1 年,把 P8 所需要的整个 Java 体系,都整理到了一起

有人调侃我们说&#xff1a; 程序员不如送外卖。送外卖是搬运食物&#xff0c;自己是搬运代码&#xff0c;都不产出新的东西…… 透支体力&#xff0c;又消耗健康&#xff0c;可替代性极强&#xff0c;30 岁之后就要面临被优化的危险…… 想跳槽&#xff0c;但是更高的平台难…

微信小程序怎么弄?【小程序制作】

微信小程序怎么弄&#xff1f;很多人都会想弄一个微信小程序&#xff0c;因为微信小程序这个轻应用现在的使用频率已经赶上微信了&#xff0c;有如此大的用户群体&#xff0c;企业和商家当然都想在这个庞大流量池里分一杯羹。那么微信小程序怎么弄呢&#xff1f;下面一起来看看…