表达式

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:VS2015与 C++

撰写时间:2019/05/04

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

表达式是由数据和运算符,按求值规则,表达一个值的式子。

表达式可以分为:算术表达式/逻辑表达式/赋值表达式/条件表达式/逗号表达式。

 

自增自减:

 

 

算符

前缀式

后缀式

等价语句

自增

+  +

+  + i

i + +

i = i + 1

自减

  • -
  • - i

i - -

i = i - 1

 

这两者到底有什么区别呢?

前缀式: 先加后赋值

int a = 0,b = 1;

b = ++a; à b = (a+1) à b == 1; a == 1;

后缀式:先赋值后加

已知 b == 1,a == 1;

b = a++; -> b == 1; a == 2;

 

类型转换:

强制转换,类型符 (类型)

(类型)(表达式)

赋值时的类型转换是用类型符实现的类型转换是强制性的

 

关系运算:要注意关系运算的正确使用。

不能使用    a <= x <= b      

应该使用    a <= x && x <= b

 

赋值表达式:优先级很低,右结合,允许关联赋值

x = y = z + 2 ;

x = y = ( z + 2 ) ;

 

 

条件表达式:

条件表达式格式: E1 ? E2 : E3

其中的?称为条件运算符,是C++中唯一的三目运算符E1,E2,E3为表达式

若E1的值为true(非0),条件表达式的值为E2的值,即计算E2

若E1的值为false(0),条件表达式的值为E3的值,即计算E3

条件表达式的优先级比较低建议使用括号括住

例:max = a > b ? a : b;

 

逻辑表达式:

True(1) False(0) 表达式中求值非0都是true

 

逻辑运算符:

运算符

解释

结合性

&&

逻辑与

左结合

||

逻辑或

左结合

逻辑非

右结合

 

&& : 一假则假,全真为真            || : 一真则真

 

E1 && E2    当表达式 E1 的值为 0 时,不再对 E2 求值

E1 || E2    当表达式 E1 值为非 0 时,不再对 E2 求值

 

 

逗号表达式:运算级别最低,最后那一位获得表达式的值,也用于分隔符

a = 1 * 2,a + 1  à 2

a = ((1 * 2),a + 1) à 1

分隔符:fun(int a,int b);

 

运算符的优先关系(高到低)

单目运算符

乘除运算

加减运算

关系运算

逻辑与

逻辑或

赋值

逗号

 

键盘输入:

语句格式:cin >> 变量1 >> 变量2 …>>变量n;

例:int a;

    cin >> a;

    cout << a << endl;

 

 

屏幕输出语句格式:cout << 变量/常量 << endl;

屏幕输出(控制符):

控制符

功能

endl

输出一个新行符,并清空流

ends

输出一个空格符,并清空流

dec

用十进制表示法输入或输出数值

hex

用十六进制表示法输入或输出数值

Oct

用八进制表示法输入或输出数值

setfill(char c)

设置填充符 c

setprecision(int n)

设置浮点数输出精度(包括小数点)

setw(int n)

设置输出宽度

 

 

任何表达式加上一个分号成表达式语句

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值