C/C++算术运算符与表达式基本、赋值、逗号运算符(全)

1.分类:

(1)加法 “+”,或正值运算符,如2+9=11,+6。(2)减法 “_”,或负值运算符,如9-5=4,-5。(3)乘法“”,如48=32。

(4)除法“/”,如7/2=3,整除结果为整数,舍去小数,只取商。(5)求模 “%”,或称求余运算符,要求两侧均为整数,如9%2=1

2.优先级:

() 〉 *、/、%、 〉 +,–

自增自减运算符

1.作用:自增运算使单个变量的值增1,自减运算使单个变量的值减1。

2、运算规则:

(1)前置运算:运算符放在变量之前:++a、--a,先使变量的值增

;(或减)1,然后再以变化后的值参与其它运算,即先增减、后运算。

(2)后置运算:运算符放在变量之后:a++、a--,变量先参与其它

运算,然后再使变量的值增(或减)1,即先运算、后增减。

举例:

#include<stdio.h>
int main()
{
    int i=3,j;
    j=i++;
    printf("i=%d,j=%d\n",i++,j);
    j=++i;
    printf("i=%d,j=%d\n",++i,j);
    j=--i;
    printf("i=%d,j=%d\n",i--,j);
    j=i--;
    printf("i=%d,j=%d\n",--i,j);
    return 0;
}

运行结果:

注意说明:

(1)++和--只能用于变量,而不能用于常量或表达式。

如:(i+j)++或5--是不合法的。

(2)++和--的结合方向是“自右至左”。

如:i=4,则-i--相当于-(i--)结果为-4,而i的值为3。

(3)运算符的组合原则是自左而右。

如:a+++b等价于(a++)+b,而不是a+(++b)。

(4)++和--常用于循环语句中,使循环变量加(或减)1,指针变量中,使指针上移(或下移)一个位置。

定义:

算术表达式是用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,其中运算对象可以是常量、变量、函数等。

例如:

a*b/c-1.5+’a’是一个合法的算术表达式。

注意说明:

1)与数学表达式的书写形式的区别:

C语言算术表达式的乘号()不能省略。例如:b2-4ac,应该写成bb-4ac。

C语言表达式中只能出现字符集允许的字符。例如:πr2应该写成PIrr。

C语言算术表达式不允许有分子分母的形式。例如:(a+b)/(c+d)不等于a+b/c+d。

C语言算术表达式只使用圆括号改变运算的优先顺序(不能用{}[])。

(2)各运算符的“优先级”和“结合性”:

在表达式求值时,按运算符的优先级高低次序执行,如:a-bc等价于a-(bc)。

如果优先级别相同,则按规定的“结合方向”,如表达式:a-b+c结合性为“自左向右”,所以等价于(a-b)+c。

C对于复杂表达式为了清晰起见可以加圆括号“()”强制规定计算顺序。

2、赋值运算符与表达式
复合赋值运算符

+=,–=,*=,/=,%=,<<=,>>=,&=,”=,丨=

一般形式:

变量 复合赋值符=表达式 ← → 变量=变量 运算符 表达式

例如:

a+5=5 等价于 a=a+5

x*=y+7 等价于 x=x*(y+7)

r%=p 等价于 r=r%p

定义:

由赋值运算符组成的表达式称为赋值表达式。

一般形式:

变量=表达式

例如:

x=5 赋值表达式x=5的值为 为5,x的值也为5。

x=1%2+(y=5) 赋值表达式的值为6, x的值也为6,y的值为5。

a=(b=6)或a=b=6 赋值表达式的值为6, a、b的值均为6。

a+=a*(a=5) 相当于a=5+5*5,赋值 表达式的值为30,a的值最终也是30。

功能:

赋值表达式的功能是计算表达式的值在赋予左边的变量。

赋值语句举例

语句编写:

#include<stdio.h>
int main()
{
    int a;                           //定义整型变量
    a=34.567;                   //赋值
    printf("a=%d\n",a);   //输出结果
    return 0;
}

运行结果:

注意说明:

(1)赋值表达式加上一个分号则可构成赋值语句,即:变量=表达式:

(2)赋值语句不是表达式,表达式可以用在其它语句或

表达式中,而语句只能作为一个单独的语句使用。(3)C语言规定:可以在定义变量的同时给变量赋值,也叫给变量初始化。例如:int x=5;

(4) 赋值运算时,当赋值运算符两边数据类型不同时,

系统自动进行类型转换,转换原则是:先将赋值号右边表达式类型转换为左边变量的类型,然后赋值。

3、逗号运算符

C语言提供一种用逗号","运算符,逗号运算符又称顺序求职运算符。

表达式一般形式:

表达式1,表达式2,......,表达式n

举例语句编写

#include<stdio.h>
int main()
{
    int a=1,b=2,c=3,x,y;     //定义变量
    y=(x=a+b,b+c,x+c);   //赋值表达式
    printf("x=%d,y=%d\n",x,y);  //输出结果
    return 0;
}

运行结果:

注意说明:

(1)逗号表达式的求解过程为:先求解表达式1,再求解表达式2,依次类推。结合性自左向右。

(2)表达式n的值就是整个逗号表达式的值。

(3)逗号运算符的优先级是所有运算符中最低的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值