利用栈实现括号匹配的检验,存储括号字符的数组通过malloc实现动态分配长度,匹配函数的第一个参数为指向字符的指针(即为存储括号字符的数组的首地址)和一个整数(即为括号字符的总数,为括号个数的2倍),将左括号字符压栈,用栈顶元素和当前非左括号字符匹配,匹配为一对括号,则将栈顶元素弹出,否则匹配失败,程序结束执行
2024/1/13 12:24:30 180KB C语言 括号匹配
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
使用C#编写的一个工业仪表盘的控件,控件可以变大小,背景颜色、指针等颜色可以改变。
有意向童鞋可以下载参考。
本人声明:本人为业余爱好者,编写控件纯粹是玩耍,所以控件并未经过严格测试,和代码冗余测试等等,若发现有错误,请谅解。
开发环境:VisualStudio2010开发语言:C#本人声明:本人为业余爱好者,编写控件纯粹是玩耍,所以控件并未经过严格测试,和代码冗余测试等等,若发现有错误,请谅解。
2023/12/27 6:06:16 97KB C#; 仪表盘; 工业仪器; 窗体控件
1
王硕-你也能看懂的python算法书-随书代码,编程的核心是算法,学习算法不仅能教会你解决问题的方法,而且还能为你今后的发展提供一种可能。
包含双指针、哈希、深度优先、广度优先、回溯、贪心、动态规划和最短路径等经典算法。
2023/12/24 22:10:28 54KB python 算法 数据结构 王硕
1
利用汇编语言实现一个可以在显示器上显示时、分、秒的电子时钟,并能提供整点报时功能。
基本要求:(1)设计一个基本的具有显示时、分、秒的电子时钟。
(2)到整点或预定的报警时间,能够以不同的音乐进行报时,可以自行设置闹钟报警时间;
(3)实物演示时要求讲出程序原理和设计思想;
(4)程序运行良好、界面清晰。
提高要求:设计一个具有钟面、分针、秒针的指针式钟表,在圆盘上有均匀分布的60根刻度,对应小时的刻度用不同颜色的长刻度区别,并且将12、3、6、9对应的拉丁文绘制于表盘外。
设计提示:(1)指针式钟表的绘制。
将屏幕设置成图形显示方式,通过画点、画线,画圆等基本程序完成钟表的绘制。
表盘圆周上刻度线段两端点坐标计算是钟表绘制的核心部分。
(2)秒针、分针、时针的转动。
是经过一定的延时时间,通过在下一位置重新画一个,在原来的位置用背景色覆盖的方法实现。
(3)音乐的演奏。
利用CPU支持的外围电路8254与8255,通过汇编程序改变8255的PB0,PB1口,接通扬声器,使得计算机能够发出一定频率的声音,同时通过8254的与8255连接的2号计数器控制指定频率,从而达到控制扬声器的音乐的效果。
通过建立适当的延时程序达到一定时间后则改变2号计数器产生的方波的频率,实现音乐程序的演奏。
二、需求和思路分析经分析本次程序设计的主要内容主要分为如下的几个模块:当前时间的获取并显示,码制转换,设定闹钟报鸣的时间,不同频率的闹铃声,钟表的绘制和并实现动态等模块。
其中钟表的绘制和动态走动部分比较难是本次课程设计的提高部分,且改模块可单独形成一个模块,所以放到最后进行考虑1时间的获取可以用INT21H的2CH功能,该功能调用DOS时间调用功能,功能号:2CH,小时,分钟,秒数分别保存在,保存的形式是以二进制的形式,故显示时要2码制转化利用ASCII码与二进制码的关系ASCII=二进制+30H3闹钟鸣叫主要利用8254的二号计数器和8255的PB0和PB1来设定4闹钟的表盘,指针的绘制,并实现时针,分针,秒针的走动。
主要通过过图形的画点进行操作,并通过在固定的区域内不断的刷屏来实现
2023/12/24 13:58:35 305KB 实验报告
1
C和指针(PointersonC)(PDF格式,带书签,方便阅读,非常清晰),[美]KennethA.Reek著,徐波译;
人民邮电出版社,C和C++的经典著作
2023/12/23 18:01:32 28.52MB C 指针
1
前言第1章概述1.1宽带无线移动通信系统的发展1.2功率放大器线性化技术简介1.2.1国内外研究现状1.2.2本书的创新性工作1.3本书结构安排第2章功率放大器数学模型2.1功率放大器非线性效应分析2.2非线性效应基带等效分析2.3无记忆功率放大器典型模型2.3.1Saleh模型2.3.2Rapp模型2.3.3多项式模型2.4宽带功率放大器记忆效应分析2.5有记忆功率放大器模型2.5.1Volterra模型2.5.2多项式模型2.5.3Wiener模型2.5.4Hammerstein模型2.5.5并行Hammerstein模型2.5.6神经网络模型2.6本章小结第3章功率放大器非线性对传输信号的影响3.1非线性的时域及频域分析3.1.1谐波失真3.1.2互调失真3.1.3交调失真3.1.4AM/AM和AM/PM畸变3.2功率放大器非线性对多载波信号功率谱的影响3.2.1无记忆模型功率谱的解析表达3.2.2有记忆模型功率谱的解析表达3.2.3仿真及分析3.3功率放大器非线性对多载波信号符号率的影响3.3.1误符号率的解析表达3.3.2仿真及分析3.4功率放大器非线性评价指标3.4.1分贝压缩点功率3.4.2三阶互调系数3.4.3三阶截断点3.4.4交调系数3.4.5输入及输出回退3.4.6系统性能总损耗3.5本章小结第4章宽带功率放大器预失真技术简介4.1数字预失真技术综述4.2预失真技术基本原理4.3非自适应性预失真技术4.3.1方案概述4.3.2特性曲线的测量4.4射频自适应预失真技术4.5中频自适应预失真技术4.6基带自适应数字预失真技术4.7本章小结第5章宽带功率放大器预失真估计结构5.1直接学习结构5.2间接学习结构5.2.1基于IDLA的新算法5.2.2仿真及分析5.3本章小结第6章基于查询表的数字预失真6.1查询表预失真方法综述6.1.1查询表形式6.1.2查询表的指针方式6.1.3查询表地址索引方式6.1.4查询表自适应算法6.1.5查询表预失真方法的不足6.2无记忆查询表预失真方法6.2.1常规查询表预失真算法6.2.2改进的查询表预失真方法6.3有记忆查询表预失真方法6.3.1一维查询表预失真方法6.3.2二维查询表预失真方法6.4本章小结第7章基于多项式的数字预失真7.1多项式预失真方法综述7.1.1多项式模型7.1.2多项式自适应算法7.1.3多项式预失真方法的不足7.2多项式形式的选择7.2.1预失真多项式形式7.2.2正交多项式模型7.3无记忆多项式预失真方法7.3.1分段无记忆多项式预失真方法7.3.2直接学习结构递推系数估计方法7.3.3间接学习结构系数估计方法7.3.4正交多项式预失真方法7.3.5动态系数多项式预失真方法7.4有记忆多项式预失真方法7.4.1分段有记忆多项式预失真方法7.4.2归一化最小均方系数估计方法7.4.3广义归一化梯度下降系数估计方法7.4.4广义记忆多项式预失真方法7.4.5分数阶记忆多项式预失真方法7.4.6Hammerstein预失真方法7.5本章小结第8章宽带功率放大器预失真方案设计8.1数字预失真系统设计8.2反馈环路延迟估计8.2.1常规环路延迟估计方法8.2.2提出的环路延迟估计方法8.2.3仿真分析8.3PAPR降低技术与预失真8.3.1问题引出8.3.2PAPR降低技术8.3.3限幅对OFDM信号预失真性能的影响8.3.4PAPR降低技术与PA线性化的内在联系8.4宽带功率放大器的有效阶估计8.5关于硬件实现8.5.1非自适应预失真硬件实现8.5.2自适应数字预失真硬件实现8.6宽带功率放大器预失真新理论与技术8.6.1功率放大器预失真新理论8.6.2功率放大器预失真新技术8.7本章小结参考文献附录A符号表附录B缩略语
2023/12/19 1:19:29 18.5MB 预失真
1
《VisualC++实用教程(第3版)》图书目录:第1部分实用教程第1章基本C++语言1.1C++程序结构1.2数据类型和基本输入/输出1.3运算符和表达式1.4基本语句1.5函数和预处理1.6构造类型1.7指针和引用第2章C++面向对象程序设计2.1类和对象2.2继承和派生类2.3多态和虚函数2.4运算符重载2.5输入/输出流库第3章MFC基本应用程序的建立3.1Windows编程基础3.2编制一个MFC应用程序3.3使用MFCAppWizard3.4使用类向导第4章对话框和常用控件4.1对话框的使用
2023/12/13 16:27:01 7.17MB 郑阿奇 电子工业
1
01-QtCreator的安装和helloworld程序的编写02-QtCreator编写多窗口程序03-QtCreator登录对话框04-QtCreator添加菜单图标05-QtCreator布局管理器的使用06-QtCreator实现文本编辑07-QtCreator实现文本查找08-QtCreator实现状态栏显示09-QtCreator中鼠标键盘事件的处理实现自定义鼠标指针11-20Qt2D绘图21-27Qt数据库29-36Qt网络
2023/12/12 21:27:43 24.57MB Qt培训详细教程(含2个项目源码)
1
共 311 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