1.C语言中,运算符的作用是指定运算的处理方式,具体有以下五种:
算术运算符、赋值运算符、关系运算符、逻辑运算符、 三目运算符等5种。
2.算术运算符:包含+、-、*(乘法运算符)、/、%(求余运算符、也称模运算符)、++(自增运算符)、--(自减运算符)
1)除法运算中注意:如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如9/2 =4;而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000。
2)取余运算中注意:该运算只适合用两个整数进行取余运算,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。
算法例子:
#includeint main() { int x,y; x = 10; y = -3; printf("x+y=%dn", 7 ); printf("x-y=%dn", 13 ); printf("x*y=%dn", -30 ); printf("x/y=%dn", -3 ); printf("x%y=%dn", 1 ); return 0; }
输出结果:x+y=7 x-y=13 x*y=-30 x/y=-3 x%y=1
自增与自减运算符:自增运算符为“++”,其功能是使变量的值自增1;自减运算符为“--”,其功能是使变量值自减1。它们经常使用在循环中。自增自减运算符有以下两种形式:
1.++(或--)变量:先运算再取值,即变量先自增(或自减)1后再取值
2.变量++(或--):先取值再运算,即变量先取值后再自增(或自减)1
注意:无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1,无论是a--还是--a都等同于a=a-1,在表达式执行完毕后a的值都自减少1。
例子:
#includeint main() { int a=100; printf("%dn",a++); printf("%dn",++a); printf("%dn",--a); printf("%dn",a--); printf("%dn",a+1);//取值改变,但变量的值并不改变 printf("%dn",a); return 0; }
输出结果为:100、102、101、101、101、100
3.赋值运算符:分简单赋值运算符、复合赋值运算符两种
简单运算符就是“=”
复合运算符:复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。例子:a+=5,意思是a=a+5,即将a与5相加后再赋值给a。
注:复合运算符中运算符和等号间没有空格
例子:
#includeint main() { int x = 10; int y = 10; x = x*2;//使用简单赋值语句实现x乘以2。 y *= 2;//使用复合赋值语句实现y乘以2。 printf("x=%dn", x); printf("y=%dn", y); return 0; }
输出结果为x=20,y=20
4.关系运算符:含>、>=、<、<=、==(等于)、!=(不等于)
关系表达式的值是“真”还是“假”,在C程序用整数1和0表示。如:
int a = 10;
int b = 4;
printf("%dn",a>b);//输出1
printf("%dn",a==b);//输出0
输出结果:1,0
注意:>=,<=,==,!=这种符号之间不能存在空格。
例子:
#includeint main() { int x = 5; int y = 5; int z = 10; printf("x是否大于y:%dn", x>y); //x是否大于y printf("y是否大于等于x:%dn", y >= x); //y是否大于等于x printf("y是否小于z:%dn", y 输出结果:x是否大于y:0 y是否大于等于x:1 y是否小于z:1 z是否小于等于x:0 z是否等于x+y:1
5.逻辑运算符:计算机看不懂7
所以7 7&&x<100 1) 与运算(&&):参与运算的两个变量都为真时,结果才为真,否则为假。例如:5>=5 && 7>5 ,运算结果为真;
2) 或运算(||):参与运算的两个变量只要有一个为真,结果就为真。 两个量都为假时,结果为假。例如:5>=5||5>8,运算结果为真;
3) 非运算(!):参与运算的变量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>8),运算结果为真。
例子:#includeint main() { int height =175; //身高为175cm int money = 1500000; //银行存款为150万 printf("是否符合条件:%dn",height>=180&&money>=1000000); //填写算式 return 0; } 输出结果:是否符合条件:0
6.三目运算符(三元运算符):我们购物的时候经常会说如果这个物品大于多少钱就不买了,条件就是大于多少钱,结果就是不买了。这用C语言表示出来就需要用到三目运算符(?:)。
其格式为:表达式1?表达式2:表达式3;
执行过程:先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。
例子:#includeint main() { int money = 12 ; //定义兜里的钱 double cost = 11.5 ; //定义打车回家的费用 printf("能不能打车回家呢:"); printf("%cn",money>=cost?'y':'n');//字符要用''包起来 return 0; } 输出结果:y
7.运算符间的优先级:如图!
标号代表优先级1最高10最低。
总结:与小学运算法则基本相同。



