黑马程序员_分支结构与循环结构以及跳转语句

来源:互联网 发布:淘宝网店标志图片 编辑:程序博客网 时间:2024/06/01 12:39
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

1.if 结构

a) 编程实现:如果张三的考试成绩大于90分,那么爸爸奖励他100元。

b) 使用if结构可以实现上面的问题

c) 法if结构的基本语法

d) if(条件)

语句;

if(条件)

{语句1; 语句2;。。。

e)   括号中的条件要能计算成bool类型。

默认情况下,if能只带一句话


f) 练习:

1.让用户输入年龄,如果输入的年龄大于18,则给用户显示:你已成年。


2.如果张三的语文成绩大于90并且音乐成绩大于80,或者语文成绩等于100并且音乐成绩大于70,则奖励100元。


3.让用户输入用户名和密码,如果用户名为admin,密码为mypass,则提示登陆成功。


2.if - else 结构:

a) 语法: 

if (条件)

{语句1;}

else

{语句2;}


执行过程:如果条件为true,执行if带的语句1,跳过else带的语句2

如果条件为false,跳过if带的语句1,执行else带的语句2

上面二个语句块,根据条件为truefalse,总要执行一个。

b)练习:

1.盖茨买了一筐鸡蛋,如果坏蛋少于5个,他就吃掉,否则他就去退货。


2.要求用户输入二个数a b,如果a能被b整除或者ab大于100,则输出a否则输出b


3.对学员的结业考试成绩评测(考虑用if好还是用if-else)

成绩>=90: A

90>成绩>=80B

80>成绩>=70C

70>成绩>=60D

成绩<60E


if-else 嵌套太多!不提倡!

3. if-else-if 流程

注:只有在上一个条件不成立时,才会进入下一个if语句,并进行if语句后面的条件判断,如果一旦有一个if后面的条件为true,则执行此句,执行完成后跳出结构,

用if-else-if 解决前面的问题:


练习:

1.提示用户输入密码,如果密码是“888888”则提示正确,否则要求再输入一次,如果密码是“888888”则提示正确,否则提示错误,程序结束。


2.提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“888888”,则提示正确,否则,如果用户名不是admin则提示用户用户名不存在,如果用户名是admin则提示密码错误。


3.提示用户输入年龄,如果大于等于18,则告知用户可以查看,如果小于10岁,则告知不允许查看,如果大于等于10岁,则提示用户是否继续查看yes no,如果输入的是yes,则提示用户请查看,否则提示:退出,你放弃查看。


4为什么使用switch

李四的年终工作评定,如果定为A级,则工资涨500

如果定为B级,工资涨200

如果定为C级,工资不变

如果定为D级,工资降200

如果定为E级,工资降500

设李四的原工资为5000,请用户输入李四的评级,然后显示李四来年的工资。


5.switch-case

a) switch-case语法:

switch (表达式)

{

case 1:语句块1

break;

case 2:语句块2

break'

default:语句块3

break;

}

首先计算表达式的值,与case后面的值进行匹配,如果有匹配项,则执行匹配项后面的语句,直到break语句跳出如果都不匹配,则执行default,如果没有default,则跳出,什么都不执行。


6.if-else if switch比较

a) 都可以实现多分支结构

b) switch: 一般只能用于等值比较

if-else if :可以处理范围

练习:

1.请用户输入年份和月份,输出该月的天数

    2.switch 做学员结业测评


7.循环结构

a) 重复输出有限次数的话

int i = 0; // i控制循环次数,循环变量

while (i < 5)

{

Console.WriteLine("XXX");

i++;

}

Console.ReadKey();

语法:

while (循环条件)

循环体;

过程:

1.先判断循环条件,如果条件为true,则转向2

如果条件为false,转向3

2.执行循环体,执行完后,转向1

3.跳出循环,循环结束

注意:循环体中,要有改变循环条件为false的语句

n次循环:i0开始,则循环条件为:i<n

n次循环:i1开始,则循环条件为:i<=n 或者i<n+1


练习:

1.打印100次“欢迎来到黑马训练营”


2.输入班级人数,然后依次输入学员成绩,计算学员的平均成绩和总成绩


3.老师问学生,这道题你会做了吗?如果学生回答:会了,则可以放学,如果学生不会做n,则老师再讲一遍,再问学生是否会做了。。。

直到学生会为止,才可以放学

直到学生会或者老师给他讲了10遍还不会 都要放学


4.2006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员将达到20万人?




8. do-while

a) 明天,小兰要演出,老师要把舞蹈先表演一遍,如果满意,小兰就可以回家,否则就需要再练习一遍,直到老师满意为止。

b) do-while 为先执行一次,再进行判断

c) do

循环体;

while (条件);  //这里有分号

过程:

1.执行循环体

2.判断条件是否成立,如果条件为True,转向1

如果条件为false,则转向3

3,跳出循环



练习:

1.计算1-100之间整数的和


2.要求用户输入用户名和密码,只要不是admin 888888就一直提示用户名或密码错误,请重新输入。

方法1


方法2

3.不断要求 用户输入学生姓名,输入q结束


4.不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。


5.不断要求用户输入一个数字,假定用户输入的都是正整数,当用户输入end的时候,显示刚才用户输入的数字中的最大值。

9.程序调试

a) 设置断点

b) 单步运行

c) 观察变量

10.for 循环 用于已知循环次数

语法:

for(表达式1; 表达式2; 表达式3

{

循环体;

}

执行过程:

1.执行表达式1,转向2

2.判断表达式2,如果表达式2(循环条件)的值为true,则转向3

如果表达式2(循环条件)的值为false,则转向

3.执行循环体,转向4

4.执行表达式3,转向2

5.循环结束

一般情况 :表达式1用于定义循环变量和对循环变量赋初值

表达式2 是 循环条件

表达式3 用于 改变循环变量的值

Tip:表达式123可以省略,分号不能省略

死循环:

            for (; ; )

            {

                Console.WriteLine("我爱你!");

            }

a) 连续输出100次:我下次一定细心。

b) 比较用forwhile哪种更好

c) 问题1:求1-100间的所有偶数和


d) 问题2:找出100-999间的水仙花数

水仙花数是一个三位数,cba = a*a*a+b*b*b+c*c*c


e) 问题3:输出九九乘法表(循环的嵌套)



额外的加法表:

11. break

a) break用于循环中,退出当前循环


b)可以用于switch-case中,用于跳出switch

练习 :

1.循环录入5个人的年龄,并计算平均年龄,如果录入的数据出现负数,或者大于100的数,立即停止输入并报错



2.在while中用break实现要求用户一直输入用户名和密码,只要不是admin 888888就一直提示要求重新输入,如果正确,提示登陆成功


3.1-100之间的整数相加,得到累加值大于20的当前数。

12. continue

a)立即结束本次循环(不再执行continue下面的语句),进行下一次循环

对于do while/ while 直接判断循环条件!

对于for 先执行表达式3,再判断循环条件!

b)举例:运动员跑步喝水的例子

练习1:用while continue 实现计算 1-100之间除了能被7整除之外所有整数的和。


13.三元表达式:

表达式? 表达式:表达式3

执行过程:

首先计算表达式(应该是能计算成bool类型的值)

如果表达式1的值为true,表达式2的值作为整个表达式的值

如果表达式1的值为false,表达式3的值作为整个表达式的值

表达式和表达式3的类型一定要相同(相容)

int var1 = 10

int var2 = 20;

int max = var1 > var2 ? var1 : var2


---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
原创粉丝点击