测绘程序设计ppt课件.ppt
《测绘程序设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《测绘程序设计ppt课件.ppt(83页珍藏版)》请在三一办公上搜索。
1、第 二 章 编程基础,测 绘 程 序 设 计,概要内容,本章主要介绍了C#语言的基础知识,内容主要包括C#基本语法、数据类型、运算符和表达式。本章是后续章节的基础,学习完本章后,应可以编写简单C#应用程序。,目录,2.1 C#基本语法2.2 变量简介2.3 C#数据类型2.4 运算符与表达式小结,2.1 C#程序结构,C#代码的外观和操作方式与C+和JAVA类似C#编译器不考虑代码中的空格、回车符或者Tab字符。C#代码由一系列语句组成,每个语句用分号来结束。C#是一种块结构的语言,所有的语句都是代码块的一部分。这些块用花括号来界定,代码块可以包含任意多行语句,或者不包含语句。注意花括号不需要
2、带分号。在C代码中,经常出现注释语句。编译器会忽略这些内容。/XXXXX/*这段代码由XXX编写*/还需要说一点,C#代码是区分大小写的。必须使用正确的大小写形式输入代码。Console.WriteLine(“hello world!”);console.WriteLine(“hello world!”);,2.1 C#基本语法,控制台程序基本结构,目录,2.1 C#基本语法2.2 变量简介2.3 C#数据类型2.4 运算符与表达式小结,2.2 变量简介,数据是程序的必要组成部分,也是程序处理的对象变量关系到数据的存储。实际上,可以把计算机内存中的变量看作架子上的盒子。,7,2.2 变量简介,
3、尽管计算机中所有数据事实上都是相同的东西,但变量有不同的内涵,称为类型(数据类型)。用盒子来类比,盒子有不同的形状和尺寸,某些东西只能放在特定的盒子中。这个类型系统的另一个原因是,不同类型的数据需要不同的方法来处理。变量限定为不同的类型,可以避免混淆。例如,组成数字图片的0和1序列与组成声音文件的0和1序列,其处理方式是不同的。,8,2.2 变量简介,变量与内存变量创建时,计算机都会给它分配一块足够大的内存空间,来保存该类型的变量。相同类型的不同变量总是占据相同大小的内存。不同类型的变量需要分配的内存空间不一样。使用变量使用变量就是声明他们。可以使用的变量类型是无限多的。其原因是可以自己定义类
4、型,存储各种复杂数据。尽管如此,总有一些数据类型是每个人都要使用的简单的预定义类型,9,10,2.3 C#数据类型,CTS类型值类型与引用类型预定义类型变量常量类型转换复合类型装箱和拆箱,11,2.3.1 CTS类型,CTS简介:CTS(Common Type System)公共类型系统,它定义了可以在中间语言使用的预定义数据类型,用于.NET语言都可以生成最终基于这些类型的编译代码。公共类型系统不仅指定基本数据类型,还定义了一个内容丰富的类型层次结构。,12,CTS类型层次,CTS类型层次结构图,13,2.3 C#数据类型,CTS类型值类型与引用类型预定义类型变量常量类型转换复合类型装箱和拆
5、箱,14,2.3.2 值类型与引用类型,数据类型分为值类型和引用类型两种。从概念上看,值类型直接存储其值,而引用类型存储对值的引用。从在内存中的存储位置上看,值类型变量把数据存储在栈中,引用类型变量把数据存储在堆中。,15,2.3.2 值类型与引用类型,值类型与引用类型在内存中的存储,int i20,int i=20;,“hello”,string s=“hello”;,int j=i;,string t=s;,string ss,int j20,string tt,16,2.3 C#数据类型,CTS类型值类型与引用类型预定义类型变量常量类型转换复合类型装箱和拆箱,17,2.3.3 预定义类型
6、,预定义数据类型是由C#语言和.NET框架提供的,每个预定义类型都映射为CTS中定义的类型。C#中有15个预定义类型,其中有13个值类型和两个引用类型(string和object)。,18,2.3.3 预定义类型(值类型),预定义的值类型,19,(1)short int类型Short和int 类型分别对应CTS中的int16和int32,当你需要一个整数变量时,可以这样声明:一些变量名称前的u表示不能在这些类型中存储负数,相应的整数存储范围变大。,int myInt=32768;,2.3.3 预定义类型(值类型),20,(2)float double类型Float和double 类型对应CTS
7、中的single和double,当你需要一个浮点数时,而不是整数时可以这样声明:一些其他的类型bool是C#中最常见的一种变量类型,但编写应用程序的逻辑流程时,一个可以是ture或false的变量具有非常重要的分支作用。,2.3.3 预定义类型(值类型),double myDouble=3.14159262;,21,2.3.3 预定义类型(值类型),(3)char类型存储单个字符。一些字符不能直接放在引号中,必须使用转义字符,这些转义字符如下表所示。,char的双重身份:char的具有双重身份。它表示字符但却被看作是整数家族的一部分,它表示的值是一个无符号的整数,范围在065535。它可以参与
8、计算,并可以隐式转换成int、long、ushort、uint和ulong。,22,2.3.3 预定义类型(值类型),(2)char类型,转义字符表,23,2.3.4 预定义类型(引用类型),预定义的引用类型 C#支持两个预定义引用类型,如下表所示:,24,2.3.4 预定义类型(引用类型),(1)object类型object类型是从所有内在和用户定义的类型中派生而来的最终父类型,所有类型都隐含地最终派生于System.Object类。,(1)object类型object类型可用于两个目的:1)使用object引用绑定任何特定子类型的对象,例如:2)object类型执行基本用途的方法,Equa
9、ls()、GetHashCode()、GetType()和ToString()等等。,25,2.3.4 预定义类型(引用类型),int i=20;object o=i;,26,2.3.4 预定义类型(引用类型),(2)string类型字符串变量是包含字母或数字字符的序列,它可以用来存放计算机或查询操作的输入信息。注意:对组成字符串的字符数没有限制。,27,2.3.4 预定义类型(引用类型),(2)string类型声明字符串变量:,string myStr1=“hello”;string myStr2=“world”;string myStr3=myStr1+myStr2;,(2)string类
10、型字符串中也可以包括转义字符:结果如下:,28,2.3.4 预定义类型(引用类型),string的永恒性C#中,创建一个string对象后,它所代表的字符集不能修改。当把一个字符串变量赋给另一个字符串时,会得到内存中同一个字符串的两个引用。但是,修改其中一个字符串,注意这会创建一个全新的string对象,而另一个字符串没有改变。,string sample=“hellonworld”;,helloworld,2.3.4 预定义类型(引用类型),(2)string类型请考虑下边的过程:,string s1=“a string”;,string s2=s1;,s1=“another string”
11、;,string s1s1,string s2s2,“anothe string”,“a string”,对s1的修改是通过String类的各种方法来实现的,预定义的方法不会直接修改内存中的这个String,而是构造一个新的String。所以在表面上看上去象是修改没有影响到原字符串。,(2)string类型verbatim字符串 通过加前缀,使编译器严格按照原样对其编译。字符串各种格式和转义字符将按原样输出。如:,30,2.3.4 预定义类型(引用类型),string s=“hellonworld”;,hellonworld,结果输出:,(2)string类型verbatim字符串 注意:引号
12、是唯一例外,编译器必须将其转义,例如,生成字符串“Hello”的代码如下:输出结果为:,31,2.3.4 预定义类型(引用类型),string s=“Hello”;,注意:Hello的两边都有3个引号,“Hello”,注:转义字符处理一对,32,2.3 C#数据类型,CTS类型值类型与引用类型预定义类型变量常量类型转换复合类型装箱和拆箱,(1)声明变量语法:例如:该语句用public访问级声明int变量i。,33,2.3.5 变量,modifiers datatype identifier;,public int i;,34,2.3.5 变量,(2)标识符(identifier)标识符是给变量
13、、用户定义的类型和这些类型的成员指定的名字。C#变量命名的基本规则:变量名首字符必须是字母、下划线(“_”)或“”;其后字符必须是字母、下划线或数字;切忌使用C#关键字。如果需要使用,须在标识符前边加上“”(如abstract)。,35,2.3.5 变量,(2)标识符(identifier)练习:下边哪些变量的命名是正确的 myBigVar 99BottleOfBeer namespace VAR1 _test Its-All-Over,36,2.3.5 变量,(2)标识符(identifier)以下列出了命名变量的一些约定:给变量分配有意义的名称;命名类和方法时使用PascalCase样式,
14、命名变量使用camelCase样式。不要通过大小写的不同来区分变量。,(3)初始化变量变量声明后,我们必须初始化该变量。,37,2.3.5 变量,class Test static void Main()int myTest=8;System.Console.WriteLine(myTest);,int myTest;,(3)初始化变量另外,注意初始值要与声明的类型相一致可以通过附加后缀来指定数值类型,38,2.3.5 变量,string myString=34.50;/错误,string myString=“34.50”;/正确,39,2.3.5 变量,(3)初始化变量可使用的后缀如下表:,
15、40,2.3.5 变量,(4)变量的作用域 class Program static void Main(string args)string myString=string defined in Main;write();Console.ReadKey();static void write()Console.WriteLine(myString=0,myString);,static void Main(string args)string myString=string defined in Main;write();Console.WriteLine(n Now in the Main
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测绘 程序设计 ppt 课件
链接地址:https://www.31ppt.com/p-2125272.html