C# 2012 大学教程 第3章_第1页
C# 2012 大学教程 第3章_第2页
C# 2012 大学教程 第3章_第3页
C# 2012 大学教程 第3章_第4页
C# 2012 大学教程 第3章_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 2009 Pearson Education, Inc. All rights reserved.23C# 程序入门程序入门 2009 Pearson Education, Inc. All rights reserved.3Whats in a name? That which we call a roseby any other name would smell as sweet. William ShakespeareWhen faced with a decision, I always ask,“What would be the most fun?” Peggy Walker 2

2、009 Pearson Education, Inc. All rights reserved.4“Take some more tea,” the March Hare said to Alice, very earnestly. “Ive had nothing yet,” Alice replied in an offended tone, “so I cant take more.” “You mean you cant take less,” said the Hatter: “its very easy to take more than nothing.” Lewis Carro

3、ll 2009 Pearson Education, Inc. All rights reserved.5目标目标本章将讲解: 用代码而不用可视化编程技术编写简单的C#程序 从键盘输入数据和向屏幕输出数据 声明并使用各种类型的数据 存储和读取内存数据 使用算术运算符 确定运算符的执行顺序 编写判断语句 使用关系运算符和相等运算符 2009 Pearson Education, Inc. All rights reserved.63.1 简介简介3.2 一个简单的一个简单的C#程序:显示一行文本程序:显示一行文本3.3 在在Visual Studio中创建简单的程序中创建简单的程序3.4 修改修

4、改C#程序程序3.5 用用Console.WriteConsole.Write 和和Console.WriteLineConsole.WriteLine格式化文本格式化文本3.6 另一个另一个 C# 程序:数据相加程序:数据相加3.7 内存概念内存概念3.8 算术运算符算术运算符3.9 判断:相等运算符与关系运算符判断:相等运算符与关系运算符3.10 (可选可选) ATM需求文档需求文档 2009 Pearson Education, Inc. All rights reserved.73.1 简介简介 控制台应用程序控制台应用程序(Console applications)在控制台窗口中输入

5、和输出文本, 在Windows XP 和 Windows Vista 系统中称为命令提示命令提示(Command Prompt)。 2009 Pearson Education, Inc. All rights reserved.8Welcome1.csWelcome1.cs图图. 3.1 | 显示文本的程序显示文本的程序声明 Welcome1类注释提高代码可读性3.2一个简单C#程序:显示一行文本(续.) 2009 Pearson Education, Inc. All rights reserved.93.2 一个简单C#程序:显示一行文本(续.) 程序员给程序文档插入注释。 注释提高代码

6、的可读性。 C# 编译器会忽略注释,因此当运行程序时,注释不会让计算机执行任何动作。 以/ 开头的注释叫做单行注释(single-line comment), 因为注释在行的末尾就结束了。 一个 / 注释也可以在行中间开始并直到行末尾。 定界注释(Delimited comments) 以定界符/*开始 并以定界符*/结束。所有包含在定界符之间的文本会被编译器忽略。 2009 Pearson Education, Inc. All rights reserved.103.2 一个简单C#程序:显示一行文本(续.)常见的编程错误常见的编程错误 3.1遗忘定界注释的某个定界符是一个语法错误。编程语

7、言的语法制定了以这种语言创建正确的程序规则。当编译器遇到违反C#语言规则的代码时,就会出现语法错误。 2009 Pearson Education, Inc. All rights reserved.113.2 一个简单C#程序:显示一行文本(续.) 一个 usingusing 指令告诉编译器到哪里去寻找程序中使用的类。 预定义的类被放在命名空间命名空间相关类的命名集合。.NET的名字空间统称为.NET 框架类库。框架类库。 System 名字空间包含预定义Console类和其他有用的类 。 2009 Pearson Education, Inc. All rights reserved.12

8、3.2 一个简单C#程序:显示一行文本(续.)错误防止提示错误防止提示 3.1如果程序中用到的类没有用using 指令指定它的名字空间,通常会造成编译错误,出现诸如 “The name Console does not exist in the current context.” 的消息。如果出现这种错误,应检查是否提供了合适的using指令,还要检查using指令,还要检查using指令中的单词是否拼写正确,包括大小写字母是否正确。 2009 Pearson Education, Inc. All rights reserved.133.2 一个简单C#程序:显示一行文本(续.) 程序员使用

