快速热身(二)_第1页
快速热身(二)_第2页
快速热身(二)_第3页
快速热身(二)_第4页
快速热身(二)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用用 Hello ACCP.NET 快速热快速热身身(二二)static void Main(string args) / switch (num) case 1: Console.WriteLine(这是第一个这是第一个case); case 2: Console.WriteLine(这是第二个这是第二个case); default: Console.WriteLine(这是这是default); 错误:错误:每个每个case和和default中都应有中都应有breakstatic void Main(string args) / switch (num) case 1: Console.W

2、riteLine(这是第一个这是第一个case); break; case 2: Console.WriteLine(这是第二个这是第二个case); break; default: Console.WriteLine(这是这是default); break; num=2 时,输出:时,输出:这是第二个这是第二个casel修改下面代码中的错误修改下面代码中的错误l改正后,当改正后,当 num=2 时,输出什时,输出什么?么?lC# 中的循环结构有哪几种?中的循环结构有哪几种?l使用什么语句可以跳出循环?使用什么语句可以跳出循环?l编写简单的编写简单的 Hello ACCP.NET 控制台控制台

3、应用应用程序程序 获取字符串中的字符获取字符串中的字符 打印打印 * 图案图案 计算竞赛平均分计算竞赛平均分 编程模拟商场购物过程编程模拟商场购物过程 实现一维数组的冒泡排序实现一维数组的冒泡排序l掌握掌握 C# 中循环语句中循环语句l掌握简单掌握简单 C# 程序的调试方法程序的调试方法l掌握掌握 C# 中的一维数组的使用方法中的一维数组的使用方法l能够使用二重循环实现冒泡排序能够使用二重循环实现冒泡排序l回顾:回顾:Java 中的循环语句有哪些?执行中的循环语句有哪些?执行过程怎样?过程怎样?循环语句循环语句JavaC#dowhiledo /二者的语法和操作相同!二者的语法和操作相同! wh

4、ile(条件条件)whilewhile(条件条件) /二者的语法和操作相同!二者的语法和操作相同!forfor(初始值;初始值; 条件;条件; 增增/减减) /二者的语法和操作相同!二者的语法和操作相同!foreach无无新特性!新特性!lforeach循环一般用于遍历整个集合或数组循环一般用于遍历整个集合或数组foreach (元素类型元素类型 变量名变量名 in 集合或者数组名集合或者数组名) / 语句语句l输入一个字符串,输出其中的每个输入一个字符串,输出其中的每个字符字符演示示例演示示例1:foreach,简单调试,简单调试static void Main(string args) C

5、onsole.WriteLine(请输入一个字符串请输入一个字符串:); / 输入提示输入提示 / 从控制台读入字符串从控制台读入字符串 string line = Console.ReadLine(); / 循环输出字符串中的字符循环输出字符串中的字符 foreach (char c in line) Console.WriteLine(c); Console.ReadLine();示例示例1源代码源代码依次循环字符串中依次循环字符串中的每个字符的每个字符l关键代码分关键代码分析析l断点断点(breakpoint):通知调试器应:通知调试器应在某在某点点上上中断中断应用程序并应用程序并暂停执

6、行暂停执行调试常用快捷键:调试常用快捷键:F5开始调试开始调试Shift+F5停止调试停止调试F9设置或删除断点设置或删除断点F10单步执行单步执行l监视监视(watch)窗口:计算变量和表达式的值窗口:计算变量和表达式的值 某次程序大赛,某次程序大赛,3个班级各个班级各4名名学员学员参赛,计算参赛,计算每个班每个班参赛学参赛学员的员的平均分平均分共共3个班级,循环个班级,循环3次计算每个班次计算每个班的平均分的平均分每班每班4名学员,循环名学员,循环4次累加总分次累加总分需要使用二重循环实现需要使用二重循环实现for、while、do-while、foreach 语句可以相互嵌套语句可以相互

