C语言------三目运算符(条件运算符)

今天在看C语言的时候看到了下面的代码(废话少说,直接上代码):

#include <stdio.h>
int main()
{int max();
extern int A,B,C;            //把外部变量A,B,C的作用域扩展到从此处开始
printf("Please enter three integer numbers:");
scanf("%d,%d,%d",&A,&B,&C);            //输入3个整数给A,B,C
printf("max is %d\n",max());
return 0;
}

int A,B,C;

int max()
{int m;
m=A>B?A:B;            //把A和B中的大者放在m中
if(C>m) m=C;            //把A,B,C三者中的大者放在m中
return(m);            //返回m的值
}

运行结果如下:

Please enter three integer numbers:34 67 12
max is 67

这个例子很简单,其中运用了三目运算符:

m=A>B?A:B;

如果在条件语句中,只执行单个的赋值语句时, 常可使用条件表达式来实现。不但使程序简洁,也提高了运行效率。

条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:

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

其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。 条件表达式通常用于赋值语句之中。

例如条件语句:

if(a>b) max=a;

else max=b;

可用条件表达式写为 max=(a>b)?a:b; 执行该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。

使用条件表达式时,还应注意以下几点:

1. 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。因此 max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b

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

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

原文地址:https://www.cnblogs.com/anweilx/p/12200529.html

时间: 2024-10-14 05:16:47

C语言------三目运算符(条件运算符)的相关文章

C语言:三目运算符

条件运算符是C语言的唯一的三目运算符,即它需要3个数据或表达式构成条件表达式 它的一般形式为: 表达式1?表达式2:表达式3 如果表达式1为真,三目运算符的运算结果为表达式2的值,否则为表达式3的值 举例: 进行判断 如果a>b,则取a,否则为b 结果为5

深扒JS三目运算符的潜力 解决if...else局部作用域问题

众所周知JavaScript是一个基于对象的语言,大家不要忘记另外一个层面,它是一门“函数式编程”语言.对的就是函数.很多从后台转过来的程序员(Java,C#等)对JS可谓深恶痛绝,我曾经就是其中一员.应为大家总想尝试像使用自己更熟悉的另一种语言一样来使用JS,然后发现JS并不像他们熟悉的那种语言.那是应为大家不了解JS函数的独特之处. 函数是第一类型对象 它门可以通过字面量进行创建 它们可以赋值给变量,数组货其他对象的属性 它们可以作为参数传递给其他函数 它们可以作为函数的返回值进行返回 它们

Stage 1 - Course 1 - JAVA基础知识

CHAPTER 1 初识JAVA 一.课前准备:配置环境变量 1.添加环境变量的位置 计算机->计算机->右击->属性->高级系统设置->环境变量->系统环境变量  2.配置JAVA环境变量 1)创建一个环境变量 变量名:JAVA_HOME 值:jdk安装根目录 D:\TOOLS\Java\jdk1.7.0_67 2)在Path环境变量下添加:%JAVA_HOME%\bin;(最好放在最前面,%是替换符 :是路径开始或结束) 3)分别测试一下命令: java;  jav

转战JS(1) 初探与变量类型、运算符、常用函数与转换

转战JS(1)初探与变量类型.运算符.常用函数与转换 做为一名.NET后台开发人员,正考滤向Web前端开发转型,之前也写过一代前端代码,可是当再回头看JS,并有转向它的意愿的时候,突然发现:原来JS不是那么简单的.很多的细节部分以前都没有注意到,现在把学习的知识点记录下来,做为学习笔记,好时不时看看.如果有什么错误,还请各位看官多多包涵.多多指正. JavaScript是一门轻量型的面向Web编程的脚本言语言,常被简称为:JS.广泛应用于PC和各种移动设备中,常和HTML.CSS一起组成网页页面

JS初探_0702(一)

此文转载自:http://www.cnblogs.com/nhsd/p/3783900.html!非常感谢,写的十分详尽 JavaScript是一门轻量型的面向Web编程的脚本言语言,常被简称为:JS.广泛应用于PC和各种移动设备中,常和HTML.CSS一起组成网页页面.它也常被一些人和Java相关连起来,然而实质上它们完全是两种不同的编程语言(当我遇到这事后,才相信原来还真有人这么认为).JavaScript的运行,需要解释器(“引擎”),为浏览器的一部分.本章的内容为: 1.  JS的引用.

(转载)虚幻引擎3--【UnrealScript教程】章节一: 15.选择结构

选择结构选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程.通常游戏AI是用选择结构来实现逻辑的. 让我们一个个来看Unrealscript中的逻辑吧~·class MyUSGame extends actorplaceable; var int i1,i2,i3,i4;function PostBeginPlay(){//先来定义几个要用的变量i1=1;i2=2;i3=3;i4=4;/*if 多条件判断语句:*if(条件表达式){*语句块*}*else

Day 03

1.算术运算的注意点 强制类型转换 double a = (double)1 / 2; double b = (double)(1 / 2);// 错误写法 求余运算结果的正负性取决于第一个运算数,跟后面的运算数无关 2.类型转换问题 2.1自动转换(隐式转换): 自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成. 自动转换遵循以下规则: 相同数据类型的值才能进行运算(比如加法运算),而且运算结果依然是同一种数据类型.系统会自动对占用内存较少的类型做一个“自动类型提升”的操作 若参与

【学习笔记】【C语言】三目运算符

1.N目运算符 像逻辑非(!).负号(-)这种只连接一个数据的符号,称为“单目运算符”,比如!5.-5.像算术运算符.关系运算符.逻辑运算符这种连接二个数据的负号,称为“双目运算符”,比如6+7.8*5.5>6.4 && 0.以此类推,连接3个数据的运算符,应该称为“三目运算符” 2.三目运算符 C语言提供了唯一一个三目运算符:条件运算符.1> 使用格式 表达式A ? 表达式B : 表达式C2> 运算结果 如果表达式A成立,也就是为“真”,条件运算符的结果就是表达式B的值

【好程序员笔记分享】C语言之三目运算符

ios培训------我的c语言笔记,期待与您交流! // 三目运算符 条件 ? 数值1 : 数值2 //如果条件成立则返回数值1,不成立则返回数值2 //int a = !100 ? 9 : 89; //printf("a=%d\n", a); //a=89 #include <stdio.h> int main() { /* 计算2个整数之间的最大值 int a = 10; int b = 99; int c = a>b ? a : b; printf("