第四章 流程控制
课时30 流程图
1.流程图:使用标准化的图形方式,分析某个功能的实现步骤
2.流程图中的形状
1)开始或结束(椭圆) 表示程序的开始或结束
2)步骤(长方形) 表示功能中的每一步
3)输入或输出(平行四边形) 表示输入或输出
4)判断(菱形) 表示输入和输出
5)流程流向(带箭头的直线) 连接其他图形,表示程序流向
3.制作流程图的工具
PPt , Word, Visio , Power Desinger, Diagram Designer, 其他
代码展示与理解:
Console.WriteLine("请输入一个分数");
Console.ReadLine();
int score=int.Parse(Console.ReadLine());
Console.WriteLine((score>=60?"输出及格":"输出不及格"));
细心:进行三目运算时,要使用小括号
Console.ReadLine();
Console.WriteLine("请输入一个分数");
Console.ReadLine();
int score = int.Parse(Console.ReadLine());
Console.WriteLine((score >= 60 ? "输出及格" : "输出不及格"));
Console.ReadLine();
备注:
1)功能分析和代码书写分离
2)更加专注,便于解决复杂问题
课时31 if判断
1.流程控制语句
1)if判断
2)swith 选择
3)循环
代码展示与理解:
Console.WriteLine("请输入一个数字");
int num=int.Parse(Console.ReadLine());
if (num==0)
Console.WriteLine("零");
//判断结果为正偶数
else if (num>=0)
{
if(num % 2==0)
Console.WriteLine("正偶数");
else
Console.Write("负偶数");
}
//判断结果为正奇数
else if (num>=0)
{
if(num % 2==0)
Console.WriteLine("正偶数");
else
Console.Write("负偶数");
}
Console.ReadLine();
Console.WriteLine("请输入一个数字");
int num = int.Parse(Console.ReadLine());
if (num == 0)
Console.WriteLine("零");
//判断结果为正偶数
else if (num >= 0)
{
if (num % 2 == 0)
Console.WriteLine("正偶数");
else
Console.Write("负偶数");
}
//判断结果为正奇数
else if (num >= 0)
{
if (num % 2 == 0)
Console.WriteLine("正偶数");
else
Console.Write("负偶数");
}
Console.ReadLine();
合并书写
Console.WriteLine("请输入一个数字");
int num = int.Parse(Console.ReadLine());
if (num == 0)
Console.WriteLine("零");
//判断结果为正偶数,正奇数
else if (num <=0)
Console.WriteLine ( num % 2 == 0? "正偶数" : "负偶数");
else Console.WriteLine ( num % 2 == 0 ? "正奇数" : "负奇数") ;
Console.ReadLine();
课时32 变量作用域
1.变量作用域
定义:某个变量在内定义时所在的大括号
备注:在大括号内,该变量有效,大括号外无效
在某个位置定义变量时,变量名不得与作用域覆盖该位置的变量名相同
示例展示与理解:
int a =1;
if (a > 2)
{
int b =2;
}
else
{
int b =3;
}
理解:
1)定义一个int类型的变量a,将1赋值给a
2)如果满足a>2,则int b=2
3)否则,int b=3
课时33 收益计算器
/*
*欢迎来到**银行,您可以在这里进行定期存款,获得的收益将按照以下规则进行计算
1.存款期1年以内,按照4%的年利率计算利息
2.存款期2-5年,按照4.8%的年利率计算利息
3.存款期5年以上(不包含5万),存款到期后,按照5.2%的年利率计算利息
4.若存款金额超过50万(含5万),存款到期后,还会获得利息10%的收益
*********************************************************
*/
//提示请您用户输入本金
Console.WriteLine("请您用户输入本金");
decimal num=(decimal.Parse(Console.ReadLine());
//提示请您输入存款期限
Console.WriteLine("请您输入存款期限");
double num 1 =( decimal.Parse(Console.ReadLine());
//定义一个变量利率
decimal interest;
//利息=本金*利率*期限
if (year <=1 && year >=0)
{
interest==0.4m
}
else if(year <=5 && year >=2)
{
interest==0.048m
else if(year >=5)
{
interest==0.052m
}
//收益=本金*(1+利率)-本金
decimal earning= (num*(1+ interest) - num)*10000;
Console.ReadLine();
//提示请您用户输入本金
Console.WriteLine("请您用户输入本金");
decimal savemoney = (decimal.Parse(Console.ReadLine()));
//提示请您输入存款期限
Console.WriteLine("请您输入存款期限");
int year = (int.Parse(Console.ReadLine()));
//定义一个变量利率;
decimal rate;
//利息=本金*利率*期限
if (year == 1)
{
rate = 0.04m;
}
else if (year <= 5 && year >= 2)
{
rate = 0.048m;
}
else
{
rate = 0.052m;
}
//计算利息
decimal ratemoney = savemoney * rate * year * 10000;
//计算额外收益
decimal extramoney = 0;
if (savemoney >= 50)
{
extramoney = ratemoney * 0.1m;
}
//计算总收益
decimal all = extramoney + ratemoney;
Console.WriteLine("恭喜您:存款成功," + "年到期后,您获得" + all + "元的收益");
Console.ReadLine();
课时34 switch 选择
1.switch 选择
代码展示与理解
switch (变量表达式)
{
case 值1:
代码1
break;
case 值2:
代码2
break;
default:
代码N
break;
}
理解:
1)先计算出变量或表达式的值
2)将该值从上到下依次与case后面的值比较
3)若与某一个case后面的值相同,则运行该case下面的代码
4)若与所有case后面的值都不同,则运行default后面的代码
2.switch 选择仅支持的比较类型:
string , char, bool, int , uint , short , ushort , byte , sbyte , long , ulong
课时35 while循环
1.循环是重复做一件事情
1)循环的形式 do while , while , for ,foreach
2)代码格式
while (循环条件)
{
循环体
}
备注:循环条件必须是bool类型的值 、变量、表达式
循环体 备注:1)任意功能,任意数量的代码 2)循环体只有一句代码,可以省略
代码格式的解读
1)如果循环条件为真,则执行循环体
2)执行完循环体后,再判断条件是否为真
3)如果为真,再执行循环体,
4)然后再判断条件为真
5)一直这样执行下去,直到循环条件判定为假,才结束
代码展示及理解:
//定义当前输出次数
int num=0 ;
while ( num <= 100 )
{
Console.WriteLine("你好");
//每输出就增加一次
num ++;
}
{
//定义当前输出次数
int num = 0;
while (num <= 100)
{
Console.WriteLine("你好");
//每输出就增加一次
num++;
}
Console.ReadLine();
}
代码展示与理解:
//定义一个当前输出数
int times =0;
while ( times <=100)
{
Console.Write("*");
//每输出就增加一次
times++
//输出10个*就换行
if (times % 10 ==0)
{
Console.WriteLine();
}
}
{ //定义一个当前输出数
int times =0;
while ( times <=100)
{
Console.Write("*");
//每输出就增加一次
times++;
//输出10个*就换行
if (times % 10 ==0)
{
Console.WriteLine();
}
}
}
课时36 do while 循环
1. do while 循环的理解
do
{
循环体
}
while (循环条件);
理解:
1)先执行一次
2)然后判断循环条件是否满足,如果满足再执行循环体
3)然后再判断条件是否满足,直到条件不满足,则结束循环
//定义一个当前输入的正数
int times=0;
do
{
}
while ( times );
Console.WriteLine();
课时37 for循环
1.for 循环
代码格式及理解:
1)代码格式
for (表达式1;循环条件;表达式2)
{
循环体
}
2)理解
a.运行表达式1
b.判断循环条件是否为真,如果为真,则执行循环体
c.执行完后再运行表达式2,接着判断循环条件
d.直到循环条件为假才会结束循环
示例理解:
int i = 0;
for ( i =1; i < = 100; i ++)
{
Console.WriteLine("你好");
}
Console.ReadLine();
int i = 0;
for ( i =1; i <=100; i ++)
{
Console.WriteLine("你好");
}
Console.ReadLine();
课时38 应用:打印九九乘法表
for (int i =1; i <= 9;i ++)
{
for ( int j =1 ; j <=i;j ++)
{
Console,WriteLine(i +"*"+j+"="+i*j +"\t");
}
Console.WriteLine();
}
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write(i + "*" + j + "=" + i * j + "\t");
}
Console.WriteLine();
}
Console.ReadLine();
课时39 break和continue
1.break 分为两种类型
1)swith 立即结束swith
2) 循环 立即结束循环
2.continue
1) 循环 立即结束当次循环,进入下一次循环
课时40 查找问题
1.查找问题
定义:根据需求,在一组数据中,找到需要的数据
2.查找问题的解决反感
1)简单查找 指在样本中,依次寻找数据目标
2)执行方式: 循环从样本中的第一个开始直到最后一个数据结束,循环中一定包含一个判断,该判断用于判断数据是否为目标数据
备注:一定会使用到循环
代码展示与理解:
// 查找样本:1000---1500
for (int i =1000;i <=1500;i ++)
{
//查找目标:能被97整除(某个样本除以97的余数为0)
if ( i % 97 ==0)
{
//找到最后的行为:输出目标数据
Console.WriteLine(i);
}
Console.ReadLine();
}
代码展示与理解:
补充:质数的概念是只能被1和本身整除的数
理解:
1)查找样本:2--(n—1)
2)查找目标:能整除n(n除以某个样本的余数为0)
3)找到后的行为:结束寻找
int n=int.Parse(Console.ReadLine());
//是否找到目标
bool isFind = false;
for (int i = ;i <= n-1; i ++)
{
if (n % i ==0)
//找到
{
isFind = ture;
break;
}
}
//在2--(n—1)之间,找到能整除n的数
if ( isFind)
Console.WriteLine("不是质数");
else
Console.WriteLine("是质数");
第四章 流程控制
课时30 流程图
1.流程图:使用标准化的图形方式,分析某个功能的实现步骤
2.流程图中的形状
1)开始或结束(椭圆) 表示程序的开始或结束
2)步骤(长方形) 表示功能中的每一步
3)输入或输出(平行四边形) 表示输入或输出
4)判断(菱形) 表示输入和输出
5)流程流向(带箭头的直线) 连接其他图形,表示程序流向
3.制作流程图的工具
PPt , Word, Visio , Power Desinger, Diagram Designer, 其他
代码展示与理解:
Console.WriteLine("请输入一个分数");
Console.ReadLine();
int score=int.Parse(Console.ReadLine());
Console.WriteLine((score>=60?"输出及格":"输出不及格"));
细心:进行三目运算时,要使用小括号
Console.ReadLine();
Console.WriteLine("请输入一个分数");
Console.ReadLine();
int score = int.Parse(Console.ReadLine());
Console.WriteLine((score >= 60 ? "输出及格" : "输出不及格"));
Console.ReadLine();
备注:
1)功能分析和代码书写分离
2)更加专注,便于解决复杂问题
课时31 if判断
1.流程控制语句
1)if判断
2)swith 选择
3)循环
代码展示与理解:
Console.WriteLine("请输入一个数字");
int num=int.Parse(Console.ReadLine());
if (num==0)
Console.WriteLine("零");
//判断结果为正偶数
else if (num>=0)
{
if(num % 2==0)
Console.WriteLine("正偶数");
else
Console.Write("负偶数");
}
//判断结果为正奇数
else if (num>=0)
{
if(num % 2==0)
Console.WriteLine("正偶数");
else
Console.Write("负偶数");
}
Console.ReadLine();
Console.WriteLine("请输入一个数字");
int num = int.Parse(Console.ReadLine());
if (num == 0)
Console.WriteLine("零");
//判断结果为正偶数
else if (num >= 0)
{
if (num % 2 == 0)
Console.WriteLine("正偶数");
else
Console.Write("负偶数");
}
//判断结果为正奇数
else if (num >= 0)
{
if (num % 2 == 0)
Console.WriteLine("正偶数");
else
Console.Write("负偶数");
}
Console.ReadLine();
合并书写
Console.WriteLine("请输入一个数字");
int num = int.Parse(Console.ReadLine());
if (num == 0)
Console.WriteLine("零");
//判断结果为正偶数,正奇数
else if (num <=0)
Console.WriteLine ( num % 2 == 0? "正偶数" : "负偶数");
else Console.WriteLine ( num % 2 == 0 ? "正奇数" : "负奇数") ;
Console.ReadLine();
课时32 变量作用域
1.变量作用域
定义:某个变量在内定义时所在的大括号
备注:在大括号内,该变量有效,大括号外无效
在某个位置定义变量时,变量名不得与作用域覆盖该位置的变量名相同
示例展示与理解:
int a =1;
if (a > 2)
{
int b =2;
}
else
{
int b =3;
}
理解:
1)定义一个int类型的变量a,将1赋值给a
2)如果满足a>2,则int b=2
3)否则,int b=3
课时33 收益计算器
/*
*欢迎来到**银行,您可以在这里进行定期存款,获得的收益将按照以下规则进行计算
1.存款期1年以内,按照4%的年利率计算利息
2.存款期2-5年,按照4.8%的年利率计算利息
3.存款期5年以上(不包含5万),存款到期后,按照5.2%的年利率计算利息
4.若存款金额超过50万(含5万),存款到期后,还会获得利息10%的收益
*********************************************************
*/
//提示请您用户输入本金
Console.WriteLine("请您用户输入本金");
decimal num=(decimal.Parse(Console.ReadLine());
//提示请您输入存款期限
Console.WriteLine("请您输入存款期限");
double num 1 =( decimal.Parse(Console.ReadLine());
//定义一个变量利率
decimal interest;
//利息=本金*利率*期限
if (year <=1 && year >=0)
{
interest==0.4m
}
else if(year <=5 && year >=2)
{
interest==0.048m
else if(year >=5)
{
interest==0.052m
}
//收益=本金*(1+利率)-本金
decimal earning= (num*(1+ interest) - num)*10000;
Console.ReadLine();
//提示请您用户输入本金
Console.WriteLine("请您用户输入本金");
decimal savemoney = (decimal.Parse(Console.ReadLine()));
//提示请您输入存款期限
Console.WriteLine("请您输入存款期限");
int year = (int.Parse(Console.ReadLine()));
//定义一个变量利率;
decimal rate;
//利息=本金*利率*期限
if (year == 1)
{
rate = 0.04m;
}
else if (year <= 5 && year >= 2)
{
rate = 0.048m;
}
else
{
rate = 0.052m;
}
//计算利息
decimal ratemoney = savemoney * rate * year * 10000;
//计算额外收益
decimal extramoney = 0;
if (savemoney >= 50)
{
extramoney = ratemoney * 0.1m;
}
//计算总收益
decimal all = extramoney + ratemoney;
Console.WriteLine("恭喜您:存款成功," + "年到期后,您获得" + all + "元的收益");
Console.ReadLine();
课时34 switch 选择
1.switch 选择
代码展示与理解
switch (变量表达式)
{
case 值1:
代码1
break;
case 值2:
代码2
break;
default:
代码N
break;
}
理解:
1)先计算出变量或表达式的值
2)将该值从上到下依次与case后面的值比较
3)若与某一个case后面的值相同,则运行该case下面的代码
4)若与所有case后面的值都不同,则运行default后面的代码
2.switch 选择仅支持的比较类型:
string , char, bool, int , uint , short , ushort , byte , sbyte , long , ulong
课时35 while循环
1.循环是重复做一件事情
1)循环的形式 do while , while , for ,foreach
2)代码格式
while (循环条件)
{
循环体
}
备注:循环条件必须是bool类型的值 、变量、表达式
循环体 备注:1)任意功能,任意数量的代码 2)循环体只有一句代码,可以省略
代码格式的解读
1)如果循环条件为真,则执行循环体
2)执行完循环体后,再判断条件是否为真
3)如果为真,再执行循环体,
4)然后再判断条件为真
5)一直这样执行下去,直到循环条件判定为假,才结束
代码展示及理解:
//定义当前输出次数
int num=0 ;
while ( num <= 100 )
{
Console.WriteLine("你好");
//每输出就增加一次
num ++;
}
{
//定义当前输出次数
int num = 0;
while (num <= 100)
{
Console.WriteLine("你好");
//每输出就增加一次
num++;
}
Console.ReadLine();
}
代码展示与理解:
//定义一个当前输出数
int times =0;
while ( times <=100)
{
Console.Write("*");
//每输出就增加一次
times++
//输出10个*就换行
if (times % 10 ==0)
{
Console.WriteLine();
}
}
{ //定义一个当前输出数
int times =0;
while ( times <=100)
{
Console.Write("*");
//每输出就增加一次
times++;
//输出10个*就换行
if (times % 10 ==0)
{
Console.WriteLine();
}
}
}
课时36 do while 循环
1. do while 循环的理解
do
{
循环体
}
while (循环条件);
理解:
1)先执行一次
2)然后判断循环条件是否满足,如果满足再执行循环体
3)然后再判断条件是否满足,直到条件不满足,则结束循环
//定义一个当前输入的正数
int times=0;
do
{
}
while ( times );
Console.WriteLine();
课时37 for循环
1.for 循环
代码格式及理解:
1)代码格式
for (表达式1;循环条件;表达式2)
{
循环体
}
2)理解
a.运行表达式1
b.判断循环条件是否为真,如果为真,则执行循环体
c.执行完后再运行表达式2,接着判断循环条件
d.直到循环条件为假才会结束循环
示例理解:
int i = 0;
for ( i =1; i < = 100; i ++)
{
Console.WriteLine("你好");
}
Console.ReadLine();
int i = 0;
for ( i =1; i <=100; i ++)
{
Console.WriteLine("你好");
}
Console.ReadLine();
课时38 应用:打印九九乘法表
for (int i =1; i <= 9;i ++)
{
for ( int j =1 ; j <=i;j ++)
{
Console,WriteLine(i +"*"+j+"="+i*j +"\t");
}
Console.WriteLine();
}
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write(i + "*" + j + "=" + i * j + "\t");
}
Console.WriteLine();
}
Console.ReadLine();
课时39 break和continue
1.break 分为两种类型
1)swith 立即结束swith
2) 循环 立即结束循环
2.continue
1) 循环 立即结束当次循环,进入下一次循环
课时40 查找问题
1.查找问题
定义:根据需求,在一组数据中,找到需要的数据
2.查找问题的解决反感
1)简单查找 指在样本中,依次寻找数据目标
2)执行方式: 循环从样本中的第一个开始直到最后一个数据结束,循环中一定包含一个判断,该判断用于判断数据是否为目标数据
备注:一定会使用到循环
代码展示与理解:
// 查找样本:1000---1500
for (int i =1000;i <=1500;i ++)
{
//查找目标:能被97整除(某个样本除以97的余数为0)
if ( i % 97 ==0)
{
//找到最后的行为:输出目标数据
Console.WriteLine(i);
}
Console.ReadLine();
}
代码展示与理解:
补充:质数的概念是只能被1和本身整除的数
理解:
1)查找样本:2--(n—1)
2)查找目标:能整除n(n除以某个样本的余数为0)
3)找到后的行为:结束寻找
int n=int.Parse(Console.ReadLine());
//是否找到目标
bool isFind = false;
for (int i = ;i <= n-1; i ++)
{
if (n % i ==0)
//找到
{
isFind = ture;
break;
}
}
//在2--(n—1)之间,找到能整除n的数
if ( isFind)
Console.WriteLine("不是质数");
else
Console.WriteLine("是质数");