跟以前接触的C++一样,C#中的控制结构也有三种,即顺序结构,分支结构和循环结构。刚刚学完,来这儿整理一下思路,加深一下印象哈。
★ 顺序结构:按照先后次序依次执行的结构,这种结构非常简单,就跟下楼梯一样一直往下走,直到程序执行结束。在这里也没什么多说的了。
★ 分支结构:根据条件进行选择来执行不同的语句块。C#中分支结构主要有三种,即(1)if语句(2)switch...case语句(3)try...catch语句【常用来捕获程序中的异常语句】。格式如下:
try
{
//可能出错的代码
语句1;
语句2;
语句3;
}
catch
{
语句块
}
注意:如果try中的代码没有出现异常,则不会执行catch中的代码;如果try中出现了异常的代码,那么try中出错代码以后的代码不在执行,直接跳到catch中执行语句块。灵活运用try...catch语句会让程序简单化。
★ 循环结构:可以重复执行某些语句块。在C#中这个结构也有三种,即
(1)for循环。循环类型:次数确定;次数不确定但由程序控制;次数不确定但由 用户控制;死循环。
(2)while循环。特点:先判断再执行。也就是最少执行零次循环体。
(3)do...while循环。特点:先执行再判断。也就是最少执行一次循环体。
下面附上一道例题:不断要求用户输出一个数字(假定用户输入的都是正整数),当用户输入end的时候得到刚才输入的数字中最大的一个数。
C#程序如下:
string input=" ";//给input赋值
int max=0;
int number=0;
bool flag = true;
do
{
try
{
Console.WriteLine("请输入一个整数");
input = Console.ReadLine();
max = Convert.ToInt32(input);//最可能出错的代码。如果转换成功则程序继续往下执行,如果不成功,则程序进入catch中
if (number>max)
{
max = number;
}
}
catch
{
if (input!="end")//输入的字符既不是数字也不是end
{
Console.WriteLine("您输入了非法数字!");
input="end";//继续往下执行,则while中循环条件不成立,那么结束循环
flag = false;//将flag变为false继续执行
}
}
}while (input!="end");//如果input==end,即循环条件不成立,跳出循环,执行后面的if语句
if (flag == false)
{
Console.WriteLine("结束程序!");
}
else
{
Console.WriteLine("最大值为{0}", max);
}
Console.ReadKey();
转载于:https://blog.51cto.com/broncho/1257556