C#入门经典(第4版)课件课件作者978-7-302-18587-1k章节02章

上传人:E**** 文档编号:89085814 上传时间:2019-05-17 格式:PPT 页数:41 大小:389.50KB
返回 下载 相关 举报
C#入门经典(第4版)课件课件作者978-7-302-18587-1k章节02章_第1页
第1页 / 共41页
C#入门经典(第4版)课件课件作者978-7-302-18587-1k章节02章_第2页
第2页 / 共41页
C#入门经典(第4版)课件课件作者978-7-302-18587-1k章节02章_第3页
第3页 / 共41页
C#入门经典(第4版)课件课件作者978-7-302-18587-1k章节02章_第4页
第4页 / 共41页
C#入门经典(第4版)课件课件作者978-7-302-18587-1k章节02章_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《C#入门经典(第4版)课件课件作者978-7-302-18587-1k章节02章》由会员分享,可在线阅读,更多相关《C#入门经典(第4版)课件课件作者978-7-302-18587-1k章节02章(41页珍藏版)》请在金锄头文库上搜索。

1、第02章 编程初步,现在读者一定很渴望编写程序,让计算机与外界进行实际的交互。我们不希望程序只能做打字员的工作,显示包含在程序代码中的固定信息。的确,编程的内涵远不止此。 理想情况下,我们应能从键盘上输入数据,让程序把它们存储在某个地方,这会让程序更具多样性。程序可以访问和处理这些数据,而且每次执行时,都可以处理不同的数据值。每次运行程序时输入不同的信息正是整个编程业的关键。在程序中存储数据项的地方是可以变化的,所以叫做变量(variable),而这正是本章的主题,2.1 计算机的内存,首先看看计算机如何存储程序要处理的数据。为此,就要了解计算机的内存,在开始编写第一个程序之前,先简要介绍计算

2、机的内存。 计算机执行程序时,组成程序的指令和程序所操作的数据都必须存储到某个地方。这个地方就是机器的内存,也称为主内存(main memory),或随机访问存储器(Random Access Memory,RAM)。,2.2 什么是变量,变量是计算机里一块特定的内存,它是由一个或多个连续的字节所组成。每个变量都有一个名称,可以用该名称表示内存的这个位置,以提取它包含的数据或存储一个新数值 。,2.3 计算机绘图系统的硬件组成,变量有几种不同的类型,每种变量都用于存储特定类型的数据。首先看看用于存储数值的变量。在程序里存放数字的方法很多,下面从最简单的方法开始 。 整数变量 变量的命名 变量的

3、使用 变量的初始化 算术语句,2.3.1 整数变量,首先是存储整数的变量。整数是没有小数点的数字。例如: 1 10,999,000,000 -1 这些数值是整数,但这对程序而言并不完全正确。整数是不能包含逗号的,所以第二个值在程序里应该写成10999000000。,2.3.2 变量的命名,给变量指定的名称一般称为变量名。变量的命名是很有弹性的。它可以是一个或多个大写或小写字母、数字和下划线( _ )(有时下划线也算做字母)。下面是一些正确的变量名: Radius diameter Auntie_May Knotted_Wool D678,2.3.3 变量的使用,前面介绍了如何声明及命名变量,但

4、这和在第一章学到的知识相比并没有太多用处。下面编写另一个程序,在产生输出前使用变量的值。,2.3.4 变量的初始化,在上面的例子,用下面的语句声明每个变量: int Cats; /* The number of cats as pets */ 用下面的语句设定变量Cats的值: Cats = 2; 将变量Cats的值设为2。,2.3.5 算术语句,上面的程序是第一个真正做了些事情的程序。它非常简单,仅仅相加了几个数字,但这是非常重要的一步。它是运用算术语句进行运算的一个基本例子。下面介绍一些更复杂的计算 。,2.4 变量与内存,前面介绍了整数变量,但未考虑过它们占用多少内存空间。每次声明变量时

