问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C#入门级基础教学

创作时间:
作者:
@小白创作中心

C#入门级基础教学

引用
CSDN
1.
https://m.blog.csdn.net/it_s_raining/article/details/143319937

本文是一篇C#编程语言的基础教学文章,适合编程初学者学习。文章从编程语言的基本分类开始介绍,详细讲解了C#语言的特点、应用场景和发展历史,并逐步深入到C#的开发环境配置、基本语法、变量与常量的使用,以及控制台输入输出等基础知识点。

编程语言基础

1.1. 编程语言

C#是一门高级编程语言。程序设计语言是人们为了描述解题步骤(即编程序)而设计的一种具有语法语义描述的记号。编程语言的种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。

在计算机角度,每一种CPU类型都有自己可以识别的一套指令集,计算机不管你这个程序是用什么语言来编写的,其最终只认其CPU能够识别的二进制指令集。

1.1.1. 机器语言

在早期计算机刚发展的时代,人们都是直接输入010110这样的没有语义的二进制指令(俗称机器语言)来让计算机工作的,可读性几乎没有,没人愿意直接编写那些没有可读性、繁琐、费时,易出差错的二进制代码,所以后来才出现了编程语言(包括汇编与高级语言)。

1.1.2. 汇编语言

为了克服面向CPU的指令集的难读、难编、难记和易出错的缺点,后来就出现了面向特定CPU的特定汇编语言,比如我打上这样的x86汇编指令mov、ax,然后用上用机器码做的汇编器,它将会被翻译成 1000100111011000 这样的二进制01格式的机器指令;

汇编语言执行过程:

汇编语言的特点是:相对于机器指令而言,代码编写较为简单,程序被赋予了语义,对程序员友好,代码需要借助汇编器转换为机器指令,效率比机器指令略低;

汇编的实质是机器指令(机器码)的助记符,是一种低级符号语言(语义不够强),机器指令集是一款CPU的编程特征,是这款CPU的设计者制定的,CPU的内部电路设计就是为了实现这些指令集的功能。

CPU常见的架构有:arm架构,x86架构,mips架构等;汇编语言是针对某一个CPU而写的,不能编译到另一个CPU。

例如: add eax,ebx就只是X86 汇编的。而mips的,可能是add $t0,$t0,$t1

不同CPU架构上的汇编语言指令不同,不同操作系统之间的指令也可能不一样,而为了统一一套写法,同时又不失汇编的表达能力,因此高级编程语言就诞生了;

1.1.3. 高级语言

用高级语言写的代码,会被编译器先转换成对应平台的汇编指令,再转成机器码,最后将这些过程中产生的中间模块链接成一个可以被操作系统执行的程序。

Java代码片段

c#代码片段

那么汇编语言和高级语言比较,我们就不需要去阅读特定CPU的汇编码,我只需要写通用的高级语言的源代码就可以实现程序的编写,我们用将更偏机器实现的汇编语言称为低级语言,与汇编相比之上的语言,我们称之为高级语言;

我们常见的一些编程语言都是高级语言,都处于汇编语言之上

1.2. C#概述

1.2.1. C#简介

C#(C Sharp)是一种现代的、类型安全的、面向对象的编程语言,由微软公司开发,并且是.NET框架的主要编程语言之一。C#的设计初衷是为了简化应用程序开发,同时保持高性能和代码安全性。它结合了C++的强大功能和Java的易用性,旨在成为一种既强大又易于学习和使用的编程语言。

1.2.2. C#发展历史

C#语言的发展历史可以追溯到20世纪90年代末。当时,微软公司开始开发.NET框架,旨在提供一种跨平台的、标准化的应用程序开发环境。作为.NET框架的一部分,C#语言于2000年正式发布,并随着.NET框架的普及而逐渐受到广泛关注。

自发布以来,C#语言经历了多个版本的更新和改进。每个新版本都带来了新的功能、性能改进和语法糖,使得开发者能够更高效地编写代码,并更好地应对不断变化的应用程序需求。

C:1972 年

C++:1983年

Python:1991年

PHP:1994~1995

1.2.3. C#能做什么

