




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、12本章教学目标本章教学目标理解C#语言的基本字符集和词汇集理解C#的数据类型和常量、变量的定义方法,掌握简单数据类型转换的方法熟练掌握C#的运算符,掌握利用变量、常量和运算符构成表达式的方法32.1 C#的基本字符集的基本字符集数字:数字:0 1 2 3 4 5 6 7 8 9英文字母:英文字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Za b c d e f g h i j k l m n o p q rs t u v w x y z特殊字符:特殊字符:Space ! “ # $ % & ( ) * + , - . / :
2、 ; ? _ | 4C#的关键字的关键字abstract event new struct as explicit null switch base extern object this bool false operator throw break finally out true byte fixed override try case float params typeof catch for private uint char foreach protected ulong checked goto public unchecked class if readonly unsafe c
3、onst implicit ref ushort continue in return using decimal int sbyte virtual default interface sealed volatile delegate internal short void do is sizeof while double lock stackalloc else long static enum namespace string 52.2 C#的简单数据类型的简单数据类型6标识符的命名规则标识符的命名规则第一个字符必须是英文字母(也可以是汉字、希腊字母、俄文字母等其他Unicode字符)
4、。从第二个字符开始,可以使用英文字母、数字和下划线,但不能包含空格、标点符号、运算符号等字符。不能与关键字重名,但如果在关键字前面加上前缀,也可以成为合法标识符(不推荐,一般不要这样用)。长度不能超过255个字符 。7实例实例2.1例例2.1 在控制台应用程序中使用无符号整数变量,企图用来保存负数时出现的错误。 创建控制台应用程序以后,删除可以省略的代码行,代码如下:using System;class calculation static void Main() ushort a,b,c;/定义了3个无符号短整型变量 a = 8; b = 6; c = b - a;/表达式的值为负,无法向变
5、量c赋值 Console.WriteLine(c); 8实例实例2.2例例2.2 在控制台应用程序中使用无符号短整数变量,企图存储的数值过大而导致的溢出错误。using System;class calculation static void Main() short a,b,c; /定义了3个短整型变量 a = 51200; /常量51200超出了short类型的表达范围 b = 16; c = a * b; /表达式的值超出了short类型的表达范围 Console.WriteLine(c); 9常用的转义字符常用的转义字符转义字符转义字符意义意义Unicode编码编码(十六进制十六进制)
6、单引号u0027双引号u0022反斜杠u005C0空字符(null)u0000a响铃u0007b退格(从当前位置后退一列)u0008f换页(从当前位置移到下页的开头)u000Cn换行(从当前位置移到下一列的开头)u000Ar回车(从当前位置移到本行的开头)u000Dt水平制表(跳到下一个Tab位置)u0009v垂直制表u000B10实例实例2.3例例2.3 利用转义字符,使计算机发出响铃声的控制台应用程序。using System;class bell static void Main() char x, y;/声明字符型变量x,y x = a;/向变量x赋值为表示响铃的转义字符 y = ;/
7、向变量y赋值为表示单引号的转义字符 Console.Write(您将听到0计算机小喇叭1发出的一声响, y, y); Console.WriteLine(x);/计算机小喇叭发出响铃声 11实例实例2.4例例2.4 利用Unicode编码值向字符型变量赋值的控制台应用程序。using System;class unicode static void Main() char a,b; /声明了两个字符型变量a和b a = u59DA;/向字符型变量a赋予一个Unicode编码值 b = u660E; /向字符型变量b赋予另一个Unicode编码值 Console.WriteLine(你输入的两个
8、Unicode编码的意思是:01,a,b); 12实例实例2.5例例2.5 下列控制台应用程序执行时,向单精度浮点变量x赋值3.14159326,查看输出结果。using System;class single static void Main() float x;/定义变量x为单精度浮点类型 x = 3.1415926f; /若省略后缀f,则认为是double类型,发生错误 Console.WriteLine(x); 13实例实例2.6例2.6 下面的控制台应用程序用于计算3的平方根,结果保存在双精度变量x中。using System;class single static void Mai
9、n(string args) double x; x = Math.Sqrt(3);/计算平方根 Console.WriteLine(3的平方根 = 0,x); 14实例实例2.7 例2.7 用浮点类型进行数值计算时可能出现的误差。using System;class miscount static void Main() double x,y,z; /定义了三个双精度浮点类型变量 x = 10;/向变量x赋以常数值时,默认类型为double y = 9.90; /向变量y赋以常数值时,默认类型为double z = x - y;/将算术表达式 x y 的值赋给double变量z Consol
10、e.WriteLine(浮点数计算0 - 1 = 2,x,y,z); 15实例实例2.8例例2.82.8 用decimal类型进行带有小数的数值计算时可以避免误差。using System; static void Main(string args) decimal x,y,z; x = 10M;/decimal类型的常数值后面必须跟一个M或m y = 9.9M; z = x - y; Console.WriteLine(十进制小数计算0 - 1 = 2,x,y,z); 162.3 变量变量2.3.1 声明变量 2.3.2 变量的初始化操作与初值 17实例实例2.9例例2.9 企图引用未初始化
11、变量的控制台应用程序。using System;class calculation static void Main() int a, b, c; c = a + b; Console.WriteLine(c); 182.3.3 简单类型数据之间的转换简单类型数据之间的转换 简单类型简单类型允许隐式转换到的类型允许隐式转换到的类型sbyteshort、int、long、float、double、decimalbyteshort、ushort、int、uint、long、ulong、float、double、decimalshortint、long、float、double、decimalush
12、ortint、uint、long、ulong、float、double、decimalintlong、float、double、decimaluintlong、ulong、float、double、decimallongfloat、double、decimalulongfloat、double、decimalcharushort、int、uint、long、ulong、float、double、decimalfloatdouble19实例实例2.10例例 2.10 计算圆面积的控制台应用程序。using System; class area static void Main() double
13、myarea, pi = 3.14159; /定义了两个双精度浮点类型变量 int radius = 8;/定义了整型变量 myarea = pi * radius * radius; /整数类型与浮点类型的混合运算 Console.WriteLine(圆的面积= 0, myarea); 20实例实例2.11例例2.11 将三基色(R、G、B)表示的彩色像素转换成灰度像素的计算公式为 Gray = 0.30R + 0.59G + 0.11B根据这个公式计算出任意一个指定像素的灰度值。程序代码如下:using System;class pixel static void Main() byte
14、gray; byte r = 240, g = 201, b = 129;/像素的三基色分量值 gray = (byte)(0.30 * r + 0.59 * g + 0.11 * b);/显式转换成byte类型 Console.WriteLine(计算得到的像素灰度值 = 0,gray); 212.5 运算符与表达式运算符与表达式运算符运算表达式示例+加法x + y-减法x - y*乘法x * y/除法x / y%求模x % y+自增x+ +x-自减x- -x表2-5 C#算术运算符22加法运算符的多重作用加法运算符的多重作用两个操作数均为数字,相加的结果为两个操作数之和两个操作数均为字符串
15、,把两个字符串连接在一起两个操作数分别为数字和字符串,则先把数字转换成字符串,然后连接在一起两个操作数分别为数字和字符,则先把字符转换成Unicode代码值,然后求和23算术运算符的优先级算术运算符的优先级当一个表达式中含有多种算术运算符时,将按以下顺序求值:乘、除运算符(* /)求模运算符(%)加、减运算符(+ -)24关系运算符关系运算符 关系运算符关系运算符测试关系测试关系表达式示例表达式示例=相等相等x = y!=不相等不相等x != y小于小于x 大于大于x y=小于或等于小于或等于x =大于或等于大于或等于x = y25逻辑运算符逻辑运算符 1!(非)(非) 唯一的单目逻辑运算符。
16、它的结果是操作数原有逻辑值的反值。2&(与)(与) 只有左、右操作数的值都为True时,结果为True,否则结果为False。3|(或)(或) 左、右操作数只要有一个为True,结果即为True。仅当左、右操作数的值均为False时,结果才为False。26位运算符位运算符 1(按位取反)(按位取反) 将二进制数的各位取原有值的反值。即原来为0,取反为1;原来为1,取反为0。2&(对应位(对应位“与与”) 只有左、右操作数对应位的值都为1时,结果为1,否则结果为0。3|(对应位(对应位“或或”) 左、右操作数只要对应位有一个为1,结果即为1。仅当左、右操作数的值均为0时,结果才
17、为0。4(对应位(对应位“异或异或”) 当左、右操作数对应位的值相同(即都为1或0)时,结果为0,否则结果为1。5(右移)(右移) 将二进制操作数的各位向右移若干位,相当于逐次除2的操作。272.6 枚举与结构枚举与结构枚举(枚举(enumeration) 有限、可数的数据元素组成的集合有限、可数的数据元素组成的集合 星期一到星期日星期一到星期日7个数据元素组成的集合个数据元素组成的集合一年内一年内12个月组成的集合个月组成的集合 在在C#语言中,枚举是用标识符表示的整型常量语言中,枚举是用标识符表示的整型常量的集合,枚举成员是具有整数类型的符号常量的集合,枚举成员是具有整数类型的符号常量 什
18、么叫什么叫“屈指可数屈指可数”?什么叫什么叫“不胜枚举不胜枚举”?28声明枚举类型的一般形式声明枚举类型的一般形式 enum 枚举名枚举名 :基本数据类型:基本数据类型 枚举常量列表枚举常量列表其中:enum :定义枚举类型的关键字枚举名:枚举名:定义枚举类型时赋予的名称基本数据类型:基本数据类型:可选,指定枚举成员的基本数据类型,默认为int枚举常量列表:枚举常量列表:用标识符组成的列表,两个相邻的枚举成员之间用逗号分隔29定义星期定义星期enum weekDaysSunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday默认
19、默认Sunday=0Saturday=?30定义枚举时指定枚举成员的值定义枚举时指定枚举成员的值 enum weekDaysMonday =1, Tuesday, Wednesday, Thursday, Friday, Saturday, SundayMonday=1Saturday=?Sunday=?31定义太阳系中行星轨道周期的枚举定义太阳系中行星轨道周期的枚举 enum planetPeriods Mercury = 88, Venus = 225, Earth = 365, Mars = 68732实例实例2.18 例例2.18 创建Windows窗体应用程序,显示太阳系中水星、金星
20、、地球以及火星的轨道周期(即绕太阳一圈的天数) enum planetPeriods : int/声明枚举 Mercury = 88, Venus = 225, Earth = 365, Mars = 687private void Form1_Click(object sender, EventArgs e) label1.Text += “水星周期 + (int)planetPeriods.Mercury + 天n; label1.Text += 金星周期 + (int)planetPeriods.Venus + 天n; label1.Text += 地球周期 + (int)planetP
21、eriods.Earth + 天n; label1.Text += 火星周期 + (int)planetPeriods.Mars + 天n;33结构结构结构:多个不同数据类型的相关元素组合在一起而形成的一种数据结构 声明结构类型的一般形式:struct 结构名 结构成员声明语句1; 结构成员声明语句2; 结构成员声明语句n;34例如,下面的语句声明了一个Student结构:struct Student public string name; public string sex; public uint age; public string phone; public uint score;35
22、实例2.19using System;using System.Windows.Forms;namespace ex2_18 public partial class Form1 : Form public Form1() InitializeComponent(); struct Student /声明结构声明结构 - /见下页见下页 例例2.19 创建一个名为创建一个名为Student的结构,并且对它的成员执行读写操作的结构,并且对它的成员执行读写操作36实例2.19(声明结构)struct Student/声明结构 public string name; /姓名(字符串类型) publi
23、c string sex; /性别(字符串类型) public uint age; /年龄(无符号整数) public string phone; /电话号码(字符串类型) public uint score; /成绩(无符号整数)37实例2.19(事件过程)private void Form1_Click(object sender, EventArgs e) Student student1; /创建创建Student类型的一个实例类型的一个实例 = 田一妮田一妮; student1.sex = 女女; student1.age = 19; student1.phone = 68752220; student1.score = 100; label1.Text += 学生姓名:学生姓名: +
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老人考试题及答案
- 心理学基础模拟练习题(含答案)
- 中级英语II知到智慧树答案
- 护理重点环节应急预案试题+答案
- 药店药品网络销售管理制度试题(含参考答案)
- 水利工程师-水利工程管理测试题(含参考答案)
- 运输车驾驶员安全教育培训考核试题及答案
- 2025城管执法服装定制化采购及质量监控制度合同
- 2025车展场地租赁合同范本-附带增值服务条款
- 2025年度速记服务保密协议及数据安全保护合同
- 塔吊拆除安全操作方案模板
- 虚拟健康咨询接受度分析-洞察及研究
- 多发性周围神经病护理查房
- 口腔医保政策解读
- 2025年河北省廊坊市三河市小升初数学试卷
- 2024浙江艺术职业学院单招《数学》模拟题库附答案详解(精练)
- 2025年高警示药品管理试题(附答案)
- 脑动脉瘤术后护理查房
- 消防法制业务培训课件
- 湖南省2024-2025学年高一下学期期末考试英语试题【含答案解析】
- 安徽省蚌埠市2024-2025学年七年级下学期期末考试英语试卷(含答案无听力原文及音频)
评论
0/150
提交评论