由于工作需要,自行编了一个类似WINHEX的简单文件编辑程序,含源代码,在DELPHI7下编译成功。
亮点:基于TMEMO实现字符可控编辑。
2024/1/6 15:03:34 186KB 文件编辑 HEX
1
SCL;删除字符串中的空格
2024/1/6 3:55:37 1KB 博图SCL
1
通过编程实现仿真模拟基于哈夫曼编码的信源编码与解码过程,对于给定的源文档SourceDoc.txt,1)统计其中所有字符的频度(某字符的频度等于其出现的总次数除以总字符数),字符包括字母(区分大小写)、标点符号、格式控制符(空格、回车等)以及特殊字符。
2)按频度统计结果构建哈夫曼编码表,输出哈夫曼码表信息文件Statistic.txt。
3)基于哈夫曼编码表进行编码,生成对应的二进制码流,并输出到文件Encode.dat,完成信源的编码过程。
4)根据生成的哈夫曼编码表,对二进制码流文件Encode.dat进行解码,把结果输出到文件TargetDoc.txt,完成信源的解码过程。
5)判断TargetDoc.txt与SourceDoc.txt内容是否一致,以验证编解码系统的正确性。
2024/1/4 16:01:36 375KB 哈夫曼
1
C语言教程(原书第4版)《c语言教程(原书第4版)》是一本优秀的c程序设计语言教材,完整描述了ansic语言及其语法特性,并对c语言的高级特性和应用作了深入阐述,介绍了从c到c++和java过渡的相关知识。
《c语言教程(原书第4版)》的一个鲜明特色就是结合大量示例描述c语言的重要特征,并对很多工作代码给出了逐步的分析,以这种独特的教学方法向读者解释新接触的编程元素及一些惯用法。
  《c语言教程(原书第4版)》系统、完整,可作为c语言的参考手册,也非常适合作为学习c语言的入门和高级课程教材。