5、,计算机都会给它分配一块足够大的内存空间,来保存该类型的变量。相同类型的不同变量总是占据相同大小的内存(字节数)。但不同类型的变量需要分配的内存空间就不一样了。,2.5 整数变量类型,有5种基本的变量类型可以声明为存储带符号的整数值(无符号的整数值参见下一节)。每种类型都用不同的关键字或关键字组合来指定 。 无符号的整数类型 使用整数类型 指定整数常量,2.5.1 无符号的整数类型,对于每个存储带符号整数的类型,都有一个对应的类型来存储无符号的整数,它们占用的内存空间与无符号类型相同。每个无符号的类型名称都与带符号的类型名称相同,但要在前面加上关键字unsigned。,2.5.2 使用整数类型

6、,在大多数情况下,int或long类型的变量就能满足我们的需求,偶尔需要unsigned int或unsigned long。下面是声明这些类型的例子: unsigned int count = 10; unsigned long inchesPerMile = 63360UL; int balance = -500;,2.5.3 指定整数常量,整数变量有不同的类型,整数常量也有不同的类型。例如,如果将整数写成100,它的类型就是int。如果要确保它是long类型,就必须在这个数值的后面加上一个大写L或小写l。所以,long类型的整数100应写为100L。虽然写为100l也是合法的,但应尽量避

7、免,因为小写字母l与数字1很难辨别。,2.6 浮点数,浮点变量用来存储浮点数。浮点数包含的值带小数点,也可以表示分数和整数。下面是浮点数的例子: 1.6 0.00008 7655.899 由于浮点数的表示方式,它的位数是固定的。然而它的取值范围要比整数大得多。浮点数通常表示为一个小数值乘以10的次方。 。,2.7 浮点数变量,浮点数变量的声明方式和整数变量类似。只需给浮点数类型使用对应的关键字即可: float Radius; double Biggest; 如果需要存储至多有7位精确值的数(范围从10-38到10+38),就应需要使用float类型的变量。类型float的值称为单精度浮点数。

8、从表2-6中得知,它占用4个字节。使用类型double的变量可以存储双精度浮点数。类型double的变量占用8个字节,有15位精确值,范围从10-308到10+308。它足以满足大多数的需求。但某些特殊的应用程序需要更精确、更大的范围,此时可以使用long double。 。,2.8 使用浮点数完成除法运算,如前所见,除法运算使用的是整数操作数时,通常会得到整数结果。除非除法运算的左操作数刚好是右操作数的整数倍,否则其结果是不正确的。当然,在将饼干分给孩子们的例子中,整数除法运算的方式是没问题的,但将10尺长的厚板均分成4块时,就有问题了。这时就需要用到浮点数了 。 控制小数位数 控制输出字段

9、宽度,2.8.1 控制小数位数,在上个例子的输出中有太多不必要的0。擅长使用量尺和锯子,并不说明能用长度为2.500000量尺切割木板,更不用说用2.500001长度的量尺了。可以用格式指定符指定小数点后面的位数。例如,要使输出的小数点后有两位数,就可以使用格式指定符%.2f。如果小数点后需要有3位数,则可以使用%.3f。,2.8.2 控制输出字段宽度,输出的字段宽度是输出值所使用的总字符数(包括空格),它一般是默认的。printf()函数确定了输出值需要占用多少个字符位置,小数点后的位数由我们指定,并将它用作字段宽度。但我们可以自己确定字段宽度。如果要求输出一列排列整齐的数值,就应确定其字段

10、宽度。如果让printf()函数指定字段宽度,输出的数字列就不整齐 。,2.9 较复杂的表达式,算术要比两个数相除复杂得多。事实上,如果要进行复杂的算术运算,也可以使用笔和纸。有了加减乘除的工具,就可以开始进行一些真正复杂的计算了。 对于较复杂的的计算,需要更多地控制表达式的计算顺序。括号可以提供这方面的能力。当遇到错综复杂的情况时,括号还有助于使表达式更清晰 。,2.10 定义常量,前面的例子将Pi定义为变量,但它是一个不会改变的常量,的值是一个不循环的无限小数,其值总是固定不变。唯一的问题是,在指定它时精确到几位数。最好确保它的值在程序里保持不变,使之不会因错误而改变 。 极限值 size

