《C和指针》提供与C语言编程相关的全面资源和深入讨论。
《C和指针》通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。
书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。
第1章 快速上手1.1 简介1.1.1 空白和注释1.1.2 预处理指令1.1.3 main函数1.1.4 read_column_numbers函数1.1.5 rearrange函数1.2 补充说明1.3 编译1.4 总结第2章 基本概念2.1 环境2.1.1 翻译2.1.2 执行2.2 词法规则2.2.1 字符2.2.2 注释2.2.3 自由形式的源代码2.2.4 标识符2.2.5 程序的形式2.3 程序风格2.4 总结第3章 数据3.1 基本数据类型3.1.1 整型家族3.1.2 浮点类型3.1.3 指针3.2 基本声明3.2.1 初始化3.2.2 声明简单数组3.2.3 声明指针3.2.4 隐式声明3.3 typedef3.4 常量3.5 作用域3.5.1 代码块作用域3.5.2 文件作用域3.5.3 原型作用域3.5.4 函数作用域3.6 链接属性3.7 存储类型3.8 static关键字3.9 作用域、存储类型示例3.10 总结第4章 语句4.1 空语句4.2 表达式语句4.3 代码块4.4 if语句4.5 while语句4.5.1 break和continue语句4.5.2 while语句的执行过程4.6 for语句4.7 do语句4.8 switch语句4.8.1 switch中的break语句4.8.2 default子句4.8.3 switch语句的执行过程4.9 goto语句4.10 总结第5章 操作符和表达式5.1 操作符5.1.1 算术操作符5.1.2 移位操作符5.1.3 位操作符5.1.4 赋值5.1.5 单目操作符5.1.6 关系操作符5.1.7 逻辑操作符5.1.8 条件操作符5.1.9 逗号操作符5.1.10 下标引用、函数调用和结构成员5.2 布尔值5.3 左值和右值5.4 表达式求值5.4.1 隐式类型转换5.4.2 算术转换5.4.3 操作符的属性5.4.4 优先级和求值的顺序5.5 总结第6章 指针6.1 内存和地址6.2 值和类型6.3 指针变量的内容6.4 间接访问操作符6.5 未初始化和非法的指针6.6 NULL指针6.7 指针、间接访问和左值6.8 指针、间接访问和变量6.9 指针常量6.10 指针的指针6.11 指针表达式6.12 实例6.13 指针运算6.13.1 算术运算6.13.2 关系运算6.14 总结第7章 函数7.1 函数定义7.2 函数声明7.2.1 原型7.2.2 函数的缺省认定7.3 函数的参数7.4 ADT和黑盒7.5 递归7.5.1 追踪递归函数7.5.2 递归与迭代7.6 可变参数列表7.6.1 stdarg宏7.6.2 可变参数的限制7.7 总结第8章 数组8.1 一维数组8.1.1 数组名8.1.2 下标引用8.1.3 指针与下标8.1.4 指针的效率8.1.5 数组和指针8.1.6 作为函数参数的数组名8.1.7 声明数组参数8.1.8 初始化8.1.9 不完整的初始化8.1.10 自动计算数组长度8.1.11 字符数组的初始化8.2 多维数组8.2.1 存储顺序8.2.2 数组名8.2.3 下标8.2.4 指向数组的指针8.2.5 作为函数参数的多维数组8.2.6 初始化8.2.7 数组长度自动计算8.3 指针数组8.4 总结第9章 字符串、字符和字节9.1 字符串基础9.2 字符串长度9.3 不受限制的字符串函数9.3.1 复制字符串9.3.2 连接字符串9.3.3 函数的返回值9.3.4 字符串比较9.4 长度受限的字符串函数9.5 字符串查找基础9.5.1 查找一个字符9.5.2 查找任何几个字符9.5.3 查找一个子串9.6 高级字符串查找9.6.1 查找一个字符串前缀9.6.2 查找标记9.7 错误信息9.8 字符操作9.8.1 字符分类9.8.2 字符转换9.9 内存操作9.10 总结第10章 结构和联合10.1 结构基础知识10.1.1 结构声明10.1.2 结构成
2024/10/13 3:32:42 29.13MB c和指针 pdf 下载 编程
1
IEC61850协议是一系列规则的集合,它详细描述了分层的变电站通信体系。
在IEC61850中,数据的描述用服务器(Server)、逻辑设备(LD)、逻辑节点(LN)、数据对象(DO)、数据对象属性(DataAttribute)来构建。
这种分层结构可以将设备的所有信息以标准化的格式描述出来,保证来自不同厂商的设备可以读懂对方的配置信息,实现互操作性。
2024/10/10 12:32:50 13.97MB 智能变电站 IEC61850
1
某国际展览中心共40层限定条件(1)电梯的运行规则是:可到达每层。
(2)每部电梯的最大乘员量均为K人(K值可以根据仿真情况在10~18人之间确定)。
(3)仿真开始时,各电梯随机地处于其符合运行规则的任意一层,为空梯。
(4)仿真开始后,有N人(0<N<1000)在M分钟(0<M<10)内随机地到达该国际展览中心的1层,开始乘梯活动。
(5)每位乘客初次所要到达的楼层是随机的,令其在合适的电梯处等待电梯到来。
(6)每位乘客乘坐合适的电梯到达指定楼层后,随机地停留10-120秒后,再随机地去往另一楼层,依此类推,当每人乘坐过L次(每人的L值不同,在产生乘客时随机地在1~10次之间确定)电梯后,第L+1次为下至底层并结束乘梯行为。
到所有乘客结束乘梯行为时,本次仿真结束。
(7)电梯运行速度为S秒/层(S值可以根据仿真情况在1~5之间确定),每人上下时间为T秒(T值可以根据仿真情况在2~10之间确定)。
(8)电梯运行的方向由先发出请求者决定,不允许后发出请求者改变电梯的当前运行方向,除非是未被请求的空梯。
(9)当某层有乘客按下乘梯电钮时,优先考虑离该层最近的、满足条件(8)、能够最快到达目标层的电梯。
(10)不允许电梯超员。
2024/10/8 17:14:49 51KB 电梯仿真
1
扩充的语法规则有:实现while、dowhile、for语句、大于>比较运算符号以及求余计算式子,具体文法规则自行构造。
可参考:P97及P136的文法规则。
(1)While-stmt-->whileexpdostmt-sequenceendwhile(2)Dowhile-stmt-->dostmt-sequencewhile(exp);(3)for-stmt-->foridentifier:=simple-exptosimple-expdostmt-sequenceenddo步长递增1(4)for-stmt-->foridentifier:=simple-expdowntosimple-expdostmt-sequenceenddo步长递减1(5)大于>比较运算符号以及求余计算式子的文法规则请自行组织。
(6)把TINY语言原有的if语句书写格式if_stmt-->ifexpthenstmt-sequenceend||ifexpthenstmt-sequenceelsestmt-sequenceend改写为:if_stmt-->if(exp)stmt-sequenceelsestmt-sequence|if(exp)stmt-sequence二、要求:(1)要提供一个源程序编辑界面,以让用户输入源程序(可保存、打开源程序)(2)可由用户选择是否生成语法树,并可查看所生成的语法树。
(3)应该书写完善的软件文档
2024/10/8 3:46:40 145KB TINY 语法分析 华南师范大学
1
GPS获得垂直分量是基于参考椭球的大地高,它与工程中需要的正常高有一差值,即高程异常。
而由于大地水准面的不规则性,使GPS获得的垂直信息使用受到了限制。
进行GPS高程拟合,通过己知点的高程异常值推求未知点的高程异常值,进而求得未知点的正常高是目前转换GPS高程的主要方法。
BP网络由于其自组织、自适应的特点被广泛应用于GPS高程拟合中。
2024/10/7 4:57:42 1.82MB 高程拟合
1
weka是一款由Waikato大学研究的基于Java的用于数据挖掘和知识发现的开源项目,其中集成了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理、关联规则挖掘、分类、聚类等,并提供了丰富的可视化功能。
同时,由于其是一款开源软件,所以也可以用于数据挖掘的二次开发和算法研究。
文章介绍了利用开源软件WEKA作为数据挖掘工具,通过Apriori算法,对高校图书馆流通历史数据进行挖掘分析。
2024/10/6 14:17:03 166KB 数据挖掘实例 weka 关联规则算法
1
###《对象入门指南》第二版——面向对象软件开发的全面介绍####知识点一:面向对象编程(OOP)的概念及其优势**标题**:“TheObjectPrimer2ndEdition”**描述**:这本书是面向对象(OO)软件的一种结构化步骤介绍,采用教学风格编写,易于初学者阅读。
面向对象编程是一种编程范式,它通过“对象”来组织代码结构。
这些对象通常包含了数据和可以操作这些数据的方法。
《对象入门指南》第二版为读者提供了深入理解面向对象编程的基础知识和实践技巧。
该书强调了OOP的主要优势,包括但不限于:-**增加重用性**:通过继承机制,新类可以从现有类中继承属性和方法,从而减少了重复编码的需求。
-**增强可扩展性**:面向对象设计允许在不影响其他部分的情况下轻松添加新的功能或修改现有功能。
-**提高质量**:封装机制有助于保护数据不被外部访问,从而提高了代码的健壮性和安全性。
-**经济效益**:由于提高了代码质量和开发效率,长期来看能够降低项目的总成本。
-**提高项目成功率**:良好的设计和结构化流程有助于确保项目的顺利进行。
-**减轻维护负担**:模块化的代码更易于理解和修改,降低了维护成本。
-**减少应用程序积压**:更快的开发周期意味着可以更快地处理更多任务。
-**管理复杂度**:通过抽象、封装等技术,OOP帮助开发者更好地管理复杂的系统。
####知识点二:面向对象软件过程与标准**标题**:“TheObjectPrimer2ndEdition”**描述**:本书是一本关于面向对象软件开发的指南,涵盖了从概念到实现的整个过程。
面向对象软件开发不仅涉及编程技术,还包括整个软件开发生命周期中的多个阶段。
《对象入门指南》第二版探讨了面向对象软件过程的关键组成部分,如需求分析、设计、实现、测试和维护。
此外,书中还提到了几个重要的面向对象标准,例如统一建模语言(UML),这是一种广泛使用的图形化语言,用于软件系统的可视化建模。
UML提供了一套标准化的符号和规则,帮助开发者清晰地表达软件设计的各个方面,包括但不限于:-**类图**:描述类、接口和它们之间的关系。
-**序列图**:展示对象之间如何交互以及消息传递的时间顺序。
-**活动图**:描述工作流或业务流程。
-**组件图**:展示系统中物理构件的组织结构。
-**部署图**:显示系统中硬件节点以及节点上运行的软件构件的配置情况。
####知识点三:面向对象编程的挑战与未来发展**标题**:“TheObjectPrimer2ndEdition”**描述**:本书讨论了面向对象编程的潜在缺点以及其在软件开发领域的持久影响力。
虽然面向对象编程带来了许多优势,但它也有一些潜在的挑战。
例如,过度依赖继承可能导致系统变得僵化,难以适应未来的变化。
此外,面向对象设计的复杂性有时可能对新手开发者构成挑战。
不过,《对象入门指南》第二版强调了面向对象编程的重要性和持久性,认为它将继续作为软件开发的核心方法论之一存在和发展。
随着技术的进步,面向对象方法也在不断演进,例如引入领域驱动设计(DDD)、微服务架构等新理念和技术,以更好地解决现代软件工程中的问题。
《对象入门指南》第二版不仅是一本适合初学者的面向对象编程入门书籍,也为经验丰富的开发者提供了深入理解和应用面向对象设计原则的机会。
通过学习本书,读者将能够掌握面向对象编程的基本概念、优势、挑战以及面向对象软件开发过程中的最佳实践。
2024/10/5 10:13:01 397KB UML Object Oriented
1
SimLabComposer9中文版是用于3D设计和逼真场景的多功能软件,它具有集成的图形环境,用于设计真实的物理场景和对象,SimLabComposer9的一个重要亮点是能够建立和分享3DPDF文件,用户能够通过WebGL或Android平台、iPad共享3D场景,实时展现现场变化,随时访问最终模型,此外,SimLabComposer9还可以创建漂亮的动画,用于专门的动画设计,用户可以使用该软件中的工具从事简单到复杂的设计。
SimLabComposer2018中文版SimLabComposer2018中文版SimLabComposer9的功能和特点:1.模型分享通过simlab,您可以和任何人在任何硬件环境下分享3D模型、交互规则和相关工作模板,simlab将采取最安全、简便的方式来实现,比如通过3D-PDF文件、WebGL、IOS/安卓等轻量化方式,在这种方式下,其余参与方并不需要再采购其它任何第三方软件了。
2.模型渲染Simlab可以为室内设计师和建筑师的模型提供实时、高效率、高质量的渲染,并且提供一系列丰富的材质库,同时也支持灯光、内置贴图等渲染必备利器。
3.动画制作Simlab能够快速制作3D漫游动画、机械运动动画、构件装配动画等各类型3D模型的动画。
4.贴图烘焙Simlab支持快速创建贴图烘焙,能够在短时间内让您的场景达到出乎意料的效果。
5.场景模拟Simlab能够创建多种类型的模拟场景,同时也支持给多种模型场景赋予不同交互规则。
6.VRSimlab能够将工程师的模型快速的转换成完整的带交互功能的VR场景,用户可以通过HTCVIVE、OculusRift或者各类移动端VR设备来查看所创建的VR场景。
SimLabComposer9是一个易于使用的应用程序,但一个非常强大的一个软件。
允许用户整合来自不同平台/格式的几何物体,以方便快速地创建各种场景。
允许的平台/格式包括:Rhino,IGES,STEP,Solidwords,SketchUp,3DXML,FBX,3DS,OBJ,U3D,和3DPDF。
这个特性能够极大的帮助开发者互动地创建高级3D场景模型,并借助COLLADA实现资源共享,以及通过PDF3D格式维护场景创建的组合结构。
硬件和软件规格:Intel或AMD处理器Windows64位(7,8或10)任何256MB或更多的显卡(专用或共享)2GB或更多内存2GB的可用硬盘空间显示器分辨率为1440X900或更高
2024/10/3 21:41:23 225.83MB 轻量化渲染系统
1
通过某种装置对交流电压的有效值进行调整叫做交流调压。
交流调压的方式一般分为三种:相控式、斩波式、通断式。
第一种的电路一般由晶闸管构成,通过改变控制角实现调压。
第二种又叫交流斩波器,一般要用全控型器件来实现。
第三种也叫功率控制器,主电路也相控电路相似,但控制规则不同。
本节只讨论相控式交流调压。
2024/10/3 1:48:24 187KB 交流
1
用matlab写成的元胞自动机,gui界面,yb是主函数,用鼠标绘制初始状态。
live和born可以选择0到8,并且可以多选,所以包含了元胞自动机的全部规则。
run,stop功能。
2024/10/2 15:25:57 2KB 元胞自动机 lifegame MATLAB GUI
1
共 783 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