一、复习:

循环。反复执行某段语句一种语法形式。

1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) { 循环体 } 循环的四要素。 循环的执行过程。初始条件--循环条件--循环体--状态改变--循环条件--。。。。。 案例:1.打印10您好。2.显示1-100的数(所有的数,奇数,偶数)。3.显示ASCII码。

2.循环的嵌套。 for( ...;... ; ...) { for(...;...;...) { } } 案例:打印各种图形——外层的循环,打印行。内层循环,打印列。

3.应用(迭代,穷举) 迭代:按照某种规律,通循环逐步推导出最终结果来。 // 结果不正确往往是方法有问题,方法不正确往往是思想有问题。 最重要的——把迭代的规律找出来,并且用表达式表示出来。

案例: 1.100以内所有数的和。 2.阶乘 3.年龄推导。 4.折纸。棋盘上放粮食。 5.猴子吃桃子。 6.落球 7.兔子生兔子。 穷举:把所有可能的情况都走上一遍,根据要求找出满足条件的结来。

最重要的——能够看出是否可以用穷举来解决;如何把穷举的语法写出来。

案例:

1.100以内与7有关的数。

2.硬币组合问题。1,2,5 组合出1毛5来。

3.买东西。牙刷,香皂,洗发水。

4.百鸡百钱,百马百石。 5.侦察兵

6.等式填运算符

二、新课:

1.break与continue. 这两个关键字一般放在循环的花括号里面使用。

break——结束整个循环。 continue——结束本次循环,进入下次循环。

break的案例:

int i = 1; for(; ;)

{ if(i>100) { break; } Console.Write(i+"\t"); i++; }

continue的案例:

for (int i = 1; i <= 100; i++)

{ if(i%2 == 0) { continue; } Console.Write(i + "\t"); }

2.while循环 //初始条件 while(循环条件) { //循环体 //状态的改为 }

案例: int i = 1; int count=0; //记录与7有关的数字的个数

while(i<=100)