11、of运算符,2.10.1 极限值,当然,一定要确定程序中给定的整数类型可以存储的极限值。头文件定义的符号表示每种类型的极限值 。,2.10.2 sizeof运算符,使用sizeof运算符可以确定给定的类型占据多少字节。当然,在C语言中sizeof是一个关键字。表达式sizeof(int)会得到int类型的变量所占的字节数,所得的值是一个size_t类型的整数。size_t类型在标准头文件(和其他头文件如)中定义,对应于一个基本整数类型。但是,与size_t类型对应的类型可能在不同的C库中有所不同,所以最好使用size_t变量存储sizeof运算符生成的值,即使知道它对应的基本类型,也应如此。,

12、2.11 选择正确的类型,必须仔细选择在计算过程中使用的变量类型,使之能包含我们期望的值。如果使用了错误的类型,程序就可能出现很难检测出来的错误 。,2.12 定义常量,在程序2.14计算季度收入的表达式中,可以控制操作的执行,得到正确的结果: RevQuarter = QuarterSold/150*Revenue_Per_150; 要使结果正确,必须修改这个语句,以浮点数的方式计算表达式。如果可以把QuarterSold的值转换为float类型,该表达式就会以浮点数的方式计算,问题就解决了。要把变量从一种类型转换为另一种类型,应把目标类型放在变量前面的括号中 。 自动转换类型 隐式类型转换

13、的规则 赋值语句中的隐式类型转换,2.12.1 自动转换类型,该程序的第二个版本的输出如下: Sales revenue this quarter is :$1930.50 即使表达式中没有显式转换类型,结果也是浮点数形式,但它仍是错误的。这是因为编译器在处理涉及不同类型的值操作时,会自动把其中一个操作数的类型转换为另一个操作数的类型,2.12.2 隐式类型转换的规则,确定二元运算中的哪个操作数要转换为另一个操作数的类型时,其机制相当简单。其基本规则是,将值域较小的操作数类型转换为另一个操作数类型,但在一些情况下,两个操作数都要转换类型。,2.13 再谈数值数据类型,为了完整论述数值数据类型,

14、下面讨论一些前面未提及的内容。第一个未涉及的类型是char。char类型的变量可以存储单个字符的代码。它只能存储一个字符代码(即一个整数),所以被看作整数类型。可以像其他整数类型那样处理char类型存储的值,因此可以在算术运算中使用它 。 字符类型 字符的输入输出 宽字符类型 枚举 存储布尔值的变量 复数类型,2.13.1 字符类型,在所有数据的类型中,char类型占用的内存空间最少。它一般只需一个字节。存储在char类型变量的整数可以表示为带符号或无符号的值,这取决于编译器 。,2.13.2 字符的输入输出,使用scanf()函数和格式指定符%c,可以从键盘上读取单个字符,将它存储在char

15、类型的变量中 。,2.13.3 宽字符类型,wchar_t类型的变量存储多字节字符码,一般占用两个字节。在处理Unicode字符时,就需要使用wchar_t类型。wchar_t类型在标准头文件中定义,所以需要在使用该类型的源文件中包含该头文件。在char类型的字符常量前面加上修饰符L,就可以定义一个宽字符常量 。,2.13.4 枚举,在编程时,常常希望变量存储一组可能值中的一个。例如一个变量存储表示当前月份的值。这个变量应只存储12个可能值中的一个,分别对应于112月。C语言中的枚举(enumeration)就用于这种情形 。,2.13.5 存储布尔值的变量,_Bool类型存储布尔值。布尔值一

16、般是比较的结果true或false;第3章将学习比较操作,并使用其结果做出判断。_Bool类型的变量值可以是0或1,对应于布尔值false和true。由于值0和1是整数,所以_Bool类型也被看作整数类型 。,2.13.6 复数类型,本节假定读者学过复数。如果读者未学过这个内容,可以跳过本节。如果对复数的概念比较模糊,这里将介绍它的基本特性。 复数的形式是a + bi(在电子学中是a + bj),其中i是1的平方根,a和b是实数。A是实数部分,bi是复数的虚数部分。复数可以看作实数(a, b)的有序对,2.14 赋值操作的op=形式,C语言是一种非常简洁的语言,提供了一些操作的缩写形式。考虑下面的代码: number = number + 10; 这类赋值操作是给一个变量递增或递减一个数字,它非常常见,所以有一个缩写形式: number += 10;,2.15 数学函数,math.h头文件包含各种数学函数的声明。

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号