c学习总结剖析

上传人:今*** 文档编号:105945254 上传时间:2019-10-14 格式:DOCX 页数:31 大小:125.01KB
返回 下载 相关 举报
c学习总结剖析_第1页
第1页 / 共31页
c学习总结剖析_第2页
第2页 / 共31页
c学习总结剖析_第3页
第3页 / 共31页
c学习总结剖析_第4页
第4页 / 共31页
c学习总结剖析_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《c学习总结剖析》由会员分享,可在线阅读,更多相关《c学习总结剖析(31页珍藏版)》请在金锄头文库上搜索。

1、关键字:#region 定义可扩展和收缩的代码的开头关键字:#endregion 定义可扩展和收缩的代码的结尾变量的命名:第一个字符必须是字母、下划线或(区别于C)Hungarian记号法:变量名前加小写,如iAge PascalCase:每个单词首字母大写 命名空间的两种约定 (第一个字母大写)(.Net Framework) 建议:简单 高级CamelCase:第一个单次首字母小写(下划线字符变量名以及淘汰)Console.ReadLine() 提示用户输入信息, 区别于java中的System.out,print();Console.WriteLine() 将结果打印出来,区别于java

2、中的System.out,println();Convert.toduble() 把字符串转换为double类型;Using 语句可以应用到包含它们的命名空间;C# 与 C+在switch语句中的一个主要区别是,在C+中,可以在运行完一个case语句后,运行另一个case语句,而C#不行,会通过break语句中断(但出现多个case语句堆叠,其后出现一行代码,实际上就是一次检查多个条件);关键字:const声明常量Xxx.ToLower() 把输入的字符或字符串转换成小写问题 console.write() 与 console.writeline() 的区别?解答:每次输入一个字符时,cons

3、ole.write()不需要从一个新行开始,而console.writeline()就会从新的一行开始,也就是看输出是否需要换行而决定使用哪一个。Break, continue, goto, return在处理控制循环时的区别:Break 立即终止循环continue 立即终止当前循环,继续执行下一次循环goto 跳出循环,到标记的位置return 跳出循环及其包含的参数 关键字checked问题溢出检查环境 (什么区别)详见p76 关键字Unchecked注:使用convert转换时,他总是要进行溢出检查,checked和unchecked关键字以及项目属性设置没有什么作用。关键字:enum

4、 定义枚举,枚举使用一个基本类型来存储,默认为int,每个值都会根据定义的顺序从0开始,每次加1,自动赋给对应的基本类型值;详见p81 for循环使用区别 (数组的数组应用foreach,详见p93) foreach循环.ToLower() 将字符串转换成小写.ToUpper() 将字符串转换成大写.ToCharArray() 获得一个可写的char数组.length 获得数组的个数或字符串长度 .TrimStart() 命令:把字符串前面的空格删掉.TrimEnd() 命令:把字符串前面的空格删掉注:.Trim() 命令: 删掉字符串中的空格.PadLeft() 命令: 在字符串左边添加空格

5、,使字符串达到指定的长度.PadRight() 命令: 在字符串右边添加空格,使字符串达到指定的长度.Split() 命令:把string转换为string数组,把它在制定的位置分隔开,这些位置采用char数组的形式关键字:params 参数,某函数可以使用params关键字来定义关键字:ref关键字:out,指定所给的参数是一个输出参数,问题 注:总结ref和out的使用说明以及在使用时的异同,详见p110在运行期间把文本写入output窗口,只需调用下面的替代console.writeine()调用,就可以把文本写到希望的地方 Trace.WriteLine() 没什么限制,可用于发布程序

6、 问题 使用这两个函数的好处Debug.WriteLine() 仅在调试模式下运行,甚至不能编译为可发布的程序,一旦使用该命令就会消失注:这两个函数的用法与console.writeine()的不同,其唯一的字符串参数用于输出消息,而不需要使用x语法插入变量值.CopyTo() 把A中的值复制到B中(数组) Debug模式 Debug.Write() Console.Write() Release模式 Trace.Write() Debug.WriteLineIf() Trace.WriteLineIf() 跟踪点 Debug.Writeif() Trace.WriteIf() Debug.A

7、ssert() 带三个参数,布尔值、字符串判定函数 Trace.Assert()带三个参数,布尔值、字符串问题 System.IndexOutOfRangeException 详见P143重点 结构化异常处理语法:trycatchfinally 注:重点了解其语法以及熟练使用关键字:throw 产生一个异常,需要把新初始化的异常作为其参数,产生一个异常,需要使用使用命名空间System的另一个异常System.Expection例如 throw(new System.Expection);问题 使用Trace.WriteLine() 要优于使用Debug.WriteLine(),因为调试版本仅

