文档章节

C Primer Plus 第7章 C控制语句:分支和跳转 7.5 条件运算符 ? :

idreamo
 idreamo
发布于 2016/06/18 07:52
字数 525
阅读 35
收藏 0

这是个有三个操作数的分两部分的运算符。有三个操作数的运算符就称为三元运算符。下面是一个得到一个数的绝对值的例子:

x = (y<0) ? -y : y ;

等号和分号之间就是条件表达式。以if else的语法可以这样写:

if (y<0)

    x = -y;

else

    x = y;

下面是条件表达式的一般形式:

expression1 ? expression2 : expression3

如果1为真,整个条件表达式的值和2的值相同。如果1为假,整个条件表达式的值等于3的值。

当希望将两个可能的值中的一个赋给变量时,可以使用条件表达式。典型的例子是将两个值中的最大值赋给变量:

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

如果a>b,那么max的值等于a,否则等于b。

一个喷漆程序的例子:

这个程序计算向给定的平方英尺的面积涂漆,全部涂完需要多少罐油漆。基本的数学法则很简单:用平方英尺数除以每罐能涂抹的平方英尺数。但是假设结果是1.7罐会怎么样?商店整罐卖漆,而不拆开卖,所以必须买两罐。所以程序在得到非整数罐的结果时应该进1。条件运算符常用于处理这种情况,而且在适当的时候也用来打印can或cans。

#include <stdio.h>
#define COVERAGE 200 // 每罐漆可喷的平方英尺数

int main(void)
{
    int sq_feet;
    int cans;

    printf("Enter number of square feet to be painted: \n");
    while(scanf("%d",&sq_feet)==1)
    {
        cans = sq_feet / COVERAGE;
        cans += ((sq_feet % COVERAGE == 0)? 0 : 1);
        printf("You need %d %s of paint.\n",cans,
               cans==1?"can":"cans");
        printf("Enter next value (q to quit): \n");
    }
    return 0;
}

上例表明,条件运算符也可以使用字符串作为它的第二个和第三个操作数。

© 著作权归作者所有

idreamo
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
C Primer Plus 第7章 C控制语句:分支和跳转 本章概要

在本章中您将学习到以下内容: *关键字 if / else / switch / continue / break / case / default / goto *运算符 && || ?: *函数: getchar() / putchar() 以及ctype.h系列 *怎样使用if和i...

idreamo
2016/06/12
47
0
C Primer Plus 第11章 11.7 ctype.h字符函数和字符串

第7章“C控制语句 分支和跳转”介绍了ctype.h系列字符相关的函数。这些函数不能被 应用于整个字符串,但是可以被应用于字符串中的个别字符。程序清单11.26定义了一个函数,它把toupper( )函数...

idreamo
2016/08/27
52
0
Google Go Primer(一)

Go语言是什么? Google最近发布新型的编程语言,Go。它被设计为将现代编程语言的先进 性带入到目前仍由C语言占统治地位的系统层面。然而,这一语言仍在试验阶段并在不断演变。 Go语言的设计者...

曾赛
2010/04/27
641
0
关东升的《《从零开始学Swift》即将出版

大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》《从零开始学Swift》将在《Swift开发指南》第1版的基础上添加Swift2.0的...

智捷课堂
2015/08/17
109
0
《Java从小白到大牛》之第7章 控制语句

《Java从小白到大牛》纸质版已经上架了!!! 程序设计中的控制语句有三种,即顺序、分支和循环语句。Java程序通过控制语句来管理程序流,完成一定的任务。程序流是由若干个语句组成的,语句...

tony关东升
2018/06/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

反编译9.png图片还原

本文链接:https://blog.csdn.net/a1140778530/article/details/10528507 经常反编译apk文件找资源,9.png的文件处理起来很麻烦。 最近使用Ant自动编译打包app时,从别处搜罗来的9.png文件导...

shzwork
2分钟前
0
0
Shell脚本应用 – for、while循环语句

一、for循环语句 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同。例如:根据通讯录中的姓名列表创建系统账号等情况。 当面对各种...

linux-tao
2分钟前
0
0
RPA风潮下企业财务工作模式的变革

RPA(机器人流程自动化)在财务领域的应用,正给企业财务带来前所未有的改变。 前RPA时代,财务领域面临的痛点 在RPA机器人应用之前,企业财务工作进程的推进,主要通过财务人员人工操作或信...

UiBot
7分钟前
0
0
Hive之命令行修改表注释

最近遇到一个需求,在不重建表的情况下,修改表的注释,hive有没有类似关系型数据库的SQL命令来修改呢,找了下,亲测有效,如下List-1 List-1 hive>use your_schemahvie>ALTER TABLE tabl...

克虏伯
8分钟前
0
0
是什么,它的作用是什么

在HTML文档的首部往往会有这么一句话<!DOCTYPE html>,许多时候我们忽视了它的存在,它实际上是一个声明,告诉浏览器用哪种HTML版本的规范来解读HTML文档。 尽管我们不给出这句声明浏览器照样...

前端老手
13分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部