专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » c语言基础入门:C#基础入门2 »正文

c语言基础入门:C#基础入门2

来源: 发布时间:星期三, 2008年9月10日 浏览:91次 评论:0
(三)表达式

   C#语言中的表达式类似于数学运算中表达式,它是操作符、操作对象和标点符号等连接而成的式子。操作符是用来定义类实例中表达式操作符的。表达式是指定计算的操作符、操作数序列。

   1.操作符的分类

   表达式由操作数和操作符组成。表达式的操作符指出了对操作数的操作。比如操作符有+、-、/;操作数可以是文字、域、当前变量或表达式。

   依照操作符作用的操作数的个数来分,C#中有一元操作符:作用于一个操作数,包括前缀操作符和后缀操作符;二元操作符:作用于两个操作数,使用时在操作数中插入操作符;三元操作符:只有一个操作符“?:”。作用于三个操作数,使用时在操作数中间插入操作符。

   下面分别给出使用操作符的例子:

   int x=5,y=10,z;

   x++; //后缀一元操作符

   --x; //前缀一元操作符

   z=x+y; //二元操作符

   y=(X>10?0:1); //三元操作符

   2.操作符的优先级

   当一个表达式包含多样操作符时,操作符的优先级控制着单个操作符求值的顺序。例如,表达式x+y*z按照x+(y*z)求值,因为“*”操作符比“+”操作符有更高的优先级。下表给出了所以操作符从高到底的优先级顺序。

   (^60090201h^)

   当一个操作数出现在两个有相同优先级的操作符之间时,操作符按照出现的顺序由左至右执行。除了赋值的操作符,所有的二进制操作符都是按照从左向右的顺序执行。如x+y+z按(x+y)+z进行。

   赋值操作符和条件操作符(?:)按照从右向左的顺序执行。如x=y=z按照x=(y=z)进行。

   建议:在写表达式时,如果无法确定操作符的有效顺序,则尽量采用括号来保证运算的顺序,这样也使得程序一目了然,而且自己在编程时能够思路清晰。

   (四)流程控制

   在前面众多的程序代码中,我们的程序都还只能按照编写的顺序执行,中途不能发生任何的变化。为了适应需要,我们经常要转移或者说是要改变程序执行的顺序,达到这些目的的语句就是流程控制语句。

   1.条件语句

   当程序中需要进行两个或两个以上的选择时,可以根据条件判断来选择将要执行的一组语句。C#提供的选择语句有if语句和switch语句。

   (1)if语句

   if语句是最常用的选择语句,它根据布尔表达式的值来判断是否执行后面的内嵌语句。其格式为:

   if(boolean-expression)embedded-statement或

   if(boolean-expression)embedded-statement

   else embedded-statement

   当布表达式的值为真时,则执行if后面的内嵌语句embedded-statement。为假时则程序继续执行。如果有else语句时,则执行else后面的内嵌语句,否则继续执行下一条语句。

   If (x-int(x)>0.5

   {

   I=int(x)+1;

   }

   else

   {

   I=int(x)

   }

   如果if或者else之后的嵌套语句只包含一条执行语句,则嵌套部分的大括号可以省略。如果包含了两条以上的执行语句,对嵌套部分一定要加上大括号。

   如果程序的逻辑判断关系比较复杂,通常会采用条件判断嵌套语句。If语句可以嵌套使用,即是在判断之中又有判断。具体的形式如下:

   if(boolean-expression)

   {

   if(boolean-expression)

   {……};

   else

   {……};

   ……

   }

   else

   {

   if(boolean-expression)

   {……};

   else

   {……}

   ……

   }

   此时应注意,每一条else与离它最近且没有其他else与之对应的if相搭配。

   (2)Switch语句

   if语句每次判断只能实现两条分支,如果要实现多种选择的功能,那么可以采用Switch语句。Switch语句根据一个控制表达式的值选择一个内嵌语句分支来执行。它的一般格式为:

   switch(controlling-expression)

   {

   case constant-expression;

   embedded-statements

   default;

   embedded-statements

   }

   Switch语句的控制类型,即其中控制表达式(controlling-expression)的数据类型可以是sbyle、byte、short、short、uint、long、ulong、char、string或是枚举类型(rnum-type)。每个case标签中的常量表达式(constant-expression)必须属于或能隐式转换成控制类型。如果有两个或两个以上case标签中的常量表达式值相同,编译时将报错。Switch语句中最多只能有一个default标签。

   下面的程序代码说明Swtich语句按所提供参数的数字执行不同的语句。

   Using system;

   class Test

   {

   static void Main (string[] args) {

   switch (args.Length) {

   case 0;

   Console.WriteLine (\"No arguments were provided\");

   break;

   case 1;

   Console.WriteLine (\"One arguments was provided\");

   break;

   default;

   Console.WriteLine (\"{0} arguments were provided\");

   break;

   }

   }

   }

   2.循环语句

   循环语句可以实现一个程序模块的重复执行,它对于我们简化程序,更好地组织算法有着重要的意义。C#提供了四种循环语句:While语句、do-while语句、for语句、foreach语句。

   (1)While语句

   While语句有条件地将内嵌语句执行0遍或若干遍。其格式为:

   while (boolean-expression) embedded-statement

   其执行的顺序是:

   首先计算表达式boolean-expression的值;当布尔表达式的值为真时,执行语句embedded-statement一遍,程序转至第1步;当布尔表达式的值为假时,while循环结束。

   (2)do-while语句

   do-while语句与while语句不同的是,它将内嵌语句执行一次(至少一次)或若干次。其格式为:

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: