c#几个小例子引发的思考
楚广明老师的c#教程每一节都会给出几个小例子让大家联系,对于初学者来说这确实是一件很纠结的事情,下面我把这几个小例子简单的写一下。同时看一下我们学到了什么
1、面向过程版的圆周长面积计算
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication9
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入圆的半径: "); //提示输入信息
double PI = 3.1415926; //定义圆周率
double r; //定义半径
r =double.Parse( Console.ReadLine()); //读取输入的半径 !!并把他转换为double类型
Console.Write("圆的周长是{0}, ", 2*PI * r); //计算圆的周长
Console.Write("圆的面积是{0}", PI * r * r); //计算圆的面积
}
}
}
收获:1、Console.ReadLine()读取的是字符串类型,需要转换。
2、c#中声明的变量区分大小写PI和Pi不是一个变量!!
3、WriteLIne与write的区别
WriteLIne 为换行写
write为同行写
2.请用户输入两个数判断第一个整数是否为第二个整数的倍数。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int Num1;
int Num2; Console.Write("请输入第一个整数"); //定义第一个数
Num1 = int.Parse(Console.ReadLine()); //读取第一个数并赋值为Num1
Console.Write("请输入第二个整数"); //定义第二个数
Num2 = int.Parse(Console.ReadLine()); //读取第一个数并赋值为Num1 if (Num1 % Num2 == 0) //判断是否为倍数 注意==符号 Console.WriteLine("第一个数是第二个数的倍数"); else
Console.WriteLine("第一个数不是第二个数的倍数"); }
}
}
收获:检查两个值是否相等是"=="号,而“=”号在c#中是赋值号的意思。
3、华氏温度装换为摄氏温度:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入华氏温度");
int i;
i=int.Parse(Console.ReadLine());
int t;
t=(i-32)*5/9;
Console.WriteLine("转换为摄氏温度为:{0}", t); }
}
}
收获:这个好像还有点什么变量精度的要求,没看懂,先这样吧
4.输入一个学生成绩给他做出评价:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入您的成绩");
int reSult=int.Parse(Console.ReadLine()); if (reSult >= 85&&reSult <100)
Console.WriteLine("优秀");
if (reSult>100||reSult<0)
Console.WriteLine("非法成绩");
if (reSult>=70&&reSult <85)
Console.WriteLine("中");
if (reSult >= 60&&reSult <70)
Console.WriteLine("及格");
if (reSult<60&&reSult>0)
Console.WriteLine("不及格"); }
}
}
5.三种方法求1到100的和
A: 用for求和
static void Main(string[] args)
{
int Num=1;
int Sum=0;
for (Num = 1; Num <= 100; Num++)
Sum += Num;
Console.WriteLine("1到100的和是{0}",Sum); }
B:用while
static void Main(string[] args)
{
int Num = 1;
int Sum = 0;
while (Num <= 100)
{
Num++;
Sum += Num;
}
Console.WriteLine("1到100的和是{0}", Sum);
}
C:用do求和
static void Main(string[] args)
{
int Num = 1;
int Sum = 0;
do
{
Sum = Sum + Num;
Num = Num + 1;
}
while (Num <= 100);
Console.WriteLine("1到100的和是{0}", Sum);
}
总结:说起来,这几个例子敲起来没一个顺手的,尤其最开始的时候,都有种无从下手的感觉,纸上得来终觉浅啊,必须亲自动手,才能掌握知识。
c#几个小例子引发的思考的更多相关文章
- 从一个小例子引发的Java内存可见性的简单思考和猜想以及DCL单例模式中的volatile的核心作用
环境 OS Win10 CPU 4核8线程 IDE IntelliJ IDEA 2019.3 JDK 1.8 -server模式 场景 最初的代码 一个线程A根据flag的值执行死循环,另一个线程B只 ...
- 一个小BUG引发的思考。(论开发与测试之间的那点事)
标题不是“一个馒头引发的血案”. 言归正传:今天上午测试的时候,发现了一个BUG,如图: 一个用肉眼就能发现的BUG.原因当然是因为开发同事没有自测试,流入到了测试人员这里了. 无非是开发同事不严谨造 ...
- IK分词器实现原理剖析 —— 一个小问题引发的思考
前言: 网上很多的文章都建议在使用IK分词器的时候,建立索引的时候使用ik_max_word模式:搜索的时候使用ik_smart模式.理由是max_word模式分词的结果会包含smart分词的结果,这 ...
- Spring之LoadTimeWeaver——一个需求引发的思考---转
原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver——一个需求引 ...
- 由SecureCRT引发的思考和学习
由SecureCRT引发的思考和学习 http://mp.weixin.qq.com/s?__biz=MzAxOTAzMDEwMA==&mid=2652500597&idx=1& ...
- 解决一道leetcode算法题的曲折过程及引发的思考
写在前面 本题实际解题过程是 从 40秒 --> 24秒 -->1.5秒 --> 715ms --> 320ms --> 48ms --> 36ms --> ...
- 【思考】由安装zabbix至排障php一系列引发的思考
[思考]由安装zabbix至排障php一系列引发的思考 linux的知识点林立众多,很有可能你在排查一个故障的时候就得用到另一门技术的知识: 由于linux本身的应用依赖的库和其它环境环环相扣,但又没 ...
- 曲演杂坛--一条DELETE引发的思考
原文:曲演杂坛--一条DELETE引发的思考 场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: CREATE TABLE TB001 ( ID ,) PRIMARY KEY, D ...
- 由一个emoji引发的思考
由一个emoji引发的思考 从毕业以来,基本就一直在做移动端,但是一直就关于移动端的开发,各种适配问题的解决,在日常搬砖中处理了就过了,也没有把东西都沉淀下来,觉得甚是寒颜.现就一个小bug,让我们来 ...
随机推荐
- ZOJ 3597 Hit the Target! (线段树扫描线 -- 矩形所能覆盖的最多的点数)
ZOJ 3597 题意是说有n把枪,有m个靶子,每把枪只有一发子弹(也就是说一把枪最多只能打一个靶子), 告诉你第 i 把枪可以打到第j个靶, 现在等概率的出现一个连续的P把枪,在知道这P把枪之后,你 ...
- Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析(转载)
简介: 这个分为两个部分的系列文章研究了 Apache Tomcat 服务器的系统架构以及其运用的很多经典设计模式.第 1 部分 分析了 Tomcat 的工作原理,第 2 部分将分析 Tomcat 中 ...
- Lotus 迁移到Exchange POC 之 新建2007 服务器!
我们登录到Exchange 2007 服务器,由于需要对AD进行扩展,我们首先必须完成架构扩展,由于默认没有ldifde工具,所以我们需要执行servermanagercmd –I rsat-adds ...
- [Mac]Mac Xcode 删除已经下载好的模拟器版本
Delete simulator refences for xCode: Delete the particular simulator runtime references (*.simruntim ...
- PowerDesigner 12.5 反向工程sql server
一.设置数据源 1.控制面板 >> 数据源(ODBC)
- POJ 1005(累加)
/* * POJ_1005.cpp * * Created on: 2013年10月14日 * Author: Administrator */ #include <iostream> # ...
- springmvc中forward和redirect
一.跳转 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; im ...
- SQL with(unlock)与with(readpast) (转)
所有Select加 With (NoLock)解决阻塞死锁,在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAS ...
- C++ foreach
考虑下面的需求,对vector<int>中的每个元素加1,如何做? void add(int& lhs) // 注意:要修改主调方法中的数据,这里要使用引用 { lhs= lhs ...
- shared_ptr注意事项
对shared_ptr的Copy构造和Copy赋值,会改变引用计数,但是对shared_ptr中原始资源的Copy构造和Copy赋值,不会改变引用计数.因此存在下面的危险情况: 1.获取资源时,初始化 ...