c#教案-第3章(理论教学)

上传人:枫** 文档编号:564635846 上传时间:2023-02-16 格式:DOC 页数:12 大小:96.52KB
返回 下载 相关 举报
c#教案-第3章(理论教学)_第1页
第1页 / 共12页
c#教案-第3章(理论教学)_第2页
第2页 / 共12页
c#教案-第3章(理论教学)_第3页
第3页 / 共12页
c#教案-第3章(理论教学)_第4页
第4页 / 共12页
c#教案-第3章(理论教学)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《c#教案-第3章(理论教学)》由会员分享,可在线阅读,更多相关《c#教案-第3章(理论教学)(12页珍藏版)》请在金锄头文库上搜索。

1、大理学院课程教案(理论教学)课程名称:C#面向对象程序设计 课程类型:( 1 )1、必修;2、选修;3、其它授课对象:计算机科学与技术 专业(本科) 2010 级 1 班授课时间: 2011 至 2012 学年 三 学期 计划学时: 72学时(其中:理论 36 ,实验:36 )任课教师: 杜英国 所属学院: 数计学院 课程管理部门(教研室): 软件教研室 课程名称:C#面向对象程序设计教 材:C#程序设计实用教程 清华大学出版社 ,黄兴荣 编著,2009年第1版讲 授 人:杜英国 专业技术职务:讲师学 历:研究生 学 位:硕士讲授题目:C#程序设计基础所属章节:第三章 计划学时:2教学目的和要

2、求:本章将介绍C#的基本语法,包括词法结构、数据类型、变量与常量、运算符和表达式等编程的基础知识。教学重点:1. 了解了C# 的变量,简单数据类型教学难点:类型转换教学方法:课堂讲授使用教具:多媒体系统思 考 题:1、各种整型的长度参考资料:1 C#编程思想,嘉木工作室,机械工业出版社,20032 VISUAL C# 2005从入门到精通:(英)JOHN SHARP著,清华大学版社3.1 词法结构n 词法是构成程序设计语言的最基本单位。n 程序是由若干个语句构成,而语句是由若干个具有特殊含义的单词和运算符构成的。n 所以学习一门编程语言,首先应该从词法入手。3.2 数据类型n 数据类型是用来定

3、义现实生活中各种数据形式的标识符及其存储形式。n C#中数据类型主要分为两大类:值类型和引用类型。C# 中的数据类型分为两个基本类别 1)值类型 n 表示实际数据 n 只是将值存放在内存中 n 值类型都存储在堆栈中 n int、char、结构2)引用类型 n 表示指向数据的指针或引用 n 包含内存堆中对象的地址 n 为 null,则表示未引用任何对象 n 类、接口、数组、字符串3.2.1 值类型 值类型通常用来表示基本类型、简单类型。 C#的值类型包括3种:简单类型、结构类型和枚举类型。 简单类型包括整数类型、浮点类型、小数类型、字符类型和布尔类型等。 1. 整数类型 整数类型的数据值只能是整

4、数。数学上的整数可以从负无穷大到正无穷大,由于计算机存储单元的限制,程序语言提供的整数类型的值总是在一定的范围内。 C#定义了8种整数类型,划分的根据是这些类型所占存储器的位数。例如,一个8位的整数类型可以表示28=256个数值。 2. 浮点类型 实数在C#中采用浮点类型的数据来表示。 浮点类型的数据包括两种:单精度浮点型(float)和双精度浮点型(double),其区别在于取值范围和精度不同。 3. 小数类型 小数类型(decimal)数据是高精度的类型数据,占用16个字节,主要是为了满足需要高精度的财务和金融方面的计算。 小数类型数据的取值范围和精度如下: 小数类型:取值范围在1.0 x

5、 10-287.9 x 1028之间,精度为29位数。 要注意的是,小数类型数据的后面必须跟m或者M后缀来表示它是decimal类型的,如3.15m,0.35m等,否则就会被视为标准的浮点类型数据,导致数据类型不匹配。 4. 字符类型 C#中的字符类型数据采用Unicode字符集。字符类型的类型标识符是char,因此也可称为char类型。 凡是在单引号中的一个字符,就构成一个字符常数,如下所示: a、o、*、 9、 国 5. 布尔类型 布尔类型数据用于表示逻辑真和逻辑假,布尔类型的类型标识符是bool。 布尔类型常数只有两种值:true(代表“真”)和false(代表“假”)。3.2.2 引用

6、类型 在C#中,引用类型的引入主要是因为值类型比较简单,不能描述结构复杂、抽象能力比较强的数据。 引用类型,其含义是该类型的变量不直接存储所包含的值,而是存储当前引用值的地址,因此引用类型数据的值会随所指向的值的不同而变化,同一个数据也可以有多个引用。C#的引用引用类型有4种:类类型、数组类型、接口类型和委托类型。3.2.3 类型转换1. 隐式转换l 隐式转换是系统默认的,不需要加以声明就可以进行自动转换l 只要满足以下条件,就会发生自动类型转换: 两种类型兼容; 目标类型大于源类型;int a=10; /a为整型数据long b=a; /b为长整型数据double c=a; /c为双精度浮点

