




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统开发实训 C 参考教材 作者 周红安等编著出版社 电子工业出版社出版时间 2009 1 1 2 出版时间 2009 01 出版社 清华大学出版社出版日期 2009 3 1 课程地位 STB SQLServer XML PSPM ASP NET Oracle OOAD ComputerBase HTML JavaScript OOP Java C SQLBase JSP Servlet EJB WebService WinForms Struts JSF Testing SQA Linux C 第一讲基本语法介绍 第一章C 2008概述 NETFramework是Microsoft为开发应用程序创建的一个富有革命性平台 同时C 2008语言可以在该平台上实现大多数开发人员需要的功能 而且C 2008还具有大多数开发人员所需要的特性 MSDNLibrary使用 MSDN是微软的文档库 提供了大量的技术文档 作为一个合格的开发人员 应该学会使用产品文档 要熟悉MSDN 关键是要熟悉下面的几个面板 目录面板 可以让开发人员快速地对MSDN有一个大致的了解 起导航的作用 索引面板 其为开发人员提供了快速检索MSDN的功能 在 查找 文本框中输入感兴趣的内容 按Enter键 MSDN将自动转入最匹配的技术文档供开发人员阅读 搜索面板 其是MSDN的一种搜索功能 可以提供对本地帮助 MSDNOnline Codezone社区等许多文档库的详细搜索 其使用示意图如图所示 这是用C 编写的一个简单的HelloWorld程序usingSystem namespaceNotepad classHelloWorld publicstaticvoidMain Console WriteLine HelloWorld 声明HelloWorld类 描述代码的注释 HelloWorld程序 程序入口点 Main的返回类型为void 控制台类的WriteLine 方法用于显示输出结果 导入System命名空间 声明命名空间Notepad 将文件保存为HelloWorld cs 控制台程序 usingSystem usingSystem Collections Generic usingSystem Text Using表示程序引用的库 上面的三个为控制台应用程序默认引用的库namespaceFirstConsoleApplication 程序将以新建项目名称自动创建一个命名空间 即namespace classProgram1 该处的class是类的意思 是自动创建这个program类 staticvoidMain string args Main 函数是程序的入口 Console WriteLine helloC 2008 输出helloC 2008 Console ReadLine 简单Windows程序 第2章C 中面向过程基本元素 应用程序处理的对象是数据 而数据是以某种特定的形式存在的 例如整数 实数 字符 布尔型等形式 不同的数据之间往往还存在某种组织 构成了所谓的数据结构 2 1基本语法格式 2 1 1语法概述 C 2008中使用的标点符号分号 指明一条代码语句的结束 冒号 花括号 方括号 圆括号 2 1 2C 2008中的注释 单行注释 该行 之后的文本都会被编译器认为是注释 注释自动在行尾结束 其只能用于单行注释 这是注释 多行注释用 字符串开始 以 字符串结束 2 2常量和变量 C 2008是强类型语言 所以常量和变量都必须先声明类型 当声明了类型后 计算机就会知道处理什么样的数据 以及采用哪种格式保存数据等 publicconstintx 1 Intj Doublea Stringc 2 2 2常量 attributesconstant modifiersconsttypeconstant declarators 在上述声明中 常量修饰符constant modifiers可以是new public protected internal private 而type可以是sbyte byte short ushort int uint long ulong char float double decimal bool string publicconstintx 1 2 2 3变量 在程序运行的过程中 值可以改变的量称为变量 一个变量应该有一个名字 在内存中占据一定的存储单元 在该单元中存放变量的值 与常量不同 变量的值可以反复赋数值 1 声明变量2 赋值变量3 变量的类型 数值类型 namespaceEx 2 1 classProgram staticvoidMain string args inta 50 定义aintb 40 定义bConsole WriteLine a b 输出Console ReadLine 加上这行才能看到运行结果 否则一闪而过stringi 4 声明一个空的字符型变量istringj 10 声明字符型变量jConsole WriteLine j Console WriteLine i j Console ReadLine namespaceEx 2 10 classProgram staticvoidMain string args stringsName hoan stringsSex 男 intiAge 23 DoubledHeight 1 72 Console Write 我叫 Console WriteLine sName Console Write 性别 Console WriteLine sSex Console Write 年龄 Console WriteLine iAge Console Write 身高 Console WriteLine dHeight Console Read 2 3运算符 表达式及优先级 C 2008提供了大量的运算符 按照其处理操作数的不同大致可以分为3类 即一元运算符 二元运算符和三元运算符 主要的运算符如表所示 运算符和表达式 前置和后置自加 自减运算符 问题 计算结果 1 inti 0 boolresult falseresult i i 2 true false result true C 运算符的优先级 usingSystem usingSystem Collections Generic usingSystem Linq usingSystem Text namespaceEx 2 6 程序的命名空间 也是项目名称 如Ex 2 6 classProgram staticvoidMain string args Console WriteLine 10 10 这里的 号作为计算数值用Console WriteLine 10 10 这里的 号作为字符串相加Console ReadLine 获取输入 控制台窗口停下来 看输出结果 赋值运算符和赋值表达式inta 4 a a a a Console WriteLine theValueofais 0 a Console ReadLine 关系运算符intx 10 inty 0 if x 0 位运算符x 32 Console WriteLine x y x 2 Console WriteLine y intz x 2 Console WriteLine z Console ReadLine 2 4类型转换 在编写程序过程中 会经常遇到这种情况 就是需要将一种数据类型的值赋给另一种不同数据类型的变量 例如 从int类型转换到long类型数据类型之间的转换等 由于数据类型有差异 在赋值时就需要进行数据类型的转换 在C 2008中提供了如下的转换 隐式转换 显式转换 使用命令的显示转换 classProgram namespaceEx 2 4 staticvoidMain string args doubled 100 5 inti i int d Console WriteLine i Console ReadLine byteb 5 实现了隐式转换intx b Console WriteLine theValueofxis 0 x Console ReadLine boolmyBool true doublemyDouble 99 00 stringmyString Convert ToString myBool Convert ToString myDouble Console WriteLine theValueofmyStringis 0 myString Console ReadLine 2 5数组 数组是一种数据结构 其中包含一些可透过计算得到之索引来存取的变量 数组中所包含的变量 又称为数组的元素 都具有相同型别 而此型别就叫做数组的元素型别数组必须先定义 后使用 数组的定义采用以下方式 其中Type可以是任意的类型 name是数组的名称 数组可以通过两种方式进行初始化 第一种方式是完整的指定数组的内容 第二种方式是指定数组的长度 并使用new关键字初始化所有的数组元素 int intArray 1 2 3 声明了一个一维数组并赋值等价于 int intArray 声明了一个一维数intArray 1 2 3 对数组赋值int 3 intArray 声明了一个一维数intArray newint 3 对数组初始化 namespaceEx 2 3 classProgram staticvoidMain string args int array newint 5 定义一个一维数组 它有5个元素for inti 0 i array Length i 循环计算i的值 最大长度是数组的长度array Length array i i 10 Console WriteLine array i 输出i的值 Console ReadLine 获取输入焦点 为了看运行结果 放在循环体之外 定义一个二维数组int intArray newint 2 3 为二维数组赋值并输出for inti 0 i intArray GetLength 0 i for intj 0 j intArray GetLength 1 j intArray i j i j Console WriteLine Element 0 1 is 2 i j intArray i j Console ReadLine C 中提供了Array Clear 方法 Array Clear方法的定义如下 publicstaticvoidClear Arrayarray intindex intlength 参数Array为要进行删除操作的数组 index为要清除的一系列的起始索引 length为要清除的元素数 代码演示了Array Clear 的用法 实现数组的清空 C 提供了用于排序的方法Array Sort和Array Reverse Array Sort方法用于对一维数组对象中的元素进行排序 Array Reverse方法用于反转一维数组对象中元素的顺序 Array Sort方法的定义如下 publicstaticvoidSort Arrayarray 要排序的一维数组 publicstaicvoidSort Arrayarray 要排序的一维数组Intindex 排序范围的起始索引Intlength 排序范围内的元素数 ArrayList代表一个能根据需要动态增加大小的一维数组 同时其能包含任何托管类型的元素 而且不要求所有元素都是相同的类型 当需要建立一个对象数组模型却不知道对象数量时 它们会非常有用 ArrayList对象是较为复杂的数组 ArrayList类提供了多数System Collections类都提供的功能 但这些功能在数组类中没提供 可以将ArrayList看作是扩充了功能的数组 但其不同于数组 其区别如下 数组的容量是固定的 而ArrayList的容量可根据需要自动扩充 ArrayList提供了添加 插入等功能 而数组却没有 ArrayList只提供一维的形式 而数组可以是多维的 AddArrayList namespaceAddArrayList classProgram staticvoidMain string args ArrayListmyArrayList newArrayList 5 myArrayList Add hello myArrayList Add World 输出myArrayList的容量Console WriteLine Capacityis 0 myArrayList Capacity 输出myArrayList中元素的个数Console WriteLine Countis 0 myArrayList Count 分别输出myArrayList中的两个元素Console WriteLine myArrayList 0 Console WriteLine myArrayList 1 Console ReadLine 数组元素的查找 Array LastIndexOf方法 用于查找数组中的元素 Array IndexOf方法的定义如下 Array IndexOf Array Object Array IndexOf Array Object Int32 Array IndexOf Array Object Int32 Int32 数组元素的排序 C 提供了用于排序的方法Array Sort和Array Reverse Array Sort方法用于对一维数组对象中的元素进行排序 Array Reverse方法用于反转一维数组对象中元素的顺序 Array Sort方法的定义如下 publicstaticvoidSort Arrayarray 要排序的一维数组 publicstaicvoidSort Arrayarray 要排序的一维数组Intindex 排序范围的起始索引Intlength 排序范围内的元素数 动态数组类 ArrayList代表一个能根据需要动态增加大小的一维数组 同时其能包含任何托管类型的元素 而且不要求所有元素都是相同的类型 当需要建立一个对象数组模型却不知道对象数量时 它们会非常有用 ArrayList的简单使用 ArrayList对象是较为复杂的数组 ArrayList类提供了多数System Collections类都提供的功能 但这些功能在数组类中没提供 可以将ArrayList看作是扩充了功能的数组 但其不同于数组 其区别如下 数组的容量是固定的 而ArrayList的容量可根据需要自动扩充 ArrayList提供了添加 插入等功能 而数组却没有 ArrayList只提供一维的形式 而数组可以是多维的 ArrayList元素的添加 C 中为ArrayList提供了元素添加的方法 其为ArrayList Add ArrayList Add方法的定义如下 publicvirtualintAdd Objectvalue 添加的对象 ArrayList元素的插入 C 中为ArrayList提供了元素插入的方法ArrayList Insert ArrayList Insert方法的定义如下 publicvirtualvoidInsert Intindex 插入对象的位置Objectvalue 插入的对象 9 4 4ArrayList元素的删除 C 中为ArrayList提供了元素删除的方法ArrayList Clear ArrayList Clear方法的定义如下 publicvirtualvoidClear 该方法是从调用ArrayList对象中删除了所有元素 即Count属性被设为0 但其容量Capacity属性却不变 代码演示了向Array中删除元素的功能 ArrayList元素的查找 同数组一样 ArrayList中也提供了查找其元素的方法 即ArrayList IndexOf 方法 ArrayList LastIndexOf 方法和ArrayLst Contains 方法 由于前两种方法同Array中同名方法的用法基本相同 所以就不一一介绍了 Contains 的定义如下 publicvirtualboolcontains Objectitem 将要查找的对象 ArrayList元素的遍历列表 以使用同数组相同的方法对ArrayList进行遍历 即foreach语句 代码演示了ArrayList元素的遍历列表 ArrayList容量的缩减 C 语言提供了TrimToSize方法来缩减ArrayList容量 其定义如下 publicvirtualvoidTrimToSize 该方法用来缩减ArrayList的容量 使它等于ArrayList中的元素数 如果ArrayList是只读或大小固定的 将抛出一个NotSupportedException异常 代码演示了ArrayList容量的缩减 9 4 8ArrayList向Array的转换 C 语言提供了两种方法 使ArrayList转换为Array 分别为ArrayList ToArray 和ArrayList ToArray Type 其中 第一种方法的定义如下 publicvirtualobject ToArray 该方法是将ArrayList转换为一个object数组 如果想转换为固定类型的Array 就该采用第二种方法 但必须设置Type 其定义如下 publicvirtualArrayToArray Typetype 转化成Array的类型 队列 Queue类通常称为队列 它封装了一个先进先出的集合 队列用来储存已入队的先后顺序进行处理的对象 9 6Queue简单介绍 在队列中 每个Queue对象都有一个容量 如果存储的元素达到了它的容量 这个容量还会自动地增加 Queue对象还具有一个增长系数 它表示了当Queue满时容量的增加值 这个系数可以在Queue的构造函数中设定 默认值为20 Queue是一个比较简单的类型 其构造函数就有4种 下面我们逐一介绍其构造函数 供读者参考 Queue Queue Icollectionc Queue intcapacity Queue intcapacity floatgrowthFactor 其中第一种方法的定义如下 publicQueue Queue类元素的添加和输出 Queue类常用的属性如表所示 堆栈类 Stack类通常称为堆栈 它封装了一个先进后出的集合 堆栈与类Queue相似 用来储存已入队的反向顺序进行处理的对象 Stack简单介绍 在堆栈中 每个Stack对象都有一个容量 如果存储的元素达到了它的容量 这个容量还会自动地增加 Stack是一个比较简单的类型 其构造函数就有3种 下面我们逐一介绍其构造函数 供读者参考 Stack Stack ICollectionc Stack intcapacity Stack类元素的添加和输出 Stack集合的常用属性如表所示 哈希表 HashTable通常称为哈希表 它表示键 key 值 value 对的集合 这些键 值对根据键的哈稀代码进行组织 一个对象的哈稀代码可以通过使用IhashCodeProvider接口的实现来获得 选择控制关键字 if else switch case循环控制关键字 while do for foreach跳转控制关键字 break continue 第三章程序的流程控制 语法 if else 选择结构用于根据表达式的值执行语句 if else 语法 switch 选择变量 case值1 break case值2 break case值3 break default switch case switch case的其他特性 每个case分支必须有一个break语句各个case标签不必连续 也不必按特定顺序排列default标签可位于switch case结构中的任意位置default标签不是必选的 但使用default标签是一个良好的编程习惯每两个case标签之间的语句数不限 循环结构 循环结构用于对一组命令执行一定的次数或反复执行一组命令 直到指定的条件为真 循环结构的类型while循环do循环for循环foreach循环 while循环反复执行指定的语句 直到指定的条件为真语法 while 条件 语句 break语句可用于退出循环continue语句可用于跳过当前循环并开始下一循环 while循环 do while循环 do while循环与while循环类似 二者区别在于do while循环中即使条件为假时也至少执行一次该循环体中的语句 语法 do 语句 while 条件 for循环 for循环要求只有在对特定条件进行判断后才允许执行循环这种循环用于将某个语句或语句块重复执行预定次数的情形语法 for 初始值 条件 增 减 语句 foreach循环 foreach循环用于遍历整个集合或数组语法 foreach 数据类型元素 变量 in集合或者数组 语句 If语句 namespaceEx 3 3 classProgram staticvoidMain string args 主函数 也是入口函数 boolflag true if flag true Console WriteLine 标志位为真 输出 else Console WriteLine 标志位为假 输出 Console ReadLine switch classProgram staticvoidMain string args stringChoice null Console Write 请选择 Choice Console ReadLine switch Choice case a Console WriteLine 开始看书 break case b Console WriteLine 开始看电影 break default Console WriteLine 无效输入 Choice break Console ReadLine While语句 Program staticvoidMain string args inti 1 while i 5 当i小于5的时候就执行13至16行中的代码 Console WriteLine 循环了 0 次 i i Console Re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出差税务报销培训课件
- 2025年江西省农产品种子购销合同(示范文本)
- 2025广告代理合同范本
- 2025【标准合同】租赁合同范本
- 冲压操作员安全培训课件
- 人口伦理在技术发展与人类自由中的地位-洞察及研究
- 2025年企业管理资料范本设备采购合同
- 冰箱里的秘密课件
- 冰箱焊接安全培训课件
- 八大横的写法课件
- 人工血管动静脉内瘘术后护理课件
- 美国共同基金SmartBeta布局及借鉴
- 企业劳动用工法律风险与防范
- 普通逻辑ppt课件(完整版)
- 《小学语文课程与教学论》复习题
- 2022年08月安徽省芜湖市招考大学生科技特派员岗位冲刺题(带答案)
- 国家城镇救援队伍能力建设与分级测评指南
- DB32∕T 4065-2021 建筑幕墙工程技术标准
- 部编版五年级语文上册(精美)课件 2 落花生
- 检具设计PPT.
- 物业公司员工绩效考核表
评论
0/150
提交评论