C程序设计 第一章 C语言基础.ppt

上传人:s****8 文档编号:82790210 上传时间:2023-03-26 格式:PPT 页数:43 大小:319KB
返回 下载 相关 举报
C程序设计 第一章 C语言基础.ppt_第1页
第1页 / 共43页
C程序设计 第一章 C语言基础.ppt_第2页
第2页 / 共43页
点击查看更多>>
资源描述

《C程序设计 第一章 C语言基础.ppt》由会员分享,可在线阅读,更多相关《C程序设计 第一章 C语言基础.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C#程序设计与案例教程 清华大学出版社 第一章第一章 C#语言基础语言基础C#.NETC#.NET是微软公司推出的一种类型安全的、现是微软公司推出的一种类型安全的、现代的、简单的、由代的、简单的、由C C和和C+C+衍生出来的面向对象衍生出来的面向对象的编程序语言。掌握的编程序语言。掌握C#.NETC#.NET的特点、程序结构、的特点、程序结构、集成开发环境、集成开发环境、C#C#语言的基本知识等,是利用语言的基本知识等,是利用好好C#C#的前提。的前提。1 1版权所有版权所有C#程序设计与案例教程 清华大学出版社 目录 C#概述C#语言基础控制结构数组异常处理2 2版权所有版权所有C#程序设

2、计与案例教程 清华大学出版社 1.1 C#概述概述1.1.1.NET简介1 1.NET.NET定义定义定义定义 n n .NET.NET技术是微软公司推出的一个全新概念,它技术是微软公司推出的一个全新概念,它代表了一个集合、一个环境和一个可以作为平代表了一个集合、一个环境和一个可以作为平台支持下一代台支持下一代InternetInternet的可编程结构。的可编程结构。n n .NET.NET平台包括平台包括.NET.NET框架和框架和.NET.NET开发工具等组成开发工具等组成部分。部分。.NET.NET框架(框架(FrameworkFramework)是整个开发平)是整个开发平台的基础,包

3、括公共语言运行库和台的基础,包括公共语言运行库和.NET.NET类库。类库。.NET.NET开发工具包括开发工具包括Visual Studio.NETVisual Studio.NET集成开发集成开发环境和环境和.NET.NET编程语言。编程语言。3 3版权所有版权所有C#程序设计与案例教程 清华大学出版社 2.2.公共语言运行库公共语言运行库公共语言运行库公共语言运行库 公共语言运行库是公共语言运行库是 .NET Framework.NET Framework 的基础。的基础。可以将运行库看作一个在执行时管理代码的代可以将运行库看作一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程

4、管理理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代全以及可确保安全性和可靠性的其他形式的代码准确性。码准确性。4 4版权所有版权所有C#程序设计与案例教程 清华大学出版社 Visual Basic.NETC#托管托管C+J#其他其他语语言言公共公共语语言言规规范范(CLS)ASP.NET/Web应应用用/Web服服务务Window窗体窗体应应用用ADO.NET与与XML.NET框架基框架基础类库础类库公共公共语语言运行言运行时时操作系操作系统统5 5版权所有版权所有C#程序设计与案

5、例教程 清华大学出版社 3 3.NET.NET框架类库框架类库框架类库框架类库n n.NET Framework.NET Framework 类库是一个与公共语言运行类库是一个与公共语言运行库紧密集成的可重用的类型集合。库紧密集成的可重用的类型集合。n n可使用可使用 .NET Framework.NET Framework 开发下列类型的应用开发下列类型的应用程序和服务:程序和服务:n n控制台应用程序。控制台应用程序。n nWindows GUI Windows GUI 应用程序(应用程序(Windows Windows 窗体)。窗体)。n nASP.NET ASP.NET 应用程序。应用

6、程序。n nXML Web servicesXML Web services。n nWindows Windows 服务。服务。6 6版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.1.2 什么是C#n nC#C#是微软公司在是微软公司在20002000年年7 7月发布的一种全新的月发布的一种全新的简单、安全、面向对象的程序设计语言。它是简单、安全、面向对象的程序设计语言。它是专门为专门为.NET.NET的应用而开发的语言。它吸收了的应用而开发的语言。它吸收了C+C+、Visual BasicVisual Basic、DelphicDelphic、JavaJava等语言的等语言的优

