从C#进入计算机语言的世界(3) - Hello World!

第2章 Hello World!  

2.1. 第一个程序:Hello World!

示例:创建第一个程序Hello World!

(1) 在菜单中依次选择“文件” – “新建” – “项目…”菜单项,创建一个控制台应用程序,,名称为“HelloWorld”。

(2) 在弹出的代码区域,键入如下代码

 

/* 第一个应用程序
* 作用:向屏幕输出一段内容
* 创建时间:2010年4月25日
* 创建人:grayhound
*/
// 引入命名空间 
using System;
using System.Collections.Generic;
using System.Text;
//自定义命名空间 
namespace HelloWorld
{
//定义类 
class Program
{
/// <summary>
/// 程序的主函数
/// </summary>
/// <param name="args">传入参数</param> 
static void Main(string[] args)
{
    Console.WriteLine(
"Hello World!");//向屏幕输出内容Hello World! 
}
}
}

(3) 在菜单中依次选择“生成” – “生成解决方案”,状态栏会提示生成成功。

 

(4) 在菜单中依次选择“调试” – “启动调试”。出现如下运行结果,见图2-1。

clip_image002

图2-1

示例的说明

VS轻松帮助我们完成一个非常简单的应用程序,虽然它的功能简单的无法帮助我们解决一些实际问题,但是我们悠然成为了一位可以独立完成计算机软件编写与设计的入门级程序员。

程序中//后面的文字,输入代码注释,在实际软件编译时,会忽略这部分内容。注释的作用是帮助程序员理解代码。在C#中共有2中注释方式:第一种是单行注释,用//表示,如“//这行代码的意思是输出HelloWorld”;第二种是多行注释,用/*…*/表示。在C#中,还有一种注释方式是用关键字#region和#endregion实现的。

l 练一练

选中代码Main和它起始大括号和结束大括号之间的代码行,共4行,右键鼠标,在弹出的上下文菜单中选择“外侧代码…”,选择“#region”,使用“这是主函数”代替“MyRegion”,点击“#region”左侧的“-”。看一看效果。

我们还发现,代码语句都是以分号结束的,除了那些后面跟有大括号的代码行之外。代码使用缩进结构,易于阅读和理解。同时代码是区分大小写的。

运行结果显示后,立刻就自动关闭了,我们很难看清楚运行结果是什么,因为时间太短了。我们可以在代码中加入一条命令,防止程序运行结束后自动关闭。

 

#region 这是主函数
static void Main(string[] args)
{
Console.WriteLine(
"Hello World!");//向屏幕输出内容Hello World!
//防止运行结束后自动退出 
Console.ReadKey();
}
#endregion

 

 


示例:创建第一个Windows程序Hello Computer World!

 

(1) 在菜单中依次选择“文件” – “新建” – “项目…”菜单项,创建一个Windows应用程序,名称为“HelloComputerWorld”。点击确认后,会看到一个空白的Windows窗体。

(2) 把鼠标移到“工具箱”,工具箱会自动展开,双击“公共控件”下的“Button”。这时,在主窗体上会出现一个按钮button1。见图2-2

clip_image004 clip_image006

            图2-2                                        图2-3

(3) 双击“button1”,在显示的代码中添加如下修改。

 

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show(
"Hello Computer World!");
}

(4) 点击工具栏上的“clip_image008”按钮,或者按快捷键F5,运行程序。

 

(5) 在显示出来的界面上,点击“button1”按钮,打开了一个消息对话框。见图2-3。

示例说明

VS又一次完成了许多工作,使我们很轻松的制作了一个Windows应用程序。我们使用了很少的代码,完成了一个功能很全面的Windows窗体程序,它同其他窗口程序一样,可以移动、最大化、最小化、设置窗口大小、弹出对话框等。

如果你想修改按钮的文字显示,那么我们需要使用到VS中的一个属性面板。关闭刚才运行后的程序,或者使用VS中的“clip_image010”停止程序。回到主窗体的设计界面,我们右键button1按钮,选择“属性”。在VS“解决方案管理器”的下方,会出现一个“属性”面板,这里显示了button1的很多信息,我们这在这里查阅和修改相关条目。如,我们把“Text”后面的文字改成“请点击我”。请查看主窗体的设计和运行效果。

clip_image012

图2-4

l 练一练

请把按钮移到窗体的中间,把按钮背景颜色设置成红色,把窗体的背景颜色设置成白色。

2.2. 代码结构分析

2.2.1. 代码书写规范

良好的代码书写规范可以让程序员的思路更清晰,代码也更容易看懂和理解。开发规范不仅不是一种可有可无的东西,反而是历代程序员经过多年的开发所磨炼出来的经验总结。对于程序员来讲,想写好代码,从遵守规范开始。我们书写代码可以参照如下规范:

A、 命名规范 