9、空行和空字符来使程序更易于阅读。 空行、空字符和制表符一起被称为空白(whitespace),空白被编译器忽略。 2009 Pearson Education, Inc. All rights reserved.143.2 一个简单C#程序:显示一行文本(续.) 关键字关键字Keywords (有时被称为保留字保留字reserved words) 是C#保留使用的,全部采用小写字母。 每一个程序至少有一个由程序员定义的类声明class declaration ,称为“用户定义类” user-defined classes 。 类关键字引入类声明,它的后面紧跟类的名称。 2009 Pearson

10、 Education, Inc. All rights reserved.153.2 一个简单C#程序:显示一行文本(续.)好的编程经验好的编程经验 3.1按照惯例,类名称标识符总是以一个大写字母开头,并将其后的每个单词的首字母都大写。 2009 Pearson Education, Inc. All rights reserved.16图图. 3.2 | C# 关键字和上下文关键字 (部分1.) 类名称是一个标识符类名称是一个标识符identifier: 一系列的字母、数字和下划线 ( _ )组成。 不能以数字开头,也不能包含空格。 图 3.2中列出了C#关键字的完整清单。3.2 一个简单C

11、#程序:显示一行文本(续.) 2009 Pearson Education, Inc. All rights reserved.17图图. 3.2 | C# 关键字和上下文关键字 (部分2.) 在图3.2中的上下文关键字被用于标识符,但为了清晰起见,不推荐这样做。3.2 一个简单C#程序:显示一行文本(续.) 2009 Pearson Education, Inc. All rights reserved.183.2 一个简单C#程序:显示一行文本(续.) C# 是大小写敏感 case sensitive大小写字母是有区别的,因此 a1 和 A1 是不同的 (但有效) 标识符。常见的编程错误常

12、见的编程错误 3.2C#是大小写敏感的。用错了标识符的大写和小写字母,通常会导致编译错误。 标识符的前面还可以加上 符号。这个符号表明了单词应当解释为标识符,即使它为关键字。 (e.g. int). 2009 Pearson Education, Inc. All rights reserved.193.2 一个简单C#程序:显示一行文本(续.)好的编程经验好的编程经验 3.2按照惯例,命名包含一个公共类的文件时应和类同名 (加上.cs扩展名),拼写和大小写都一致。 这样的命名有利于确定程序类的位置。 2009 Pearson Education, Inc. All rights reserv

13、ed.203.2 一个简单C#程序:显示一行文本(续.) 每个类声明的类体(body)都以一个左花括号 开始。并以一个对应的右花括号 来结束类的声明。错误预防提示错误预防提示 3.2一旦在程序中输入了左花括号 ,就立即输入右花括号 。然后将光标重新定位到二者之间并进行缩进,再进行输入。这一经验有助于避免因遗漏花括号而出现错误。好的编程经验好的编程经验 3.3在界定体的左花括号和右花括号之间,应将每个类声明的整个类体都缩进一“级”。这种格式既突出了类声明的结构,又使它更易阅读。选择Edit Advanced Format Document。可以让IDE格式化代码。 2009 Pearson Ed

14、ucation, Inc. All rights reserved.213.2 一个简单C#程序:显示一行文本(续.)好的编程好的编程 经验经验 3.4设置愿意采用的缩进量,然后一致地使用它。也可以使用Tab键来来产生缩进,但不同的文本编辑器的制表符长度可能不同。推进每个缩进三个空格。在3.3中讲解了如何进行这种设置。常见的编程错误常见的编程错误 3.3如果花括号不成对出现,则是一种语法错误。 2009 Pearson Education, Inc. All rights reserved.223.2 一个简单C#程序:显示一行文本(续.) 标识符后面的圆括号Parentheses表示它是一个

