黑马程序员_分支结构与循环结构以及跳转语句
来源:互联网 发布:淘宝网店标志图片 编辑:程序博客网 时间:2024/06/01 12:39
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
上面二个语句块,根据条件为true和false,总要执行一个。
b)练习:
1.盖茨买了一筐鸡蛋,如果坏蛋少于5个,他就吃掉,否则他就去退货。
2.要求用户输入二个数a b,如果a能被b整除或者a加b大于100,则输出a否则输出b。
3.对学员的结业考试成绩评测(考虑用if好还是用if-else好)
成绩>=90: A
90>成绩>=80:B
80>成绩>=70:C
70>成绩>=60:D
成绩<60:E
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次循环:i从0开始,则循环条件为:i<n
n次循环:i从1开始,则循环条件为:i<=n 或者i<n+1
练习:
1.打印100次“欢迎来到黑马训练营”
2.输入班级人数,然后依次输入学员成绩,计算学员的平均成绩和总成绩
3.老师问学生,这道题你会做了吗?如果学生回答:会了y ,则可以放学,如果学生不会做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) 比较用for和while哪种更好
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.三元表达式:
表达式1 ? 表达式2 :表达式3
执行过程:
首先计算表达式1 (应该是能计算成bool类型的值)
如果表达式1的值为true,表达式2的值作为整个表达式的值
如果表达式1的值为false,表达式3的值作为整个表达式的值
表达式2 和表达式3的类型一定要相同(相容)
int var1 = 10;
int var2 = 20;
int max = var1 > var2 ? var1 : var2
- 黑马程序员_分支结构与循环结构以及跳转语句
- 黑马程序员--.NET笔记--顺序结构、循环结构、跳转语句
- 分支结构与循环语句
- 黑马程序员-结构语句循环
- 黑马程序员_总结跳转语句、枚举类型、结构体类型、类以及值类型和引用类型的区别
- 黑马程序员_分支结构、枚举、结构、数组
- 黑马程序员—IOS之C语言基础—循环结构与分支结构
- 黑马程序员-分支结构
- 黑马程序员-------分支结构
- 黑马程序员_C语言_循环结构
- 分支结构与循环结构
- 黑马程序员_java基础学习笔记02_选择结构和循环语句语句
- 黑马程序员---C语言学习笔记之分支结构if语句与switc语句的详解
- 黑马程序员——高新技术---Java基础语法-循环结构和跳转语句
- 黑马程序员_运算表达式和多分支结构
- 黑马程序员-循环结构
- 黑马程序员 ---- 循环结构
- 黑马程序员------循环结构
- notification相关二
- poj 1753 Flip Game 二进制状态压缩
- 用WinInet API实现ftp文件上传
- 线性表基础知识(四)
- 3D 学习笔记 几何混合 Geometry Blending
- 黑马程序员_分支结构与循环结构以及跳转语句
- Doubly connected edge list
- centos6.2使用yum安装lamp
- 开始找工作了。。。
- va_list va_start va_arg va_end 详解
- C++/C动态内存分配的区别
- Activity的Launch mode详解 singleTask正解
- WP中去掉固定链接中的index.php和category
- HDU 3954 level up 线段树