《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
本框架提供了有关粒子群算法(PSO)和遗传算法(GA)的完整实现,以及一套关于改进、应用、测试、结果输出的完整框架。
本框架对粒子群算法与遗传算法进行逻辑解耦,对其中的改进点予以封装,进行模块化,使用者可以采取自己对该模块的改进替换默认实现组成新的改进算法与已有算法进行对比试验。
试验结果基于Excel文件输出,并可通过设定不同的迭代结束方式选择试验数据的输出方式,包括:1.输出随迭代次数变化的平均达优率数据(设定终止条件区间大于0)。
2.输出随迭代次数变化的平均最优值数据(设定终止条件区间等于0)。
本框架了包含了常用基准函数的实现以及遗传算法与粒子群算法对其的求解方案实现和对比,如TSP,01背包,Banana函数,Griewank函数等。
并提供大量工具方法,如KMeans,随机序列生成与无效序列修补方法等等。
对遗传算法的二进制编码,整数编码,实数编码,整数序列编码(用于求解TSP等),粒子群算法的各种拓扑结构,以及两种算法的参数各种更新方式均有实现,并提供接口供使用者实现新的改进方式并整合入框架进行试验。
其中还包括对PSO进行离散化的支持接口,和自己的设计一种离散PSO方法及其用以求解01背包问题的实现样例。
欢迎参考并提出宝贵意见,特别欢迎愿意协同更新修补代码的朋友(邮箱starffly@foxmail.com)。
代码已作为lakeast项目托管在GoogleCode:http://code.google.com/p/lakeasthttp://code.google.com/p/lakeast/downloads/list某些类的功能说明:org.lakest.common中:BoundaryType定义了一个枚举,表示变量超出约束范围时为恢复到约束范围所采用的处理方式,分别是NONE(不处理),WRAP(加减若干整数个区间长度),BOUNCE(超出部分向区间内部折叠),STICK(取超出方向的最大限定值)。
Constraint定义了一个代表变量约束范围的类。
Functions定义了一系列基准函数的具体实现以供其他类统一调用。
InitializeException定义了一个代表程序初始化出现错误的异常类。
Randoms类的各个静态方法用以产生各种类型的随机数以及随机序列的快速产生。
Range类的实现了用以判断变量是否超出约束范围以及将超出约束范围的变量根据一定原则修补到约束范围的方法。
ToStringBuffer是一个将数组转换为其字符串表示的类。
org.lakeast.ga.skeleton中:AbstractChromosome定义了染色体的公共方法。
AbstractDomain是定义问题域有关的计算与参数的抽象类。
AbstractFactorGenerator定义产生交叉概率和变异概率的共同方法。
BinaryChromosome是采用二进制编码的染色体的具体实现类。
ConstantFactorGenerator是一个把交叉概率和变异概率定义为常量的参数产生器。
ConstraintSet用于在计算过程中保存和获取应用问题的各个维度的约束。
Domain是遗传算法求解中所有问题域必须实现的接口。
EncodingType是一个表明染色体编码类型的枚举,包括BINARY(二进制),REAL(实数),INTEGER(整型)。
Factor是交叉概率和变异概率的封装。
IFactorGenerator参数产生器的公共接口。
Population定义了染色体种群的行为,包括种群的迭代,轮盘赌选择和交叉以及最优个体的保存。
org.lakeast.ga.chromosome中:BinaryChromosome二进制编码染色体实现。
IntegerChromosome整数编码染色体实现。
RealChromosome实数编码染色体实现。
SequenceIntegerChromosome整数序列染色体实现。
org.lakeast.pso.skeleton中:AbstractDomain提供一个接口,将粒子的位置向量解释到离散空间,同时不干扰粒子的更新方式。
AbstractF
2024/10/11 21:51:28 1.42MB 遗传算法 粒子群算法 GA PSO
1
STM32F030基于MDK5的工程模板,主要初始化GPIO,以及操作串口,基于中断,通过AT指令操作外部GSM模块。
使用ST驱动库
2024/10/11 15:24:12 5.7MB STM32 嵌入式
1
[图书简介] 本书是一本c#编程方面的优秀教材,全面介绍了c#编程的原理和方法,涉及类与对象、控制语句、方法、数组、继承、多态、异常处理、gui、多线程、多媒体、xml、数据库与sql、asp.net、web服务、网络、查找与排序、数据结构、泛型、集合等基本概念及应用方法。
本书介绍最新c#版本visualc#2008的关键新特性,包括linq特性、使用linqtosql的数据库、wpfgui和图形、wcfweb服务、asp.net3.5与asp.netajax、silverlight2技术、支持linq的新语言特性、隐式类型局部变量和自实现属性。
.  本书可作为高等院校相关专业的编程语言教材和c#编程教材,也是软件设计人员进行c#程序开发的宝贵参考资料。
...[图书目录]第1章计算机、internet与visualc#简介.1.1简介1.2什么是计算机1.3计算机组织1.4个人计算、分布式计算与客户/服务器计算1.5硬件发展趋势1.6microsoft的windows操作系统1.7机器语言、汇编语言和高级语言1.8visualbasic1.9c、c++和java1.10visualc#1.11其他高级语言1.12结构化编程1.13关键软件发展趋势:对象技术1.14internet与万维网1.15xml1.16microsoft的.net1.17.net框架与公共语言运行环境1.18尝试c#高级绘图程序1.19(必读)软件工程案例研究:对象技术与uml简介.1.20总结1.21web资源第2章visualc#2008express简介2.1简介2.2visualstudio2008ide概述2.3菜单栏与工具栏2.4visualstudioide导航2.5使用帮助2.6用可视编程生成简单程序,显示文本与图形2.7总结2.8web资源第3章c#程序简介3.1简介3.2简单c#程序:显示一行文本3.3在visualc#express中创建简单程序3.6另一个c#程序:整数相加第4章类与对象简介4.1简介4.2类、对象、方法、属性和实例变量4.3声明带方法的类和实例化类的对象4.4声明带参数的方法4.5实例化变量与属性4.6带属性的uml类框图4.7带属性和set与get访问方法的软件工程4.8自实现属性4.9值类型与引用类型4.10用构造函数初始化对象4.11浮点数与decimal类型4.12(选读)软件工程案例研究:确定atm需求文档中的类4.13总结第5章控制语句:第一部分5.1简介5.2算法5.3伪代码5.4控制结构5.5订单选择语句5.6ifelse双选择结构5.7while重复语句5.8构造算法:计数器控制重复5.9构造算法:标记控制重复5.10构造算法:嵌套控制语句5.11复合赋值运算符5.12自增和自减运算符5.13简单类型5.14(选读)软件工程案例研究:确定atm系统的类属性5.15总结第6章控制语句:第二部分6.1简介6.3for循环语句6.4for循环使用举例6.5dowhile重复语句6.6switch多选择语句6.7break与continue语句6.8逻辑运算符6.9结构化编程小结6.10(选读)软件工程案例研究:确定atm系统中对象的状态和活动6.11总结第7章方法详述7.1简介7.2c#代码包装7.3静态方法,静态变量和math类7.4声明多参数方法7.3关于方法声明与使用7.6方法调用堆栈与激活记录7.7变元提升与类型转换7.8.net框架类库7.9案例研究:随机数生成7.10案例研究:机会游戏(引入枚举)7.11声明作用域7.12方法重载7.13递归7.14按值与按引用传递变元7.15(选读)软件工程案例研究:确定atm的类操作7.16总结第8章数组8.1简介8.2数组8.3声明与创建数组8.4数组使用举例8.5案例研究:洗牌与发牌模拟8.6foreach语句8.7将数组与数组元素传人方法8.8按值与按引用传递数组8.9案例研究:gradebo
2024/10/11 0:26:29 368.19MB C#
1
基于access数据库的考勤管理,该系统主要分为五大功能:系统管理、新增、修改、查询和系统维护。
员工信息管理功能模块包括新增员工的信息,修改员工信息,查询员工信息。
该功能模块是对系统的初始化,对员工有基本信息进行管理和维护。
考虑到单位人较多,设置了员工基本信息查询,操作人员可以按员工编号、姓名和部门进行查询,并对查询结果进行维护,从面减少了操作人员的工作强度。
该模块的主要功能是对该单位的员工的基本信息进行管理,并能够对员工的基本信息进行查询,便于修改和删除。
2024/10/9 7:25:11 1.77MB 考勤 access
1
该项目是用原生方法来实现,客户端采集传感器发送过来的数据,然后发送给服务端,服务端接收到的数据进行入库。
所有的参数通过xml配置文件获取,然后用Dom解析xml,通过反射的方法初始化各个对象。
包括有采集模块,网络模块,入库模块,备份模块,日志模块,配置模块,GUI模块等
2024/10/8 0:49:32 1.91MB JavaEE Oracle Log4j
1
想要彻底理解C++11和C++14,不可止步于熟悉它们引入的语言特性(例如,auto型别推导、移动语义、lambda表达式以及并发支持)。
挑战在于高效地运用这些特性——从而使你的软件具备正确性、高效率、可维护性和可移植性。
这正是这本实用的图书意欲达成的定位。
它描述的正是使用C++11和C++14——现代C++来撰写真正卓越的软件之道。
涵盖以下主题:大括号初始化、noexcept规格、完美转发,以及智能指针的make函数的优缺点std::move、std::forward、右值引用和万能引用之间的联系撰写整洁、正确以及高效的lambda表达式的方法std::atomic和volatile有怎样的区别,它们分别用于什么场合,以及它们和C++的并发API有何联系“旧”C++程序设计(即C++98)中的最佳实践要求在现代C++的软件开发中作出哪些...
2024/10/6 9:17:35 1.79MB C++11 C++14
1
[实验步骤]1.预习ECB模式和CBC模式加密模式的算法。
2.写出算法流程,用程序设计语言将算法过程编程实现。
3.输入指定的明文、密钥或初始化向量,选择相应的填充模式,输出密文,验证结果。
4.自己选择不同的输入,记录输出结果。
2024/10/5 17:50:24 3KB ECB CBC 程序 代码
1
广工计算机网络课设;
1.已知参数:目的节点IP地址或主机名2.设计要求:通过原始套接字编程,模拟Ping命令,实现其基本功能,即输入一个IP地址或一段IP地址的范围,分别测试其中每个IP地址所对应主机的可达性,并返回耗时、生存时间等参数,并统计成功发送和回送的Ping报文。
2.1初始化WindowsSockets网络环境;
2.2解析命令行参数,构造目的端socket地址;
2.3定义IP、ICMP报文;
2.4接收ICMP差错报文并进行解析。
3.程序实现主要用到Java网络包中的类InetAddress。
2024/10/3 11:40:03 462KB Ping
1
对接真实数据从0开发前后端分离企业级上线项目课程介绍与开发前的准备工作、开发环境搭建与开发工具使用技巧、项目初始化与基于模块化的脚手架搭建、项目通用功能开发、用户模块开发、商品模块开发、购物车模块开发、订单模块开发、支付模块开发、后台管理系统介绍(附赠内容)、数据统计和SEO优化、课程总结与下期内容展望、线上环境配置与项目自动化发布项目上线效果请浏览:www.lqsxww.cn
2024/9/30 11:10:20 116B 前端 企业级电商 webpack nodejs
1
共 651 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