条件运算符的语法为:

(条件表达式)?(条件为真时的表达式):(条件为假时的表达式)

例如:

x=a

条件运算符构成一个表达式。它是C++中唯一一个3元运算符,它们之间用“?”和“:”隔开。上例中,把a和b中较小的值赋给x。该例是if...else语句的一个替代:

if(a

x=a;

else

x=b;

条件运算符构成表达式,它是有值的。而if..else语句不能有值,所以if..else语句不能替代条件运算符。例如,下面的代码不能由if..else替代:

cout <

输出语句要打印一个值,该值是a与b的较小值。由于<

条件运算符表达式的值与测试值没有直接的关系。例如:

cout <

该输出语句中,条件运算符表达式的条件若成立,取值为“file”,否则,取值为“files”。其中,条件为两个整型数的比较, 而表达式的值为字符串。

条件运算符可以嵌套。例如:

x>y?"greater than":x==y?"equal to":"less than"

它等价于:

(x>y)?"greater than":((x==y)?"equal to":"less than")

当x>y时,值为"greater than",x==y时,值为"equal to",否则,值为"less than"。条件运算符的嵌套可读性不够好。

在一个条件运算符的表达式中,如果后面两个表达式的值类型相同,均为左值,则该条 件运算符表达式的值为左值表达式。例如:

int x=5;

long a,b;

(x?a:b)=1; //ok:因为a和b都是左值

(x?x:a)=2;//error:x和a不同类型。编译器将其解释为(1ong)x和a

(x==271:a)=3; //error:1非左值

"(x?a:b)=1"表示当x为0时,b=1,否则a=1。这里的括号是必须的,否则将被看作x?a:(b=1)。"(x?x:a)=2”中,尽管x是左值,a也是左值,但x与a不同类型,条件运算符要对其进行操作数的隐式转换,使之成为相同的类型。任何被转换的变量都不是左值。

->在C中,条件运算符是不能作左值的,所以"(x?a:b)=1;"将通不过编译。

getchar

函数名: getchar

功 能: 从stdio流中读字符

用 法: int getchar(void);

注解:

c语言运算符的语法,C语言中条件运算符的语法为相关推荐

  1. c语言when的使用方法,sql 中 case when 语法使用方法

    没有,用case when 来代替就行了. 例如,下面的语句显示中文年月 select getdate() as 日期,case month(getdate()) when 11 then '十一' ...

  2. c语言运算符计算作业题,c语言练习集(含答案)

    以下为<c语言练习集(含答案)>的无排版文字预览,完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览.图片预览是什么样的,下载的文档就是什么样的. <C语言程序设计> 习 ...

  3. c语言运算符优先级结合,C语言运算符优先级及结合性

    今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...

  4. c语言 运算符的作用,C语言运算符

    原标题:C语言运算符 运算符 在应用程序中,经常会对数据进行运算,为此,C语言提供了多种类型的运算符,即专门用于告诉程序执行特定运算或逻辑操作的符号.根据运算符的作用,可以将 C语言中常见的运算符分为 ...

  5. c++语言运算符的优先次序,C++中的运算符和运算符优先级总结

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C++ 内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本文将逐一介绍算术运 ...

  6. c语言运算符 amp 的意思,C++中运算符 amp;和amp;amp;、|和|| 的详解及区别

    C++中运算符 &和&&.|和|| 的详解及区别 简介: &&是逻辑与运算符,||是逻辑或运算符,都是逻辑运算符,两边只能是bool类型 &与| 既可以 ...

  7. c语言运算符优先级结合,C语言运算符优先级和结合性

    4. 什么是AJAX 术语Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验.在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的"思考 ...

  8. c语言运算符 %3c%3c4,C语言学习笔记二---数据类型运算符与表达式

    一.C的基本语法单位 1.标识符:有效长度:31(DOS环境下) 2.关键字:main不是 3.分隔符:空格符,制表符,换行符,换页符 4.注释符:a./*.....*/   b.// 二.C的常用输 ...

  9. c语言运算符ascii表,C语言运算符优先级和ASCII表

    ExecutorService线程池 ExecutorService 建立多线程的步骤: 1.定义线程类 class Handler implements Runnable{} 2.建立Executo ...

最新文章

  1. Windows系统错误代码解释集合
  2. python获取当前时间的函数_java/python中获取当前系统时间,并与字符串相互转换格式,或者转化成秒数,天数等整数...
  3. roast和roasting区别_《吐槽大会》的英文居然是roast!为什么?
  4. Android 数据库制作APP,在Android 中使用Anko框架制作一个完整的App,第二集
  5. java.util.ListIterator
  6. 如何用Jquery做图片展示效果
  7. UltraISO v 9.6 单文件版
  8. 使用虚拟环境 virtualenv
  9. 嵌入式软件开发是什么?
  10. Eclipse编辑器基本设置
  11. 服务器文件怎么清理,文件传输服务器怎么清理内存
  12. 实体操盘手开发分销商城小程序商业模式解析
  13. 怎样淡化疤痕留下的色素沉着
  14. 基于STM32的TLC2543驱动程序
  15. Python实现PhotoShop人脸液化变形效果
  16. 字符串加密与解密_一种可以用在程序加密的功能
  17. 注意!吃蔬菜也有误区
  18. 撕开帝国裂缝的互联网+饮料公司——元气森林是如何做的?
  19. Centos7 内存插槽信息
  20. 用C++模拟大数的除法 ————墨白

热门文章

  1. 解决Jenkins升级时浏览器一直提示Please wait while Jenkins is restarting问题
  2. npm i -g windows-build-tools安装出错解决方法
  3. too many open files(打开的文件过多)解决方法
  4. 微信扫码支付模式二【无法回调】解决方案
  5. 如何通过日期属性对数组进行排序
  6. c# 单例 按需创建
  7. Angular route传参
  8. 7.5. Function
  9. Native SBS for Android
  10. linux的read命令