15、称为方法的程序构建块 。类声明中通常包含一个或多个方法。 方法名采用与类名相同的大小写惯例。 对每个应用程序, 类中必须有一个Main方法; 否则程序将不能运行。 方法能够执行任务,并在完成任务后返回信息。关键字voidvoid 表示这个方法在完成任务后不返回任何信息。 2009 Pearson Education, Inc. All rights reserved.233.2 一个简单C#程序:显示一行文本(续.) 方法体声明以左花括号开始,以对应的右花括号结束。好的编程经验好的编程经验 3.5和类声明一样,在界定方法体的左花括号和右花括号之间,应将和类声明一样,在界定方法体的左花括号和右花

16、括号之间,应将每个方法声明的整个方法体都缩进一级。这种格式使方法的结构每个方法声明的整个方法体都缩进一级。这种格式使方法的结构更突出,也使方法声明更易读。更突出,也使方法声明更易读。 2009 Pearson Education, Inc. All rights reserved.243.2 一个简单C#程序:显示一行文本(续.) 在双引号之间的字符表示是字符串字符串strings。 在字符串中的空白符不会被编译器忽略。 Console.WriteLineConsole.WriteLine 方法实现在控制台窗口中显示一行文本。 括号中的字符串是Console.WriteLineConsole.

17、WriteLine 方法的参数。 Console.WriteLineConsole.WriteLine 方法的作用在控制台窗口中显示参数(也叫输出)。 2009 Pearson Education, Inc. All rights reserved.253.2 一个简单C#程序:显示一行文本(续.) 一个方法一般由一条或多条语句组成,执行方法的任务。(语句: statements ) 多数语句以分号结束。(分号:semicolon)常见的编程错误常见的编程错误3.4在语句的结尾省略分号是一个语法错误。在语句的结尾省略分号是一个语法错误。 2009 Pearson Education, Inc.

18、 All rights reserved.263.2 一个简单C#程序:显示一行文本(续.)错误防止提示错误防止提示 3.3当编译器报告语法错误时,错误可能不在错误消息所指的行当编译器报告语法错误时,错误可能不在错误消息所指的行中。首先要检查报告错误的行,如果该行没有语法错误,则中。首先要检查报告错误的行,如果该行没有语法错误,则要检查前面的几个行。要检查前面的几个行。好的编程经验好的编程经验 3.6在方法体或类声明的后面,进行注释有利于提高程序的可读在方法体或类声明的后面,进行注释有利于提高程序的可读性。性。 2009 Pearson Education, Inc. All rights r

19、eserved.273.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序创建控制台应用程序创建控制台应用程序r 选择“文件文件” File “新建新建”-“项项目目” New Project 显示“新建项目”对话框 (Fig. 3.3)。 选择选择“控制台应用程序控制台应用程序”Console Application 模板。 在对话框的名称栏中,输入Welcome1, 并单击“确定” OK 创建工程。 2009 Pearson Education, Inc. All rights reserved.283.3 在在Visual C# Express中创建一个简

20、单的中创建一个简单的程序(续程序(续.)Project name图图. 3.3 | 用新建工程创建控制台应用程序用新建工程创建控制台应用程序 工程名 2009 Pearson Education, Inc. All rights reserved.293.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.) IDE现在包含了打开的控制台应用程序。 IDE使用的代码配色方案称为“语法颜色高亮” syntax-color shading ,可以帮助程序员直观地区分程序元素。 2009 Pearson Education, Inc. All rights re

21、served.303.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.)图图. 3.4 | 打开控制台程序的打开控制台程序的IDE编辑器窗口 2009 Pearson Education, Inc. All rights reserved.313.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.) 设置IDE显示行号,选择“工具工具” Tools “选选项项” Options. 在对话框中显示 (图. 3.5), 单击对话框的左下方的“显示所有设置” Show all settings 复选框。 展开左边的“文

22、本编辑器文本编辑器”Text Editor的节点 ,并选择“所有语言所有语言”All Languages. 在右侧, 选中“行号”Line numbers 复选框。 注:由于Visual Studio 版本不同,设置稍有差异。 2009 Pearson Education, Inc. All rights reserved.323.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.)图图. 3.5 | 修改修改IDE的设置的设置 2009 Pearson Education, Inc. All rights reserved.333.3 在在Visual

