




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第 3 3 章章 C# C# 语语 言言 基基 础础3.1 C#言语简介言语简介在过去的一段时间里,在过去的一段时间里,C和和C+不断都是最有生不断都是最有生命力的通用程序设计言语,命力的通用程序设计言语,它们提供了丰富的功能、它们提供了丰富的功能、高度的灵敏性和强大的底高度的灵敏性和强大的底层控制才干。层控制才干。1. C#言语的开展言语的开展然而相应的,它们尤其是然而相应的,它们尤其是C+也具有漫长也具有漫长的学习周期,而且对于它们的组件、的学习周期,而且对于它们的组件、Web开发等等开发等等的有限支持也显得不那么符合潮流了。的有限支持也显得不那么符合潮流了。20世纪世纪90年代中期,年
2、代中期,Sun公司公司发布了发布了Java言语,它以言语,它以C和和C+为为根底,参与了更多更纯粹的面向对根底,参与了更多更纯粹的面向对象特性。它所编写的程序可以运转象特性。它所编写的程序可以运转在在Java虚拟机上。因此只需在任何虚拟机上。因此只需在任何计算机或设备上安装了计算机或设备上安装了Java虚拟机,虚拟机,就可以实现所谓的就可以实现所谓的“一次编写,四一次编写,四处运转。处运转。阅历了这么多年的开展,阅历了这么多年的开展,Java曾经相当成曾经相当成熟,成为了工业界的主流程序设计言语之一。熟,成为了工业界的主流程序设计言语之一。正是由于这个缘由,微软投入了大量的精神,正是由于这个缘
3、由,微软投入了大量的精神,为为.NET平台量身打造了平台量身打造了C#言语。言语。 C # 言 语言 语C#家谱家谱C#是一种面向对象微软也说是面向是一种面向对象微软也说是面向组件的程序设计言语,它可以最大限制组件的程序设计言语,它可以最大限制的发扬平台的威力,使程序员可以在平台的发扬平台的威力,使程序员可以在平台上快速的开发各种类丰富的运用程序。上快速的开发各种类丰富的运用程序。C#的语法基于的语法基于C和和C+,在很多方面还,在很多方面还很类似于很类似于Java,这样,数量庞大的,这样,数量庞大的C/C+和和Java程序员都可以很快的熟习程序员都可以很快的熟习C#语法,而语法,而它的简约与
4、优美对于这些程序员来说也具有它的简约与优美对于这些程序员来说也具有宏大的吸引力。宏大的吸引力。2. C#言语特点言语特点C#具有以下的优点:具有以下的优点:完全面向对象的设计完全面向对象的设计非常强的类型平安非常强的类型平安交融了交融了Visual Basic的简明性和的简明性和C+的强大功能的强大功能渣滓回收机制渣滓回收机制类似于类似于C和和C+的语法的语法运用了委托而不是函数指针,运用了委托而不是函数指针, 加强了类型平安和平安性加强了类型平安和平安性using System;using System.Collections.Generic;using System.Text;namesp
5、ace ConsoleApplication1 class Program static void Main(string args) Console.WriteLine(Hello world!); 实例:编写一个实例:编写一个C#程序。程序。q.NET Framework是一种跨言语的框架。为了在是一种跨言语的框架。为了在各种言语之间交互操作,部分各种言语之间交互操作,部分.NET Framework 指定了类型中最根底的部分,这称之为通用类型指定了类型中最根底的部分,这称之为通用类型系统系统Common Type System,CTS。qC#支持支持CTS,其数据类型包括根本类型,也包,
6、其数据类型包括根本类型,也包括比较复杂的类型。括比较复杂的类型。q作为完全面向对象的言语,作为完全面向对象的言语,C#中的一切数据类中的一切数据类型是一个真正的类,具有格式化、系列化以及类型是一个真正的类,具有格式化、系列化以及类型转换等方法。型转换等方法。3.2 C#3.2 C#数据类型数据类型C#中的标识符命名规范如下:中的标识符命名规范如下:1必需以字母或下划线开头。必需以字母或下划线开头。2只能由字母、数字、下划线组成,只能由字母、数字、下划线组成,不能包含空格、标点符号、运算符以及不能包含空格、标点符号、运算符以及其他符号。其他符号。3不能与不能与C#关键字同名关键字同名 如如cla
7、ss、new等。等。C#中的数据类型分为两个根本类型中的数据类型分为两个根本类型 值类型值类型 表示实践数据表示实践数据只是将值存放在内存中只是将值存放在内存中值类型都存储在堆栈中值类型都存储在堆栈中 简单类型、构造类型和枚举类型简单类型、构造类型和枚举类型援用类型援用类型表示指向数据的指针或援用表示指向数据的指针或援用包含内存堆中对象的地址包含内存堆中对象的地址为为 null,那么表示未援用任何对象,那么表示未援用任何对象 类、接口、数组、字符串、委托、类、接口、数组、字符串、委托、1. 值类型简单数据类型简单数据类型简单数据类型是简单数据类型是.NET系统类型别名。它包括:系统类型别名。它
8、包括:整型、浮点型、字符型、布尔型、小数型整型、浮点型、字符型、布尔型、小数型构造一个构造构造一个构造structstruct是包含多个根本类型或复是包含多个根本类型或复合类型的一致体。合类型的一致体。格式:格式:attributesmodifiersstruct name:interfaces /body 阐明:attributes:附加的声明性信息;modifiers:访问修饰符new、public、 protected、 internal、 privateinterfaces:所实现的接口列表(2)(2)构造类型构造类型如:如:public struct Person public st
9、ring name; public int age; public char sex;(3) 枚举类型枚举类型枚举类型为一组指定常量的集合。每种枚举枚举类型为一组指定常量的集合。每种枚举类型均有一种根本类型,该根本类型可以是类型均有一种根本类型,该根本类型可以是除除char以外的任何类型。以外的任何类型。格式:格式:attributesmodifiersenum identifier:base-typeenumerator-list如:如:enum DaysMon,Tue,Thu,Fri,Sat,Sun;enum DaysMon=1,Tue,Thu,Fri,Sat,Sun=0;2. 2. 变量
10、和常量变量和常量q常量常量 用于在整个程序中将数据坚持同一用于在整个程序中将数据坚持同一个值个值 语法:语法:public const 数据类型数据类型 常量名常量名 = 常量值常量值;eg: const double PI=3.1415;q变量变量 用于存储特定数据类型的值用于存储特定数据类型的值语法:访问修饰符 数据类型 变量名=初值;eg: public int i; public int i=10;static void Main(string args) / 声明布尔型、字符串型、整型、短整型和浮点型变量 bool t = false;short n1 = 30;int n2 = 1
11、200;string str = jeny;float n3 = 23.1f;/ 显示变量值 Console.WriteLine (布尔值 = + t);Console.WriteLine (短整型值 = + n1);Console.WriteLine (整型值 = + n2);Console.WriteLine (字符串值 = + str);Console.WriteLine (浮点值 = + n3); q在高级言语中,只需具有一样数据类型的对象才在高级言语中,只需具有一样数据类型的对象才可以相互操作。可以相互操作。q很多时候,为了进展不同类型数据的运算如整很多时候,为了进展不同类型数据的运
12、算如整数和浮点数的运算等,需求把数据从一种类型数和浮点数的运算等,需求把数据从一种类型转换为另一种类型,即进展类型转换。转换为另一种类型,即进展类型转换。3.3.类型转换类型转换qC#有两种转换方式。有两种转换方式。q隐式转换:无需指明转换,编译器自动支持一隐式转换:无需指明转换,编译器自动支持一种转换。种转换。q显式转换:也称强迫型转换,将指定类型转换显式转换:也称强迫型转换,将指定类型转换成其他类型。成其他类型。强迫转换的格式:强迫转换的格式:变量名变量名=(类型类型)变量名变量名;如:如:float f=12.3f; int i=5; i=(int)f;C#中,还提供了一个简单的类型转换
13、类中,还提供了一个简单的类型转换类Convert装箱和拆箱int value = 130;object o = value;Console.WriteLine (“对象的值 = 0, o);int value = 130;object o = value;int number = (int) o;Console.WriteLine (num: 0, number);值类型援用类型拆箱装箱值类型援用类型值类型注:被装过箱的对象才干被拆箱注:被装过箱的对象才干被拆箱运算符和表达式Result = number*10变量变量变量变量常量常量操作数表达式操作数和运算符的组合运算符3.3 3.3 表达式
14、与运算符表达式与运算符运算符和表达式 (续) 类别类别运算符运算符说明说明表达式表达式算算术术运运算算符符+执行加法运算(如果两个操作数执行加法运算(如果两个操作数是是字符串字符串,则该运算符用作,则该运算符用作字符字符串连接运算符串连接运算符,将一个字符串添,将一个字符串添加到另一个字符串的末尾)加到另一个字符串的末尾) 操作数操作数1 + 操作数操作数2-执行减法运算执行减法运算 操作数操作数1 - 操作数操作数2*执行乘法运算执行乘法运算操作数操作数1 * 操作数操作数2/执行除法运算执行除法运算操作数操作数1 / 操作数操作数2%获得进行除法运算后的余数获得进行除法运算后的余数 操作数
15、操作数1 % 操作数操作数2+将操作数加将操作数加 1 操作数操作数+或或+操作数操作数-将操作数减将操作数减 1 操作数操作数- 或或-操作数操作数将一个数按位取反将一个数按位取反 操作数操作数1. 算术运算符算术运算符运算符和表达式(续)2. 赋值运算符赋值运算符1赋值运算符: =2语法: 变量 = 表达式;举例:int i,j; i=5; j=6; i=i+6; j=i*3+j;前置和后置自加/自减运算符表达式表达式类型类型计算方法计算方法结果(假定结果(假定 num1 的值为的值为 10)num2 = +num1;前置自加前置自加num1 = num1 + 1;num2 = num1;
16、num2 = 11;num1 = 11;num2 = num1+;后置自加后置自加num2 = num1;num1 = num1 + 1;num2 = 10;num1 = 11;num2 = -num1;前置自减前置自减num1 = num1 - 1;num2 = num1;num2 = 9;Num1 = 9;num2 = num1-;后置自减后置自减num2 = num1;num1 = num1 - 1;num2 = 10;Num1 = 9;运算符和表达式(续)运算符和表达式(续)运算符运算符计算方法计算方法表达式表达式求值求值结果(设结果(设 X = 10)+=运算结果运算结果 = 操作数
17、操作数1 + 操作数操作数2X+= 2X=X+212-=运算结果运算结果 = 操作数操作数1 - 操作数操作数2X-= 2X=X-28*=运算结果运算结果 = 操作数操作数1 * 操作数操作数2X*= 2X=X*220/=运算结果运算结果 = 操作数操作数1 / 操作数操作数2X/= 2X=X/25%=运算结果运算结果 = 操作数操作数1 % 操作数操作数2X%= 2X=X%203.复合赋值运算符复合赋值运算符运算符和表达式(续) 类别类别运算运算符符说明说明表达式表达式比比较较运运算算符符检查一个数是否大于另一个数检查一个数是否大于另一个数 操作数操作数1 操作数操作数2检查一个数是否小于另
18、一个数检查一个数是否小于另一个数 操作数操作数1 =检查一个数是否大于或等于另一个数检查一个数是否大于或等于另一个数 操作数操作数1 = 操作数操作数2= 检查一个数是否小于或等于另一个数检查一个数是否小于或等于另一个数 操作数操作数1 y?x:y;运算符和表达式(续)优先级优先级运算符运算符结合性结合性1( )从左到右从左到右2+/-从右到左从右到左3*、/、%从左到右从左到右4+、-从左到右从左到右5、=、从左到右从左到右6=、!=从左到右从左到右从左到右从左到右7&从左到右从左到右8|从左到右从左到右9=、 +=、 *=、 /=、 %=、 -=从右到左从右到左7.运算符的优先级运
19、算符的优先级3.4 C#3.4 C#流程控制流程控制构造化程序设计的构造化程序设计的3种根本构造:种根本构造: 顺序构造顺序构造 选择构造选择构造 循环构造循环构造1.选择构造选择构造用于根据表达式的值执行语句1.ifelse语句语句(1)语法:语法: if () else (2)实例:实例: 编写一个程序,求一个数编写一个程序,求一个数x的绝对值。的绝对值。(3)练习:练习: 编写一个程序,求一个数编写一个程序,求一个数x的相反数。的相反数。1语法:语法:switch (选择变量选择变量)case 值值1: 语句语句1;break;case 值值2:语句语句1;break;case 值值3:
20、语句语句1;break;.default : 2阐明阐明switch后面的表达式类型可以是后面的表达式类型可以是sbyte、byte、 short、ushort、int char、 string或者枚举类型或者枚举类型等类型等类型各个各个 case 标签不用延续,也不用标签不用延续,也不用按特定顺序陈列按特定顺序陈列default 标签可位于标签可位于 switchcase 构造中的恣意位构造中的恣意位置置default 标签不是必选的,但运用标签不是必选的,但运用 default 标签是一个良好的编程标签是一个良好的编程习惯习惯每两个每两个 case 标签之间的语句数不标签之间的语句数不限限
21、3实例:根据考试分数,给考生的分数进展定等,规范是:实例:根据考试分数,给考生的分数进展定等,规范是:100分为总分值,分为总分值,9099为优秀,为优秀,8089为良好,为良好,7079为中为中等,等,6069为及格,否那么为不及格为及格,否那么为不及格2. Switch语句语句int score;score = int.Parse(Console.ReadLine(); switch(score/10) case 10: Console.WriteLine(总分值);break; case 9: Console.WriteLine(优秀);break; case 8: Console.Wr
22、iteLine(良好);break; case 7: Console.WriteLine(中等);break; case 6: Console.WriteLine(及格);break; default: Console.WriteLine(不及格);break; 练习:阅读P45的例子,说出该程序段的功能2. 循环构造q循环构造用于对一组命令执行一定的次数或反循环构造用于对一组命令执行一定的次数或反复执行一组命令,直到指定的条件为真。复执行一组命令,直到指定的条件为真。q循环构造的类型循环构造的类型 qwhile 循环循环qdo 循环循环qfor 循环循环qforeach 循环循环while
23、循环反复执行指定的语句,直到条件为真循环反复执行指定的语句,直到条件为真 语法语法 : while (条件条件) / 语句语句 break 语句可用于退出循环语句可用于退出循环continue 语句可用于跳过当前循环并开场下一循语句可用于跳过当前循环并开场下一循环环 (1) while 循环(2) dowhile 循环dowhile 循环与循环与 while 循环类似,二者循环类似,二者区别在于区别在于: dowhile 循环中即使条件为假时循环中即使条件为假时也至少执行一次该循环体。也至少执行一次该循环体。 语法语法 : do / 语句语句 while (条件条件) (3) for 循环qfor 循环要求只需在对特定条件进展判别后才允循环要求只需在对特定条件进展判别后才允许执行循环许执行循环 q这种循环
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小麦芽企业数字化转型与智慧升级战略研究报告
- 泌尿道感染及其他部位泌尿系统感染
- 二零二五年度服装店员工劳动合同与电子商务运营协议
- 二零二五年度外墙保温施工人工费节能减排协议
- 二零二五年度精装修工程付款合同范本
- 2025年度未婚怀孕分手双方关于子女生活费用及医疗费用承担协议
- 二零二五年度跨区域合作保密协议签订与作用分析
- 2025年度银行贷款居间服务与新能源产业合作合同
- 二零二五年度房屋租赁合同安全事故应急处理及责任书
- 2025年度汽车销售返利协议模板
- 2025年湖南省烟草专卖局系统招聘336人高频重点提升(共500题)附带答案详解
- 交通安全劝导讲座课件
- 洞库安全隐患
- 协助患者翻身扣背
- 2024解析:第二章声现象-基础练(解析版)
- 扬尘防治(治理)监理实施细则(范本)
- 湖南师范大学某中学2024届高三摸底(高二期末)考试数学试卷(含答案)
- 第八章:农业科技成果转化
- 水库周边绿化养护方案
- 2024年团校考试入团考试题库及答案
- 报废汽车拆解项目可行性研究报告
评论
0/150
提交评论