前言第0章从零开始0.1为什么要用c0.2ansic标准0.3从c到c++0.4从c和c++到java第1章c语言概述1.1编程和预备知识1.2程序输出1.3变量、表达式和赋值1.4使用#define和#include1.5使用printf()和scanf()1.6控制流1.7函数1.8数组、字符串和指针1.8.1数组1.8.2字符串1.8.3指针1.9文件1.10与操作系统有关的内容1.10.1编写和运行c程序1.10.2中断程序1.10.3输入文件尾标志1.10.4输入和输出的重定向1.11总结1.12练习第2章词法元素、操作符和c系统2.1字符和词法元素2.2语法规则2.3注释2.4关键字2.5标识符2.6常量2.7字符串常量2.8操作符和标点符号2.9操作符的优先级和结合性2.10增值操作符和减值操作符2.11赋值操作符2.12例子:计算2的乘方2.13c系统2.13.1预处理器2.13.2标准函数库2.14总结2.15练习第3章基本数据类型3.1声明、表达式和赋值3.2基本数据类型3.3字符和char数据类型3.4int数据类型3.5整数类型short、long和unsigned3.6浮点类型3.7typedef的用法3.8sizeof操作符3.9使用getchar()和putchar()3.10数学函数3.10.1使用abs()和fabs()3.10.2unix和数学函数库3.11隐式类型转换和强制类型转换3.11.1整型提升3.11.2寻常算术转换3.11.3强制类型转换3.12十六进制和八进制常量3.13总结3.14练习第4章控制流4.1关系操作符、相等操作符和逻辑操作符4.2关系操作符和表达式4.3相等操作符和表达式4.4逻辑操作符和表达式4.5复合语句4.6表达式和空语句4.7if和if-else语句4.8while语句4.9for语句4.10例子:布尔变量4.11逗号操作符4.12do语句4.13例子:斐波那契数4.14goto语句4.15break和continue语句4.16switch语句4.17条件操作符4.18总结4.19练习第5章函数5.1函数定义5.2return语句5.3函数原型5.4例子:创建乘方表5.5从编译器的角度观察函数原型5.6函数定义顺序的另一种风格5.7函数调用和传值调用5.8开发大型程序5.9使用断言5.10作用域规则5.10.1平行和嵌套代码块5.10.2以调试为目的使用代码块5.11存储类型5.11.1auto存储类型5.11.2extern存储类型5.11.3register存储类型5.11.4static存储类型5.12静态外部变量5.13默认初始化5.14递归5.15例子:汉诺塔5.16总结5.17练习第6章数组、指针和字符串6.1一维数组6.1.1初始化6.1.2下标6.2指针6.3传引用调用6.4数组和指针之间的关系6.5指针运算和元素的大小6.6数组作为函数的实参6.7例子:冒泡排序6.8用calloc()和malloc()进行动态内存分配6.9例子:归并和归并排序6.10字符串6.11标准函数库中的字符串处理函数6.12多维数组6.12.1二维数组6.12.2存储映射函数6.12.3形式参数声明6.12.4三维数组6.12.5初始化6.12.6使用typedef6.13指针数组6.14main()函数的参数6.15不规则数组6.16函数作为参数6.17例子:使用二分法寻找函数的根6.18函数指针数组6.19类型限定符const和v
2024/1/4 10:17:32 16.68MB C语言 教程 pdf
1
1.一棵二叉树的顺序存储情况如下:树中,度为2的结点数为()。
A.1B.2C.3D.42.一棵“完全二叉树”结点数为25,高度为()。
A.4B.5C.6D.不确定3.下列说法中,()是正确的。
A.二叉树就是度为2的树B.二叉树中不存在度大于2的结点C.二叉树是有序树D.二叉树中每个结点的度均为24.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是()。
A.CABDEFGB.BCDAEFGC.DACEFBGD.ADBCFEG5.线索二叉树中的线索指的是()。
A.左孩子B.遍历C.指针D.标志6.建立线索二叉树的目的是()。
A.方便查找某结点的前驱或后继B.方便二叉树的插入与删除C.方便查找某结点的双亲D.使二叉树的遍历结果唯一7.有abc三个结点的右单枝二叉树的顺序存储结构应该用()示意。
A.abcB.ab^cC.ab^^cD.a^b^^^c8.一颗有2046个结点的完全二叉树的第10层上共有()个结点。
A.511B.512C.1023D.10249.一棵完全二叉树一定是一棵()。
A.平衡二叉树B.二叉排序树C.堆D.哈夫曼树10.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是()的二叉树。
A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子11.一棵二叉树的顺序存储情况如下:123456789101112131415ABCDE0F00GH000X结点D的左孩子结点为()。
A.EB.CC.FD.没有12.一棵“完全二叉树”结点数为25,高度为()。
A.4B.5C.6D.不确定二、填空题(每空3分,共18分)。
1.树的路径长度:是从树根到每个结点的路径长度之和。
对结点数相同的树来说,路径长度最短的是完全二叉树。
2.在有n个叶子结点的哈夫曼树中,总结点数是2n-1。
3.在有n个结点的二叉链表中,值为非空的链域的个数为n-1。
4.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是任一结点无左孩子的二叉树。
5.深度为k的二叉树最多有个结点,最少有k个结点。
三、综合题(共58分)。
1.假定字符集{a,b,c,d,e,f}中的字符在电码中出现的次数如下:字符abcdef频度9122023155构造一棵哈夫曼树(6分),给出每个字符的哈夫曼编码(4分),并计算哈夫曼树的加权路径长度WPL(2分)。
(符合WPL最小的均为哈夫曼树,答案不唯一)哈夫曼编码:2.假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字符构成,它们在电文中出现的频率分别为{0.31,0.16,0.10,0.08,0.11,0.20,0.04}。
要求:(1)为这7个字符设计哈夫曼树(6分)。
(2)据此哈夫曼树设计哈夫曼编码(4分)。
(3)假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少?(4分)(1)为这7个字符设计哈夫曼树为(符合WPL最小的均为哈夫曼树,答案不唯一):(2)哈夫曼编码为:a:01;b:001;c:100;d:0001;e:101;f:11;g:0000(3)假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少?采用等长码,100个字符需要300位二进制数,采用哈夫曼编码发送这100个字符需要261二进制位,压缩了30
1
本书介绍了Linux设备驱动开发理论、框架与实例,详细说明了自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞I/O、非阻塞I/O等Linux设备驱动理论,以及字符设备、块设备、tty设备、I2c设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等Linux设备驱动架构中各个复杂数据结构和函数的关系,并讲解了Linux驱动开发的大量实例,使读者能够独立开发各类Linux设备驱动。
2023/12/29 4:52:17 14.82MB Linux 内核 驱动
1
设计并实现C语言的词法分析程序,要求如下。
(1)可以识别出用C语言编写的源程序中的每个单词符号,并以记号的形式输出每个单词符号。
(2)可以识别并读取源程序中的注释。
(3)可以统计源程序中的语句行数、单词个数和字符个数,其中标点和空格不计算为单词,并输出统计结果。
(4)检查源程序中存在的非法字符错误,并可以报告错误所在的行列位置。
(5)发现源程序中存在错误后,进行适当的恢复,使词法分析可以继续进行,通过一次词法分析处理,可以检查并报告源程序中存在的所有词法拼写错误。
2023/12/28 8:41:42 15KB 词法分析
1
利用MFC实现串口通信,用到MSCOMM32控件,能控制发送的时间,最短1ms,同时支持16进制和字符型的接收和发送,功能很强大,基于VS2010编写,研究MFC串口通信的同学值得拥有!
2023/12/27 20:41:51 53.71MB MFC 16进制 串口
1
一、实验目的使学生加深对数据库安全性和完整性的理解。
并掌握SQLServer中有关用户、角色及操作权限的管理方法。
熟悉通过SQL语句对数据进行完整性控制。
二、实验内容和要求  数据库的安全性实验,在SQLServer企业管理器中,设置SQLServer的安全认证模式,实现对SQLServer的用户和角色管理,设置和管理数据操作权限。
  具体内容如下:  设置SQLServer的安全认证模式(Windows或SQLServer和Windows(S)认证模式)。
  登录的管理创建一个登录用户  数据库用户的管理登陆用户只有成为数据库用户(DatabaseUser)后才能访问数据库。
