C#基础(四)--运算符及表达式

    技术2025-04-24  21

    一、运算符 什么是运算符? 加减乘除这些,能将变量与变量之间连起来进行运算操作的符号 例如 a+b + - * /还有一个,叫% 百分号作为运算符是取余数 运算符的分类如下: 算术运算符 比较运算符 逻辑运算符 条件运算符 赋值运算符 二、表达式 什么是表达式? 能让变量与变量之间进行运算得到结果的表达方式 例如:a=3; 这个就是一个表达式 将a赋值为3 int c=a+b; 这也是一个表达式 将c赋值为a+b的结果 现在我们来看看运算符的分类 三、算术运算符 运算符 表达式(int a=5;) b的值 + int b=a+2; 7 - int b=a-2; 3 * int b=a*2; 10 / int b=a/2 2 % int b=a%2 5 注意一下“/”和“%” /是除法,但是有一点不一样,在编程中,结果只取整数部分 例如:int a=5;a/2结果只会是2,而不是2.5,只取整数 %是取余数(模),在编程中,结果只得到余数部分 例如:int a=5;a/2结果只会是5,因为5/2=2.5,余数是5 四、赋值运算符 表达式(int a=5;) 说明 a+=5; a=a+5; 10 a-=5; a=a-5; 0 a*=5; a=a*5; 25 a/=5; a=a/5; 1 a%=5; a=a%5; 0 a+=5就是a=a+5; 意思就是用a去和5做加法运算,然后将结果赋值给a 因此最后a的值被运算出来的值所覆盖,成为新的值 五、比较运算符 运算符 名称 表达式(a=5;b=1) > 大于 a>b true < 小于 a<5 false >= 大于等于 a>=b true <= 小于等于 a<=b false == 等于 a==b false != 不等于 a!=b true 比较两个变量的值,会返回一个真假,就是true或false 例如:a>b的意思是询问a是不是大于b,因此,回答是,所以结果是true 真:true 假:false 注意 ==是等于 !=是不等于 要比较是否相等,必须是双=,因为一个=表示赋值,所以需要两个 !这个是求反,读作“非”,因此!=就是非等于 六、逻辑运算符 运算符 名称 表达式 说明 && 和/与 a&&b 当a和b的条件同时成立时,值才会是true,否则就是false || a||b 当a或b其中一个条件成立,值都是true, ! !a 求反,如果是true的变成false 如果是false就变成了true ^ 补位 ^a 这个几乎用不上 &&、||和! 这三个只能运用在语句上,是需要进行逻辑判断或运算才起作用。 无法用Console.WriteLine()来输出 设bool a=true;bool b=false; !符号:求反,非 !a的值就是false,而!b的值就是true 符号&&:和、与 当两个条件同时成立时,值为真,否则为假 设a=true b=false 所以 a&&b 的值就是false 设a=false b=true 所以 a&&b 的值就是false 设a=false b=false 所以 a&&b 的值就是false 设a=true b=true 所以 a&&b 的值就是true 符号||:或 当一个条件成立,值为true 设a=true b=false 所以 a||b 的值就是true 设a=false b=true 所以 a||b 的值就是true 设a=false b=false 所以 a||b 的值就是false 设a=true b=true 所以 a||b 的值就是true 七、条件运算符 ? : 表达式 ?true: false s"!}=k d~?X/s J t X‑ 判断条件? 为真走这里 : 为假走这里 以后会着重介绍 八、++与- - ++叫做递增,就是每次+1 --叫做递减,就是每次-1 a++就可以是a+=1 a—就可以是a-=1 但是没有 a**和a// a++和++a的区别是什么? a++是,先进行与a的运算,然后再将a的值+1 ++a是,先将a的值+1,然后再与现在的a的值进行运算 简单点的例子 int a=1; int b=a++; 现在b的值是多少?a的值是多少? 根据刚才的描述,先进行了与a的运算,也就是说,先将值赋给了b,因此b的值就是1,然后,再将a的值+1了,因此a的值是2 换成了 int b=++a; 现在b的值是多少?a的值是多少? 根据刚才的描述,先将a的值+1了,因此a的值是2,然后将这个新值赋给了b,因此b的值也是2 总结 a++是先运算再+1 ++a是先+1再运算 再来个例子 int a=1; a+++a+++a=? 是不是看得头晕了??那么多+号 拆分一下 a++ +a+ ++a这样看的明白吗? 因此最后的值会是多少呢? 现在,我提一个新概念,叫运算值。 就是在运算过程中出现的结果,我称为运算值,而非变量值 所以,一开始运算时就有一个运算值,这个时候应该是0 a++就表示,运算值与a做加法运算,所以最后的结果就是1,这个就成为了新的运算值 而这时,a+1,a的值就是2了 然后有个+a,运算值(1)+a(2)=3,因此新的运算值就是3 下面有一个++a,先给a+1,这时a的值是3了,然后再运算,运算值(3)+a(3)=6 所以最后的结果是6 如果是这样呢? a++ +a+ a++=? ++a +a+ ++a=? ++a +a+ a++=? 根据上面的例子,分析一下这3个结果是多少呢? a++ +a+ a++=5 ++a +a+ ++a=7 ++a +a+ a++=6 九、运算符的优先级 运算符是有优先级的,因为这个优先级才有了刚才为什么是得先++再赋值 顺序 运算符 1 () [] ++ –– 2 + - * / % ! 3 < > <= >= == != 4 && || 5 ? : 6 = += -= *= /= %= 因为++的优先级最高,赋值的优先级最低,所有才形成了,先运算,后赋值 总结 算术运算符 比较运算符 逻辑运算符 条件运算符 赋值运算符 递增、递减 运算符优先级 练习题 int a=1;int b=1;求出结果,a的值,b的值 a++ + b++ + ++a + b++=? a++ + b++ + ++b + a++=? ++a + ++a + ++b + ++b=? ++a + ++b + a++ + b++=? a++ + ++b + b++ + a++=? b++ + a++ + a++ + ++b=? ++b + ++b + ++a + ++a=? 转载!//转自fxapi.net论坛老大发布的!!
    最新回复(0)