C语言条件运算符详解

如果希望获得两个数中最大的一个,可以使用 if 语句,例如:

if(a>b){max = a;
}else{max = b;
}

不过,C语言提供了一种更加简单的方法,叫做条件运算符,语法格式为:

表达式1 ? 表达式2 : 表达式3

条件运算符是C语言中唯一的一个三目运算符,其求值规则为:如果表达式1的值为真,则以表达式2 的值作为整个条件表达式的值,否则以表达式3的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。

上面的 if else 语句等价于:

max = (a>b) ? a : b;

该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。
我们可以认为条件运算符是一种简写的 if else,完全可以用 if else 来替换。

使用条件表达式时,还应注意以下几点:
1 . 条件运算符的优先级低于关系运算符和算术运算符,但高于赋值符。因此

max=(a>b) ? a : b;

可以去掉括号而写为

max=a>b ? a : b;

2 . 条件运算符?和:是一对运算符,不能分开单独使用。

3 . 条件运算符的结合方向是自右至左。例如:

a>b ? a : c>d ? c : d;

应理解为:

a>b ? a : ( c>d ? c : d );

这也就是条件表达式嵌套的情形,即其中的表达式又是一个条件表达式。

用条件表达式重新编程,输出两个数中的最大值:

#include <stdio.h>
int main(){int a, b;printf("Input two numbers:");scanf("%d %d", &a, &b);printf("max=%d\n", a>b?a:b);return 0;
}

运行结果:

Input two numbers:23 45
max=45

如果感觉不错的话记得点赞哟!!!

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

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

相关文章

C++ PAT 乙级 1007——素数对猜想

题目详情 让我们定义 dnd_ndn​ 为 dnpn1−pnd_n p_{n 1} - p_ndn​pn1​−pn​&#xff0c;其中 pip_ipi​ 是第 i 个素数。显然有 d11d_1 1d1​1&#xff0c;且对于 n > 1有 dnd_ndn​ 是偶数。 “素数对猜想”认为“存在无穷多对相邻且差为2的素数”&#xff0c;现给…

python实例 65,66

65.题目&#xff1a;一个最优美的图案 #65 import math class PTS:def __init__(self):self.x 0self.y 0 points []def LineToDemo():import tkinter screenx 400screeny 400canvas Canvas(width screenx,height screeny,bg white)AspectRatio 0.85MAXPTS 15h scr…

C语言while循环和do while循环详解

在C语言中&#xff0c;共有三大常用的程序结构&#xff1a; 顺序结构&#xff1a;代码从前往后执行&#xff0c;没有任何“拐弯抹角”&#xff1b; 选择结构&#xff1a;也叫分支结构&#xff0c;重点要掌握 if else、switch 以及条件运算符&#xff1b; 循环结构&#xff1…

C语言for循环详解

for 循环的使用更加灵活&#xff0c;在日常的程序开发过程中我们会使用的更多一些。 使用 while 循环来计算1加到100的值&#xff0c;代码如下&#xff1a; #include <stdio.h> int main(){int i, sum0;i 1; //语句①while(i<100 /*语句②*/ ){sumi;i; //语句③}…

python基础入门(6)之列表

目录 一、Python列表 一.列表基本知识 1)创建列表 2&#xff09;列出表值 3&#xff09;列表长度 4&#xff09;列表项 - 数据类型 5&#xff09;Python 集合&#xff08;数组&#xff09; 二.访问列表 1.正常索引 2)负索引 3)索引范围 4&#xff09;负指数范围 5…

山东大学 2020级数据库系统 实验一

What’s more? 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 2020级数据库系统 实验五 山东大学 2020级数据库系统 实验六 山东大学 2020级数据库系统 实验七 山东大学 …

C语言break和continue用法详解

使用while或for循环时&#xff0c;如果想提前结束循环&#xff08;在不满足结束条件的情况下结束循环&#xff09;&#xff0c;可以使用break或continue关键字。 break关键字 我们使用break来跳出 switch 语句。 当 break 关键字用于 while、for 循环时&#xff0c;会终止循…

python基础入门(7)之元组

