C# 运算符
分类 |
符号 |
解释 |
优先级 |
算数 |
++ -- |
加加 减减 |
由高到低,即执行顺序由上到下.(圆括号的优先级最高) |
*/% |
乘 除 取余 |
||
+ - |
加 减 |
||
关系 |
> < >= <= |
大于 小于 大于等于 小于等于 |
|
== != |
等于 不等于 |
||
逻辑 |
&& |
与(并且) |
|
|| |
或 |
||
! |
非(注:优先级在此表的最顶层) |
||
条件运算符 |
?: |
惟一的一个三元运算符 如果 |
|
赋值 |
= += -= *= /= %= |
如:x-=4.即x=x-4; |
在关系运算符中,string (引用)不能与值类型比较
1、算数运算符:
⑴、+ -
int a = 2; int b = 5;
Console.WriteLine(a+b)//用的是数学计算符号
⑵* / %
int a = 10 % 3; //取余数
Console.WriteLine(a);
Console.ReadLine();
注意:
●做除法运算的时候,如果两个操作都是整数,则运算之后的结果也是整数。
●做算数运算的时候,如果两个被操作的数不是同一类型,则会在运算的时候会自动进行类型转换。
备注:% 模 取余的用途
●判断a是不是b的倍数(是否能够整除)====>a%b是否==0
●判断a的个位是不是b====>a%10是否==b
●把数变成某个范围之内的数(利用余数一定比除数小的定理,比如十六进制里面最大的单个数是F(15))
⑶、++ --
int a =5;
int b= a++; ====>可以写成int b =a; a = a+1;
int c = ++a;====>可以写成a = a+1; int c =a;
运算出来的结果就是
b = 5;
c = 7;
注意:●++ --这两种运算只能应用于变量(5++是不对的!!常量也是不可以使用的!!)
●前++和后++的区别:加加在前,先运算再赋值;加加在后,先赋值再运算。
int a = 5;
int b = a++;//int b=a;a=a+1;
int c = ++a;//a=a+1;int c=a;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.ReadLine();
2、关系运算符:
== != > < >= <=
关系运算符运算结果统统是bool型(结果不是Ture就是False)
int a = 5;
int b = 6;
Console.WriteLine(a == b); ====>False
Console.WriteLine(a != b); ====>True
Console.WriteLine(a > b); ====>False
Console.WriteLine(a < b); ====>True
Console.WriteLine(a >= b); ====>False
Console.WriteLine(a <= b); ====>True
注意:== 不能写成 =(一个=是赋值的意思)
3、逻辑运算符:
⑴、&&====>两个条件都成立,结果为True,否则False
bool a = 3 > 2 && 3 < 7;//true
⑵、||====>两个条件只要有一个成立,结果为True,两个都不成立为False
bool b = 5 > 3 || 5 > 7;//true
⑶、!====>将原来的结果取相反的(若本来为True,取反就是False)
bool c = !(5 > 3) || 5 > 7;//false
Console.WriteLine(c);
Console.ReadLine();
4、其他运算
= ====>赋值运算,将后面的值赋给左侧的变量。(注意:只能是变量)
+= -= *= /= %= ====>复合运算符(例:a += b;(意思是a = a +b;))
int a = 6;
a += 7;//a=a+7;
a *= 2;//a=a*2;
a %= 4;//a=a%4;
Console.WriteLine(a);
Console.ReadLine();
练习题:
1、“请输入一个100以内的整数:”
“是不是7的倍数:是/不是”
“十位数是不是7:是/不是”
“个位数是不是7:是/不是”
2、“请输入您的成绩(0-100):”
如果大于等于60,输出“及格了!”
如果小于60,输出“不及格,继续努力!”
3、“请输入第一个数:”
“请输入第二个数:”
“请输入+/-:”
结果:
4、“请输入一个1-100的整数:”
如果这个数小于50,输出“小”
如果这个数大于等于50,输出“大”
如果这个数是66,输出“小”
Console.Write("请输入100以内的整数:"); string zhengshu = Console.ReadLine(); int zhengshu1 = Convert.ToInt32(zhengshu); Console.WriteLine("是不是7的倍数:"+(zhengshu1%7==0?"是":"不是")); Console.WriteLine("十位数是不是7:"+((zhengshu1/10==7)?"是":"不是")); Console.WriteLine("个位数是不是7"+(zhengshu1%10==7?"是":"不是")); Console.Write("请输入您的成绩(0-100):"); string sd = Console.ReadLine(); int sd1 = Convert.ToInt32(sd); Console.Write(sd1>=60?"及格了!":"不及格继续努力!!!"); Console.Write("请输入第一个数:"); string shu1 = Console.ReadLine(); double s1 = Convert.ToDouble(shu1); Console.Write("请输入第二个数:"); string shu2 = Console.ReadLine(); double s2 = Convert.ToDouble(shu2); double a = s1 + s2; double b = s1 - s2; double c = s1 * s2; double d = s1 / s2; Console.Write("请输入+ - * /:"); string fg = Console.ReadLine(); double dsf= fg=="+"?a:(fg=="-"?b:(fg=="*"?c:(fg=="/"?d:c))); Console.Write("请输入一个1-100的整数:"); string zs=Console.ReadLine(); int zs1=Convert.ToInt32(zs); string zs2 = (zs1 >= 50 && zs1 != 66) ? "大" : "小"; Console.WriteLine(zs2);