章分支和循环.pptVIP

  • 0
  • 0
  • 约1.62万字
  • 约 57页
  • 2019-10-30 发布于湖北
  • 举报
* * * 在此过程,遇到以下情况时将放弃后续的操作,认为是操作失败: 1、如果A文件不存在; 2、如果B文件已经存在,并且询问用户是否覆盖时,用户回答“不”; 3、无法复制出B文件; 4、无法打开B文件; 5、无法写入B文件; 6、无法正常关闭B文件。 由于目前尚未学习文件的读写操作,所以本处仅以伪代码写该段程序来描述break的用法: if( A文件存在 ) { 执行A文件的相关操作; if( B文件不存在 || 用户允许覆盖原有B文件) { 复制A文件为B文件; if(复制文件成功) {  打开B文件;        if(打开文件成功) { 写入文件;          if(写入成功)          { 关闭B文件; if(关闭成成功)           { 执行其它必须在一切成功后进行的操作。              …… }   }  } } } } 可能有些操作和判断可以同时处理,但这个程序的繁琐仍然不可避免,而现实中程序的复杂性往往要远过于此例。从语法上看,这个例子没有任何错误,但它的一层套一层的条件判断却让人难以书写,阅读,调试,在复杂的情况就容易造成人为的错误(比如最马虎的,花括号匹配不对等……)。 如果联合使用循环和break,则可以有一种新奇的简单的写法: do { if(A文件不存在) break; 执行A文件的相关操作; if(B文件存在  用户不允许覆盖) break; 复制A文件为B文件; if(复制不成功) break; 打开B文件; if(打开B文件不成功) break; 写入文件; if(写入文件不成功) break; 关闭B文件; if(关闭不成功) break; 执行其它必须在一切成功后进行的操作。   …… } while(false); 这里用了do..while,可是根本不是为了循环,而是为了使用它的break功能。每当有操作不成功,就直接用break跳出循环。所以循环条件总是一个“永假” false。 除了break,还有一个在循环中经常使用的关键字:continue。它的作用和break差不多,都是跳转语句,区别在于break直接跳出循环,不再执行任何循环语句;而continue仅仅跳出当前循环,直接进入下一轮循环。 * 分析:在循环中加一个判断:如果是该数个位是3,就跳过该数不加。但是如何判断从1到100中,哪些整数的个位是3呢?还是是用%,将一个2位以内的正整数,如果除以10的余数是3,就说明这个数的个位为3。那么程序写出来就是下面的样子: using System; class Program { static void Main(string[] args) { int sum = 0; for(int i = 1; i = 100; i++) { if (i % 10 == 3) continue; sum += i; } Console.WriteLine(sum); } } * * * * 在本实验中,您将通过Visual Studio 2005中控制台程序,综合应用If 语句、Do循环语句以及条件表达式,随机产生一个1-100之间的数, 并由玩家进行猜测。您必须掌握了C#的基础知识和程序控制结构才能完成本实验。 * 完成书后习题1~2 * 1)for, while 2)B 3)switch 4)continue 5) * 1)错误,default标签是可以选择的,如果没有default动作,就不需要default标签。 2)错误,你可以以其他方式终止case语句,如return。 3)错误,当使用操作符时,要使语句为真,两个相关条件语句都必须为真。 4)正确。 * 1)int sum = 0; for (count = 1; count = 99; count += 2)

文档评论(0)

1亿VIP精品文档

相关文档