上一章我们了解了C#的一些数据基本类型、如何定义使用变量及类型之间的相互转换。可能大家会发现程序只能按照我们的要求从上向下这样顺序一条一条的执行。
那么程序能按照我们的要求,当某个条件成立的时候才执行呢?答案是肯定的,因为程序中有这样的流程语句。
那么我们本章讲像大家讲解一下C#的运算符及条件控制语句。
本章主要针对以下几个部份来进行讲解:
1、算述运算符
2、关系运算符
3、逻辑运算符
4、条件语句
5、分支语句
一、算述运算符
程序中所运用的算术运算符跟我们平常日常生活中接触的算术也一样。主要分为:
加、减、乘、除、 模(求余数)
+、 -、 *、 /、 %
两个数的运算如下:
int a=5,b=6;
int c=a+b;
//程序首先定义两个整型变量a和b,并对它们赋初始值,a为5,b为6
//那么现在计算两个数的和,把它们的和放到另外一个变量c当中,所以c的值为11;
主要是除和模(求余数)的计算,可能很多人刚开始还不太习惯。
int a=15,b=3;
int c=a/b; //这里求15/3,所以c的值就是5
int d=a%5; //这里求15/3的余数是多少,所以d的值就是0,因为15/3商5,余0
下面来制作一个案例:交换两个数的位置,如int a=5,b=3; 现在要把它变为 a=3,b=5;
这里有几种做法:
第一种常见做法是:在内存中再申请一个变量c,把a的值赋值c,
然后再把b的值赋值给a,最后把c的值赋值给b; (图解)
代码如下:
int a=5,b=3;
int c=a;
a=b;
b=c;
图1 | 图2 |
![]() | ![]() |
图3 | 图4 |
| ![]() |
第二种做法:
int a = 5, b = 3;
b = a+b-(a=b);
这种做法是在两个变量中进行的,首先要理解它的算法。
![]() | 首先看图,这种写法可以很多人没有看到过。我们只知道=号代表赋值运算,能这样在与算术运算中,程序居然不会报错,真的是奇迹。 那么如何能这样写,程序运算的顺序又是怎么样的呢?看图,程序运算的过程为: (1)、a+b,得到的结果是8 (2)、a=b,把b的值3赋值给变量a,所以现在a=3; (3)、由图(1)-图(2)为,8-3=5,最后把5赋值给变量b 这样,就在不增加变量的情况下,交换了两个数字。 |
二、关系运算符
我们先来看一看日常生活中和C#程序中关系运算符的区别。
从上图可以看出,除了等于与不等于写法不一样外,其它的都一样。
在我们日常生活中经常会用到这些符号,现在只不过是用程序的方法把它实现。
如:2>3 , 4< 6 , 5==5 , 6!=7, "我"=="我"
在程序中,这样的判断得出的结果只有两种:一种是成立,一种为不成立。
在C#中有一种变量可以存储这样的值,它就是布尔(boolean或bool)变量。
bool类型只有两个值,true代表成立,false代表不成立
如:
bool a=3>4; 结果是:false(不成立)
bool b=(4==4); 结果是: true(成立)
三、逻辑运算符
用一句话连贯的英语单词来形容程序中的逻辑运算符,那就是not and or (如图):
用一句话连贯的中文来形容程序中的逻辑运算符,那就是与或非 (如图):
逻辑运算符是用在当要判断多个条件是否满足时的情况下使用。&&和 || 是有区别的
&& [and] :当所有的条件都满意成立的时候,才成立
|| [or] :当有一个条件成立时,就成立。
如图:
逻辑与 | 逻辑或 |
![]() | |
注意:在算术运算符、条件[比较]运算符、逻辑运算符和赋值运算符中,程序运行的先后顺序是:
! > 算术运算符 > 条件[比较]运算符 > && > || > =
由此可见:
逻辑运算符中的非 ! 运算符最高
算术运算符第二
条件[比较]运算符第三
逻辑运算符中的与 && 第四
逻辑运算符中的或者 || 第五
最后,赋值运算符(=)运算的级别最低
四、条件语句
在我们日常生活中,经常会问题这样的问题,如:
如果今天是星期天,我们就去看电影。
假如我买的彩票中了五百万,我就去渡假。
如果我有一辆车,我就开车去旅游等等。
像这样假设的条件,如果成立就做某些事情,在我们程序中有一专门的语句去实现它,那就是条件结构语句。
条件程序语句大概分为5大类,分别为:
(1) 简单if (2)if else (3)嵌套if (4)多重if (5)switch条件分支语句
1、 首先,我们先来看一看简单if 其语法为: | |
if(条件语句) { } | 如:如果我中了五百万,我就去渡假。 int money=5; if(money>=5) { Console.WriteLine("我中了五百万,我要去渡假。"); } |
2、 我们先来看一看if else结构 其语法为: | |
if(条件语句) { } else { } | 如:如果我中了五百万,我就去渡假,否则我就继续支持福彩票事业。 int money=5; if(money>=5) { Console.WriteLine("我中了五百万,我要去渡假。"); } else { Console.WriteLine("继续支持福彩事业。"); } |
3、 我们先来看一看嵌套if结构(也就是if里面套if) 其语法为: | |
if(条件语句) { if(条件语句) { } else { } } else { if(条件语句) { } } | 如: |