目录 Python元组 一、元组理解 1.1&#xff09;基本定义 1.2&#xff09;元组长度 1.3&#xff09;数据类型 二、访问元组 2.1&#xff09;正常访问 2.2&#xff09;负索引 2.3&#xff09;范围性索引 三、更新元组 3.1&#xff09;替换 ​3.2&#xff09;添加项目…

山东大学 2020级数据库系统 实验二

What’s more 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 2020级数据库系统 实验五 山东大学 2020级数据库系统 实验六 山东大学 2020级数据库系统 实验七 山东大学 20…

C语言嵌套循环详解

在C语言中&#xff0c;if-else、while、do-while、for 都可以相互嵌套。**所谓嵌套&#xff08;Nest&#xff09;&#xff0c;就是一条语句里面还有另一条语句&#xff0c;**例如 for 里面还有 for&#xff0c;while 里面还有 while&#xff0c;或者 for 里面有 while&#xff…

jupyter(Anaconda)设置默认打开文件夹

win r 输入 cmd 回车 再输入如下命令回车&#xff1a; jupyter notebook --generate-config然后&#xff1a;打开生成的文件路径 进去后&#xff1a;编辑这个py ctrl f 搜索&#xff1a;notebook_dir定位 去掉# &#xff0c;引号后改为你要打开的文件路径&#xff08;路径…

山东大学 2020级数据库系统 实验三

What’s more 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 2020级数据库系统 实验五 山东大学 2020级数据库系统 实验六 山东大学 2020级数据库系统 实验七 山东大学 20…

C语言选择结构和循环结构的汇总

C语言中常用的编程结构有三种&#xff0c;它们分别是&#xff1a; 顺序结构&#xff1a;代码从前往后依次执行&#xff0c;没有任何“拐弯抹角”&#xff0c;不跳过任何一条语句&#xff0c;所有的语句都会被执行到。选择结构&#xff1a;也叫分支结构。代码会被分成多个部分&a…

山东大学 2020级数据库系统 实验四

What’s more 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 2020级数据库系统 实验五 山东大学 2020级数据库系统 实验六 山东大学 2020级数据库系统 实验七 山东大学 20…

jupyter(Anaconda)打不开浏览器

问题描述 有时jupyter不能自动打开浏览器&#xff0c;jupyter notebook输入回车后&#xff0c;不能跳转&#xff0c;把输出的链接复制粘贴到浏览器后&#xff0c;写的代码页不能运行。 问题解决 不是软件什么的问题&#xff0c;而是他们的用户名为中文的问题。只要把用户名改为…

C语言数组初入

情景 实用程序输出一个 44 的整数矩阵&#xff0c;代码如下&#xff1a; #include <stdio.h> #include <stdlib.h> int main() {int a120, a2345, a3700, a422;int b156720, b299, b322, b42;int c1233, c2205, c31, c46666;int d134, d20, d323, d423006783;pri…

最全python爬虫库安装详解

目录 一、请求库的安装 1.requests 的安装 2.Selenium的安装 3.ChromeDrive 的安装 4.GeckoDriver 的安装 5.PhantomJS 的安装 6.aiohttp 的安装 二、解析库的安装 1.lxml 的安装 2.Beautiful Soup 的安装 3.pyquery 的安装 4.tesserocr 的安装 一、请求库的安装 …

山东大学 2020级数据库系统 实验五

What’s more 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 2020级数据库系统 实验五 山东大学 2020级数据库系统 实验六 山东大学 2020级数据库系统 实验七 山东大学 20…

C语言二维数组的使用

二维数组的定义 二维数组定义的一般形式是&#xff1a; dataType arrayName[length1][length2];其中&#xff0c;dataType 为数据类型&#xff0c;arrayName 为数组名&#xff0c;length1 为第一维下标的长度&#xff0c;length2 为第二维下标的长度。 我们可以将二维数组看…

python基础入门(8)之集合

目录 Python集合 一、集合理解 二、访问集合 2.1&#xff09;遍历集合 3.2&#xff09;检查是否存在 三、添加集合 3.1&#xff09;添加项目值 3.3&#xff09;添加任何可迭代对象 四、移除集合项 4.1&#xff09;remove方法 4.2&#xff09;iscard() 方法 4.3&…