




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Information Engineering Department of SCEMI .NET.NET平台和平台和C#C#编程编程 信息工程系:罗明刚 Information Engineering Department of SCEMI 第三章 C# 基础知识 Information Engineering Department of SCEMI回顾 q Visual Studio .NET 2003 是用于创建、编写、运行和调 试程序的集成开发环境 q 用户使用 VS.NET 中的“起始页”可以自定义 IDE。IDE 还包含许多有用的链接,如最近的项目、下载和联机新 闻组等 q VS.NET 中的程序组成项目和解决方案。项目是一组相 关的文件,解决方案则是一组相关的项目 q Visual Studio .NET 为用户提供了用于浏览文件的各种 窗口 q “动态帮助”窗口为用户提供了与当前光标所在位置相关 的文章 3 Information Engineering Department of SCEMI目标 q在C#中定义变量和常量 q使用C# 中的基本数据类型 q理解装箱和拆箱的概念 q使用C#中的运算符,选择结构和循环结构 q定义和使用数组,了解结构和枚举 4 Information Engineering Department of SCEMIC# 数据类型 C# 数据类型大小默认值 示例 int有符号的 32 位整数 0int rating = 20; float32 位浮点数,精确到小数点后 7 位 0.0Ffloat temperature = 40.6F; byte无符号的 8 位整数 0byte gpa = 2; short有符号的 16 位整数 0short salary = 3400; long有符号的 64 位整数 0Llong population = 23451900; bool布尔值,true 或 false Falsebool IsManager = true; stringUnicode 字符串 -string color = “Orange” Char 单个 Unicode 字符 0char gender = M; 5 Information Engineering Department of SCEMI变量 2-1 语法: 访问修饰符 数据类型 变量名 Public Private Protected int string float 糖盐 胡椒粉 盐胡椒粉糖 intfloat string 25.4 “Test ” q变量用于存储特定数据类型的值 6 Information Engineering Department of SCEMI变量 2-2 static void Main(string args) / 声明布尔型、字符串型、整型、短整型和浮点型变量 bool test = true; short num1 = 19; int num2 = 14000; string val = “Jamie“; float num3 = 14.5f; / 显示变量值 Console.WriteLine (“布尔值 = “ + test); Console.WriteLine (“短整型值 = “ + num1); Console.WriteLine (“整型值 = “ + num2); Console.WriteLine (“字符串值 = “ + val); Console.WriteLine (“浮点值 = “ + num3); 变量中存储的值取决于该 变量的类型 7 Information Engineering Department of SCEMI常量 2-1 语法: const 数据类型 常量名 = 常量值; Public Private Protected q常量用于在整个程序中将数据保持同一个值 8 Information Engineering Department of SCEMI常量 2-2 static void Main(string args) / PI常量PI const float _pi = 3.14F; / 由地球引力引起的加速度常量,单位为 cm/s*s const float _gravity = 980; / 钟摆的长度 int length = 40; / 钟摆的周期 double period = 0; / 钟摆周期的计算公式 period = 2 * _pi * Math.Sqrt(length / _gravity); Console.WriteLine (“钟摆的周期为 0 秒“, period); 声明常量 在表达式中使 用常量 qconst 关键字用于声明常量 9 Information Engineering Department of SCEMIC# 的基本数据类型 3-1 qC# 中的数据类型分为两个基本类别 q值类型 -表示实际数据 -只是将值存放在内存中 -值类型都存储在堆栈中 -int、char、结构 q引用类型 -表示指向数据的指针或引用 -包含内存堆中对象的地址 -为 null,则表示未引用任何对象 -类、接口、数组、字符串 10 Information Engineering Department of SCEMIC# 的基本数据类型 3-2 static void Main(string args) / 声明一个值类型的整型数据类型 int val = 100; Console.WriteLine(“该变量的初始值为 0“, val); Test(val); / 由于该数据类型属于值类型,所以将恢复其初始值 Console.WriteLine(“该变量的值此时为 0“, val); static void Test(int getVal) int temp = 10; getVal = temp * 20; 将 val 的初始值传递给 Test() 方法 被传递的 val 在 Test() 方法内被改变 不反映已经改变的 val 值,而保留原始值 11 Information Engineering Department of SCEMIC# 的基本数据类型 3-3 static void Main(string args) DataTypeTest objTest = new DataTypeTest(); objTest.Val = 100; / 传递属于引用类型的对象 Test(objTest); / 由于该数据类型属于引用类型,所以会考虑新处理的值 Console.WriteLine(“变量的值为 0“, objTest.Val); static void Test(DataTypeTest dataTest) int temp = 10; dataTest.Val = temp * 20; 将 DataTypeTest 的引用传递给 Test() 被传递的 val 在 Test() 中改变 不反映已经改变的 val 值,而保留原始值 class DataTypeTest public int Val; 12 Information Engineering Department of SCEMI装箱和拆箱 2-1 q装箱是将值类型转换为引用类型 q拆箱是将引用类型转换为值类型 q利用装箱和拆箱功能,可通过允许值类型的任 何值与 Object 类型的值相互转换,将值类型与 引用类型链接起来 13 Information Engineering Department of SCEMI装箱和拆箱 2-2 int val = 100; object obj = val; Console.WriteLine (“对象的值 = 0“, obj); int val = 100; object obj = val; int num = (int) obj; Console.WriteLine (“num: 0“, num); 值类型 引用类型 拆箱 装箱 值类型 引用类型 值类型 被装过箱的对象才能被拆箱 14 Information Engineering Department of SCEMI 运算符和表达式 9-1 运算符和表达式 Result = number *100 变量变量常量 操作数 表达式 操作数和运算符的组合 运算符 15 Information Engineering Department of SCEMI 运算符和表达式 9-2 类别类别运算符说说明表达式 算术运算符 + 执行加法运算(如果两个操 作数是字符串,则该运算符 用作字符串连接运算符,将 一个字符串添加到另一个字 符串的末尾) 操作数1 + 操作数2 -执行减法运算 操作数1 - 操作数2 *执行乘法运算操作数1 * 操作数2 /执行除法运算操作数1 / 操作数2 %获得进行除法运算后的余数 操作数1 % 操作数2 +将操作数加 1 操作数+ 或+操作数 -将操作数减 1 操作数- 或-操作数 将一个数按位取反 操作数 16 Information Engineering Department of SCEMI 运算符和表达式 9-3 类别类别运算 符 说说明表达式 三元运算符(条件 运算符) ?: 检查给 出的第一个表 达式 expression 是否 为真。如果为真,则 计算 operand1,否则 计算 operand2。这 是唯一带有三个操作 数的运算符 表达式? 操作数1: 操作数2 17 Information Engineering Department of SCEMI问题 下面的运算结果是什么? 1、27 % 5 = 2、11 = 2 -12为什么? 18 Information Engineering Department of SCEMI 运算符和表达式 9-4 类别类别运算符说说明表达式 比较运算符检查一个数是否大于 另一个数 操作数1 操作数2 =检查一个数是否大于 或等于另一个数 操作数1 = 操作数2 = 从左到右 6 等于 不等于 = != 从左到右 从左到右 7 逻辑 与前置自加 num1 = num1 + 1; num2 = num1; num2 = 6; num1 = 6; num2 = num1+;后置自加 num2 = num1; num1 = num1 + 1; num2 = 5; num1 = 6; num2 = -num1;前置自减 num1 = num1 - 1; num2 = num1; num2 = 4; Num1 = 4; num2 = num1-;后置自减 num2 = num1; num1 = num1 - 1; num2 = 5; Num1 = 4; 25 Information Engineering Department of SCEMI问题 计算结果: 1、int i = 0; bool result = false result = (+i) + i = 2?true:false; result = true 26 Information Engineering Department of SCEMI 算术运算符 static void Main(string args) / x2 的系数 int coefficient1 = 2; / x 的系数 int coefficient2 = -7; / 二次方程的常数值 int constant = 3; / 存放表达式 b2 - 4ac 的值 double expression = 0; double x1 = 0; double x2 = 0; Console.WriteLine(“二次方程为: 0x2 + 1x + 2“, coefficient1, coefficient2, constant); expression = Math.Sqrt(coefficient2 * coefficient2 - (4 * coefficient1 * constant); x1 = (-coefficient2) + expression) / (2 * coefficient1); x2 = (-coefficient2) - expression) / (2 * coefficient1); Console.Write(“x = 0:F2 “, x1); Console.Write(“ 或 “); Console.WriteLine(“x = 0:F2“, x2); 将值赋给变量 在表达式中使用的算术运算符 27 Information Engineering Department of SCEMI 选择结构 3-1 语法: if () else q选择结构用于根据表达式的值执行语句 if else 28 Information Engineering Department of SCEMI 选择结构 3-2 语法: switch (选择变量) case 值1: break; case 值2: break; case 值3: break; . . default : switchcase 29 Information Engineering Department of SCEMI switchcase 的其他特性 选择结构 3-3 q各个 case 标签不必连续,也不必按特定顺序排列 qdefault 标签可位于 switchcase 结构中的任意位 置 qdefault 标签不是必选的,但使用 default 标签是 一个良好的编程习惯 q每两个 case 标签之间的语句数不限 30 Information Engineering Department of SCEMI 循环结构 q循环结构用于对一组命令执行一定的次数或反 复执行一组命令,直到指定的条件为真。 q循环结构的类型 qwhile 循环 qdo 循环 qfor 循环 qforeach 循环 31 Information Engineering Department of SCEMIwhile 循环 2-1 车上有几 个座位? 是!是!否! while (seat = 25) 32 Information Engineering Department of SCEMI qwhile 循环反复执行指定的语句,直到指定的条件 为真 q语法 : while (条件) / 语句 qbreak 语句可用于退出循环 qcontinue 语句可用于跳过当前循环并开始下一循 环 while 循环 2-2 33 Information Engineering Department of SCEMIdowhile 循环 2-1 车上有 几个座 位? 是!是!否! while (seat = 25) do 34 Information Engineering Department of SCEMIdowhile 循环 2-2 dowhile 循环与 while 循环类似,二者区别在 于 dowhile 循环中即使条件为假时也至少执 行一次该循环体中的语句。 语法 : do / 语句 while (条件) 35 Information Engineering Department of SCEMIfor 循环 qfor 循环要求只有在对特定条件进行判断后才允许 执行循环 q这种循环用于将某个语句或语句块重复执行预定 次数的情形 语法 : for (初始值; 条件; 增/减) /语句 36 Information Engineering Department of SCEMIforeach 循环 计算总分 计算分数 对班上的每一个学生 37 Information Engineering Department of SCEMIforeach 循环 2-1 qforeach 循环用于遍历整个集合或数组 语法: foreach (数据类型 元素(变量) in 集合或者数组) /语句 38 Information Engineering Department of SCEMIforeach 循环 static void Main(string args) / 存放字母的个数 int countLetters = 0; / 存放数字的个数 int countDigits = 0; / 存放标点符号的个数 int countPunctuations = 0; / 用户提供的输入 string input; Console.WriteLine(“请输入一个字符串 “); input = Console.ReadLine(); / 声明 foreach 循环以遍历输入的字符串中的每个字符。 foreach(char chr in input) / 检查字母 if(char.IsLetter(chr) countLetters+; / 检查数字 if(char.IsDigit(chr) countDigits+; / 检查标点符号 if(char.IsPunctuation(chr) countPunctuations+; Console.WriteLine(“字母的个数为: 0“, countLetters); Console.WriteLine(“数字的个数为: 0“, countDigits); Console.WriteLine(“标点符号的个数为: 0“, countPunctuations); 为所有计数器设置初始值 接受输入 对输入的每一个 字符都进行循环 使用了所有输入的字符 之后,循环自动终止 39 Information Engineering Department of SCEMI数组 3-1 q数组是同一数据类型的一组值 q数组属于引用类型,因此存储在堆内存中 q数组元素初始化或给数组元素赋值都可以在声明 数组时或在程序的后面阶段中进行 语法: 数据类型元素个数 数组名称; int6 arrayHere; 40 Information Engineering Department of SCEMI数组 3-2 78 (0) 67 (1) 89 (2) 92 (3) 66 (4) JoeTomLeeJimBill 23. 5 18. 9 27.3 21. 4 29. 6 学生分数的整数数组 职员姓名的字符串数组 室温的浮点数组 数组位置 41 Information Engineering Department of SCEMI数组 3-3 static void Main(string args) int count; Console.WriteLine(“请输入您要登记的学生人数 “); count=int.Parse(Console.ReadLine(); / 声明一个存放姓名的字符串数组,其长度等于提供的学生人数 string names = new stringcount; / 用一个 for 循环来接受姓名 for(int i=0; icount; i+) Console.WriteLine(“请输入学生 0 的姓名 “,i+1); namesi=Console.ReadLine(); Console.WriteLine(“已登记的学生如下: “); / 用 foreach 循环显示姓名 foreach(string disp in names) Console.WriteLine(“0“, disp); 数组声明 初始化数组 元素的循环 显示输出的循环 42 Information Engineering Department of SCEMI struct structEx public int structDataMember; public void structMethod1() /structMethod1 实现 q 自定义数据类型 q 可以在其内部定义方法 q 无法实现继承 q 属于值类型 主要结构: struct student public int stud_id; public string stud_name; public float stud_marks; public void show_details() /显示学生详细信息 结构 数据成员 方法 所有与 Student 关联的详细信息都可以作为一个整体进 行存储和访问 43 Information Enginee
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年木材加工、处理机械项目申请报告
- 水龙吟-苏轼课件
- 机电设备安装调试与验收方案
- 水粉插画基础知识培训课件
- 混凝土施工中预应力钢筋张拉技术方案
- 基础设施施工工艺优化
- 混凝土施工的临时设施搭建与管理方案
- 城镇集中供热的用户需求与服务管理方案
- 水痘和腮腺炎培训课件
- 用户体验设计42课件
- 2025年3到6岁幼儿发展指南考试试题及答案
- 2025年光伏施工安全试题及答案
- 翻越您的浪浪山新学期开学第一课+课件
- 宏图煤矿防突设计2025.9.8
- 贵州航空产业城集团股份有限公司,贵州安立航空材料有限公司招聘笔试题库2025
- 奇瑞购销协议书范本
- 社区模拟试题和答案
- 银行测试管理办法
- 2025年技师(二级)养老护理员职业技能鉴定《理论知识》真题卷(后附答案和解析)
- 境外常驻人员管理办法
- 2025至2030中国城市地下管线探测行业发展状况与投资策略分析报告
评论
0/150
提交评论