C#语言具有广泛的应用领域,可以用于构建各种类型的应用程序。以下是一些C#常见的应用场景:

  1. Windows桌面应用程序:使用Windows Forms或WPF(Windows Presentation Foundation)等框架,C#可以创建具有丰富用户界面的桌面应用程序。

  2. Web应用程序:结合ASP.NET框架,C#可以用于开发Web应用程序,包括Web Forms、MVC(Model-View-Controller)和Web API等。

  3. 移动应用程序:通过Xamarin或MAUI(Multi-platform App UI)等工具,C#可以用于开发跨平台的移动应用程序,覆盖iOS、Android和Windows等多个平台。

  4. 游戏开发:使用Unity游戏引擎,C#可以作为主要的编程语言来开发2D和3D游戏。

  5. 网络服务:C#可以用于构建Web服务、RESTful API和微服务,支持云计算和分布式系统架构。

  6. 科学计算和数据分析:C#在科学计算领域也有一定的应用,尤其是在结合数学库和数据分析工具时。

  7. 桌面工具:C#可用于开发各种桌面工具,如文件处理工具、系统监控工具等。

  8. 企业应用:C#在企业级应用程序开发中非常受欢迎,特别是与数据库交互、数据处理和业务流程自动化等场景。

总之,C#是一种功能强大、易于学习和使用的编程语言,适用于构建各种类型的应用程序和系统。无论是初学者还是经验丰富的开发者,都可以通过C#来实现高效的代码编写和高质量的应用程序开发。

1.3. C#环境

1.3.1. .NET

C# 是微软开发的一种编程语言,它是专门为 .NET 框架设计的。C# 的语法简洁、类型安全,并且支持面向对象编程的各种特性,如封装、继承和多态。在 .NET 框架中,C# 是主要的编程语言之一,但它并不是唯一的,其他如 VB.NET、F# 等也可以用于 .NET 开发。

.NET Framework 与 .NET Core 的关系

.NET Framework 是微软早期发布的 .NET 实现,它是最初为 Windows 平台设计的。它包括了运行 C# 程序所需的运行时环境(CLR, Common Language Runtime)和丰富的类库集合,用于简化 Windows 桌面应用程序、Web 应用程序和服务的开发。

随着时间的推移,微软开始开发一个更轻量级、更跨平台的 .NET 实现,这就是 .NET Core。.NET Core 是一个开源项目,它的目标是在不同操作系统上提供高性能和模块化的 .NET 运行时和框架。与 .NET Framework 相比,.NET Core 更加轻量级,并且更加适合构建微服务、云应用程序和跨平台应用程序。

随着时间的推移,微软决定将 .NET Core 和 .NET Framework 合并,形成一个统一的 .NET 5。这个新版本结合了 .NET Core 的跨平台能力和 .NET Framework 的丰富功能,提供了一个统一的开发平台。随后的版本,如 .NET 6 和 .NET 7,继续沿用了这一策略,并提供了更多的功能和改进。

总结

C# 是为 .NET 框架设计的编程语言之一,它与 .NET 框架紧密集成,提供了丰富的类库和工具来简化应用程序开发。而 .NET Framework 和 .NET Core 是 .NET 的不同实现,分别针对不同的应用场景和平台需求。现在,随着 .NET 5、.NET 6 和 .NET 7 的推出,它们已经合并成一个统一的开发平台,支持在多个操作系统上构建高性能、可靠的应用程序。

1.3.2. C#的开发工具

微软(Microsoft)提供了下列用于 C# 编程的开发工具:

  • Visual Studio 2010 (VS)
  • Visual C# 2010 Express (VCE)
  • Visual Web Developer

后面两个是免费使用的,可从微软官方网址下载。使用这些工具,您可以编写各种 C# 程序,从简单的命令行应用程序到更复杂的应用程序。您也可以使用基本的文本编辑器(比如 Notepad)编写 C# 源代码文件,并使用命令行编译器(.NET 框架的一部分)编译代码为组件。

C#软件下载链接:Thank You for Downloading Visual Studio Community Edition

这里我们采用的是Visual Studio 2019的版本

安装时请选择

二、编写C#程序

2.1. 第一个C#程序

选择控制台应用

编写项目名

编写代码即可

using System;
namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
            Console.ReadLine();
        }
    }
}

在调用了

Console.WriteLine("Hello World");

之后,程序通常会立即结束,因为

Main

方法是静态的并且当它的执行完成时,程序会终止。通过添加

Console.ReadLine();

,你给了用户一个机会看到 "Hello World" 消息,并在按下

Enter

键后结束程序。

2.2. 程序的运行

上面的操作其实一共分为这三部