23、 C# Express中创建一个简单的中创建一个简单的程序程序(续续.) 设置代码缩进三个字符: 在选项对话框中,展开左面板中C#节点并并选择制表符。 确保选中插入空格。缩进大小和制表符大小都输入。. 单击“确定”保存设置。关闭对话框转入编辑窗口。 2009 Pearson Education, Inc. All rights reserved.343.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.) 重命名程序文件, 单击“解决方案资源管理器”窗口中的Program.cs 文件,在属性窗口中显示它的属性 (图. 3.6). 改变文件名为Welcom

24、e1.cs。 2009 Pearson Education, Inc. All rights reserved.353.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.)图图. 3.6 | 在在Properties 窗口中重命名程序文件 单击 Program.cs ,显示它的属性在此处输入Welcome.cs,重命名文件File Name 属性属性窗口Solution Explorer 2009 Pearson Education, Inc. All rights reserved.363.3 在在Visual C# Express中创建一个简单的中创

25、建一个简单的程序程序(续续.) 智能感应智能感应IntelliSense 列出类的成员, 包括方法的名称。 当输入时,Visual C# Express 会高亮显示第一个成员,输入匹配全部字符, 然后显示工具提示包含这个成员的描述。 你既可以输入全部的成员名称,也可以双击列表中成员名或按Tab键来完成输入。 当智能感应窗口显示时,按Ctrl 键使窗口透明以致于可以看见窗口后面的代码。 2009 Pearson Education, Inc. All rights reserved.373.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.)图图. 3.7

26、 | Visual C# Express.的智能感应特点 键入的部分名称智能感应窗口最匹配的项被高亮显示工具提示描述了被高亮显示的项 2009 Pearson Education, Inc. All rights reserved.383.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.) 当你输入开始圆括号字符, (, 在方法名之后, 会显示 参数信息Parameter Info窗口 (图. 3.8)。 这个窗口包含方法参数的信息。向下箭头参数信息窗口向上箭头图图. 3.8 | 参数信息窗口 向上向下箭头允许通过滚动来加载方法 2009 Pearso

27、n Education, Inc. All rights reserved.393.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.) 保存程序, 选择“文件文件” File “保存全部保存全部” Save All 显示保存工程对话框。 在“位置”Location 文本框中, 指定想要保存的目录。 选择“为解决方案创建目录” Create directory for solution 复选框并单击“保存”Save。 2009 Pearson Education, Inc. All rights reserved.403.3 在在Visual C# Ex

28、press中创建一个简单的中创建一个简单的程序程序(续续.) 编译程序, 选择“生成” Build “生成解决方案生成解决方案” Build Solution。 运行程序, 选择“调试调试” Debug 开始执行开始执行Start Without Debugging (或按Ctrl + F5)。 这样就会调用Main方法。 图 3.10 显示了程序的执行结果, 在控制台窗口显示 。(控制台也就是命令窗口Command Prompt) 2009 Pearson Education, Inc. All rights reserved.413.3 在在Visual C# Express中创建一个简单

29、的中创建一个简单的程序程序(续续.)图图. 3.9 | 在在图. 3.1中执行程序. 控制台窗口 2009 Pearson Education, Inc. All rights reserved.423.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.)错误防止提示错误防止提示 3.4当学习编程时当学习编程时, ,有时有时“停止停止”正在运行的程序以便正在运行的程序以便 了解编译了解编译的语法错误信息。试图移去图的语法错误信息。试图移去图Fig.3.1Fig.3.1中的分号或括号中的分号或括号, , 然然后重新编译应用程序,看被遗漏的错误信息。后重新编

30、译应用程序,看被遗漏的错误信息。 2009 Pearson Education, Inc. All rights reserved.433.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.) 当输入代码时, IDE通过语法颜色或语法错误。 语法错误表明违反了Visual C#创建应用程序的规则。 当语法错误产生时, IDE会用红色标注错误 ,并显示一个错误描述的窗口。(图. 3.10). 2009 Pearson Education, Inc. All rights reserved.443.3 在在Visual C# Express中创建一个简单的中

