预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共44页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2024/10/3第三章C#程序的流程控制2024/10/32024/10/32024/10/3if语句的逻辑意义为:如果表达式的值为true,则选择执行“语句块1”,否则选择执行“语句块2”,如图3-1所示。“if…else…”的结构通常称为双分支结构。实际编程时,可省略else子句,构成单分支结构。当“语句块1”或“语句块2”只有一条语句时,可以省略花括号{},还可以在同一行书写。例如,设x为int型变量,if(x%2==0)Console.Write("x为偶数");就是典型的单分支结构。双分支结构的替代方案在C#中,如果双分支结构比较简单,可使用问号?运算符来替代if语句。问号运算符的一般格式如下:(表达式1)?表达式2:表达式3其逻辑含义为:如果表达式1的值为true,则返回表达式2的值,否则返回表达式3的值。例如,设x为int型变量,stringresult=(x%2==1)?"x为奇数":"x为偶数";该语句相当于stringresult;if(x%2==1)result="x为奇数";elseresult="x为偶数";使用问号运算符来构造双分支结构,要比if语句更加简练【实例3-1】创建一个Windows应用程序,先输入年龄值,再判断是否大于18,最后显示判断结果,运行效果如图所示。3.1.1if语句3.1.2switch语句switch语句的一般格式如下:switch(表达式){case常量1:语句块1;break;case常量2:语句块2;break;……case常量n:语句块n;break;default:语句块n+1;}switch语句的执行过程为:首先计算switch语句中表达式的值,再依次与每一个case后的常量比较,当表达式的值与某个常量相等时,则执行该case后的语句块,在执行break语句之后跳出switch结构,继续执行switch之后的语句,如图3-3所示。如果所有常量都不等于switch中表达式的值,则执行default之后的语句块。如果没有default子句,则执行switch语句后面的语句。【实例3-2】创建一个Windows应用程序,使用switch语句来计算不同服装的应付款,运行效果如图所示3.1.3分支语句的嵌套3.2C#程序的循环语句3.2.1while语句while语句执行过程如下:首先计算表达式,当表达式的值为true时,执行一次循环体中的语句,重复上述操作到表达式的值为false时退出循环。如果表达式的值在开始时就为false,那么不执行循环体语句直接退出循环。因此,while语句的特点是:先判断表达式,后执行语句。【实例3-4】求,即1+2+3+…+100do-while语句的特点是先执行循环体,然后判断循环条件是否成立,其一般形式为:do{语句块;}while(表达式);其中,语句块为循环体,表达式必须是布尔型表达式,用来检测循环条件是否成立。do-while语句执行过程如下:首先执行一次循环体,然后再计算表达式,如果表达式的值为true,则再执行一次循环体,重复上述操作,直到表达式的值为false时退出循环。如果条件在开始时就为false,那么执行一次循环体语句后退出循环。可见,while语句与do/while语句的区别在于:前者循环体执行的次数可能是0次,而后循环体执行的次数至少是1次。【实例3-5】创建一个Windows应用程序,统计从键盘输入一行字符中英文字母的个数。3.2.3for语句for语句的执行过程详细如下:(1)首先计算表达式1,为循环控制变量赋初值;(2)然后计算表达式2,检查循环控制条件,若表达式2的值为true,则执行一次循环体语句,若为false,终止循环;图3-9for语句的执行过程(3)执行完一次循环体语句后,计算表达式3,对控制变量进行增量或减量操作,再重复第(2)步操作。C#允许省略for语句中的三个表达式,但注意两个分号不要省略,同时保证在程序中有起同样作用的语句。省略后的一般形式如下:表达式1;for(;;){if(表达式2==false){break;}语句;表达式3;}【实例3-6】一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该项计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,…,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给陌生人多少钱。3.2.3for语句3.2.4foreach语句for