我们会发现帮我们生成了这些文件

  • Program.cs是源文件
  • *.sln:解决方案文件,保存用户操作的文件
  • obj文件夹:保存每个模块的编译结果
  • bin文件夹:包括二进制文件,这些文件是应用程序或库的实际可执行的代码

2.3. 程序代码解释

其实Main方法还可以有以下的写法

2.4. 练习

三、变量与常量

3.1. 变量

在C#中,变量是一个可以存储值的标识符。所以实际上你可以认为变量就是存储数据的一个容器

3.2. 变量的声明

要声明一个变量,需要指定变量的类型和名称。

数据类型 变量名称;

int age = 10;

同时注意变量名的命名规范

3.3. 数据类型

数据类型有很多,比如

这里我们先重点学这几个

3.4. 常量

常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。

const 数据类型 常量名称 = 值;
const double GIRTH = 2 * PI * r; //周长

但是注意常量的命名规则如下

3.5. 练习题

1.基础练习题

  • 声明一个整数变量age并赋值为25。
  • 声明一个双精度浮点数变量salary并赋值为3000.50。
  • 将salary改为4000.5
  • 声明一个布尔变量isStudent并赋值为false。
  • 声明一个字符串变量name并赋值为"Alice"。
  • 声明一个char类型的变量myChar,并赋值为字符'A'。
  • 声明一个char类型的变量anotherChar,并赋值为字符'中'(一个中文字符)。
  • 声明两个整数变量a和b并分别赋值为5和3。声明一个新的变量sum,并将a和b的和存储在其中
  • 声明两个浮点数变量x和y并分别赋值为2.5和1.7。声明一个新的变量product,并将x和y的乘积存储在其中。

变量命名练习

为以下变量选择合适的数据类型:

  • 表示学生年龄
  • 表示员工薪资
  • 表示程序是否正在运行的
  • 表示收货地址
  • 表示某个英文字母
  • 表示学生体重
  • 表示班级学生数量
  • 表示成绩分数
  • 表示科目数量
  • 表示仓库商品数量
  • 表示学生身高

判对错

  1. 在C#中,变量的命名可以包含空格字符。
  2. 变量名可以以下划线_开头。
  3. 变量名可以使用C#的保留关键字。
  4. 变量名可以使用数字开头。
  5. 变量名可以包含特殊字符,如@、#或$。
  6. 变量名对大小写敏感,因此myVariable和MyVariable是两个不同的变量。
  7. 在C#中,变量名可以包含中文字符。
  8. 变量名必须以字母、下划线或@符号开头

四、控制台输入与输出

4.1. 输出

1. 引言

在C#中,控制台输出是一种基本且常用的与用户交互的方式。通过控制台输出,你可以将文本、数字或其他数据类型的信息显示在屏幕上。本教学文档将指导你如何在C#控制台应用程序中进行输出操作。

2. 控制台输出方法

在C#中,控制台输出主要使用Console.WriteLine()和Console.Write()方法。

  • Console.WriteLine():此方法用于输出一行文本,并在输出后添加一个换行符。这意味着下一个输出将出现在新的一行。
  • Console.Write():此方法也用于输出文本,但它不会在输出后添加换行符。因此,如果你连续使用Console.Write(),输出将连续出现在同一行。

3. 不同的输出方式

string course1 = ".NET";
string course2 = "C#";
Console.Write("Hello .NET !");
Console.WriteLine("***");
Console.WriteLine("Hello .NET !");
Console.WriteLine("Hello " + course1 + ",Hello " + course2 + "。");
Console.WriteLine("Hello {0},Hello {1}。", course1, course2);
Console.WriteLine($"Hello { course1 },Hello { course2 }。");

4.2. 输入

4.3. 练习题

  • 编写一个C#控制台应用程序,提示用户输入一个字符串,并将该字符串输出到控制台。
  • 编写一个C#控制台应用程序,提示用户输入一个整数,读取该整数并将其输出到控制台
  • 编写一个程序,提示用户输入他们的名字,并输出一个欢迎消息,包含他们输入的名字。
  • 编写一个程序,提示用户输入两个整数,并输出它们的和、差
  • 编写一个C#控制台应用程序,提示用户输入他们的名字和年龄。读取这两个值,并使用格式化字符串将它们以特定的格式输出到控制台,例如:“姓名:张三,年龄:13岁”。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号