31、创建一个简单的程序程序(续续.)图图. 3.10 | IDE中的语法错误消息故意省略分号 (语法错误)表明语法错误的波浪线错误描述错误清单窗口 2009 Pearson Education, Inc. All rights reserved.453.3 在在Visual C# Express中创建一个简单的中创建一个简单的程序程序(续续.) 错误防止提示3.5一个语法错误可能导致在错误清单窗口中出现多条错误信息。一个语法错误可能导致在错误清单窗口中出现多条错误信息。改正一个错误后,重新编译程序时可能会消除多个后续的错改正一个错误后,重新编译程序时可能会消除多个后续的错误消息。因此,看到并知道如

32、何修改一个错误时,应先改正误消息。因此,看到并知道如何修改一个错误时,应先改正它并重新编译。这样可能消除多个其他的错误信息。它并重新编译。这样可能消除多个其他的错误信息。 2009 Pearson Education, Inc. All rights reserved.46 图3.11所示的Welcome2类使用了两条语句, 产生如前面的例子图 3.11所示相同的输出。 与 WriteLine不同, Console 类 Write 方法不能将光标的位置定位到控制台程序屏幕下一行的开始。3.4 修改修改 C# 程序程序 2009 Pearson Education, Inc. All right

33、s reserved.47图图. 3.11 | 用多条语句显示一行文本用多条语句显示一行文本.Write 方法不会将光标移动到新的一行3.4 修改修改 C# 程序(续程序(续.)Welcome2.csWelcome2.cs 2009 Pearson Education, Inc. All rights reserved.48 通过使用新行符可以用单条语句显示多行文本。 与空格符和制表符一样,新行符也是空白符。 图3.12 的应用程序输出4行文本,用新行符表明什么时候开始新行。OutlineWelcome3.csWelcome3.cs图图. 3.12 |用单条语句显示多行文本用单条语句显示多行文

34、本 2009 Pearson Education, Inc. All rights reserved.493.4 修改修改 C# 程序(续程序(续.) 反斜杠 backslash () 被称为转义符escape character,并且它是转义序列escape sequence的一个字符。 转义序列n 表明新行符newline character。 图 3.13 列出了几个常用的转义序列并描述了在控制台窗口中如何输出。 2009 Pearson Education, Inc. All rights reserved.503.4 修改修改 C# 程序(续程序(续.)Fig. 3.16 | Som

35、e common escape sequences. 图. 3.13 | 一些常用的转义序列S 2009 Pearson Education, Inc. All rights reserved.51 Console 的 Write 和 WriteLine方法的功能就是现实格式化的数据。 图3.14 展示了另外一种方法来使用WriteLine 方法。OutlineWelcome4.csWelcome4.cs图图. 3.14 |用字符串格式化方式显示多行文本用字符串格式化方式显示多行文本.WriteLine方法的第一个参数是格式化字符串format string ,可以包含预置文本fixed te

36、xt 和格式项format items。3.5 用用Console.WriteConsole.Write 和和 Console.WriteLineConsole.WriteLine 格式化文本格式化文本 2009 Pearson Education, Inc. All rights reserved.523.5用Console.Write和Console.WriteLine格式化文本 当一个方法需要多个实参时,参数用逗号分隔。(commas:逗号:逗号)好的编程经验3.7在每个实参列表的逗号之后加一个空格在每个实参列表的逗号之后加一个空格 (, ,)可以提高程序的可以提高程序的可读性。可读性。

37、 大语句可以分成多行,但是存在一定的限制。大语句可以分成多行,但是存在一定的限制。常见的编程错误3.5将一条语句中的标识符或字符串从中间断行分开是一个语法将一条语句中的标识符或字符串从中间断行分开是一个语法错误。错误。 2009 Pearson Education, Inc. All rights reserved.533.5 用Console.Write和Console.WriteLine格式化文本 WriteLine方法的第一个参数是一个格式化字符串format string ,由固定文本fixed text 和格式项 format items组成. 每个格式项都是一个值的占位符place