{ if(i%7==0 || i%10==7||i/10==7)

{ Console.Write(i+"\t"); count++; //1 } i++;  }

3 Console.Write("共有"+count+"个与7相关的数");

3.do...while(循环条件)简单了解。 即使初始条件不满足循环条件,循环还会执行一次。 至少执行一次。

数组:解决同一类大量数据在内存存储和运算的功能。

分类:一维数组、二维数组、多维数组。

特点:连续,同一类数据。

一、一维数组:豆角。 定义:指定类型,指定长度,指定名称。

int[] a = new int[5]; //5是长度。从1开始算。默认5个元素初始值都是0.

int[] a = new int[5] { 90, 95, 89, 76, 99 };

int[] a = new int[5] { 90, 95, 89 }; //语法有错,后面初始化的值必须是5个。

int[] a = new int[] { 90, 95, 89, 76, 99}; //计算机会根据后面的赋值,动态计算数组的长度。

赋值: 数组名[下标数值] = 值; int[] a = new int[5];  a[0] = 10; a[1] = 20; a[2] = 30; a[3] = 40; a[4] = 50;

取值: 数组名[下标数值]; //下标数值从0开始。 Console.WriteLine(a[3]+a[0]);

数组的好处:

1.对于大量数据来说,保存的时候,定义一个数组即可解决。

2.用循环来控制数组的下标,可以对数组进行批量操作。

例如:

int[ ] a = new int[5]; //数组的批量赋值

for (int i = 0; i < 5;i++ ) { a[i] = (i + 1) * 10; } //数组的批量取值。

for (int j = 0; j < 5;j++ )

{  Console.WriteLine(a[j]); //0下标。 }

案例一:做一个教练为6个球员打分的程序。

//定义一个保存球员成绩的数组 int[ ] a = new int[6];

//输入 for (int i = 0; i < a.Length; i++) { Console.Write("请输入第"+(i+1)+"个球员的成绩:");

a[i] = Convert.ToInt32(Console.ReadLine()); }
//输出 for(int j=0;j<a.Length;j++) { Console.WriteLine("第"+(j+1)+"位球员的分数是"+a[j]+"分。"); }

案例二:在案例一的基础上,显示球员总分和平均分。

案例三:在案例二的基础上,显示最高分和最低分,以及相应球员的代号。

案例四:青歌赛中有10个评委给一个选手打分,每打分后,要去掉一个最高分和一个最低分,计算该选手的平均得分。

案例五:做一个36选7的彩票生成器。

int[] a = new int[7];

Random rand = new Random(); for (int i = 0; i < 7; i++) //7--代表要生成7个不同的数 { //生成一个随机数。

int n = rand.Next(36); n++;
//查重 bool chong = false;

for(int j=0;j<a.Length;j++) { if(n == a[j]) { chong = true; break; } } //才能确定n合不合理

if(chong == false) { a[i] = n; } else { i--; }//if }//for

//显示彩票号码 for(int k = 0;k<a.Length;k++) { Console.Write(a[k] + "\t"); }

作业一,20个手机号滚动显示,随机抽取一个中奖号码。

string[] cellPhone = new string[ ]

{ "13012345678", "13109876543", "13287654678",  "13309876789", "13509878902", "13698374651", "13757893421", "13876561234",  "13909876543", "15034567438", "15111234795", "15894574839", "18210394857",  "18302938475" };

Random rand = new Random(); for(int i=0;i<50;i++)

{ //变慢一些。 System.Threading.Thread.Sleep(100);

//随机生成数组的下标。 int sub = rand.Next(cellPhone.Length);

//根据下标取数组的元素值。 string s = cellPhone[sub];

//显示 Console.Clear(); Console.WriteLine(s); }

复习break、continue、while、do-while的运用的更多相关文章

  1. js中的break ,continue, return (转)

    面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢? ...

  2. break,continue的使用

    break,continue 使用break命令允许跳出所有循环下面的例子中,脚本进入死循环直至用户输入数字大于5.要跳出这个循环,返回到shell提示符下,就要使用break命令. #!/bin/b ...

  3. 详解C#break ,continue, return

    C#编程语法中break ,continue, return这三个常用的关键字的学习对于我们编程开发是十分有用的,那么本文就向你介绍break ,continue, return具体的语法规范. C# ...

  4. js中退出语句break,continue和return 比较 (转载)

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  5. break , continue , exit

    break , continue , exit 例一:#!/bin/bash . /etc/init.d/functions `;do ];then #continue #没有数字3 break #e ...

  6. 有关于break,continue,return的区别和代码分析

    今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...

  7. Java基础(2):Java中的四个跳转语句总结goto,break,continue,return

    跳转控制语句 Java中的goto是保留字,目前不能使用.虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情.为了弥补这 ...

  8. js中退出语句break,continue和return 比较

    js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...

  9. [java学习笔记]java语言基础概述之转义字符&break&continue

    1.转义字符 \t:制表符 \n:回车 \b:退格 \r:回车 \":双引号 \\:反斜线(常用于文件路径的书写中)   windows系统中回车符其实是由两个符号组成的,\r\n linu ...

  10. JS中break continue和return的用法?

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环 ...

随机推荐

  1. nodejs(11)Express 中进行数据库操作

    配置 MySql 数据库环境 mysql 第三方模块的介绍和基本配置 要安装操作数据库的第三方包npm i mysql -S 导入 包 const mysql = require('mysql') 创 ...

  2. UVA 11552 序列划分模型 状态设计DP

    这个题目刚看到还真不好下手,把一个是 k的倍数的长度的字符串分成len/k块,每块是k个字母,每个块可以重新组合,最后使得整个序列的相同字母尽量在一起,也就是说,最后会把序列从前往后扫,相连的相同字母 ...

  3. centos7-vsftp(虚拟用户)

    要求如下: 1.所有用户主目录为/var/www宿主为virtual用户: 2.ftpuser1用户只能下载不能上传以及删除文件重命名操作: 3.ftpuser2可以下载与上传文件以及删除重命名操作: ...

  4. TX2Ubuntu16.04远程登录

    1.在PC机与TX2都要同步时钟: sudo apt-get install chrony sudo ntpdate ntp.ubuntu.com 如果ntpdate有错误检查是否安装ntpdate ...

  5. 图解:平衡二叉树,AVL树

    学习过了二叉查找树,想必大家有遇到一个问题.例如,将一个数组{1,2,3,4}依次插入树的时候,形成了图1的情况.有建立树与没建立树对于数据的增删查改已经没有了任何帮助,反而增添了维护的成本.而只有建 ...

  6. Python笔记_第四篇_高阶编程_正则表达式_2.正则表达式入门

    1. 匹配单个字符和数字: . --->> 匹配除换行符以外的任意字符.[0123456789] --->> []字符集合,表示匹配方括号中所包含的任意一个字符.[Thomas ...

  7. Python笔记_第四篇_高阶编程_高阶函数_3.sorted

    1. sorted函数: 常用的排序分:冒泡排序.选择排序.快速排序.插入排序.计数器排序 实例1:普通排序 # 普通排序 list1 = [,,,,] list2 = sorted(list1) # ...

  8. ASP.NET ZERO 学习 JTable的使用

    View信息: @using Abp.Web.Mvc.Extensions @using MedicalSystem.Authorization @using MedicalSystem.Web.Na ...

  9. bfs--奇怪的电梯P1135

    计院有一个bug电梯,可能是hyk造的,很多bug,电梯只有两个按钮,“上”和“下”,电梯每层都可以停,每层都有一个数字Ki(0<=Ki<=n),当你在一层楼,你按“上”键会到1+K1层, ...

  10. php的date()函数判断今天是星期几

    d  月份中的第几天,有前导零的 2 位数字 01 到 31 D  星期中的第几天,文本表示,3 个字母 Mon 到 Sun j  月份中的第几天,没有前导零 1 到 31 l  ("L&q ...