首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第20周 小结和编制控制台计算器

“温故而知新”!

本期会教大家做一个控制台的计算器,信息量有点大,希望大家仔细阅读。如果把里面的内容全部看懂,那么恭喜大家,你就已经入门一半了,就是这么神奇

大家按照下面的思路,自己理一遍,看看能不能回忆起本周内容,能不能回忆起固定格式。

主要内容:

if语句

switch语句

for循环

do while循环

while循环

控制台输入

控制台输出

固定格式:

if语句

if(判断)

{

陈述语句;

}

if(判断)

{

陈述语句1;

}

else

{

陈述语句2;

}

if(判断1)

{

陈述语句1;

}

else if(判断2)

{

陈述语句2;

}

... ...

else if(判断n)

{

陈述语句n;

}

else

{

陈述语句m;

}

switch语句

switch(变量)

{

case 变量值1:

陈述语句1;

break;

case 变量值2:

陈述语句2;

break;

... ...

default:

陈述语句n;

break;

}

for 循环

for(int i=0;i

{

循环体语句;

}

do while 循环

do

{

循环体语句;

}while(判断语句);

while 循环

while(判断语句)

{

循环体语句;

}

控制台输入

Console.ReadLine();

控制台输出

Console.WriteLine(string value);

拓展:

1.“==”与“!=”的区别

如题,“A==B”则翻译为A等于B,“A!=B”为A不等于B。

如果int A=1,int B=1,那么A==B为真true,A!=B为假false。

如果int A=2,int B=1,那么A==B为假false,A!=B为真true。

有点乱吧哈哈,冷静思考下,绕过这个小弯。

2.“||”与“&&”的区别

"A||B"表示"A或者B",如果A或者B至少有一个为真true,则A||B结果为真true。

"A&&B"表示"A与B",如果A与B都为真true,则A&&B结果才为真true。

如果bool A=true, bool B=false, 则A||B为真true,A&&B为假false。

如果bool A=false, bool B=true, 则A||B为真,A&&B为假。

如果bool A=true, bool B=true, 则A||B为真,A&&B真true。

如果bool A=false, bool B=false, 则A||B为假,A&&B为假。

有点绕吧,慢慢理下,送你一张无敌图表法。

3.“全局变量”与“局部变量”

全局变量对和它在同一层的{}都能调用。

局部变量只能在它所在的区域内使用,即当前所在的同一层{},或它的下一层{}中有效,跳出同一层的{},则变量无效。

static void Main(string[] args)

{

string myStr1=string.empty;//全局变量,和下面的循环1和循环2平级,可以直接被他俩调用

while//循环1

{

string myStr2=string.empty;//局部变量,只能用于while循环1,不能在这以外调用

...

}

while//循环2

{

string myStr3=string.empty;//局部变量,只能用于该while循环2,不能在这以外调用

myStr1="可以在这里使用";//全局变量可以在这里使用

//myStr2不能再这里使用,因为myStr2在上面循环1的作用域里面,这里面调用不到

...

}

}

4.break;

用于强制退出当前的循环体,比如

while(...)

{

break;//强制退出当前的while循环,那么下面的do while不会执行了

do

{

break;//退出当前的 do while循环,但是不退出上一层的while循环

}while(...)

}

控制台计算器程序流程图及实例:

static void Main(string[] args)

{

string num1 = string.Empty;

string num2 = string.Empty;

string method = string.Empty;

double result = 0.00;

bool exit = false;

do

{

Console.WriteLine("请选择操作方式:1-加法,2-减法,3-乘法,4-除法,0-退出程序,其余数字不做任何操作");

method = Console.ReadLine();

while (method != "1" && method != "2" && method != "3" && method != "4")

{

if (method == "0")

{

Console.WriteLine("程序将退出");

exit = true;

break;

}

else

{

Console.WriteLine("输入的操作方式数字不对,请重新输入");

Console.WriteLine("请选择操作方式:1-加法,2-减法,3-乘法,4-除法,0-退出程序,其余数字不做任何操作");

method = Console.ReadLine();

}

}

if (!exit)

{

Console.WriteLine("请输入第一个操作数");

num1 = Console.ReadLine();

Console.WriteLine("请输入第二个操作数");

num2 = Console.ReadLine();

switch (method)

{

case "1":

result = Convert.ToDouble(num1) + Convert.ToDouble(num2);

break;

case "2":

result = Convert.ToDouble(num1) - Convert.ToDouble(num2);

break;

case "3":

result = Convert.ToDouble(num1) * Convert.ToDouble(num2);

break;

case "4":

result = Convert.ToDouble(num1) / Convert.ToDouble(num2);

break;

}

if (method == "1" || method == "2" || method == "3" || method == "4")

{

Console.WriteLine("本次操作的结果为:" + result);

}

Console.WriteLine();

}

}

while (method != "0");

Console.ReadKey();

}

输出结果:

源程序下载地址:

链接:https://pan.baidu.com/s/1Fo2nZN3f_rxXU6HOWxPRyA密码:hw79

程序要点:

1.先输入1,2,3和4作为+-*/的判断

2.如果输入0,退出循环

3.如果输入除了0,1,2,3和4以外的字符,提示用户重新输入

4.输入操作数1

5.输入操作数2

6.switch计算结果

7.输出结果

8.继续循环或退出

源程序解释:

static void Main(string[] args)//主程序入口

{

string num1 = string.Empty;//定义字符串型操作数1并赋空值,全局变量

string num2 = string.Empty;//定义字符串型操作数2并赋空值,全局变量

string method = string.Empty;//定义字符串型操作符号类型并赋空值,全局变量

double result = 0.00;//定义双精度浮点型变量,用于存放计算结果,全局变量

bool exit = false;//布尔类型变量,用于判断是否退出程序,全局变量

do//do while循环,while在最下面,成对出现

{

Console.WriteLine("请选择操作方式:1-加法,2-减法,3-乘法,4-除法,0-退出程序,其余数字不做任何操作");//输出操作提示信息给用户

method = Console.ReadLine();//读取用户输入的字符串信息,以回车键结尾

//下面的while循环,用于判断除了1,2,3,4以外的用户操作,并做出提示,不和上面的do配对,属于do的while在该层的{}的}那。

while (method != "1" && method != "2" && method != "3" && method != "4")//如果操作方式都不等于1,2,3和4时才成立,相当于等于0或其他任意字符是则这个method != "1" && method != "2" && method != "3" && method != "4"成立。

{

if (method == "0")//如果用户输入如method的信息等于0,if判断为0是真,将会退出程序

{

Console.WriteLine("程序将退出");//提示用户信息

exit = true;//将布尔类型的变量赋值为真true

break;//强制退出当前的while循环,不会再while循环了

}

else//其他,推理则为除了0,1,2,3和4以外的字符

{

Console.WriteLine("输入的操作方式数字不对,请重新输入");//提示用户

Console.WriteLine("请选择操作方式:1-加法,2-减法,3-乘法,4-除法,0-退出程序,其余数字不做任何操作");//提示再次重新输入操作

method = Console.ReadLine();//重新读取用户输入,后再次进行while循环,不会退出当前while循环

}//结束if语句

}//当前while循环程序段的结尾

if (!exit)//用于判断用户是否输入0,如果是的上面while循环就会将exit赋值true,那么“!exit”则为假false,因为!是取反的意思。假的反面是真,真的反面是假。

{

Console.WriteLine("请输入第一个操作数");//提示用户

num1 = Console.ReadLine();//读取用户输入的第一个字符

Console.WriteLine("请输入第二个操作数");//提示用户

num2 = Console.ReadLine();//读取用户输入的第二个字符

switch (method)//根据上面输入的操作方式,做出运算符的选择

{

case "1"://操作数等于1,执行加法

result = Convert.ToDouble(num1) + Convert.ToDouble(num2);//先将操作数1和2转换成双精度型,然后在进行加法,因为不转换的话就是两个字符想加的结果是连接起来,比如“1”+“2”结果为“12”而不是3,如果1+2结果 才为3,。注意“1”表示字符,而1没有双引号的才为数字,才能进行四则运算。

break;//退出当前switch选择语句

case "2":

result = Convert.ToDouble(num1) - Convert.ToDouble(num2);

break;

case "3":

result = Convert.ToDouble(num1) * Convert.ToDouble(num2);

break;

case "4":

result = Convert.ToDouble(num1) / Convert.ToDouble(num2);//这里其实需要判断num2不能为0的情况,大家自行去补个if()语句

break;

}

if (method == "1" || method == "2" || method == "3" || method == "4")//如果method等于1,2,3或者4中人一个字符,则if()成立,执行下面的结果

{

Console.WriteLine("本次操作的结果为:" + result);//输出操作方式的计算结果

}

Console.WriteLine();//为了输入一行空行,为了和下一次循环分开的清楚点

}

}

while (method != "0");//此处的while和最上的do是一对,因为do{... ...}while是基本的语法格式。如果method不等于0,while判断成立,那么会继续循环到do;如果等于0,则会退出循环

Console.ReadKey();//暂停,用户按下任意键盘上的键,都会退出当前程序

}//整个程序的结尾

本期的小结有点烧脑,会不会有点恐惧?不碍事,大家周末,一点一点的去看,争取全部看懂,看不懂随时问我,给我留言,我会一直陪着大家直到你们入门。

我会坚持目前更新方式,周一到周五早上七点半左右发课程,周六休息,周日总结一周内容。

希望大家白天抽空10到30分钟看看,不一定非要一次性看完,利用零碎的时间。晚上回家,利用半小时把代码敲一遍,运行一下,看看有没有什么问题。有问题给我发信息或者留言,要积极主动,调动大脑神经和细胞。

每天把代码照着教程敲一遍,然后自己不看教程试试,运行成功的小伙伴能在留言区留言成功两字,作为你们对自己的激励。

我知道,很多刚接触编程的人,无法形成编程思维。人的大脑是需要时间去形成一块区域的,这块区域去处理编程思维。所以大家每天看课程,自己动手去编程序,不要光看不练,一定要自己去敲代码。

聚沙成塔,每天一点,水滴石穿,日积月累,必成大器

扫码或者按住图片关注公众号

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180520G09HU900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券