38、holder, WriteLine相对应的其它额外的参数: 0是第一个额外的参数占位符。 1是第二个额外的参数占位符, 等等。 格式项也可以包含可选的格式信息。 2009 Pearson Education, Inc. All rights reserved.543.6 另一个C#程序:整数相加 程序将数值和其他数据保存在计算机内存中,并通过称为变量variables的元素访问这些数据。 变量变量variable 存放在内存中,存储在变量中在以后的程序中可以被使用。 变量声明语句 variable declaration statement (也叫定义 declaration) 界定了变量的名

39、称和类型 一个变量的名称使程序访问存储在内存中的变量名称可以是任何有效的标识。 一个变量的类型界定了在类存中存储什么类型的信息。 2009 Pearson Education, Inc. All rights reserved.55 三个变量声明为整形intintOutlineAddition.csAddition.cs(1 of 2 )图图. 3.15 | 显示通过键盘输入的两个数的值显示通过键盘输入的两个数的值. (Part 1 of 2).Console.ReadLine()读取用户输入的信息,用 Convert.ToInt32 转换成为整形值。将三个变量声明为整形用户提示信息 2009

40、 Pearson Education, Inc. All rights reserved.56OutlineAddition.csAddition.cs(2 of 2 )图图. 3.15 |显示通过键盘输入的两个数的值显示通过键盘输入的两个数的值(Part 2 of 2). 2009 Pearson Education, Inc. All rights reserved.573.6 另一个C#程序:整数相加(续.) intint 变量类型存储整形integer 值(数字如7, 11, 0 和 31914). floatfloat, doubledouble 和 decimaldecimal 类

41、型指定实数(带有小数点的十进制数)。 charchar 类型表示单个字符。 这些类型成为简单类型simple types。简单类型的名称是关键字因而必须是小写字母 。 2009 Pearson Education, Inc. All rights reserved.583.6 另一个C#程序:整数相加(续.) 变量声明语句可以被分成几行, 变量名用逗号分隔。(例如., 一个变量名的逗号分隔列表)。 相同类型的变量可以声明在一行或多行中。好的编程经验3.8在单独的行中声明每个变量。这种格式变量声明使得很容易在单独的行中声明每个变量。这种格式变量声明使得很容易插入注释。插入注释。 2009 Pea

42、rson Education, Inc. All rights reserved.593.6 另一个C#程序:整数相加(续.)好的编程经验3.9选择有意义的变量名,可使代码具有自说明性,也就是说只选择有意义的变量名,可使代码具有自说明性,也就是说只需阅读代码本身就可以理解它的功能,而无需查看手册或注需阅读代码本身就可以理解它的功能,而无需查看手册或注释。释。好的编程经验3.10按照约定按照约定, , 变量名称的第一个字母要小写,而后续所有单词变量名称的第一个字母要小写,而后续所有单词都以一个大写字母开始,这种命名惯例称为小写驼峰规则。都以一个大写字母开始,这种命名惯例称为小写驼峰规则。(cam

43、el casing:驼驼峰)峰) 2009 Pearson Education, Inc. All rights reserved.603.6 另一个C#程序:整数相加(续.) Console的ReadLineReadLine 方法等待用户用键盘输入字符并按“回车”键。 ReadLine 返回下一个用户输入。 ConvertConvert 类的 ToInt32ToInt32 方法转换这个字符串为int类型的数据。 ToInt32 返回int 值,代表用户的输入。 2009 Pearson Education, Inc. All rights reserved.613.6 另一个C#程序:整数相

44、加(续.) 一个值用赋值符号存储在变量中。assignment operator:赋值符号( = = ) 符号“= ”被称为二元运算符binary operator, 因为它对两块信息或操作数进行操作。 赋值语句 assignment statement 将一个值赋给变量。 赋值运算符右侧任何内容总是在赋值执行之前计算的。好的编程习惯3.11在二元运算符的两边插入空格可以使它更突出并使代码更可在二元运算符的两边插入空格可以使它更突出并使代码更可读。读。 2009 Pearson Education, Inc. All rights reserved.623.6 另一个C#程序:整数相加(续.)

