700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c语言笔记-----运算符和表达式(算术 自增自减 关系 赋值 逻辑运算符及其表达式

c语言笔记-----运算符和表达式(算术 自增自减 关系 赋值 逻辑运算符及其表达式

时间:2020-02-17 03:42:45

相关推荐

c语言笔记-----运算符和表达式(算术 自增自减 关系 赋值 逻辑运算符及其表达式

运算符

一、运算符和表达式的相关概念以及分类:

**1、运算符的概念:**运算符就是一些特定的符号,用来表示针对数据的特定操作,也称之为操作符。

2、运算符的分类:分类方法不同,结果不同。

**1)**根据参与运算对象的多少可分为:单目(也称为一元运算符),双目(也称作二元运算符),三目(也称为三元运算符)

**2)**根据运算作用不同可分为:算术运算符、条件运算符、关系运算符、赋值运算符、逻辑运算符、逗号运算符、位操作运算符等。

*

*

**3、表达式的概念:**表达式最基本的形式就是一个数据,也称为操作数。操作数可以是任意类型的常量或变量,操作数与运算符结合起来可以构建一个新的表达式,继而使用多个运算符连接多个操作数可以形成更为复杂的表达式。

2)构成: C语言中的表达式由运算符、常量、变量所组成,结尾不能加分号。例如(-1)(-a)(-a+1) (-a+1*2,5) 都是表达式。

:3)注意在对表示求值时,要先执行表达式优先级高的;如果操作数两侧的运算符优先级相同,则按运算符的结合性处理,比如a+b-c,由于加与减的优先级相同,而算术运算符的结合性为从左到右,所以先执行a加b的结果,再用该结果减去C。

4)表达式命名:由表达式中优先级最低的运算符名称决定。

5)由“表达式”加“分号”构成的语句称为表达式语句。

二、算术运算符和算数表达式:

**1、**算术运算符是对 数值类型的变量进行运算的,在 C 程序中 使用的非常多,属于双目运算符,结合性从左到右,优先级为(*,/,%)>(+,-);

2、细节说明:

对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:int x= 10/3 ,结果是 3。只有当除数或者被除数其中有浮点型数据时,才会出现小数部分。当对一个数取模时,可以等价 a%b=a-a/b*b , 这样我们可以看到 取模的一个本质运算。注意:“%”取余运算要求连接的两个操作数都是整数时才有效,否则不能执行。

3)除取余运算限制使用整形外,其他的算术运算符可以是任意类型。但是需要注意除法运算。

3、代码演示:

算术运算符: #include<stdio.h>#include<stdlib.h>int main(){int a=-5,b=3,c;c=(a/b)*b;printf("%d\n",c);c=a%b;printf("%d\n",c);c=a/b*b+a%b;printf("%d\n",c);system("pause");return 0;}```结果为:(-3)(-2)(-5)

三、自增自减运算符及其表达式:

1、知识点:自增自减运算符为单目运算符,结合性为从右到左,包括++,— —;自增自减的运算符优先级大于算术运算符;要求操作数是变量;

2、使用细节:

当 自增 当做一个独立语言使用时,不管是 ++i; 还是 i++; 都是一样的,等价。当 自增 当做一个 表达式使用时 j = ++i 等价 i = i + 1; j = i;当 自增 当做一个 表达式使用时 j = i++ 等价 j = i; i = i + 1;

3、代码演示:

自增自减运算符:#include<stdio.h>void main() {int i1 = 10, i2 = 20;int i = i1++;//i =10, i1=11printf("i=%d\n",i);// 10printf("i1=%d\n", i1);//11i = ++i1;printf("i=%d\n", i);//12printf("i1=%d\n", i1);//12i = i2--;printf("i=%d\n",i);// 20printf("i2=%d\n",i2);//19i = --i2;printf("i=%d\n", i);//18printf("i2=%d\n", i2);//18getchar();}

四、关系运算符和关系表达式:

1、知识点:

1)关系运算符有6种关系,分别为小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、等于(==)、不等于(!=)。

2)结果值:

关系运算符的值只能是0或1。

关系运算符的值为真时,结果值都为1。

关系运算符的值为假时,结果值都为0。

3)关系运算符都是双目运算,优先级为(>,<,>=,<=)>( == , != )

五、赋值运算符及其表达式:

1、知识点:赋值运算符就是将 某个运算后的值,赋给指定的变量,结合性为"从右向左"。

2、赋值运算符特点:

运算顺序从右往左赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值复合赋值运算符等价于下面的效果

比如:a+=3;等价于 a=a+3;注意在运算时,可能截断小数点后面的部分。比如;

int a = 10;a += 1.7; // a = a + 1.7 =>11.7 => 11a= 11

3、代码演示:

#include <stdio.h>#include<stdlib.h>void main() {//+= 的案例,其它的类似 -= *= /= %=int c = 12;int a2 = 10;//有两个变量,a 和 b,要求将其进行交换,最终打印结果int a = 10;int b = 20;//思路是通过一个临时变量来实现 a , b 值的交换int temp = a;a = b;b = temp;c += 3; // 等价 c = c + 3;//c += b;// 等价 c = c + b;a2 += 1.7;printf("\na=%d b=%d c=%d a2=%d", a, b, c, a2);// a=20, b = 10 c = 15 a2=11system("pause");}

六、逻辑运算符及其表达式:

1、知识点: 用于 连接多个条件(一般来讲就是关系表达式), 最终的结果要么是真(非 非 0 表示),要么是 假(0 表示) ;其中逻辑非的结合性为从右向左。

2、注意,逻辑与和逻辑或有短路现象:

案例演示:

“逻辑与”#include <stdio.h>#include<stdlib.h>void main() {double score = 70;//成绩if(score>=60 && score<=80){printf("ok1");} else {printf("ok2");}int a = 10, b = 99;//说明://1. 行 在进行 && 操作时, 如果第一个条件为 false , 则后面的条件不在判断//2. 该现象称为 短路现象,所以 逻辑与 也称为 短路逻辑与if(a < 2 && ++b>99) {//printf("ok100");}printf("b=%d\n", b); //b=99system("pause");}

逻辑或:#include <stdio.h>#include<stdlib.h>void main() {int a = 10, b = 99;//说明//1. 在进行逻辑或时,如果第一个条件为真,则不再执行后面的条件,整个结果为真//2. 为 该现象称为 此 逻辑或短路现象,因此 为 逻辑或也称为 短路逻辑或if(a > 5 || b++>100) {//printf("ok100");}printf("b=%d\n", b); // b= 99system("pause");}

七、运算符和优先级总结:

注意:结合结合性从右向左的有:赋值和复合赋值;逻辑非;自增,自减;取地址(&);正号,负号,(+,-); 类型转换;

c语言笔记-----运算符和表达式(算术 自增自减 关系 赋值 逻辑运算符及其表达式 运算符和优先级总结)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。