7、点,体现了当今最新的程序设计技术的功能优点,体现了当今最新的程序设计技术的功能和精华。和精华。7 7版权所有版权所有C#程序设计与案例教程 清华大学出版社 n n其特点有:其特点有:语言简洁。语言简洁。保留了保留了C+C+的强大功能。的强大功能。快速应用开发功能。快速应用开发功能。语言的自由性。语言的自由性。强大的强大的WebWeb服务器控件。服务器控件。支持跨平台。支持跨平台。与与XMLXML相融合。相融合。8 8版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.1.3 Visual Studio.NET的集成开发环境n n.NET.NET开发语言都采用了统一的集成开发环境开发语言

8、都采用了统一的集成开发环境Visual Studio.NETVisual Studio.NET。9 9版权所有版权所有C#程序设计与案例教程 清华大学出版社 Visual Studio起始页1010版权所有版权所有C#程序设计与案例教程 清华大学出版社 “新建项目”对话框1111版权所有版权所有C#程序设计与案例教程 清华大学出版社 Visual Studio.NET开发环境1212版权所有版权所有C#程序设计与案例教程 清华大学出版社 “解决方案资源管理器”窗口 1313版权所有版权所有C#程序设计与案例教程 清华大学出版社 “工具箱”窗口 1414版权所有版权所有C#程序设计与案例教程 清

9、华大学出版社 控件选择按字母排序事件图标属性图标属性名属性值属性描述“属性”窗口 1515版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.1.4 初识C#程序n nC#.NETC#.NET主要用于开发三类程序:控制台程序、主要用于开发三类程序:控制台程序、WindowsWindows程序和程序和ASP.NETASP.NET程序。程序。C#C#程序的扩程序的扩展名为展名为.CS.CS,通过编译器,通过编译器CSC.EXECSC.EXE编译成可执编译成可执行文件。行文件。1616版权所有版权所有C#程序设计与案例教程 清华大学出版社 【案例案例案例案例1-11-1】一个简单的控制台程序

10、。一个简单的控制台程序。n n程序运行后显示程序运行后显示“欢迎进入欢迎进入C#C#世界世界!”!”,运行结,运行结果如图所示。果如图所示。1717版权所有版权所有C#程序设计与案例教程 清华大学出版社 static void static void Main(stringMain(string argsargs)Console.WriteLineConsole.WriteLine(请输入你的名字:请输入你的名字:););string username=string username=Console.ReadLineConsole.ReadLine();();Console.WriteLine

