标签:sys switch 运行 1年 等于 连接 需求 比较 res
4-1-流程图
功能
第一步、第二步、第三步、第四步、第五步:某一个步骤完成后,可能会根据完成结果的不同,跳到不同的步骤
流程图:使用标准化的图案方案,分析某个功能的实现步骤
分析:功能 → 流程图 → //实现代码
标准化图形:必须使用流程图中规定的形状
流程图形状:
椭圆形
表示程序的开始或结束
一个流程图中,只能有出现一个开始和结束
矩形
表示功能中的每一个步骤
菱形
表示判断,将产生两种判断结果,真 或 假
箭头
连接其他图形,表示程序的流向
案例:让用户输入一个分数,
如果分数大于等于60,则输出及格,否则输出不及格
代码表示:
Console.Write("输入你的分数:");
int a = int.parse(Console.ReadLine());
string rensule;
resule = a >= 60 ? "及格" : "不及格";
Console.Write(resule);
流程图把 功能分析 和 代码书写 分离
功能
第一步
第二步
第三步
第四步
第五步
某一个步骤完成后,可能会根据完成结果的不同,跳到不同的步骤
流程图:使用标准化的图案方案,分析某个功能的实现步骤
分析:功能 → 流程图 → //实现代码
标准化图形:必须使用流程图中规定的形状
流程图形状
椭圆形
表示程序的开始或结束
一个流程图中,只能有出现一个开始和结束
矩形
表示功能中的每一个步骤
菱形
表示判断,将产生两种判断结果,真 或 假
箭头
连接其他图形,表示程序的流向
流程图形状
案例:让用户输入一个分数,
如果分数大于等于60,则输出及格,否则输出不及格
代码表示:
Console.Write("输入你的分数:");
int a = int.parse(Console.ReadLine());
string rensule;
resule = a >= 60 ? "及格" : "不及格";
Console.Write(resule);
流程图把 功能分析 和 代码书写 分离
4-2- if判断
流程控制
流程控制语句
if 判断
代码格式:
if(条件1) → 条件1为bool 类型
{
代码1 → 任意功能,任意数量
}
else if(条件2) → 条件2为bool 类型
{
代码2 → 任意功能,任意数量
}
else
{
代码N → 任意功能,任意数量
}
如果条件1成立,则执行代码1
否则判断条件2是否成立,如果成立,则执行代码2
如果以上条件都不成立,执行代码N
switch 选择
循环
流程控制
流程控制语句
if 判断
代码格式:
if(条件1) → 条件1为bool 类型
{
代码1 → 任意功能,任意数量
}
else if(条件2) → 条件2为bool 类型
{
代码2 → 任意功能,任意数量
}
else
{
代码N → 任意功能,任意数量
}
如果条件1成立,则执行代码1
否则判断条件2是否成立,如果成立,则执行代码2
如果以上条件都不成立,执行代码N
switch 选择
循环
4-3-变量作用域
变量的作用域,可以将单理解为,某个变量在定义是所在的大括号
在大括号内,该变量有效,大括号外无效
在某个位置定义变量的时候,变量名不得与作用域覆盖该位置的变量名相同
变量的作用域,可以将单理解为,某个变量在定义是所在的大括号
在大括号内,该变量有效,大括号外无效
在某个位置定义变量的时候,变量名不得与作用域覆盖该位置的变量名相同
4-4- 收益计算器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 收益计算器
{
class Program
{
static void Main(string[] args)
{
/* 1.存款期1年以内,按照4%的年利率计算利息
2.存款期2-5年,按照4.8%的年利率计算利息
3.存款期5年以上(不含5年),按照5.2%的年利率计算利息
4.若存款金额超过50万(含50万),存款到期后,还会获得利息10%的收益
*/
//输入金额,然后把输入的金额转换为int类型,保存到变量je中
Console.Write("输入存款金额(万元):");
string sr1 = Console.ReadLine();
decimal je = decimal.Parse(sr1);
//输入存款期,然后把输入的存款期转换为int类型,保存到变量n中
Console.Write("输入存款期(年):");
string sr2 = Console.ReadLine();
int n = int.Parse(sr2);
//总收益 = 利息收益 + 额外收益
//利息收益=本金 * 年利率 * 年份 先计算利息收益
decimal nll;//lx表示年利率
if(n == 1)
{
nll = 0.04m;
}
else if(n >= 2 && n <= 5)
{
nll = 0.048m;
}
else
{
nll = 0.52m;
}
//利息收益用lx表示
decimal lx = je * nll * n * 10000;
//计算额外收益,额外收益用ew表示,总收益用zs表示
decimal ew = 0;
if(je >= 50)
{
ew = lx * 0.01m;
}
//计算总收益
decimal zs = lx + ew;
Console.Write("存款成功," + n + "年到期后,收益为" + zs + "元");
Console.ReadLine();
}
}
}
4-5-switch选择
switch 选择 → 流程控制语句
代码格式 :
swith (变量或者表达式)
{
case 值1:
代码1
break;
case 值2:
代码2
break;
default:
代码N
break;
}
先计算出变量或表达式的值
将该值从上到下依次和case后面的值进行比较
若与魔偶一个case后面的值相同,则运行该case下面的代码
若与所有的case后面的值都不相同,则运行defaule后面的代码
代码格式 :
swith (变量或者表达式) 值1 和 值2 要能够和 变量或表达式 比较
{
case 值1: → 必须是具体的值
代码1
break; → 必须写
case 值2: → 必须是具体的值
代码2
break; → 必须写
default:
代码N
break; → 必须写
}
仅支持以下类型的比较:string 、 char 、bool 、枚举(还没有学) 、整数(byte、sbyte、short、ushurt、int、uint、long、ulong)
switch 选择 → 流程控制语句
代码格式 :
swith (变量或者表达式)
{
case 值1:
代码1
break;
case 值2:
代码2
break;
default:
代码N
break;
}
先计算出变量或表达式的值
将该值从上到下依次和case后面的值进行比较
若与魔偶一个case后面的值相同,则运行该case下面的代码
若与所有的case后面的值都不相同,则运行defaule后面的代码
代码格式 :
swith (变量或者表达式) 值1 和 值2 要能够和 变量或表达式 比较
{
case 值1: → 必须是具体的值
代码1
break; → 必须写
case 值2: → 必须是具体的值
代码2
break; → 必须写
default:
代码N
break; → 必须写
}
仅支持以下类型的比较:string 、 char 、bool 、枚举(还没有学) 、整数(byte、sbyte、short、ushurt、int、uint、long、ulong)
4-6- while循环
循环(流程控制语句) →重复的做一件事
while
代码格式
while(循环条件)(循环条件 →值、变量、表达式, 返回类型必须是bool类型)
{
循环体(注:任意功能、任意数量的代码) → 若只有一句代码
}
若果循环条件为真,这执行循环体
执行完循环体之后,再判断条件是否为真,如果为真,再执行循环体
然后再判断条件是否为真,就这样一直进行下去,知道循环条件的判定结果为假,才会结束循环
4-7- do while
代码格式
do
{
循环体 → 至少执行一次
}
while( 循环条件);
先执行一次循环体
然后判断循环条件是否满足,如果满足,则在次执行循环体
然后再判断条件是否满足,知道条件不满足,才结束循环
while 代码示例: 在控制台中提示用户输入一个正数,然后输出这个数字
如果用户输入的不是正数,这需要从新输入
while 代码示例:
Console.Write("请输入一个正数:");
double number = double.parse(Console.ReadLine());
while(number <= 0)
{ → 重复代码
Console.Write("请输入一个正数:")
number = double.Parse(Console.ReadLine());
}
Console.WriteLine("你输入的数字是:" + number);
do while 代码示例:在控制台中提示用户输入一个正数,然后输出这个数字
如果用户输入的不是正数,这需要从新输入
重复的行为:输出一个提示,然后获取用户的输入 → 至少发生一次
重复的条件:用户输入的数字小于等于0
bouble number;
do → 更加简洁
{
Console.Write("请输入一个正数:");
number = double.parse(Cpnsole.ReadLine());
}
while (number <= 0);
Console.WriteLine("你输入的数字:" + nimber);
4-8- for
代码格式:
for (表达式1;循环条件;表达式2) → 表达式1 可以是任何代码,一定会执行,且只会执行一次 ;
→ 表达式2 可以是任何代码,在循环体执行后执行,循环体执行多少次就执行多少次。
{
循环体
}
运行 表达式1
判断 循环条件 是否为真,如果为真,则执行 循环体, 执行完后再运行 表达式2,
接着在判断 循环条件……
直到 循环条件 为假才会结束
foreach
循环(流程控制语句) →重复的做一件事
while
代码格式
while(循环条件)(循环条件 →值、变量、表达式, 返回类型必须是bool类型)
{
循环体(注:任意功能、任意数量的代码) → 若只有一句代码
}
若果循环条件为真,这执行循环体
执行完循环体之后,再判断条件是否为真,如果为真,再执行循环体
然后再判断条件是否为真,就这样一直进行下去,知道循环条件的判定结果为假,才会结束循环
4-7- do while
代码格式
do
{
循环体 → 至少执行一次
}
while( 循环条件);
先执行一次循环体
然后判断循环条件是否满足,如果满足,则在次执行循环体
然后再判断条件是否满足,知道条件不满足,才结束循环
while 代码示例: 在控制台中提示用户输入一个正数,然后输出这个数字
如果用户输入的不是正数,这需要从新输入
while 代码示例:
Console.Write("请输入一个正数:");
double number = double.parse(Console.ReadLine());
while(number <= 0)
{ → 重复代码
Console.Write("请输入一个正数:")
number = double.Parse(Console.ReadLine());
}
Console.WriteLine("你输入的数字是:" + number);
do while 代码示例:在控制台中提示用户输入一个正数,然后输出这个数字
如果用户输入的不是正数,这需要从新输入
重复的行为:输出一个提示,然后获取用户的输入 → 至少发生一次
重复的条件:用户输入的数字小于等于0
bouble number;
do → 更加简洁
{
Console.Write("请输入一个正数:");
number = double.parse(Cpnsole.ReadLine());
}
while (number <= 0);
Console.WriteLine("你输入的数字:" + nimber);
4-8- for
代码格式:
for (表达式1;循环条件;表达式2) → 表达式1 可以是任何代码,一定会执行,且只会执行一次 ;
→ 表达式2 可以是任何代码,在循环体执行后执行,循环体执行多少次就执行多少次。
{
循环体
}
运行 表达式1
判断 循环条件 是否为真,如果为真,则执行 循环体, 执行完后再运行 表达式2,
接着在判断 循环条件……
直到 循环条件 为假才会结束
foreach
4-9- 打印九九乘法表
分析: 重复一个动作:输出一个等式,然后跟上一个制表符
例:
实现效果:5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
重复的动作:输出一个等式,然后更上一个制表符
示例代码
→Console.Write("5*?=?\t") →第一个问号用变量 j 表示 ;第二个问好为5*j的值 → Console.Write("5*" + j + "=" + 5 * j + "\t")‘
→ 变量 j 的取值范围: 1-5
用for循环表示: → 实现上面的效果
for ( int j = 1; j <= 5; j++)
{
Console.Write("5*" + j + "=" + 5 * j + "\t")
}
九九乘法表实现代码
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();
Console.ReadLine();
分析: 重复一个动作:输出一个等式,然后跟上一个制表符
例:
实现效果:5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
重复的动作:输出一个等式,然后更上一个制表符
示例代码
→Console.Write("5*?=?\t") →第一个问号用变量 j 表示 ;第二个问好为5*j的值 → Console.Write("5*" + j + "=" + 5 * j + "\t")‘
→ 变量 j 的取值范围: 1-5
用for循环表示: → 实现上面的效果
for ( int j = 1; j <= 5; j++)
{
Console.Write("5*" + j + "=" + 5 * j + "\t")
}
九九乘法表实现代码
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();
Console.ReadLine();
4-10 break和continue
break
switch → 立即结束switch选择
循环 → 立即结束循环
continue
循环 → 立即结束当次循环,进入下一次循环
break
switch → 立即结束switch选择
循环 → 立即结束循环
continue
循环 → 立即结束当次循环,进入下一次循环
4-11 查找问题
查找问题 :根据需求在一组数据中,找到需要的数据
查找问题的解决方案
简单查找 ;
在样本中,依次寻找目标数据
一定会使用到 循环
循环一定是从样本的 第一个数据开始,再到达样本 最后一个数据后结束
循环体中一定包含一个判断,该判断用于判断当前的数据是否是目标数据
具体场景1:简单查询
请输入1000到1500之间,能被97整除的所有数字
查找样本:1000-1500
查找目标:能被97整除(某个样本厨艺97的余数为0)
找到后的行为:输出目标数据
for(int i 1000; i <= 1500; i++)
{
if( i % 97 == 0)
{
Console.WriteLine(i);
}
}
具体场景2:复杂查询
判断一个正整数 n 是否是 质数 ( n 来自 用户输入 或 自行赋值 ; 质数 只能 被 1 或 自身 整除的数)
如果一个数,能被 1 和 自身以外 的 其它数 整除,就不是一个质数,反之就是一个质数
如果一个数,能被 2 到 n-1 之间的数整除,就不是一个质数,反之就是一个质数
查找样本:2— n-1
查找目标:能整除 n (n 除以某个样本的余数为0)
找到以后的行为: 结束寻找
int n = 2359
bool isFind = false; //是否找到目标
for(int i = 2; i <= n-1; i++)
{
if(n % i == 0)
{
isFind = true; //表示找到了
break;
}
}
if(isFind) //表示在 2 到 n-1 之间,找到了某个数能整除 n
Console.WriteLine("不是质数“);
else
Console.WriteLine("是质数“);
查找问题 :根据需求在一组数据中,找到需要的数据
查找问题的解决方案
简单查找 ;
在样本中,依次寻找目标数据
一定会使用到 循环
循环一定是从样本的 第一个数据开始,再到达样本 最后一个数据后结束
循环体中一定包含一个判断,该判断用于判断当前的数据是否是目标数据
具体场景1:简单查询
请输入1000到1500之间,能被97整除的所有数字
查找样本:1000-1500
查找目标:能被97整除(某个样本厨艺97的余数为0)
找到后的行为:输出目标数据
for(int i 1000; i <= 1500; i++)
{
if( i % 97 == 0)
{
Console.WriteLine(i);
}
}
具体场景2:复杂查询
判断一个正整数 n 是否是 质数 ( n 来自 用户输入 或 自行赋值 ; 质数 只能 被 1 或 自身 整除的数)
如果一个数,能被 1 和 自身以外 的 其它数 整除,就不是一个质数,反之就是一个质数
如果一个数,能被 2 到 n-1 之间的数整除,就不是一个质数,反之就是一个质数
查找样本:2— n-1
查找目标:能整除 n (n 除以某个样本的余数为0)
找到以后的行为: 结束寻找
int n = 2359
bool isFind = false; //是否找到目标
for(int i = 2; i <= n-1; i++)
{
if(n % i == 0)
{
isFind = true; //表示找到了
break;
}
}
if(isFind) //表示在 2 到 n-1 之间,找到了某个数能整除 n
Console.WriteLine("不是质数“);
else
Console.WriteLine("是质数“);
标签:sys switch 运行 1年 等于 连接 需求 比较 res
原文地址:http://www.cnblogs.com/WRS7/p/7470377.html