5--运算符与表达式

作者: _刘二哥 | 来源:发表于2019-01-24 22:23 被阅读1次

本节要掌握的内容:

                                            1、赋值运算符

                                            2、算术运算符

                                            3、关系运算符

                                            4、逻辑运算符    

                                            5、复合运算符

                                            6、三目运算符

                                            7、特殊运算符       

                                             8、运算符优先级    

                                             9、类型转换    

什么是表达式?

运算符将运算对象连接起来的式子,就叫表达式。这里的运算对象,可以是常量、变量及其他表达式。

赋值运算符

赋值运算符是“=”,其作用是将赋值运算符右侧的表达式的值赋给其左侧的变量。

示例一:int a= 10;

                a=20;

                示例一中使用了两次赋值运算符“=”,第一次是初始化将a的初值设置为10,第二次是将a的值改变为20。赋值语句作用就是赋值。

示例二:int a=0,b=5,c=10;

                a=b=c;

                10=a;

                a+b=c;

                示例二中三种写法都是错的,赋值符不能一句代码符赋值两次。赋值符左面不能出现常量和常量表达式。

赋值符可以和算术运算符一起写。下面将算术运算符。


算术运算符

        算术运算符(Arithmetic Operator)是程序语言中使用率最高的运算符,算术运算符包含了下图中的运算符:

1、“=,-,*” 和数学一样简单代码举例就行。

示例一:int a =10, b=2,c=0;

                c=a+b;--将10+2,赋给c,c=12

                c=a*b;--将10*2,赋给c,c=20

                c=a-b;--将10-2,赋给c,c=8

                示例一将加减乘都举例了,这里要注意表达式只能写“=”在右边。

  “-”、“+”放在 数字前面代表正负号。

   示例二:int a= -10;

                    示例二是将a的初值设为负10,其实正号一般情况下不用写,省略即可。

2、重点看取模“%”取整“/”。

“%”的作用是取得余数。

示例一:int  a=10, b=0;

                b=a%3;

            示例一将a取模3,即 10除3,商3,余1。b=余数1。要注意取的是余数。

示例二:int a=10,b=0;

                b=a/3;

                示例二将a取整3,即 10除3,商3,余1。b=商(2)。这里取的是商。

所有的算术运算符都可以和“=”一起使用,要注意只能写在右面。


关系运算符

        关系运算符的功能是比较两个数值(或表达式)之间的大小和等于关系,通常用于流程控制语句。进行关系运算后,所运算的结果只有“真(1)”和“假(0)”两种情况.

下图是关系运算符的含义:

1、“>”、“<”

和数学里的大于小于一样。

示例一:int a =10,b=20;

        printf("a>b=%d",a>b);

        printf("a<b=%d",a<b);

        示例一将a和b进行比较,结果是:a>b=0(假),   a<b=1(真),假代表a不大于b,真代表a小于b。

示例二:int a =10,b=20;

                printf("a+b>b=%d",a+b>b);

                printf("a<b-a=%d",a <b-a);

                示例二将算术运算符加入了,这样是可以的。关系运算符两边可以是表达式,a+b>b=1(真),a<b-a=0(假)b-a=10,10<10不成立。

2、“>=”、“<=”

和上面不一样的地方就是加了个“=”,表示的范围不同了。

示例一:int a =10;

                printf("a<=10=%d",a<=10);

                示例一将a和10比较,他表示的范围是小于10和等于10,都成立。所以结果是a<=10=1(真)。

3、“==”、“!=”

“==”和“!=”的范围最小,他们只能是等于和不等于。

示例一:int a =10,b=20;

                printf("a==b=%d",a==b);

                示例一判断a是否等于b,显然不相等,所以结果是:a==b=0(假)。

示例二:int a =10,b=20;

                printf("a!=b=%d",a!=b);

                示例二判断a是否不等于b,显然a是不等于b的,结果:a!=b=1(真)。


逻辑运算符 

        在C语言中,提供了3种逻辑运算符,即:&&(逻辑运算与)、||(逻辑运算或)、!(逻辑运算非)。

1、(与)&&

逻辑与“&&”,当它的两边结果都为1,值为1,只要有一边为0,值为0。

下图是“&&”的真值表:

示例一:printf("0&&1=%d",0&&1);

                 printf("1&&1=%d",1&&1);   

                示例一结果显然是0&&1=0(假),1&&1=1真。

示例二:int a=10,b=20;

                printf("a<b && a>b=%d",a<b && a>b);

                示例二将关系运算加进来,关系运算符结果是0和1。所以a<b为真,a>b为假,1&&0结果为0(假)。

2、(或)||

    “||”,只要有一个表达式为1(真),值就为1(真),只有两边的表达式都为0时,值才为o(假)。下图是“||”的真值表:

示例一:int a=10,b=20;

                printf("a<b || a>b=%d",a<b ||a>b);

                示例一结果显然是:a<b || a>b=1,a<b结果为1(真),a>b结果为0(假),一边为1一边为0,结果为1。

3、(非)!

        “!”,表达式结果为0 “!”值等于1,表达式结果为1“!”值等于0,就是取反。

示例一:int a=10,b=20;

                printf("! (a<b) =%d",! (a<b ) );

                示例一结果显然为:!(a<b)=0,a<b结果为1,1取“!” 结果为0。


---好了由于篇幅过长,剩下的下一篇在继续写!

相关文章

网友评论

    本文标题:5--运算符与表达式

    本文链接:https://www.haomeiwen.com/subject/bsrujqtx.html