给一个对象命名时,尽量采用易懂的英文名称,如school、RedCar等,而尽量避免使用无意义的名称,如x,y,a1等,避免使用英文和数字以外的字符命名。

在C#中,可以是两种常见的命名法则:PasalCasing和camelCasing。PasalCasing:标识符的第一个单词的字母大写;camelCasing:标识符的第一个单词的字母小写。下表描述了不同类型标识符的大小写规则。

标识符

大小写

标识符

大小写

命名空间

Pascal

私有字段

Camel

类型

Pascal

非私有字段

Pascal

接口

Pascal

枚举值

Pascal

方法

Pascal

参数

Camel

属性

Pascal

局部变量

Camel

事件

Pascal

B、代码缩进 

代码的缩进,可以使代码的层次结构非常清晰。不仅可以帮助编写者完成后续代码,也可以使读者更容易理解代码。例2-1中,代码采用了缩进格式,在VS中,大括号内的代码一般比大括号之外的代码缩进一格。当然我们也可以使用Tab键手动完成代码的缩进。

C、空格的使用 

在赋值语句和条件语句中,经常会使用到空格,特别是数学符号的两侧。如:

int a = 12;

if ( a > 20) { …

D、换行的使用

换行的目的也是让代码更容易读懂。一般一条语句的结束,下一跳语句一般是新换一行。比如分号一般是某一行最后一个字符,大括号是某一行第一个字符,很多情况下大括号会单独占一行。

还有一种换行方式是空行。如果两部分代码段间完成的是2个独立的功能,一般我们会在这2个代码段间加入一个空行。

E、 注释的使用

注释可以让代码更容易理解。注释也是大型项目间不同程序员间沟通的一个工具。

2.2.2. 命名空间

命名空间如同我们在生活中谈论事情一样,会站在一个前提下,如:“人民路怎么走?沿着干将路一直走,穿过2个红绿灯就到了。”“我们班李生茂同学学习很用功,前途无量。”人民路和干将路都应该是建立在某某城市确定的前提下,李生茂同学也应该是建立在某某学校某班确立的前提下。

在计算机语言中也是一样的道理,很多代码也是建立在某些命名空间的前提下。例2-1中,System,System.Text,HelloWorld都是命名空间的名称。如同生活中的“江苏省”、“江苏省苏州市”;using是引入命名空间的意思; namespace是定义命名空间的意思。

2.3. Main函数

我们都玩过迷宫,迷宫的特点就是有很多很多的路,且只有一个入口,但是可以有多个出口。我们先不用理解什么是函数,Main是一个特殊函数。我们可以把函数想像成迷宫中的每一条路,而Main函数就是迷宫中的入口那条路。

由此我们可以知道Main函数的特点:Main函数是程序的入口点;每一个程序有且只有一个Main函数;要执行其他函数,必须通过Main函数直接或间接的调用;其他函数不可以调用Main函数。

2.4. 程序的注释

2.4.1. 模块(类)注释规范

一般放于最前面,以多行注释为主。 

 

/**
*<p>Title:描述这个类属于哪一系统哪一模块</p>
*<p>Description: 描述该类实现了什么功能,尽可能详尽</p>
*<p>Copyright:Copyright(c)2007</p>
*<p>Company:SScompany</p>
*@author你的大名
*@version目前项目的版本号,默认为1.0
*/

using System;
class Sudent
{

 

 

 

2.4.2. 类属性注释规范

一般放于属性定义的后面,如注释较长,也可以放在属性定义的上面。

 

string name; //学生姓名
//学号,命名规则:入学年份+院系代号+专业代号+班级代号+班级序号
string schoolNumber;

2.4.3. 方法注释规范

 

方法的注释放于方法定义的上面。

 

/**
*对方法功能的描述
*@param参数1
*@param参数2
*@return 返回类型
*@throws这个方法所抛出的异常
*/

public bool Add(Student student)
{

2.4.4. 代码间注释规范

 

放于代码块的前面。 

/* 对代码块功能性的描述——单行注释。 */
/*
* 当描述超过120字符时的代码块注释——多行注释。
*/

 

2.5. 相关类库

A. 向控制台输入字符

代码格式: 字符串变量 = Console.ReadLine();

代码举例:info = Console.ReadLine();

代码说明:用户向控制台输入信息,程序获取到输入的字符信息,并把内容保存在info中。

代码扩展:Console.ReadKey();用户向控制台输入任意键,程序获取按键信息。作用:防止代码执行完毕,控制台程序自动关闭。

B. 向控制台输出信息

代码格式:Console.WriteLine(字符串常量或变量);

代码举例:Console.WriteLine(“Hello World!”);

代码说明:向控制台输出字符串,并换行。

代码扩展:Console.Write(“Hello World!”); 向控制台输出字符串,不换行。

posted @ 2010-04-29 13:23  grayhound  阅读(2323)  评论(14)    收藏  举报