C#第2章程序设计基础.ppt

上传人:max****ui 文档编号:8303360 上传时间:2020-03-28 格式:PPT 页数:48 大小:1.55MB
返回 下载 相关 举报
C#第2章程序设计基础.ppt_第1页
第1页 / 共48页
C#第2章程序设计基础.ppt_第2页
第2页 / 共48页
C#第2章程序设计基础.ppt_第3页
第3页 / 共48页
点击查看更多>>
资源描述
C 面向对象程序设计 主讲教师 胡鹏飞个人邮箱 hpf126 教学邮箱 xxu2009 2 我学习我快乐 我快乐我学习 2 1程序2 2常量和变量2 3数据类型2 4类型转换2 5输入输出操作 第2章程序设计基础 3 我学习我快乐 我快乐我学习 2 1 1初识C 程序 4 我学习我快乐 我快乐我学习 2 1 1初识C 程序 Main 5 我学习我快乐 我快乐我学习 2 1程序 2 1 1初识C 程序通过这个程序我们可以简单总结出一个C 程序的基本框架结构 C 程序由一个或多个独立的类组成 每个类归属于某个命名空间 P45 C 的类可以由一个或多个方法组成 其中类中的静态Main方法可用作程序运行的入口 注释 程序员素养的体现 6 我学习我快乐 我快乐我学习 2 1 1初识C 程序 7 我学习我快乐 我快乐我学习 2 1 1初识C 程序 Main方法 Main方法是程序的入口点 程序控制在该方法中开始和结束 该方法在类或结构的内部声明 它必须为静态方法 而不应为公共方法 在上面的示例中 它接受默认访问级别private 它可以具有void或int返回类型 声明Main方法时既可以使用参数 也可以不使用参数 P47 8 我学习我快乐 我快乐我学习 2 1程序 2 1 2标识符和关键字标识符 在C 语言中 标识符是惟一地标识代码中的各种程序元素的名称 可用于表示变量 常量 方法 类或接口的名称 9 我学习我快乐 我快乐我学习 2 1 2标识符和关键字 标识符几乎可以使用任何名称 但必须遵循以下语法规则 只能使用字母 大写的或小写的 数字和下划线 标识符必须以字母或者下划线 开头 标识符以 符号开始时 允许使用关键字来作为标识符 建议使用有意义的英语单词和数字组合作为标识符 10 我学习我快乐 我快乐我学习 2 1 2标识符和关键字 11 我学习我快乐 我快乐我学习 2 2常量和变量 1 常量定义 对于在程序运行期间其值保持不变的量 我们称之为常量 C 语言中使用关键字const来定义常量 一般用大写标识符 常量总是静态的 例子 constdoublePI 3 14159 优点 1 常量使程序更方便修改 2 常量能够增加程序的可读性 3 常量能有助于避免程序出现错误 P22 12 我学习我快乐 我快乐我学习 2 2常量和变量 2 变量定义 变量是指其值在运行时可以改变的量 C 中 定义变量时必须指定一种数据类型 以确定其数据范围和允许的操作 一般形式 数据类型变量名 例 intx y x y是整数类型变量doublew 3 1415 w是实数类型变量booltruth true truth是布尔类型变量 P20 13 我学习我快乐 我快乐我学习 2 3数据类型 2 3 1简单类型2 3 2枚举类型2 3 3结构类型2 3 4数组类型 14 我学习我快乐 我快乐我学习 2 3数据类型 15 我学习我快乐 我快乐我学习 2 3 1简单类型 C 提供了几种与定义的简单类型 包括 1 整数型 int long 2 实数类型 float double3 高精度小数 decimal4 布尔类型 bool 不存在与其它类型的标准转换 其值为true false 5 字符类型 char unicode编码 P24 16 我学习我快乐 我快乐我学习 2 3 2枚举类型 枚举类型是用户自定义的数据类型 是一种允许用符号代表数据的值类型 枚举是指程序中某个变量具有一组确定的值 通过 枚举 可以将其值一一列出来 这样 使用枚举类型 就可以将一年的四季分别用符号Spring Summer Autumn和Winter来表示 将一个星期的7天分别用符号Monday Tuesday Wednesday Thursday Friday Saturday和Sunday来表示 有助于用户更好地阅读和理解程序 P27 17 我学习我快乐 我快乐我学习 1枚举类型的定义定义枚举类型时必须使用enum关键字 其一般语法形式如下 enum枚举名 基本类型 枚举成员表 说明 声明枚举类型时 必须带上enum关键字 枚举名必须是C 中合法的标识符 枚举类型中定义的所有枚举值都默认为整型 由一对花括号 和 括起来的部分是枚举成员表 枚举成员通常用用户易于理解的标识符字符串表示 它们之间用逗号隔开 18 我学习我快乐 我快乐我学习 下面是一个定义枚举类型的例子 enumWeekDay Sun Mon Tue Wed Thu Fri Sat 上面的语句中定义了一个名称为WeekDay的枚举类型 它包含Sun Mon Tue Wed Thu Fri Sat这7个枚举成员 有了上述定义 WeekDay本身就成了一个类型说明符 此后就可以像常量那样使用这些符号 两个枚举成员名不能完全相同 19 我学习我快乐 我快乐我学习 2枚举成员的赋值在定义的枚举类型中 每一个枚举成员都有一个相对应的常量值 如enumWeekDay Sun Mon Tue Wed Thu Fri Sat 中 其枚举成员Sun Mon Tue Wed Thu Fri和Sat在执行程序时 分别被赋予整数值0 1 2 3 4 5和6 对于枚举成员对应的常量值 默认情况下C 规定第1个枚举成员的值取0 它后面的每一个枚举成员的值按加上1递增 20 我学习我快乐 我快乐我学习 3枚举成员的访问在C 中 可以通过枚举型变量和枚举名两种方式来访问枚举成员 1 通过变量访问枚举成员在通过变量访问枚举成员前 先要声明一个枚举型变量 声明枚举型变量的一般形式如下 枚举类型名变量名 例 enumWeekDay Sun Mon Tue Wed Thu Fri Sat Weekdaywd1 声明一个枚举型变量wd1wd1 WeekDay Sun 给枚举型变量wd1赋值参看li2 1 21 我学习我快乐 我快乐我学习 3枚举成员的访问2 通过枚举名访问枚举成员一般形式如下 枚举类型名 成员名 例 enumWeekDay Sun Mon Tue Wed Thu Fri Sat Weekdaywd1 声明一个枚举型变量wd1wd1 WeekDay Sun 给枚举型变量wd1赋值参看li2 2 22 我学习我快乐 我快乐我学习 2 3 3结构类型 结构类型 它能把一系列相关的变量组织成为一个单一的实体 结构的定义 struct结构名 23 我学习我快乐 我快乐我学习 2 3 3结构类型 structStudent publicstringname publiccharsex publicintnumber publicfloatChinese publicfloatEnglish publicfloatmath 24 我学习我快乐 我快乐我学习 2 3 3结构类型 如何访问结构的成员 25 我学习我快乐 我快乐我学习 2 3 3结构类型 首先定义结构类型变量 结构变量的定义 结构名变量名 例如 Students1 再通过变量访问结构的成员 一般形式如下 结构变量名 成员名 例如 s1 English 访问英语成绩参看li2 3 26 我学习我快乐 我快乐我学习 2 3 4数组类型 数组 C 内置的集合类 这种数据结构中包含具有相同类型的变量元素 分为 一维数组 int x newint 4 1 2 3 4 多维数组 decimal pay newdecimal 12 30 不规则数组 int data newint 3 data 0 newint 5 data 1 newint 1 data 2 newint 3 P27 27 我学习我快乐 我快乐我学习 2 3 4 1一维数组 1 一维数组的声明 创建和初始化 声明声明一维数组的格式为 类型名 数组名 例如 int MyArray 创建数组是引用类型的对象 也需要有实例化 即创建对象的过程 创建一个一维数组有两种方式 针对已经声明了但没有指定长度的数组名 可以用new关键字创建 同时在方括号 中用正整数指定数组元素的个数 例如 MyArray newint 3 将声明和创建同时完成 例如 int MyArray newint 3 28 我学习我快乐 我快乐我学习 2 3 4 1一维数组 1 一维数组的声明 创建和初始化 初始化一维数组的初始化的形式很简单 将初始值依次列于一对大括号之内 注意 内的值 必须和数组类型一致 int MyArray 1 3 5 int MyArray newint 1 3 5 29 我学习我快乐 我快乐我学习 2 3 4 1一维数组 访问一维数组元素可以这么认为 数组是一组同一类型的变量 每个元素是一个变量 只不过变量名由数组名和数组索引两部分组成 数组元素 数组名 下标 数组的属性Length表示数组中元素的个数 参看li2 4 30 我学习我快乐 我快乐我学习 2 3 4 2多维数组 1 多维数组的声明 二维数组的声明格式为 类型名 数组名 三维数组的声明格式为 类型名 数组名 依此类推 中n 1个逗号表示声明n维数组 31 我学习我快乐 我快乐我学习 2多维数组 2 多维数组的创建 对于已经声明为多维数组但没有创建的数组名 用new表达式创建 例如 int egArray egArray newint 2 2 2 可以将声明和创建归并为一句语句 例如 int egArray newint 2 2 2 32 我学习我快乐 我快乐我学习 2多维数组 3 多维数组的初始化 将初始化数据列于 之内 每维的数据封装在一对 中 附在new表达式之后 例如 int Array Array newint 2 3 0 1 2 2 3 4 也可以写成int Array newint 2 3 0 1 2 2 3 4 或者int Array 0 1 2 2 3 4 33 我学习我快乐 我快乐我学习 2多维数组 4 访问多维数组元素同一维数组一样 多维数组中的每个元素就是一个变量 只不过变量名由数组名和数组索引两部分组成 数组元素访问形式 数组名 下标 下标 int Array 0 1 2 2 3 4 for inti 0 i 2 i 用二重循环遍历二维数组 for intj 0 j 3 j Console Write 0 Array i j Console Writeline 输出结果 012234参看li2 5 34 我学习我快乐 我快乐我学习 3交错数组 1 交错数组的声明 交错数组也可以看成数组的数组 所以要使用多个 来表示 例如 char Array1 int Array2 35 我学习我快乐 我快乐我学习 3交错数组 2创建和初始化 创建交错数组的过程也是使用new表达式以分配空间 但是每一维的长度可能不同 所以应该每一维分别用语句指定空间 例如 int Array1 newint 3 Array1 0 newint 4 1 2 3 4 Array1 1 newint 2 10 11 Array2 2 newint 3 20 21 22 36 我学习我快乐 我快乐我学习 3访问交错数组元素 访问交错数组元素也需要通过数组索引对元素定位 定位需要用多个 并指定合法的数组索引 数组元素 数组名 下标 下标 例如 int jaggedArray1 newint 1 3 5 9 newint 0 2 4 newint 11 22 jaggedArray1 0 3 7 参看li2 6 37 我学习我快乐 我快乐我学习 2 4类型转换 C 是一种强类型语言 不同类型的变量之间不能互相代替 但可以转换 2 4 1隐式转换编译器负责 数值不失真2 4 2显式转换只在特定条件下允许转换 且由程序员明确指定转换的类型 可能会造成数据失真 38 我学习我快乐 我快乐我学习 2 4 1隐式转换 隐式转换是系统默认的 不需要加以声明 也不需要编写代码就可以进行转换 在隐式类型转换时 编译器无需对转换进行详细检查就能够安全地实施转换 隐式转换规则 任何类型只要其取值范围完全包含在另一个类型的取值范围内 就可以执行隐式转换 注意 对于char类型 它可以转换为很多的值类型 但不存在到char类型的隐式转换 也就是说不能从其他整型自动转换为char类型 39 我学习我快乐 我快乐我学习 2 4 2显式转换 显式类型转换 强制类型转换 在明确要求编译器把数值从一种数据类型转换为另一种数据类型时 就是在执行显式类型转换 显式类型转换需要程序员明确地指明转换的类型 当然也就需要编写额外的代码 代码的格式将随着转换方法的不同而不同 40 我学习我快乐 我快乐我学习 2 4 2显式转换 显式转换方法 longa 3 intb 1 b int a 2 b Convert ToInt32 var 3 b int Parse a ToString 41 我学习我快乐 我快乐我学习 2 5输入 输出操作 一般情况下 数据输入的方式有两种 从控制台输入 或者从文件中输入 数据的输出也有两种情况 可以输出到控制台 也可以输出到文件中 控制台 console 输入 输出主要通过命名空间System中的类Console来实现 它提供了从控制台读写字符的基本功能 控制台输入主要通过Console类的Read方法和ReadLine方法来实现的 控制台输出主要通过Console类的Write和WriteLine方法来实现的 42 我学习我快乐 我快乐我学习 WriteLine 方法的作用是将信息输出到控制台 但是WriteLine方法在输出信息的后面添加一个回车换行符用来产生一个新行 在WriteLine 方法中 可以直接输出变量的值 例如 inta 1 Console WriteLine a 2 5 1Console WriteLine 方法 参看li2 8 43 我学习我快乐 我快乐我学习 也可以采用 N M 的形式来格式化输出字符串 其中的参数含义如下 花括号 用来在输出字符串中插入变量 N表示输出变量的序号 从0开始 如当N为0时 则对应输出第1个变量的值 当N为5时 则对应输出第6个变量 依次类推 M 是可选项 其中M表示输出的变量所占的字符个数 当这个变量的值为负数时 输出的变量按照左对齐方式排列 如果这个变量的值为正数的时候 输出的变量按照右对齐方式排列 2 5 1Console WriteLine 方法 44 我学习我快乐 我快乐我学习 Write 方法和WriteLine 方法类似 都是将信息输出到控制台 但是输出到屏幕后并不会产生一个新行 即换行符不会连同输出信息一起输出到屏幕上 光标将停留在所输出信息的末尾 2 5 2Console Write 方法 45 我学习我快乐 我快乐我学习 ReadLine 方法用来从控制台读取一行数据 一次读取一行字符的输入 并且直到用户按下回车键它才会返回 但是 ReadLine 方法并不接收回车键 如果ReadLine 方法没有接收到任何输入 或者接收了无效的输入 那么ReadLine 方法将返回null 2 5 3Console ReadLine 方法 46 我学习我快乐 我快乐我学习 Read 方法的作用是从输入流 控制台 读取下一个字符 Read 方法一次只能从输入流读取一个字符 并且直到用户按回车键才会返回 当这个方法返回时 如果输入流中包含有效的输入 则它返回一个表示输入字符Unicode码的整数形式 如果输入流中没有数据 则返回 1 如果用户输入了多个字符 然后按回车键 此时输入流中将包含用户输入的字符加上回车键 r 13 和换行符 n 10 则Read 方法只返回用户输入的第1个字符 但是 用户可以多次调用Read 方法来获取所有输入的字符 2 5 4Console Read 方法 47 我学习我快乐 我快乐我学习 ASK 如何输入整型 浮点型数据 ThankYou
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!