C++条件运算符(- -)
来源:互联网 发布:女朋友说有人撩她 知乎 编辑:程序博客网 时间:2024/06/05 02:01
若在if语句中,当被判别的表达式的值为“真”或“假”时,都执行一个赋值语句且给同一个变量赋值时,可以用简单的条件运算符来处理。例如,若有以下if语句:
if (a>b) max=a;
else max=b;
可以用条件运算符(? :)来处理:
max=(a>b)?a:b;
其中“(a>b)?a:b”是一个“条件表达式”。它是这样执行的:如果(a>b)条件为真,则条件表达式的值就取“?”后面的值,即条件表达式的值为a,否则条件表达式的值为“:”后面的值,即b。
if (a>b) max=a;
else max=b;
可以用条件运算符(? :)来处理:
max=(a>b)?a:b;
其中“(a>b)?a:b”是一个“条件表达式”。它是这样执行的:如果(a>b)条件为真,则条件表达式的值就取“?”后面的值,即条件表达式的值为a,否则条件表达式的值为“:”后面的值,即b。
条件运算符要求有3个操作对象,称三目(元)运算符,它是C++中惟一的一个三目运算符。条件表达式的一般形式为:
表达式1 ? 表达式2 : 表达式3;
条件运算符的执行顺序是:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。“max=(a>b)?a:b” 的执行结果是将条件表达式的值赋给max。也就是将a和b二者中的大者赋给max。条件运算符优先于赋值运算符,因此上面赋值表达式的求解过程是先求解条件表达式,再将它的值赋给max。
条件表达式中,表达式1的类型可以与表达式2和表达式3的类型不同。如
x ? ‘a': ‘b';
如果已定义x为整型变量,若x=0,则条件表达式的值为字符’b’的ASCII码。表达式2和表达式3的类型也可以不同,此时条件表达式的值的类型为二者中较高的类型。如有条件表达式x>y?1:1.5,如果x≤y,则条件表达式的值为1.5,若x>y,值应为1,由于C++把1.5按双精度数处理,双精度的类型比整型高,因此,将1转换成双精度数,以此作为表达式的值。
【例3.7】输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
#include <iostream>using namespace std;int main( ){ char ch; cin>>ch; ch=(ch>='A' && ch<='Z')?(ch+32):ch; //判别ch是否大写字母,是则转换 cout<<ch<<endl; return 0;}
阅读全文
0 0
- c语言中的条件运算符
- C语言中的条件运算符
- C语言 条件运算符(? : )的用法
- C语言的条件运算符
- C算法-条件运算符嵌套
- 55 C语言条件运算符
- 7.5 C控制语句:条件运算符
- C语言条件运算符实例分析
- 我的c学习:条件运算符和条件表达式
- C语言:条件运算符和条件表达式
- c++primer plus字符库函数和条件运算符
- Python练习13----类似C语言的条件运算符?:
- C语言-条件运算符 ,返回的是一个值
- <c语言经典100例>c13 条件运算符
- C语言条件运算符与if-else语句
- ECMAScript 条件运算符
- 条件运算符?:
- 8.条件运算符
- 【JavaSE笔记】集合(二)_泛型
- Android 中的style和Theme的使用
- java之工厂模式
- 运行时权限
- 一些文章的链接地址
- C++条件运算符(- -)
- JVM 垃圾回收 Minor gc vs Major gc vs Full gc
- Nginx的配置文件nginx.conf配置详解
- 防止并发问题
- 自定义动画下拉刷新,可仿美团、京东
- MAC彻底删除程序
- ORA-00245 control file backup operation failed 分析和解决
- [记坑]webview与JS交互,多个交互问题
- qiniu云上传header设置