第5章基础类及常用算法-精选课件.ppt

上传人(卖家):晟晟文业 文档编号:4710236 上传时间:2023-01-03 格式:PPT 页数:42 大小:146.36KB
下载 相关 举报
第5章基础类及常用算法-精选课件.ppt_第1页
第1页 / 共42页
第5章基础类及常用算法-精选课件.ppt_第2页
第2页 / 共42页
第5章基础类及常用算法-精选课件.ppt_第3页
第3页 / 共42页
第5章基础类及常用算法-精选课件.ppt_第4页
第4页 / 共42页
第5章基础类及常用算法-精选课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、 第5章 基础类及常用算法唐大仕dstang2000263dstang本章内容n1 DotNet基本类库n2 类型转换n3 数学、文字、日期n4 数组、集合、泛型n5 常用算法n6 程序的调试5.1 DotNet基本类库统一的编程API:NET Framework 类库统一的编程API:NET Framework 类库5.2 基本类型及类型转换任何事物都是对象n任何事物都是object类的子类n一个函数如果需要object参数,则可以代入任意参数n任何对象都有以下方法nToString()Equals()GetType()nMemberwiseClone()等n常量也是对象n3.ToStrin

2、g()n“Hello”.Lengthn当有不同种类的混合运算时:nintlongfloatdoublen(所有的byte,short,char 等转为int)强制类型转换n在表达式前面用(类型)来表示ndouble d=3.14;nint a=(int)d;nfloat b=(float)(d+1.5);n注意圆括号类型转换函数nSystem.Convert类有以下static方法nToDouble()nToInt32()nToDateTime()基本类型n关键字含有等价的类nint 即 System.Int32n含有一些特殊的属性或方法nint.MaxValuendouble.NaNnDou

3、ble.PositiveInfinitynDouble.IsNaN()数与字符串的转换nint.Parse(string)ndouble.ToString();nToString(#0.00)5.3 几个常用类Math类n提供了相关的数学方法nAbs()nSin()Cos()Tan()nRound()nExp()Log()nPow()乘方Random类n.Next(100)0到100之间(不含100)n.NextDouble()0到1之间nRandom得到的是伪随机数n如果要用更强的随机数,可以使用nSystem.Security.Cryptographyn.RNGCryptoServiceP

4、roviderDateTime及TimeSpannDateTime 是值类型nnew DateTime(y,m,d,h,m,s)n.Nown.ToString(yyyy-MM-dd HH:mm:ss“)n.AddMinutes(5)n.Year,.Month,.Day,.DatenTimeSpann两个日期相减,可以得到一个TimeSpanString类n=+n.Length .IndexOf.LastIndexOfn.StartsWith,.EndsWithn.Substring(idx,len)注意第二个参数n.Trim,.TrimEnd,.PadLeft,.Insert,.Removen

5、.Split(;),string.JoinString 及 StringBuildernString内容不可变(immutable)nStringBuilder内容可变n.Append,.Remove,.Replacen.Length,.ToStringn在循环体中用 s+=.可能会带来效率问题5.4 数组与集合数组n声明nint a;nint,b;n分配空间na=new int5;nb =new int4,5;集合类nArrayList n相当于动态数组,实现IListnHashtable n相当于键/值的集合,实现 IDictionaryn用进行访问,表示获取、增加、删除、修改n提示:用于

6、查询时,比线性搜索的效率要高,可用于程序的优化nSortedList Stack Queue使用foreach访问数组及集合nforeach(类型 变量 in xxxx)n其中xxxx必须是实现了实现 IEnumerable 接口或含有 GetEnumerator 方法的类型nIEnumerator GetEnumerator();nIEnumeratornCurrent属性nMoveNext 及 Reset 方法泛型 Genericn泛型具有更好的类型检查及性能nSystem.Collections.Generic名称空间nList 列表nDictionary,SortedDictionar

7、y 字典nStack,Queue 栈,队列5.5 常用算法算法n指令的有限序列 n特点:n有穷性 n确定性 n可行性 n输入、输出遍试n逻辑上:针对所有可能的情况进行判断n形式上:For 中用 Ifn示例:1.韩信点兵,百鸡问题,鸡兔同笼问题n 2.水仙花数 13+53+33=153n 3.完全数 28=1+2+4+7+14n 4.百分币n 5.佩尔方程 n 6.验证猜想:哥德巴赫猜想迭代n逻辑上:多次使用同一算法n形式上:a=f(a)n示例:1.求平方根n 2.Mandelbrot集,Julia集n 3.倍边法求Pin 4.数字平方和 Xn Xn+1)(/)(1nnnnxfxfxx递归n逻辑

8、上:一个问题化为同样的问题n形式上:自己调用自己n示例:1.求阶乘n 2.菲波那契数列n 3.Celay树,Koch分形集小结n遍试:for中用ifn迭代:for中n=f(n)n递归:f(n)中用f(n-1)6 程序的调试错误的种类n代码的错误通常可以分成三大类n语法错误n运行错误n逻辑错误n其中语法错误比较容易排除,也是一种低级的错误。运行错误和逻辑错误需要靠经验、调试工具以及不断的深入代码来排除。语法错误n此类型的错误通常发生在程序员对语言本身的熟悉度不足n如if之后忘了加上大括号、For语句少了分号。还有比如定义一个变量是Student,但是在引用的时候不小心就变成studnet了。还有

9、一种情况是调用函数错误的语法。n例如调用SubString函数少传了一个参数。使用Visual Studio.NET开发工具,多数的错误会在编辑程序的时候发现。逻辑错误n逻辑错误(Logic Error)是指程序算法的错误,这种错误程序不会发生任何程序中断或跳出程序,而是一直执行到最后,可能有结果。但是执行结果是不对的。n如计算1到10的总数,结果应该为55,利用下面的算法。运行时错误n运行时错误(Runtime Error)多数发生在不可预期的异常。n比如打开硬盘上的某个文件时,该文件不存在。向硬盘上写某个文件的时候,硬盘的空间不足。n由于网络阻塞得不到预期的数据等等。也有可能是用户不按正确

10、的操作步骤而造成的错误,n如在做除法的时候除数为零,访问数组的时候,超出了可访问下标的范围,这些都是发生错误的原因。比如下面的代码。程序调试的基本手段n断点n跟踪n监视断点n断点n用鼠标单击左边 Ctrl+Bn调试|窗口|断点 Ctrl+Alt+F9n断点的属性n条件断点(先设置断点,右击,可编辑条件)n命中次数n清除或禁用断点n清除所有断点 Ctrl+Shift+F9跟踪n单步执行n逐语句 F11n逐过程 F10n点右键,运行到光标处n跳出函数 Shift+F11n拖动到下一句(跳过中间一些语句)监视n即时监视n快速监视 Ctrl+Alt+Qn自动窗口n调用堆栈n指令n调试|窗口|反汇编练习

11、n练习基本类的用法n练习常用算法n练习调试n参见forDebug下的示例nwhile循环的跟踪n数组的跟踪(筛法求素数)n构造方法执行过程的跟踪n一个dotNET BUG的跟踪一个奇异的bug int a=0 x79de61c0;/2044617152;a+=0 x12345678;/a 应为 0 x8c12b838;/-1944930248 if(a 0)a=-a;/注意,如果加上以下语句,则程序出错 /string str1=a.ToString();System.Console.WriteLine(a);/一个我发现的在 fx1.1中的 bug,见cns/dstang2000问题与讨论dstang2000263

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第5章基础类及常用算法-精选课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|