第一课时之c#程序设计概述

2021-04-21 11:28

阅读:433

第一章 c#程序设计概述

本章学习目标:

  •  c#语言的主要特点
  • Visual Studio 2008/2017的集成开发环境
  • c#控制台应用程序和Windows窗体应用程序设计步骤
  • c#程序代码的基本书写规则和应用程序结构

 

1.1c#语言简介

C# 是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft).NET公共语言运行环境中内置的核心程序设计语言。使用c#语言可以开发在.NET Framework上运行的多种应用程序,包括:控制台应用程序,Windows窗体应用程序,Web应用程序以及Web服务等。

首先写一个c#程序的基本实例:

using System;

namespace Chapter_one
{
    /* 类名为HelloWorld  */
    class HelloWOrld
    {
        /* main函数 */
        static void Main(string[] args)
        {
            /* 我的第一个c# HelloWorld程序 */
            Console.WriteLine("Hello World");
            Console.ReadLine();
        }
    }
}

1.1.1c#语言的主要特点

c#语言是Microsoft为.NET环境开发的一种全新编程工具,它集c/c++语言的强大功能,Java语言面向对象的体征以及Visual Basic语言的易用性为一体,为在.NET环境下的计算机应用提供了功能强大,全新,易用的程序设计工具。

c#语言的主要特点如下:

  • 语法简洁
  • 满足通用语言规范
  • 面向对象
  • 完整的安全性和错误处理
  • 兼容性和灵活性
  • 版本控制
  • Web完美结合

 

c#语言强大的编程功能:

  • 布尔条件(Boolean Conditions)
  • 自动垃圾回收(Automatic Garbage Collection)
  • 标准库(Standard Library)
  • 组件版本
  • 属性(Properties)和事件(Events)
  • 委托(Delegates)
  • 索引器(Indexers)
  • 条件编译(Conditional Compilation)
  • 简单的多线程(Multithreading)
  • LINQ和Lambda表达式
  • 集成Windows

1.1.2c#与其他程序设计语言的比较

 c#是在吸收c/c++和java等程序设计语言优点的基础上构建出来的一种新型程序设计语言,列举c#与c/c++以及java的主要异同之处

比较内容

     c#程序设计语言

     c/c++程序设计语言

语言处理方式

编译成中间语言(MSIL)代码,执行时通过JIT(及时处理器)将中间代码转换为本机代码执行

直接编译成为本机可以执行的代码

指针数据

默认数据下,不使用指针数据,而是使用对类实例的引用。也可以”非托管”方式下使用指针

大量使用指针数据(特别是函数的参数中)

依赖于.NET基类

依赖于以继承和模板为基础的标准库

继承

只允许单继承,通过接口实现多继承

c++允许多继承

内存管理

使用垃圾回收机制,自动在合适的时机回收不再使用的内存空间

程序中必须显式地删除(回收)动态分配的存储空间

字符串处理

字符串是基本数据类型,提供多种处理字符串的方法

字符串处理基于数组处理方法

备注:在通用语言规范中,任何语言编写的源程序都被编译成相同的中间语言(MSIL)代码,然后由通用语言运行环境(Common Lanuage Runtime,CLR)负责执行,这种处理方式称为”托管方式”,因而这样的代码亦称为”托管代码

 

比较内容

      c#程序设计语言

      Java程序设计语言

语言处理和程序运行方式

c#代码编译成为中间语言(MSIL)代码,然后在通用语言运行环境(CLR)中运行,CLR的JIT编译器将中间代码编译成为本地代码执行

Java代码编译成为中间代码,通过运行环境JRE提供的Java虚拟机执行

语言功能区别

源程序文件名不受类名的限制,提供运算符重载,装箱与拆箱,方法隐藏等功能

源程序文件名受类名的限制

 

c#语言编写的源程序文件处理方式所示:

 技术分享图片

 

1.2c#控制台应用程序设计实例

控制台(Console)应用程序是利用c#语言开发的应用程序类型之一,由于不涉及windows系统的组成元素,因而结构比较简单

1.2.1c#控制台应用程序的创建

Microsoft Visual Studio 2008/2017(简称VS 2008/2017)中创建一个c#控制台应用程序的主要步骤如下:

(1) 启动”Microsoft Visual Studio 2017”,进入VS2017集成开发环境的页面,如下

 技术分享图片

(2) 选择项目类型为控制台应用程序,并指定项目名称及其保存位置

技术分享图片

(3) 在应用程序编辑环境中输入程序代码

技术分享图片

