自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shyleoking的专栏

http://t.sina.com.cn/shyleoking

  • 博客(15)
  • 收藏
  • 关注

原创 结构化编程的三重境界:见山还是山:朴素又正确的逻辑

在上述的隔夜退房的逻辑代码中,我们用了五个嵌套,其中有五个计算,但实际上只有3种不同的计算,在这样的模式下,我们值得思考,是不是代码过于冗余了。 现在我们把隔夜代码改为如下  CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/

2009-06-21 09:38:00 1074

原创 结构化编程的三重境界:见山不是山:正确但冗余的逻辑

因此我们了解到,我们需要更加精确的判断时间的界限。因此我们重新将代码改为如下:  CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->static void Main(string[] args){    DateTime ind

2009-06-21 09:38:00 1375

原创 结构化编程的三重境界:见山是山:朴素的直观逻辑编程

《五灯会元》卷十七中,有一则青原惟信禅师的语录:“老僧三十年前未参禅时,见山是山,见水是水。及至后来亲见知识,有个入处,见山不是山,见水不是水。而今得个休歇处,依前见山只是山,见水只是水。”这描述了我们对世界的一个观察和思考的过程,只要我们对事物进行执着的观察和思考,那在认识事物的过程中总是会经过以上的三个不同的过程和境界。我们在本节,将通过一个案例描述作为程序员应如何对待结构化编程的思

2009-06-21 09:38:00 1143

原创 数据类型转换:1人民币+1美元=?

数据类型转换是我们从小学就开始学习的内容,只不过在小学我们称为单位换算。比如一条狗加一匹马等于是多少呢?总不是两条狗或两匹马吧。我们需要把单位转为都可以计算的单位,比如动物。结果就是两只动物。这样的转换,我们称为数据类型转换。在C#中数据类型转换又分为隐式转换和显式转换。隐式转换是默认的转换,而显式转换就是必须明确说明的转换。比如¥1+$1的问题,在国际贸易结算中,默认将人民币转换为

2009-06-21 09:38:00 995

原创 值类型和引用类型和数据大小排名

在2.2.1我们对C#的基本数据类型有了基本了解。C#将数据类型分为:值类型、引用类型和指针类型。通用类型系统支持两种一般类别的类型,每一类都细分成子类别: q        值类型:值类型直接包含它们的数据,值类型的实例要么在堆栈上,要么内联在结构中。值类型可以是内联的(由运行库实现)、用户定义的或枚举的。有关内联值类型的列表,请参见 .NET Framework 类库。q  

2009-06-21 09:38:00 949

原创 异常:Exception

我们开发了函数,当函数的调用者在使用函数的时候,我们希望函数的调用者可以正确的使用函数,比如给予函数正确的参数值。但在实际的过程中,函数的调用者可能由于各种原因给予了错误的值。在这种情况下,我们需要向调用者抛出错误信息,并中断程序的执行,这个过程我们称为异常。程序必须能够统一处理在执行期间发生的错误。公共语言运行库提供了一个模型,以统一的方式通知程序发生的错误,从而为设计容错软件提供了极

2009-06-21 09:38:00 2289

原创 模块化编程:函数定义

在软件开发的过程中,我们经常会重复的使用一些代码片段,因此我们往往将这样的代码片段作为函数进行调用。函数有4种模式的定义和使用q        有参数,有返回值:y=f(x)q        有参数,无返回值:f(x)q        无参数,有返回值:y=f()q        无参数,无返回值:f()在游戏、图形、建筑领域的软件应用中,我们经常需要计算几何图形的面

2009-06-21 08:38:00 1487

原创 结构化编程:跳转控制break、continue

在循环或条件判断执行中,我们有时候需要中断当前的执行控制,C#提供了两个关键字break、continue。continue是用在循环语句中,将控制权传递给它所在的封闭迭代语句的下一次迭代。break 语句用于终止最近的封闭循环或它所在的 switch或if 语句。控制传递给终止语句后面的语句(如果有的话)。  CodeCode highlighting produced

2009-06-21 08:38:00 1373

原创 结构化编程:确定迭代循环控制for

很多时候的重复执行,是我们知道需要执行多少次。比如那道高斯经典的从1加到100的题目,用代码模拟高斯的同学的计算模型为如下 CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->static void Main(string[] arg

2009-06-21 08:38:00 826

原创 结构化编程:不确定迭代循环控制do while

很多时候,我们需要重复的执行一些代码,这样我们就需要迭代循环控制。以下案例描述了如何控制重复的执行。假设,你购买房子的首付需要30万人民币,你入职工作的第一年,每月工资是3500,以后每年薪水增长20%。你是一个很有计划的人,无论薪水多少,你都将收入的一半存起来。那么,你需要多少年可以存到你需要的首付呢? CodeCode highlighting produced by Act

2009-06-21 08:38:00 948

原创 结构化编程:多支条件判断switch case

有些条件判断并非简单的真假模式,而是在多种可能中选择一个处理。这种情况,我们需要使用switch case语句进行处理。以下是对上海地铁自动售票机的模拟 CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->static void 

2009-06-21 08:38:00 3915

原创 结构化编程:单支条件选择控制

在C#中,用于处理条件选择的语句有if, else, switch, case四个关键字。if, else用于处理单支的逻辑判断。以下代码演示根据age(年龄)的值输出信息: CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--

2009-06-21 08:38:00 669

原创 结构化编程:变量,常量和赋值

结构化程序设计(structured programming)是以模块功能和处理过程设计为主的详细设计。其概念最早由E.W.Dijikstra在1965年提出的,是软件发展的一个重要的里程碑。它的主要观点是采用自顶向下、逐步求精的程序设计方法,使用三种基本控制结构(顺序、选择、重复)构造程序。任何程序都可由这三种基本控制结构构造 。程序从主程序(Main)入口开始,逐行顺序执行,当遇到选

2009-06-21 08:38:00 1592

原创 理解标准输出流方法:WriteLine和Write

 控制台项目,Visual Studio 2008默认的为我们建立了Program.cs文件,并且在该文件中创建了一个Program的类(class),你应该看到大致如下的代码界面 CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-

2009-06-21 08:38:00 3437

原创 什么是编程?什么是软件开发?

  在学校里,为了实现课堂练习,为了完成作业,为了实现而实现的代码过程,我将其定义为编程,这个时候,你只要正确的让编译器把你的代码顺利的编译通过,输出你希望的或者说你的导师希望的结果即可,你不需要考虑弹性、扩展性和维护性,也不需要考虑你的代码是否强壮,也不需要考虑是否具有价值,因为你只是在编程。而软件开发,是使用代码编写出具有商业质量的软件,在这个过程中,你需要仔细的考察你的每行代码

2009-06-21 08:38:00 2421

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除