11、Console.WriteLine(欢迎欢迎00进入进入C#C#世界世界!,username);!,username);1818版权所有版权所有C#程序设计与案例教程 清华大学出版社 【案例案例案例案例1-21-2】第一个图形界面程序。第一个图形界面程序。n n设计一个程序,界面上用一个文本框输入姓名,单设计一个程序,界面上用一个文本框输入姓名,单击击“确定确定”按钮后,在文本框中显示按钮后,在文本框中显示“欢迎欢迎XXXXXX进进入入C#C#世界世界!”!”,运行结果如图,运行结果如图1-101-10所示。所示。1919版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.1.5 命名

12、空间n n命名空间就像在文件系统中一个文件夹容纳多命名空间就像在文件系统中一个文件夹容纳多个文件一样,可以看作某些类的一个容器。通个文件一样,可以看作某些类的一个容器。通过把类放入命名空间可以把相关的类组织起来,过把类放入命名空间可以把相关的类组织起来,并且可以避免命名冲突。命名空间既用作程序并且可以避免命名冲突。命名空间既用作程序的的“内部内部”组织系统,也用作组织系统,也用作“外部外部”组织系组织系统(一种向其他程序公开自己拥有的程序元素统(一种向其他程序公开自己拥有的程序元素的方法)。的方法)。2020版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.1.命名空间声明命名空间声

13、明命名空间声明命名空间声明namespacenamespace关键字用于声明一个命名空间。格式如下:关键字用于声明一个命名空间。格式如下:namespace namespace name.name1.name.name1.类型声明类型声明 其中其中name,name1name,name1为命名空间名,可以是任何合法的标为命名空间名,可以是任何合法的标识符。命名空间名可以包含句号。识符。命名空间名可以包含句号。例如:例如:namespace N1.N2namespace N1.N2 class Aclass Aclass B()class B()2121版权所有版权所有C#程序设计与案例教程 清

14、华大学出版社 2命名空间的使用命名空间的使用n n使用使用UsingUsing指令能够引用给定的命名空间或创指令能够引用给定的命名空间或创建命名空间的别名(建命名空间的别名(using using 别名)。别名)。using using 别名别名 =类或命名空间名类或命名空间名;2222版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.3.系统定义的命名空间系统定义的命名空间系统定义的命名空间系统定义的命名空间n n命名空间分为两类:用户定义的命名空间和系统定义命名空间分为两类:用户定义的命名空间和系统定义的命名空间。用户定义的命名空间是在代码中定义的的命名空间。用户定义的命名空间是

15、在代码中定义的命名空间。命名空间。命名空命名空间间类类的描述的描述System定义通常使用的数据类型和数据转换的基本.NET类。System.Collection定义列表、队列、位数组合字符串表。System.Data定义ADO.NET数据库结构。System.Drawing提供对基本图形功能的访问。System.IO允许读写数据列和文件。System.Net提供对Windows网络功能的访问。System.Net.Sockets提供对Windows套接字的访问。2323版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.2 C#语言基础语言基础1.2.1基本编码规则1 1标识符和保留

16、字标识符和保留字标识符和保留字标识符和保留字n nC#C#语言中,标识符是以字母、下划线(语言中,标识符是以字母、下划线(语言中,标识符是以字母、下划线(语言中,标识符是以字母、下划线(_ _)或)或)或)或开始的一个字符序列,后面可以跟字母、下划开始的一个字符序列,后面可以跟字母、下划开始的一个字符序列,后面可以跟字母、下划开始的一个字符序列,后面可以跟字母、下划线、数字。线、数字。线、数字。线、数字。C#C#语言区分大小写。一般变量名首语言区分大小写。一般变量名首语言区分大小写。一般变量名首语言区分大小写。一般变量名首字母小写,后面各单词首字母大写;而常量、字母小写,后面各单词首字母大写;

17、而常量、字母小写,后面各单词首字母大写;而常量、字母小写,后面各单词首字母大写;而常量、类名、方法、属性等首字母大写。类名、方法、属性等首字母大写。类名、方法、属性等首字母大写。类名、方法、属性等首字母大写。n n具有专门的意义和用途,不能当作一般的标识具有专门的意义和用途,不能当作一般的标识具有专门的意义和用途,不能当作一般的标识具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字。符使用,这些标识符称为保留字。符使用,这些标识符称为保留字。符使用,这些标识符称为保留字。2424版权所有版权所有C#程序设计与案例教程 清华大学出版社 2 2书写规则书写规则书写规则书写规则n

18、n每行语句以每行语句以“;”结尾。结尾。n n空行和缩进被忽略。空行和缩进被忽略。n n多条语句可以处于同一行,之间用分号分隔即多条语句可以处于同一行,之间用分号分隔即可。可。2525版权所有版权所有C#程序设计与案例教程 清华大学出版社 3 3注释注释注释注释有三种类型的注释语句:有三种类型的注释语句:n n/注释一行注释一行n n/*/*一行或多行注释一行或多行注释*/n n/XML/XML注释方式注释方式2626版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.2.2 1.2.2 数据类型数据类型n nC#C#语言中的数据类型划分语言中的数据类型划分语言中的数据类型划分语言中的

19、数据类型划分C#C#语言的数据类型按内置和自定义划分有内置类型和构造类型。语言的数据类型按内置和自定义划分有内置类型和构造类型。语言的数据类型按内置和自定义划分有内置类型和构造类型。语言的数据类型按内置和自定义划分有内置类型和构造类型。2727版权所有版权所有C#程序设计与案例教程 清华大学出版社 n n按数据的存储方式划分,有值类型和引用类型。按数据的存储方式划分,有值类型和引用类型。2828版权所有版权所有C#程序设计与案例教程 清华大学出版社 2值类型值类型n n各种值类型总是含有相应该类型的一个值。各种值类型总是含有相应该类型的一个值。每每当把一个值赋给一个值类型时,该值实际上被当把一

20、个值赋给一个值类型时,该值实际上被拷贝了。相比,对于引用类型,仅是引用被拷拷贝了。相比,对于引用类型,仅是引用被拷贝了,而实际的值仍然保留在相同的内存位置。贝了,而实际的值仍然保留在相同的内存位置。C#C#的值类型可以归类如下:的值类型可以归类如下:简单类型简单类型(Simple types)(Simple types)枚举类型枚举类型(Enumeration types)(Enumeration types)结构类型结构类型(structstruct types)types)2929版权所有版权所有C#程序设计与案例教程 清华大学出版社 【案例案例案例案例1-31-3】定义一个职称枚举类型,

21、输出类型定义一个职称枚举类型,输出类型中所有枚举常量。中所有枚举常量。3030版权所有版权所有C#程序设计与案例教程 清华大学出版社 3引用类型引用类型n n和值类型相比,引用类型不存储它们所代表的和值类型相比,引用类型不存储它们所代表的实际数据,但它们存储实际数据的引用。在实际数据,但它们存储实际数据的引用。在C#C#中引用类型主要包括中引用类型主要包括objectobject类型、类、接口、类型、类、接口、stringstring类型、数组,以及委托。这里先介绍一下类型、数组,以及委托。这里先介绍一下objectobject,其他内容在后续的章节中介绍。,其他内容在后续的章节中介绍。313

22、1版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.2.3 字符串类(string)n n它是它是System.StringSystem.String类型的别名,表示一个类型的别名,表示一个UnicodeUnicode字符序列。一个字符串可存储将近字符序列。一个字符串可存储将近2020亿(亿(231231)个)个UnicodeUnicode字符。字符。1 1字符串的建立字符串的建立字符串的建立字符串的建立string string strstr=”Hello”;=”Hello”;char char chch=C,h,i,n,aC,h,i,n,a;string string strst

23、r=new=new String(chString(ch)/)/值为值为ChinaChinastring str1=new String(ch,2,2);/string str1=new String(ch,2,2);/值为值为inin3232版权所有版权所有C#程序设计与案例教程 清华大学出版社 3常用的字符串操作方法常用的字符串操作方法(1 1)比较两个字符串)比较两个字符串可用可用string.Compare(stringstring.Compare(string strA,stringstrA,string strBstrB)比较比较两字符串大小,它返回两字符串大小,它返回3 3种可能

24、的结果:种可能的结果:n n如果如果strAstrA大于大于strBstrB,结果为,结果为1 1。n n如果如果strAstrA等于等于strBstrB,结果为,结果为0 0。n n如果如果strAstrA小于小于strBstrB,结果为,结果为-1-1。3333版权所有版权所有C#程序设计与案例教程 清华大学出版社 (2 2)查找)查找利用利用IndexOf(stringIndexOf(string strstr)可以查找可以查找strstr在字符串中出在字符串中出现的位置。利用现的位置。利用LastIndexOf(stringLastIndexOf(string strstr)可以查找可

25、以查找strstr在字符串中最后一次出现的位置。例如:在字符串中最后一次出现的位置。例如:n nstring str1=this is a string;string str1=this is a string;n nConsole.WriteLine(str1.IndexOf(is);/Console.WriteLine(str1.IndexOf(is);/结果为结果为2 2n nConsole.WriteLine(str1.LastIndexOf(is);/Console.WriteLine(str1.LastIndexOf(is);/结果结果为为5 53434版权所有版权所有C#程序设计

26、与案例教程 清华大学出版社 (3 3)插入)插入利用利用Insert(intInsert(int startIndex,stringstartIndex,string strstr)可以在可以在startIndexstartIndex处插入字符串处插入字符串strstr。例如:。例如:n nstring str1=this is a string;string str1=this is a string;n nstr1.Insert(2,str1.Insert(2,abcabc);/);/结果为结果为thabcisthabcis is a string is a string(4 4)删除)删

27、除利用利用Remove(intRemove(int startIndex,intstartIndex,int count)count)可以删除从可以删除从startIndexstartIndex开始的开始的countcount个字符。例如:个字符。例如:n nstring str1=this is a string;string str1=this is a string;n nstr1.Remove(1,2);/str1.Remove(1,2);/结果为结果为is is is is a string a string3535版权所有版权所有C#程序设计与案例教程 清华大学出版社 (6 6)分

28、离)分离利用利用Split(charSplit(char separator)separator)可以将字符串按照可以将字符串按照指定的字符进行分离。指定的字符进行分离。n nstring str1=this is a string;string str1=this is a string;n nString String strstr=str1.Split();=str1.Split();3636版权所有版权所有C#程序设计与案例教程 清华大学出版社 (7 7)复制到字符数组)复制到字符数组利用利用ToCharArrayToCharArray()()可以将字符串转换为字符数组。可以将字符串转

29、换为字符数组。n nChar Char charArraycharArray=str1.ToCharArray();=str1.ToCharArray();(8 8)大小写转换)大小写转换利用利用ToUpperToUpper()()可以将字符串中的所有英文字母转换可以将字符串中的所有英文字母转换为大写,利用为大写,利用ToLowerToLower()()可以将字符串中的所有英可以将字符串中的所有英文字母转换为小写。例如:文字母转换为小写。例如:n nStr1.ToUpper();/Str1.ToUpper();/结果为结果为:THIS IS A STRING:THIS IS A STRING

30、3737版权所有版权所有C#程序设计与案例教程 清华大学出版社 (9 9)去掉前后空格)去掉前后空格利用利用TrimStartTrimStart()()删除字符串首部空格,利用删除字符串首部空格,利用TrimEndTrimEnd()()删除字符串尾部空格,利用删除字符串尾部空格,利用Trim()Trim()删除字符串首删除字符串首部和尾部空格。例如:部和尾部空格。例如:n nstring s1=this is a book;string s1=this is a book;n nstring s2=this is a book ;string s2=this is a book ;n nstr

31、ing s3=this is a book ;string s3=this is a book ;n ns1.TrimStart();/s1.TrimStart();/删除首部空格,结果为删除首部空格,结果为this is a this is a book;book;n ns2.TrimEnd();/s2.TrimEnd();/删除尾部空格,结果为删除尾部空格,结果为this is a this is a book;book;n ns3.Trim();/s3.Trim();/删除首部和尾部空格,结果为删除首部和尾部空格,结果为this is this is a book;a book;3838

32、版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.2.4 DateTime和和TimeSpann nDateTimeDateTime表示时间上的一刻,通常以日期和当表示时间上的一刻,通常以日期和当天的时间表示。范围在公元(基督纪元)天的时间表示。范围在公元(基督纪元)0001 0001 年年 1 1 月月 1 1 日午夜日午夜 12:00:00 12:00:00 到公元到公元 (C.E.)9999(C.E.)9999 年年 12 12 月月 31 31 日晚上日晚上 11:59:59 11:59:59 之间的日期和时之间的日期和时间。时间值以间。时间值以 100 100 毫微秒为单位

33、(该单位称为毫微秒为单位(该单位称为刻度)进行计量。刻度)进行计量。n nTimeSpanTimeSpan表示一个时间间隔。其范围可以在表示一个时间间隔。其范围可以在Int64.MinValue Int64.MinValue 到到 Int64.MaxValue Int64.MaxValue 之间。之间。3939版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.2.5 Math类类n nMathMath类位于类位于SystemSystem名称空间,为三角函数、名称空间,为三角函数、对数函数和其他通用数学函数提供常数和静态对数函数和其他通用数学函数提供常数和静态方法。表方法。表1-41-

34、4列出了列出了MathMath类的数学函数。类的数学函数。4040版权所有版权所有C#程序设计与案例教程 清华大学出版社 1.2.6 数据类型的转换1 1隐式转换和显式转换隐式转换和显式转换隐式转换和显式转换隐式转换和显式转换(1 1)隐式转换)隐式转换 隐式转换是系统默认的,不需要加以说明就可隐式转换是系统默认的,不需要加以说明就可以进行的转换。需要注意的是:以进行的转换。需要注意的是:字符类型可以隐式转换为整型或浮点型,但不存字符类型可以隐式转换为整型或浮点型,但不存在其他类型到字符类型的隐式转换。在其他类型到字符类型的隐式转换。低精度的类型可以隐式转换成高精度的类型,反低精度的类型可以隐

35、式转换成高精度的类型,反之会出现异常。之会出现异常。在浮点型和在浮点型和decimaldecimal类型之间不存在隐式转换,因类型之间不存在隐式转换,因此,在这两种类型之间必须使用显示转换。此,在这两种类型之间必须使用显示转换。4141版权所有版权所有C#程序设计与案例教程 清华大学出版社 (2 2)显式转换)显式转换显式转换又叫强制转换,与隐式转换相反,显式显式转换又叫强制转换,与隐式转换相反,显式转换需要指明要转换的类型。例如:转换需要指明要转换的类型。例如:long x=100;long x=100;intint y=(y=(int)xint)x;4242版权所有版权所有C#程序设计与案例教程 清华大学出版社 n n字符串的表示格式字符串的表示格式字符串的表示格式字符串的表示格式 可以使用可以使用FormatFormat方法将字符串表示为规定格式。方法将字符串表示为规定格式。规定格式的一般形式为:规定格式的一般形式为:index,alignment:formatStringindex,alignment:formatString 4343版权所有版权所有

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