2019最新第二章 概述 编程语言的选择变量、常量和表达式分支循环过程和函数化学
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运算符
赋值运算符
•= • 意思是把等号后边的值赋值给等号前面的变
量
算术运算符
使用算术运算符进行计算
在表达式中使用++运算符
与算术运算符结合的赋值运算符
比较运算符
使用比较运算符
逻辑运算符
使用逻辑运算符
常量
• 常量就是指在程序中直接给出的数值、字符
或字符串。
• 几个特别的常量
– null:当一个变量的值是null时,它表示这个变量
第二章 ASP.NET概述
编程语言的选择 变量、常量和表达式 分支 循环 过程和函数
编程语言的选择
•.NET支持的语言 •为什么选择C#
Visual Basic.NET
• 是VB最新的版本,从功能和性能上讲可以说
有了很大的飞跃。
• 支持面向对象的程序设计 • 支持对象的继承和重载 • 可以创建多线程的应用程序 • 使用了CLR
个变量都必须有一个数据类型
• C#中有15种不同的数据类型,可分成三个大
类 – 数值类型
• 基本数字类型(如整型、实型等)、枚举类型、结构类
型
– 引用类型 – 指针类型
整型
使用整型数据
实型
使用实型数据
decimal类型
• 是一种特殊的实数类型,它的精度是固定的,
可以保存±1.0×10-28~±7.9×1028范围内的 值。
转义字符
使用字符类型
把char类型数据当成整数类型使用
string类型
• string类型就是字符串类型。它是由一系列字
符组成的。所有的字符串都是写在双引号中 的,例如“this is a book.”和“hello”都是字符 串。
• "A"和’A’有本质的不同
使用字符串类型数据
bool类型
全局变量和局部变量
变量
• 变量用于存储程序中需要处理的数据。我们
可以把变量看作是在内存中存储数据的盒子。
• 为一种数据类型定义的变量就不能存放另一
种数据类型的数据
• 为变量命名时,允许用字母开头的只能包含
字母、数字和下划线,并且不是C#关键字的 变量名称。
• C#中的变量是区分大小写的,
数据类型
• C#是一种强类性的语言,它所使用的任何一
break语句
• break; • 用于跳出语句所在的循环 • 如果存在循环嵌套的情况,那么break语句只
能跳出当前循环,而不能跳出外层循环
求半径r从1到10的所有圆的面积小 于100的面积
求矩形的面积。矩形的长x从1到10,矩形的宽y也从1到10,请输出所 有面积小于5的矩形的长和宽。
continue语句
System.Object。
日期数据
• 在C#中也可以使用DateTime类型来存储日期 • DateTime类型有两个属性
– Today属性用于获取当天的日期; – Now属性用于获取计算机上当前日期和本地的时
间。
使用DateTime类型
• 赋值运算符 • 算术运算符 • 比较运算符 • 逻辑运算符 • 位运算符
称为域运算符。
计算一个三角形的面积
枚举
• 如果一个变量的值只能有几种可能,那么就
可以使用枚举类型。使用这种方法,可以把 变量的取值一一列出,变量只能在所列的范 围内取值。
–enum WeekDay:byte{sun,mon,tue,wed,thu,fri,sat};
使用枚举类型数据
控制结构
•顺序 •百度文库支 •循环
例子1
例子2
switch语句
使用switch语句
• while循环 • do-while循环 • for循环 • foreach-in循环
循环
while循环
• while (表达式) 语句; • 首先计算“表达式”的值,如果“表达式”
的值为bool类型的true或者非0的数,那么就 执行后面的“语句”,否则就执行while语句 后面的代码。
使用while循环
do-while循环
do { 语句; }while (表达式);
• 先执行“语句”,然后再计算“表达式”的
值,如果“表达式” 的值为真,那么就再执 行“语句”,否则执行do-while语句后面的语 句
用do-while
for循环
• for(表达式1;表达式2;表达式3)语句; • 首先执行“表达式1”,然后求解“表达式2”,如
求1+2+3+......+100的值
foreach-in循环
foreach-in循环的语法形式如下: foreach (对象 in 集合) { 语句; }
• 其中“对象”表示的是一个临时的变量,它会依次
代表“集合”中的每一个项目。如果不知道一个集 合中每个项目的类型是什么,完全可以定义一个 object类型的临时变量来表示这些项目。in关键字后 面指明需要操作的集合。
• continue; • continue语句一般用于结束本次循环
求矩形的面积。矩形的长x从1到10,矩形的宽y也从1 到10,请输出所有面积小于5的矩形的长和宽
函数
•函数的定义 •函数的调用 •参数的传递 •变量的作用域
函数的定义
• 函数是由C#语句组成的可以完成特定功能的例程
– .Net Framework提供的用户不用定义就可以使用的函数 – 用户自定义函数
隐式转换
• 指在数据转换的过程是自动进行的,不需要
程序进行任何额外的工作。
• 在隐式转换过程中,必须保证转换是发生在
转换不会导致任何精度的损失时才能进行隐 式转换,否则不允许。
C#可以实现的隐式转换
显式转换
• 显式类型转换又称为强制类型转换。它告知
C#的编译器必须要进行这种类型转换,如果 发生数据精度的损失也在所不惜,那么C#的 编译器就会按照程序的要求进行相应的数据 类型的转换。
• 函数定义
– “数据类型”表示的是一个函数返回值的数据类型 – 在函数名后面的括号中要写一个形式参数列表,在这个列
表中,所有的参数都需要指定它的数据类型。
函数的调用
• 调用一个函数的方法是指明这个函数的函数
名,如果函数的定义中包括形参的话,那么 需要在后面的括号中写出传给这些形参的值。
• 如果一个函数有返回值,还可以把这个函数
是实参的值,而是实参变量本身。
– 在调用函数时,并不为形参重新分配存储空间,而是占用
实参的存储空间。因此在函数调用的过程中,形参和实参 实际上是同一个变量,如果形参发生了变化,那么实参也 会发生同样的变化
值传递
引用传递
输出参数
• 使用输出参数可以让一个函数返回多个值。 • 定义输出参数的方法是在定义函数的时候,
• 主要用于财务计算。 • decimal类型的数据的后缀是M或者m,例如
12.3m,而与它相对应的.NET系统类型是 System.Decimal
char类型
• 所谓字符就是用单引号括起来的一个字符,
例如’A’、 ’a’、 ’@’等等都是字符
• 实际存储的并不是一个字符,而是一个字符
的Unicode编码
顺序结构
• 顺序结构是指程序中的每一条语句都是顺序
执行的,不存在分支、循环和跳转。
分支结构
• 在分支结构中,可以根据一个表达式的值进
行判断,并根据判断的结果执行不同的程序 代码块。分支结构通常与顺序结构结合在一 起使用。
• 实现分支结构的方法有两种
– if语句 – switch语句
if语句
• if (表达式) 语句; • if (表达式) 语句1; • else 语句2; • (1)格式3: • if (表达式1) 语句1; • else if (表达式2) 语句2; • else if (表达式3) 语句3; • …… • else 语句n;
• 取值只能是true或者false(必须用小写的形
式)
• bool 类 型 对 应 的 . NET 系 统 类 型 是
System.Boolean。
使用bool类型
object类型
• 在C#中,所有的类型都可以被看成是对象,
而object类型正是对象类型,是所有其它类型 的基础类型。
• object类型对应的.NET系统类型是
C#
• 是在C、C++的基础上创立的一种新的语言。 • 继承了C++的优异功能,去除了在.NET环境
中没有用处的类型定义、模板等功能
• 易于使用 • 效率大大提高
JScript.NET
• JScript.NET是从JScript发展而来的,是完全
用C#重新编写的
• 支持类型和继承性 • 完全编译执行
• 原则
–不能在数值类型和bool值之间进行转换。 – 不允许转换的结果超出数据类型的表示范围。
不允许进行的强制类型转换
ToString实现把数据转换成字符串
Convert类实现数据转换
Convert类ToBoolean方法的使用
构造类型
• 数组 •结构 •枚举
数组
• 数组是C#一种构造类型,数组中的每一个元
的值不是有效数据。
– true:表示真。 – false:表示假。true和false通常用于条件语句。
• 符号常量
表达式
• 表达式是一个或多个运算的组合。 • 每个符合C#规则的表达式的计算都是一个确
定的值。
• 对于常量、变量的运算和对于函数的调用都
可以构成最简单的表达式。
数据类型之间的转换
• 隐式转换 • 显式转换
果“表达式2”的值为true或者为非0,那么就执行 “语句”,此“语句”可以是一个单独的语句(甚 至是空语句),也可以是一个复合语句。然后求解 “表达式3”,并返回重新求解“表达式2”,如果 为真,或者为非0,再次执行“语句”,并求解“表 达式3”,……,一直执行下去,直到“表达式2”的 值是false或者为0,则结束for语句的执行,接着执行 for语句后面的语句。
的返回值通过赋值语句保存在变量中,或者 作为表达式的一部分使用。
函数调用举例
参数的传递
• 形式参数
– 在定义函数时,虽然定义了函数的形式参数,但
是这些参数在没有被其他函数调用时并不在内存 中分配存储单元,而是在被调用时才分配,函数 调用结束时它所占用的内存单元被立即回收。因 此在函数没有被调用时这些参数只是形式上存在, 所以称之为形式参数。
• 实际参数
– 在调用函数时,函数名后面括号中的各个参数就
是实际参数
形参和实参之间的关系
• 值传递
– 实参的值会被复制到形参中。 – 由于函数调用时函数的形参和实参并不占用同样的存储单
元,因此在这种情况下实参的值是被复制到形参中的,因 此称为“值传递”。
• 引用传递
– 引用传递就是指在从实参到形参的传递过程中,传递的不
为什么选择C#
• 有C++的强大性和灵活性 • 有Java语言的简洁性 • 有Delphi和VB的易用性 • 是一种易于使用、功能强大、表达力丰富的
全新的程序设计语言,并且现在很多的大型 网站都在使用C#进行程序设计
变量、常量和表达式
•变量 •数据类型 •运算符
•常量 •表达式 •数据类型之间的转换
素都属于同一个数据类型。
• int[] myArray=new int[5]; • int [,] my2DArray=new string[3,4];
使用一维数组和二维数组
结构
• 将所有相关的数据项(这些数据项的数据类型可能
完全不同,称为域)组合在一起,形成一个新的数 据结构,称为结构
• struct 结构名 •{ • public 数据类型 域名; • ... ... • }; • 结构中使用“.”运算符访问一个结构变量的各个域,
在形参前面加上“out”关键字,并在调用函数 的时候在实参前面也加上关键字“out”。
使用输出参数
变量的作用域
• 在进行变量声明时,变量声明的位置决定了
这个变量的作用范围。
• 在一个函数外声明的变量是全局变量,对本
程序内部所有的函数都起作用
• 在一个函数内部声明的变量是局部变量,只
对本函数起作用。