8、能用于调试程序,这个观点正确与否,怎么解释?OPP技术 构造阶段构造函数对象的生命周期析构阶段析构函数(一般情况下,我们不依赖析构函数释放对象实例使用的资源 ) 关键字:readonly 表示这个字段只能在执行构造函数的过程中使用,或由初始化赋值语句赋值 public 关键字 private成员定义 internal protected定义字段 virtual-方法可以重写 关键字 abstract-必须在非抽象的派生类中重写(抽象类)定义方法 override-重写了一个基类方法 external-定义放在其他地方 get关键字/函数(访问器)定义属性 set关键字/函数-value关键字

9、赋值重制成员:使用工具修改代码,而不是手工修改,如将public string mystring- private string mystring关键字:base 表示包含在派生类中的基类的执行代码,类似于构造函数的控制(1,要对派生类的用户隐藏继承的公共成员,但任然能够在类中访问其功能;2,要给继承的虚拟成员添加执行代码,而不是简单是的重写的新执行代码替代它)关键字:this 与base一样,this也可用在类成员的内部,且该关键字也引用对象实例,即是当前实例,this关键字最常见的功能就是把当期对象实例的引用传递给一个方法循环冗余码校验( CRC 校验):循环冗余码校验是目前一种最常用的,

10、也是最有效的差错检测编码。对一个 k 比特的数据块(或称报文),发送方生成一个 n比特的序列,称为帧检验序列( FCS),这个序列与原 k 比特的数据块组成一个长度为 k+n 比特的新序列(帧),如图 10-2-2,一起发送。当接收方收到这个 k+n 比特的帧后,进行校验。 这个特定的多项式称“生成多项式”。发送方采用数据报文整除生成多项式,得到帧检验序列,附加到发送数据报文之后。这个过程称为“生成”。接收方,对接收到的报文用同样的生成多项式,再次进行整除,这个过程称为“校验”。若除后余数为 0(即能整除),表示接收的数据块正确,否则,表示接收数据有错。上述 CRC 校验只能发现错误,而不能纠

11、正错误。CRC 校验能够:1)检查出全部一位错;2)能检查出全部离散的二位错;3)能检查出全部奇数个数错;4)能检查出全部长度小于或等于 n 位的突发错( n 为生成多项式的阶次);5)能以 1-( 12)(n-1)的概率检查出长度为n+1 位的突发错。例如,如果 k=16,则该 CRC 校验码能全部检查出小于或等于 16 位长度的突发错,并能以 1-( 12)( n-1)=99 997的概率检查出长度为 17 位的突发错,漏检概率为 0.0003。因此 CRC 校验的校验效率很高,是现代通信技术中使用最多的方法。要达到上述校验效率,生成多项式是关键。常用的生成多项式有:CRC-12 P(x)

12、 =x12+x11+x3+x2+x1+x0CRC-16 P(x) =x16+x15+x2+x0CRC-CCITT P(x)=x16+x12+x5+x0CRC-32 P(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+x0CRC 校验可用硬件电路实现,其逻辑如图 10-2-3 所示,其中相加点为异或逻辑,方框为移位寄存器,位数与帧检验序列相同。CRC 校验也可比照图 10-2-3,采用软件实现。其中多项式整除采用按位除(不带进位)。即运算过程采用异或、移位操作完成。用程序实现 CRC校验序列的生成和 CRC 校验的过程如下:CRC 校验序

13、列生成:1首先在数据报文后添入与帧检验序列位数相同个 0。从数据序列头部开始,与生成多项式进行异或运算。2根据数据序列最高位的状态,若为 1,进行异或运算;若为 0,不进行异或运算。然后将整个数据报文(连同添加的 0 一起)左移一位,移出的数据自动丢失。3对剩余的报文继续执行第 2 步运算和左移过程,直到添加的 0 也经异或运算完成。产生的余数即为生成的 CRC 校验码序列。将它作为报文的添加字节,一起发送。CRC 校验的计算方法与生成过程中第 2、 3 步相同,直到报文最后一位(连同发送端添加 CRC校验码序列在内),若结果余数为 0,表示正确,否则接收到的报文有错。例 10-2-1 CRC 校验过程假定发送数据序列为: 1010001101, CRC生成多项式为: P(x)=x5+x4+x2+1=110101发送数据序列*25: 101000110100000运算:101000 110100000 110101 ;最高位为 1,进行异或运算011101 1101000000 111011 10100000 ;左移一位,首位 0(斜体丢弃) 110101 ;最高位为仍 1,进行异或运算001110

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号