每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。
SQLServer的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。
通过系统存储过程或企业管理器可以创建新的数据库用户。
  角色的管理创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。
  在学生表中定义主键、外键约束。
  在课程表的“课程名”字段上定义唯一约束。
  在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。
  定义规则,并绑定到读者表的“性别”字段,使之只能取“男、女”值。
  在学生表中增加出生日期字段。
定义缺省,并绑定到借阅表的“借阅日期”上,使之只能取当前日期。
2023/12/26 3:48:07 464KB 安全性
1
Asp这个老古懂估计没几个人在用了。
几年没写代码了,最近要弄个小东西,给手机端提供json数据,不想麻烦别人,自己又只会asp,没办法就自己动手了。
网上找了好久都没有一个人能完整的把asp操作json说清楚。
最后还是自己搞定的。
整出来共享给大家。
(ps,还有个原因csdn的分不够用啦,大家看着给点吧。
写这个说明文档都用了我两小时。
^_^)以下是示例代码'说明:json.asp中引用了json.js.asp'其他见文档'手机很多时候不认gb2312,跳入json的坑就忘记gb2312吧,讨厌的是,如果代码报错,iis会输出gb2312,结果就是乱码,有点烦。
'自己想办法解决吧response.Charset="utf-8"dimstrJsonData,ovbJson,jdimarrTemp,varname,isetovbJson=newvbJson'asprecrodset和数组转json字符arrTemp=array("a","{""oa"":""我是oa""}","c")strJsonData=ovbjson.toJson(empty,arrTemp,true)'转换为Json格式的字符串,有兴趣可以自己输出看看是什么setj=json.parse(strJsonData)'序列化为json对象(或者是数组对象)response.Write(j.get(1)&"")'别用vb数组来存json对象,不然得每个元素去重新序列化,这里如果想j.get(1).oa就不行了。
必须对j.get(1)单独序列才行'----recrodset就不演示了,懒得连数据库'---自定义操作方法的演示---strJsonData="{a:1,b:[{c:'我是数组中的点c'}]}"setj=json.parsestr(strJsonData)response.Write(j.b.get(0).c&"")'添加节点的时候注意,如果值是null,会被忽然,这个节点会不存在的。
在添加之前记得先检查值setj=json.add(j,"new","我是新加的节点")response.Write(j.new&"")'下面这句注掉了,是因为这个操作是无效的因为j.b是数组,不能add'setj=json.add(j.b,"new1","我是加不进的节点")setj.b=j.b.put(j.b.length,j.b.get(0))response.Write(j.b.get(1).c&",我是新加的数组元素")'因为数组的get方法不允许被赋值,所以不能像下面这样写'setj.b.get(0)=json.add(j.b.get(0),"new","我会报错")json.addj.b.get(0),"new","我是新加的new我不会报错"json.addj.b.get(0),"new1","我是通过变量取出来的哦"response.Write(j.b.get(0).new&"")varname="new1"response.Write(json.byname(j.b.get(0),varname)&"")fori=0toj.b.length-1 varname="c" response.Write(json.byname(j.b.get(i),varname)&"我是循环出来的c,索引:"&i&"")next'最后完整的输出给手机就这样:response.Writejson.stringify(j)
2023/12/24 12:28:04 24KB asp json
1
共 976 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