7、型数据double f=1.2;2. 显式转换l 显式转换又称为强制类型转换,与隐式转换相反,显式转换需要用户明确地指定转换类型。l 显式转换可以将一数值类型强制转换成另一种数据类型,其格式如下:(类型标识符) 表达式上式的含义为:将表达式的值的类型转换为类型标识符的类型。例:(int)5.17/把double类型的5.17转换成int类型(int) 7.18m/deimal类型的数值7.18转换为int类型的数值73. string类型转换为其他类型l 整型、浮点型、字符型和布尔类型都对应有一个结构类型,该结构类型中提供parse方法,可以把string类型转换成相应的类型。例如,要把str

8、ing类型转换成int类型,则有相应的int.parse(string)方法,如:string str = 123;int i = int.Parse(str);则i的值为123。4. 其他类型转换为string类型l 计算后的数据如果要以文本的方式输出,如在文本框中显示计算后的数据,则需要将数值数据转换成string类型,转换方法是执行ToString方法。例如:int j = 5 * 8;string str = 5 * 8的积是: + j.ToString();3.2.4 装箱与拆箱l 装箱(boxing)和拆箱(unboxing)是C#类型系统中重要的概念。l 它允许将任何类型的数据转

9、换为对象,同时也允许任何类型的对象转换到与之兼容的数据类型。l 经过装箱操作,使得任何类型的数据都可以看做是对象的类型系统。反之,拆箱是装箱的逆过程。必须注意的是:装箱转换和拆箱转换过程中必须遵循类型兼容的原则,否则转换会失败。1装箱转换l 装箱转换是指将一个值类型的数据隐式地转换成一个对象类型(object)的数据,或者把这个值类型数据隐式转换成一个被该值类型数据对应的接口类型数据。把一个值类型装箱,就是创建一个object类型的实例,并把该值类型的值复制给该object。例如,下面的语句就执行了装箱转换:int i=108;object obj=i;上面的语句中,第1条语句先声明一个整型变

10、量i并对其赋值,第2条语句则先创建一个object类型的实例obj,然后将i的值复制给obj2拆箱转换l 和装箱相反,拆箱转换是指将一个对象类型的数据显式地转换成一个值类型数据,或者将一个接口类型显式地转换成一个执行该接口的值类型数据。l 拆箱操作包括两步,首先检查对象实例,确保其是给定值类型的一个装箱值,然后把实例的值复制到值类型数据中。3.4 C#运算符与表达式3.4.1概述分类运算符结合性初级(x) x.y f(x) ax x+ x- new typeof sizeof checked unchecked左单目+ - ! +x -x (T)x左乘法等* / %左加法等+ -左移位左关系

11、= is左相等= !=右逻辑与&左逻辑异或左逻辑或|左条件与&左条件或|左条件?:右赋值等= *= /= %= += -= = &= = |=右左结合意味着运算符是从左到右进行运算的。右结合意味着所有的运算是从右到左进行的,如赋值运算符,要等到其右边的计算出来之后,才把结果放到左边的变量中。2. 1-2. 单目运算符: Unary.csusing System;class Unary public static void Main() int unary = 0;int preIncrement;int preDecrement;int postIncrement;int postDecrem

12、ent;int positive;int negative;sbyte bitNot;bool logNot;preIncrement = +unary;Console.WriteLine(Pre-Increment: 0, preIncrement);preDecrement = -unary;Console.WriteLine(Pre-Decrement: 0, preDecrement);postDecrement = unary-;Console.WriteLine(Post-Decrement: 0, postDecrement);postIncrement = unary+;Con

13、sole.WriteLine(Post-Increment: 0, postIncrement);Console.WriteLine(Final Value of Unary: 0, unary);positive = -postIncrement;Console.WriteLine(Positive: 0, positive);negative = +postIncrement;Console.WriteLine(Negative: 0, negative);bitNot = 0;bitNot = (sbyte)(bitNot);Console.WriteLine(Bitwise Not: 0, bitNot);logNot = false;logNot = !logNot;Console.WriteLine(Logical Not: 0, logNot);说明1.当计算表达式的时候,在后置增一和后置减一运算符进行运算时,先返回其值,再进行增一或者减一运算。当使用前置加号和减号运算符进行运算时,是先进行增一或者减一的运算,然后再返回其结果值。2.在 1-2中, 变量unary初始化为0,进行+x 运算时,unary的值加1,再把其值1赋给preIncrement变量。在进行-x运算时,先把unary的值减

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

当前位置:首页 > 高等教育 > 研究生课件

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