7、嵌套 演示示例演示示例2:二重循环示例,跟踪调试二重循环示例,跟踪调试l关键代关键代码码/ 外层循环控制逐个计算每个班级的平均分外层循环控制逐个计算每个班级的平均分for (i = 0; i 3; i+) sum = 0; / 总分计数清零总分计数清零 Console.WriteLine(n请输入第请输入第0个班的成绩个班的成绩,i+1); / 内层循环计算每个班级的总分内层循环计算每个班级的总分 for (j = 0; j 4; j+) Console.Write(第第0个学员的成绩个学员的成绩:, j+1); score= int.Parse(Console.ReadLine(); sum

8、 = sum + score; average = sum / 4; Console.WriteLine(第第0个班的平均分为个班的平均分为:1分分,i+1,average);内层循环结束内层循环结束后,才执行外后,才执行外层循环的语句层循环的语句示例示例2源代码源代码用用 * 打印一个直角三角形图案打印一个直角三角形图案二重循环:外层控制行数,内层打印二重循环:外层控制行数,内层打印每行的每行的 *图形特点:每行的图形特点:每行的 * 个数与行数相等个数与行数相等演示示例演示示例3:用用 * 打印直角三角形打印直角三角形l关键代关键代码码int rows = 5; / 打印的行数打印的行数i

9、nt i, j; / 循环变量循环变量/ 外层循环控制打印的行数外层循环控制打印的行数for (i = 1; i = rows; i+) / 内层循环控制每行打印内层循环控制每行打印*的个数的个数 for (j = 1; j = i; j+) Console.Write(*); Console.Write(n);内层循环的结束条件与外层内层循环的结束条件与外层循环变量有关循环变量有关示例示例3源代码源代码l回顾:在循环结构中,回顾:在循环结构中, continue 和和 break怎样跳转?怎样跳转?for() continue; for() break; 跳出循环结构跳出循环结构跳到下次循环

10、跳到下次循环在二重循环中会怎样呢?在二重循环中会怎样呢?l下面下面红色框中代码的作用红色框中代码的作用是什么?是什么?int count = 0; for (i = 0; i 3; i+) / 提示输入成绩提示输入成绩 for (j = 0; j 4; j+) Console.Write(第第0个学员的成绩个学员的成绩:, j + 1); score = int.Parse(Console.ReadLine(); sum = sum + score; if (score 85) continue; count+; / 计算平均分并输出计算平均分并输出continue 跳跳出本次循环,出本次循环

11、,继续下一次继续下一次循环循环演示示例演示示例4:使用断点调试观察程序执行过程使用断点调试观察程序执行过程统计成绩在统计成绩在85分以上的学员人数分以上的学员人数 5个个专卖店促销,每个专专卖店促销,每个专卖店每人卖店每人限购限购3件件衣服,衣服,可以随时选择离开,离店可以随时选择离开,离店时要结账时要结账for(i=0;i5;i+) / 每次进一个专卖店每次进一个专卖店 for(j=0;j3;j+) / 每个店限购每个店限购3件件 if(离开这家店离开这家店) break; 选购一件衣服选购一件衣服 结账结账演示示例演示示例5:break 进阶进阶l关键代码回关键代码回顾顾示例示例5源代码源

12、代码for (i = 0; i 5; i+) /外层循环控制依次进入下一个专卖店外层循环控制依次进入下一个专卖店 Console.WriteLine(n欢迎光临第欢迎光临第0家专卖店家专卖店,i+1); for (j = 0; j 3; j+) / 内层循环一次买一件衣服内层循环一次买一件衣服 Console.Write(要离开吗要离开吗?y/n); choice = Console.ReadLine(); if (choice = y) / 如果离开,就跳出,结如果离开,就跳出,结账账,进入下一个店,进入下一个店 break; Console.WriteLine(买了一件衣服买了一件衣服);

13、 count+; / 买一件衣服买一件衣服 Console.WriteLine(离店结离店结账账);break 跳出内层循环跳出内层循环choice = yfor() for() continue; for() for() break; 跳出本层循环,跳出本层循环,继续执行外层循环继续执行外层循环跳出本次循环,跳出本次循环,继续下一次循环继续下一次循环lbreak 和和 continue 用在二重循环中:用在二重循环中:l在控制台打印出如下图案(在控制台打印出如下图案(9行行9列):列):提示:使用二重循环提示:使用二重循环static void Main(string args) int i

14、, j; /循环变量循环变量 for (i = 1; i = 9; i+) /外层循环控制行数外层循环控制行数 for (j = 1; j = 9; j+) / 内层循环控制每行打印的内层循环控制每行打印的 * 数数 Console.Write(*t); Console.WriteLine();/ 换行换行 Console.ReadLine(); 参考答案参考答案l回顾:为什么要使用数组?回顾:为什么要使用数组?如何声明一维数组?如何声明一维数组?声明数组的方法声明数组的方法JavaC#int arr1;/数据类型数据类型 数组名数组名;int arr1 ; /数据类型数据类型 数组名数组名

15、;在在C#中声明数组:中声明数组:数据类型数据类型 数组名数组名不能不能将数组名放在数据类型和方括号之间!将数组名放在数据类型和方括号之间!l如何设置大小及初始化?如何设置大小及初始化?/ 使用使用 new 设置大小设置大小/ 创建长度为创建长度为5的整型数组的整型数组int array = new int5; / 创建的同时初始化创建的同时初始化int arr = new int50,1,2,3,4; int arr = new int 0,1,2,3,4; / 省略长度省略长度int arr = 0,1,2,3,4; / 省略省略new 5方括号中的数字决定数组的长度方括号中的数字决定数组

16、的长度0,1,2,3,4大括号中的元素个数决定数组的长度大括号中的元素个数决定数组的长度l获得数组的长度(元素的个数):获得数组的长度(元素的个数):数组名数组名.Length常作为循环的条件常作为循环的条件演示示例演示示例6:一维数组一维数组/ 循环打印数组元素循环打印数组元素int array = new int5 0, 1 ,2, 3, 4; / 声明并初始化一维数组声明并初始化一维数组for (int i = 0; i array.Length;i+ ) / 输出数组中的所有元素输出数组中的所有元素 Console.WriteLine(arrayi); l数组初始值的数目与数组的长度数

17、组初始值的数目与数组的长度不一样不一样 / 循环打印数组元素循环打印数组元素int array = new int5 0, 1 ,2; / 声明并初始化一维数组声明并初始化一维数组for (int i = 0; i array.Length;i+ ) / 输出数组中的所有元素输出数组中的所有元素 Console.WriteLine(arrayi); 初始值的个数必须与数组的长度一样!初始值的个数必须与数组的长度一样!代码错误代码错误string arr3;arr3 = new string3 I, like, C# ;int arr1 = new int3;int arr2 = new int

18、31,2;int arr1new int31,2,0l正误判断:正误判断:int arr4 = new string3;类型应一致类型应一致请请 5 位同学上台,在老师的指导下,位同学上台,在老师的指导下,按照冒泡排序的算法按身高从低到高排序按照冒泡排序的算法按身高从低到高排序l冒泡排序:冒泡排序:每次比较相邻两数每次比较相邻两数小的交换到前面小的交换到前面每轮结束后最大的数交换到最后每轮结束后最大的数交换到最后16259902316259239092523第一轮:比较了第一轮:比较了4次次第二轮:比较了第二轮:比较了3次次第三轮:比较了第三轮:比较了2次次第四轮:比较了第四轮:比较了1次次i = 0i = 1i = 2i = 3第一轮:比较了第一轮:比较了4次次第二轮:比较了第二轮:比较了3次次第三轮:比较了第三轮:比较了2次次第四轮:比较了第四轮:比较了1次次外层循环外层循环l如何用二重循环将如何用二重循环将5个数字排序?个数字排序?N = 5 5个数字存放在个数字存放在一维数组一维数组中中 外层外层循环控制比较多少轮,循环变量循环控制比较多少轮,循环变量 i 内层内层循环控制每轮比较多少次,循环变量循环控制每轮比较多少次,循环变量 j内层循环内层循环循环循环4次次:j 4循环循环3次次:j 3循环循环2次次:j 2循环循环1次次:j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论