您的位置:首页 > 编程语言 > C#

C# 学习笔记 -- 第五天 程序结构

2005-12-20 00:25 477 查看
/////////////////////////////////////////////////
/
/  C# 学习笔记 -- 第五天 程序结构
/
/  YFP 2005-12-19
/
/////////////////////////////////////////////////

学过编成的人都知道,基本的程序结构无外乎两种:分支和循环。无论哪种编成语言甚至脚本语言都至少支持其中一种。在模块化编程中这些技巧更是不可缺少。就算到了面向对象编程的时代,也必须使用这些技巧来实现各种方法。所以牢记这些基本语法和技巧对后期的开发是个很好的开始。

一、分支:
C#中有三种分支结构

1、使用"?"这个三元运算符
语法:
<测试语句> ? <为真时执行的语句> : <为假时执行的语句> ;
例子:
string myString = (myInt > 10)?"Last than 10.":"Greater than or equal to 10.";
注:如果这时myInt的值大于10,那么myString将被赋予字符串"Last than 10.",否则将被赋予"Greater than or equal to 10."。

2、if 语句
语法1:
if (<测试语句>)
  <为真时执行的一条语句> ;
else
  <为假时执行的一条语句> ;
注意,这时没有使用花括号。

语法2:
if (<测试语句>)
  {
  <为真时执行的一组语句> ;
  }
else
  {
  <为假时执行的一组语句> ;
  }

另外if语句可以镶套,也就是一个if语句中可以包含另外一个if语句。但是两个if语句的边界不能交叉,只能是包含于被包含的关系。

这样就出现了这样一种形式的if语句结构,其实他只是多个if语句的镶套。只不过这样写比较好看,便于理解。
例如:
if (<测试语句>)
  {
  }
else if (<测试语句>)
  {
  }
else if (<测试语句>)
  {
  }
else
  {
  }

3、switch语句
语法:
switch (<要测试的变量或语句>)
{
  case <变量或语句的可能值>:
    <语句1>
    break;
  case <变量或语句的可能值>:
    <语句2>
    break;
  default:
    <语句3>
    break;
}

这是我们通常看到的switch语句的结构,其实“case <变量或语句的可能值>:”只是一个标示符,同其他标识符一样可以使用“goto”转到这些标识符。所以可能看到这样的语句不要感到奇怪,这在C#中是允许的。

switch (<要测试的变量或语句>)
{
  case <变量或语句的可能值1>:
    <语句1>
    break;
  case <变量或语句的可能值2>:
    <语句2>
    goto case <变量或语句的可能值1>;
  default:
    <语句3>
    break;
}
注: 这就是变量值等于可能值2的时候执行语句完成后转向"case <变量或语句的可能值1>:"执行>。

switch (<要测试的变量或语句>)
{
  case <变量或语句的可能值1>:
  case <变量或语句的可能值2>:
  case <变量或语句的可能值3>:
    <语句1>
    bread;
  default:
    <语句2>
    break;
}
注: 这个就是当可能值1、2或3种任何一个满足都会执行语句1。

例如下面这个代码片断的执行结果大家可以猜测一下:
int a = 5;
switch(a)
{
  case 1:
  case 2:
  case 3:
  case 4:
    Console.WriteLine("The A maybe equal to 1 or 2 or 3 or 4,but the true's A equal to {0}.",a);
    break;
  case 5:
    Console.WriteLine("A equal to {0}.",a);
    goto case 1;
  default:
    Console.WriteLine("Default val:{0}",a);
    break;
}

结果:
A equal to 5
The A maybe equal to 1 or 2 or 3 or 4,but the true's A equal to 5

 

 

二、循环:
使用循环能够重复执行相同的语句。有下面三种形式。
1、for 循环
使用在预知循环次数时。
语法:
for(<循环计数器(就是一个变量)>=<起始值>;<继续循环的条件>;<计数器递增或递减>)
{
  <循环体>
  break;  //打断循环
  continue;  //终止当前循环,并开始下一个循环
  goto <标识符>;  //跳转到指定标识符
  return;  //终止循环,并退出循环所在函数
}

2、do 循环
使用在循环体语句必须被执行一次的情况下。
语法:
do
{
  <循环体>
}while <测试条件>;
当测试条件为真时就再次循环。

3、while 循环
使用在循环开始前就需要检查的情况。当测试条件为真时开始或继续循环。
while <测试条件>
{
  <循环体>
}

终止循环的语句如上所示。

4、foreach 循环
对集合内对象的遍历,最好的办法就是用foreach。
foreach( 元素类型 e  in  集合变量 )
{
         // 每次循环e都代表集合变量中不同的元素。
         // 当集合中所有元素都循环过之后就退出循环。
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息