iOS开发-【C语言】三目运算符
1.N目运算符
像逻辑非(!)、负号(-)这种只连接一个数据的符号,称为“单目运算符”,比如!5、-5。
像算术运算符、关系运算符、逻辑运算符这种连接二个数据的负号,称为“双目运算符”,比如6+7、8*5、5>6、4 && 0、
以此类推,连接3个数据的运算符,应该称为“三目运算符”
2.三目运算符
C语言提供了唯一一个三目运算符:条件运算符。
1> 使用格式
表达式A ? 表达式B : 表达式C
2> 运算结果
如果表达式A成立,也就是为“真”,条件运算符的结果就是表达式B的值,否则,就为表达式C的值
3> 结合方向和优先级
优先级顺序为:算术运算符 > 关系运算符 > 条件运算符 > 赋值运算符
条件运算符的结合方向是“从右至左”
int a = 3>4 ? 4+5 : 5>4 ? 5+6 : 6>7+1;
上面的代码等价于
int a = (3>4) ? (4+5) : ( (5>4) ? (5+6) : (6>(7+1)) );
简化一下就是
int a = 0 ? 9 : ( 1 ? 11 : 0 );
继续简化为
int a = 0 ? 9 : 11;
所以a的值是11

1 // 三目运算符 条件 ? 数值1 : 数值2
2
3 //int a = !100 ? 9 : 89;
4
5 //printf("a=%d\n", a);
6
7
8 #include <stdio.h>
9
10 int main()
11 {
12 /* 计算2个整数之间的最大值
13 int a = 10;
14
15 int b = 99;
16
17 int c = a>b ? a : b;
18
19 printf("c is %d\n", c);
20 */
21
22 // 计算3个整数之间的最大值
23 int a = 10;
24 int b = 999999;
25 int c = 1000;
26
27 // 求出a、b的最大值
28 int abMax = (a > b) ? a : b;
29 // 求出最终的最大值
30 int d = (abMax > c) ? abMax : c;
31
32 //int d = (((a > b) ? a : b) > c) ? ((a > b) ? a : b) : c;
33
34 printf("d is %d\n", d);
35 return 0;
36 }

iOS开发-【C语言】三目运算符的更多相关文章
- 李洪强漫谈iOS开发[C语言-043]-判断较早日期
李洪强漫谈iOS开发[C语言-043]-判断较早日期
- 李洪强漫谈iOS开发[C语言-043]-练习
李洪强漫谈iOS开发[C语言-043]-行李重量计算价格
- 李洪强漫谈iOS开发[C语言-042]-简单计算器
李洪强漫谈iOS开发[C语言-042]-简单计算器
- 李洪强漫谈iOS开发[C语言-041]-计算月份天数
李洪强漫谈iOS开发[C语言-041]-计算月份天数
- 李洪强漫谈iOS开发[C语言-040]-switch case
李洪强漫谈iOS开发[C语言-039]-switch case 补充:
- 李洪强漫谈iOS开发[C语言-039]-剪刀石头布
李洪强漫谈iOS开发[C语言-039]-剪刀石头布
- 李洪强漫谈iOS开发[C语言-038]-if else if语句
李洪强漫谈iOS开发[C语言-038]-if else if语句
- 李洪强漫谈iOS开发[C语言-037]-if else 语句
李洪强漫谈iOS开发[C语言-037]-if else 语句
- Android &Swift iOS开发:语言与框架对比
转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...
- 李洪强漫谈iOS开发[C语言-044]-翻译数字
李洪强漫谈iOS开发[C语言-044]-翻译数字
随机推荐
- linux运维笔记——常用命令详解diff
1.diff 你可以把diff看成是linux上的文件比对工具 例子文件内容: [root@localhost disks]# cat test1.txt a b c d [root@localhos ...
- KMP字符串匹配算法
static void Main(string[] args) { var d = KMP("abcabcadabc55abcabcadabc55", "abcabcad ...
- linux笔记-硬链接和符号链接
硬链接:指多个路径名(不同目录下的不同文件名)指向同一个硬盘数据,用其中的随便哪个文件打开修改数据,都会在其他文件打开中更新, 原因就是硬链接和“原”文件inode相同,每增加或者删除一个链接,链接计 ...
- c# 程序检测日志输出的类
public class LogWrite { public LogWrite() { // // TODO: ...
- 下载android 源码
http://source.android.com/source/downloading.html 1.下载repo 官网:curl http://commondatastorage.googleap ...
- HTML控件篇 -- input
1. 取消input提示框及自动填充: <input type="text" autocomplete="off" /> 处理chrome下自动填充 ...
- Windows 7 防火墙对Virtualbox guest的影响
今天测试ASA的public servers配置,在自己的Win7手提用Virtualbox装了个Linux作为测试服务器,网络设置为bridged.从外网可以ping通测试服务器,也可以连80端口, ...
- Cocos2d-x Application Wizard for Visual Studio User Guide
0. Overview Cocos2d-x-win32's project can be generated by Wizard. Wizard supports Visual Studio 2008 ...
- 无线安全专题01--kali破解WPA
最近一直用flask写自己的博客框架,等过段时间才能将其分享出来,所以在此期间决定开个无线安全的专题,分享一些无线安全方面的知识. 好了,废话不多说,咱们进入今天的主题,使用kali linux上的无 ...
- iOS开发之组件化架构漫谈
前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬,还是 ...