(5) 调试运行程序,按F5或选择”调试菜单组中的启动调试命名,执行(调试)

技术分享图片

 

1.2.2c#控制台应用程序的结构

 

c#程序中,一个应用程序可以由一个或者多个类组成,所有程序代码必须封装在类中。一个源程序文件中可以由一个或者多个类,但不允许将一个类拆散存放在不同的源程序文件中。在为源程序文件命名时,可以与类的名字相同,也可以不同,即源程序文件的命名不受类名限制。

一个c#控制台应用程序主要由以下几部分构成:

1.导入其他系统定义元素部分

高级程序设计语言总是依赖许多系统预定义元素,为了在c#程序中能够使用这些预定义元素,需要将这些元素导入。上面创建的控制台应用程序中,使用下述代码段导入了对其他命名空间的引用:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

 

2.命名空间

使用namespace和命名空间标识符(命名空间名字)构建用户命名空间,空间的范围用一对化括号界定,如下所示:

namespace Hello      //默认情况下命名空间名与解决方案名相同
{

}

 

3.类

类必须包含在某个命名空间中(例如namespace Hello),使用关键字class和类标识符(类名,默认为Prograam)构建类,类的范围使用一对花括号界定,如下所示:

class Program
{

}

 

4.主方法

每个应用程序都有一个执行的入口,指明程序执行的开始点。c#应用程序中的入口点用主方法标识,主方法的名字为Main(),后面的括号中即使没有参数也不能省略。

static void Main(string[] args)
{

}

 

5.方法中的c#代码

在方法体(方法的左右括号之间)中书写实现方法逻辑功能的代码

static void Main(string[] args)
{
    Console.Write("请输入你的姓名:");          
    string name = Console.ReadLine();           //输入姓名字符串赋值给name变量
    Console.WriteLine("欢迎"+name+"进入c#程序设计");
    Console.ReadLine();                       /* 使得程序设计不会自动退出调试环境 */
}

 

1.2.3c#程序代码的基本书写规则

 

1.程序代码区分字母大小写

c#是一种大小写敏感的语言,字母大小写不同的标识符被视为不同的标识符。

 

2.语句书写规则

(1)每个语句都必须用一个分号(“;”)作为结尾

(2)c#允许在同一个代码行上书写多个语句,但从可读性的角度来看,并不提倡这种做法

(3)c#是一种块结构的编程语言,所有的语句都是代码块的一部分

(4)语句中作为语法成分的标点符号必须是西方标点符号,中文标点符号只能作为字符常量使用

 

3.注释信息

注释信息是程序中不可执行的部分,仅用于对程序代码加以说明,有助于提高程序的可读性。c#中的注释方法由3种:

(1) 单行注释。在一个语句行上,用双斜杠”//”作为引导符,其后的任何内容均为注释信息,编译时被忽略

(2) 多行注释。从”/*”开始,到”*/”结束,其中的所有内容(可以是一行,或多行)均为注释信息,但注释文字中必须不包含”*/”

(3) XML注释。在一个代码行上,用”///”开始,其后的任何内容均为注释信息,编译时并提取出来,形成一个特殊格式的文本文件(XML),用于创建文档说明书

对于初学者来说,在程序设计中经常使用的是前两种注释方式

 

 

1.3c#Windows窗体应用程序设计实例

Windows窗体应用程序通过窗体上的各种图形用户界面(Graphical User Interface,GUI)元素形成与用户交流的界面。

1.3.1c#windows窗体应用程序的创建

Visual Studio 2008中创建一个c#windows窗体应用程序通常需要以下4个步骤:

(1) 设计用户界面

(2) 设置对象属性

(3) 编写对象事件过程代码

(4) 保存并运行程序

 

 

1.3.2c#windows窗体应用程序的结构

 

窗体应用程序主要由下面几种程序构成:

 

(1) 导入其他系统预定义元素定义

 

(2) 命名空间

 

(3) 

 

(4) 方法(主方法,事件响应处理过程)

 

Program.cs的源代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace motto
{
    static class Program
    {
        ///
        ///应用程序的主入口点
        ///
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

 

本章小结

 

本章介绍了c#语言的主要特点,并通过两个简单实例介绍了c#控制台应用程序和Windows窗体应用程序的开发过程,以及它们的组成结构,还介绍了c#程序代码的基本书写规则。

 

习题:

(1) 简述在VS 2017集成环境中创建c#控制台应用程序的主要步骤

(2) 一个c#控制台应用程序主要由哪几个部分构成?

(3) 什么是托管方式?

 


评论


亲,登录后才可以留言!