45、 语句中与值相关的任何部分都是表达式。 number1 + number2 的表达式的值就是它们的和。 表达式Console.ReadLine()的值就是用户输入的字符串。 计算可以在输出语句中执行。 2009 Pearson Education, Inc. All rights reserved.633.7内存概念 变量名实际上都对应于计算机中内存的某个位置。 每个变量都具有名称、类型、大小和值。 在 图 3.16, 计算机会将这个整数值45放入位置number1。图图. 3.16 | 展示变量展示变量 number1number1的名称和的名称和值值的内存位置的内存位置. 2009 Pea

46、rson Education, Inc. All rights reserved.643.7 内存概念(续.) 在图. 3.17, 72 被放置在number2. 图图. 3.17 | 保存变量number1 和number2的值后的内存位置. 2009 Pearson Education, Inc. All rights reserved.653.7 内存概念(续.) 在sum 被计算后, 内存应如图. 3.18. 图图. 3.18 | 计算并保存变量 number1 与 number2的和之后的内存位置. 2009 Pearson Education, Inc. All rights re

47、served.663.7 内存概念(续.) 当一个值被放入内存位置时, 这个值替换同一位置以前的, 并且前面的值会丢失。 当从内存中读值时,过程是非破坏性的nondestructive。 2009 Pearson Education, Inc. All rights reserved.67图图. 3.19 | 算术运算符 算术运算符 arithmetic operators 被汇总在图. 3.19。 图. 3.19的操作运算符是二元运算符3.8 算算术术运算符运算符 2009 Pearson Education, Inc. All rights reserved.683.8 算术运算符(续.)

48、 整除整除Integer division 产生一个整数商整数后面的任何小数都直接删除而不进行四舍五入。 C# 提供了余数运算符remainder operator %, 它产生整除后的余数。 余数操作大多数用在整数操作,但是也可以用于浮点数floats, 双精度数doubles, 和小数decimals. 括号被用在C#表达式中同样也用在代数表达式中。 假如一个表达式包含嵌套括号nested parentheses, 最内层的括号表达式优先计算。 2009 Pearson Education, Inc. All rights reserved.69图图. 3.20 | 算术运算符的优先级 算

49、术运算符根据运算符优先级operator precedence规则来计算, 如下的代数运算符也遵循优先级规则。 (图. 3.20). 3.8 算术运算符(续.) 2009 Pearson Education, Inc. All rights reserved.703.8 算术运算符(续.) 下面语句中圆圈中的数字表示C#执行操作的顺序。 乘法、求余和除法运算会首先按从左到右的顺序执行(即它们的结合律是从左到右的),因为与加法和减法相比,它们具有更高的优先级。然后进行加法和减法运算。这些运算是从左到右的。 2009 Pearson Education, Inc. All rights reser

50、ved.713.8 算算术术运算运算(续续.) 为了更好地理解运算符优先级的规则,考虑下面这个二次多项式second-degree polynomial (y = ax2 + bx + c): 2009 Pearson Education, Inc. All rights reserved.723.8 算术运算算术运算(续续.) 在代数式中, 为了使代码更加清楚加入非必要的括号 是可接受的(redundant:不需要的:不需要的)。 前面的赋值语句可以用括号来强调它的项,如下所示:y = ( a * x * x ) + ( b * x ) + c; 2009 Pearson Education

51、, Inc. All rights reserved.733.8 算算术术运算符运算符 (续续.) 图图. 3.21 | 二次多项式中的求值. 2009 Pearson Education, Inc. All rights reserved.743.9 判断:相等运算符与关系运算符判断:相等运算符与关系运算符Fig. 3.25 | Equality and relational operators. (Part 1 of 2.) 条件条件就是一个结果为真或假的表达式。 条件语句可以由相等运算符相等运算符equality operators (= and !=!=) 和关系运算符关系运算符 relational operators ( , = and = and !=, = and 和和 = = =, !=, = 和和 = = = =, ! =, = 和和 = =等等好的编程经验3.12缩进缩进if if 语句体,可以使其更突出,能够提高程序的可读性。语句体,可以使其更突出,能够提高程序的可读性。 2009 Pearson Education, Inc. All rights reserved.823.9 判断:相等运算符与关系运算符判断:相等运算符与关系运算符 常常见见的的编编程程错误错误 3.10在在紧紧跟跟if语语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论