tag 标签: c语言

相关博文
  • 热度 1
    2024-10-22 22:47
    2028 次阅读|
    0 个评论
    简介 ST语言,全称为结构化文本(Structured Text),是一种高级编程语言,专为工业自动化和控制系统设计。 我们学习PLC一般是用梯形图,梯形图学会后,学习SFC,但是我发现梯形图和SFC虽然简单,但是做大一点的项目比较复杂就有点乱,然后我就想有没有和单片机一样,用类似C语言的方法,来对PLC编程,然后我就发现可以使用ST语言(结构化文本)来对PLC编程,可以用类似C语言的语法来编程 进行了几个星期的了解和学习之后,我将学习的一些心得和方法写下来。同时可以给入门PLC的同学,提供一个新的、方便的方法。文章可能有些地方有问题,欢迎大家指正,大家可以一起交流、学习! ST语言的通用性 ST语言介绍 (一)工程选择 我们使用GX Works2软件,工程类型选择结构化工程,程序语言分为两种,一种是FBD结构化梯形图,一种是ST FBD是梯形图和ST共同使用,ST则是完全使用ST语言 为了学习,我们完全使用ST语言 (二)页面选择 页面分为标签设置和程序本体,标签设置可以理解为存放变量和设置函数的地方,程序本体则是写代码的地方 (三)操作符 (四)指令和关键词 ST语言计数器、定时器 我们通过数据类型可以看到FB所有的指令,通过学习里面的指令,可以学习到重要的功能,如检测上下沿、计数器、定时器等... (一)加、减计数器。CTD减计数器、CTU加计数器 CTD和CTU所需的参数差不多,可以参考我的模板,模板可以实现Y001亮一次就计一次,10次后清空重置 ===CTU=== 【CU】计数器+1 【RESET】复位计数值 【PV】设定计数值 【Q】输出,数值到达设定值后,导通 【CV】当前计数值 ===CTD=== 【CD】计数器-1 【LOAD】复位计数值 【PV】设定计数值 【Q】输出,数值到达设定值后,导通 【CV】当前计数值 (二)通电延时、断电延时定时器。TON通电延迟、TOF断电延迟 TON和TOF所需的参数一样,TON通电延时是:设定时间到才通电。TOF断电延时是:设定时间内一直通电,设定时间到断电 我的模板可以实现LED闪烁0.5秒/次 ===TON/TOF=== 【IN】定时器开始工作 【PT】设定时间:开头以T#,后面接时间,单位S/MS 【Q】定时时间到,通电/断电 【ET】当前计时时间(需要创建一个Time的数据类型,用于保存时间) ST语言常用命令 这一部分就和c语言非常类似了,一样用if、for、while等函数,如果有编程语言基础,应该很快上手 (一)赋值 C语言中的赋值是 "=",在ST语言是 ":=",注意要加个英文的冒号 ":" 对于PLC来说,我们可以直接将灯、按钮、辅助继电器等元器件直接赋值0或1,相当于控制开启或关闭,非常的方便 (二)IF判断语句 注意IF语句的判断语句中,不用c语言的"=="而是用一个"="即可 执行语句后要加分号";" 还有一个区别是判断语句后面要加 "THEN",末尾则是 "END_IF" 可以参考我的模板,可以实现按下按钮X001,Y001灯亮,抬起按钮则Y001灯灭 (二)FOR循环语句 FOR语句,首先定义一个数的初值,如D50:=0,TO是结束值,BY是每次增加的数,DO是固定加在最后的 我的模板实现,每次D100会自己加101,因为每次循环由D50从1加到100的过程,D100在100次循环就从1加到101,所以FOR完整一次循环D100会加101每次 (三)WHILE循环语句 WHILE语句相对来说比较简单,但是注意WHILE循环不能进入死循环,否则PLC会报错不执行 模板程序可以实现M10 = 1时,D10自加到5000则跳出循环 (四)注释 注释对于写代码来说,非常重要,程序多起来,可能前面写了什么都忘光了 ST语言的注释 (*注释注释*) 总结 通过本文,可以对新手朋友们对ST语言有个大概的了解,当然ST语言的内容有非常多,一篇文章肯定讲不完,里面很多函数都和C语言类似,稍微变通一下就可以学会 ST语言、SFC、梯形图各有各的优缺点,大家可以根据自己的需求和项目开发要求,选择合适自己的语言 我推荐大家是先入门简单的梯形图、SFC后再学习ST语言,这样可以更好的了解PLC,更好的完成项目
  • 热度 4
    2024-4-16 17:03
    450 次阅读|
    0 个评论
    嵌入式开发中常用的C语言工具代码确实很重要。以下是一些利剑级别的C语言工具代码示例,以及它们的简要讲解。 1、循环队列(Circular Buffer) typedef struct { int buffer ; int head; int tail; int count; } CircularBuffer; void push(CircularBuffer *cb, int data) { count < SIZE) { head] = data; head + 1) % SIZE; count++; } } int pop(CircularBuffer *cb) { 0) { tail]; tail + 1) % SIZE; count--; return data; } return -1; // Buffer is empty } 循环队列是一种高效的数据结构,适用于缓冲区和数据流应用,例如串口通信接收缓冲。 2、断言 (Assertion) #define assert(expression) ((void)0) #ifndef NDEBUG #undef assert #define assert(expression) ((expression) ? (void)0 : assert_failed(__FILE__, __LINE__)) #endif void assert_failed(const char *file, int line) { printf("Assertion failed at %s:%d\n", file, line); // Additional error handling or logging can be added here } 断言用于在程序中检查特定条件是否满足,如果条件为假,会触发断言失败,并输出相关信息 3、位域反转 (Bit Reversal) unsigned int reverse_bits(unsigned int num) { unsigned int numOfBits = sizeof(num) * 8; unsigned int reverseNum = 0; for (unsigned int i = 0; i < numOfBits; i++) { if (num & (1 << i)) { reverseNum |= (1 << ((numOfBits - 1) - i)); } } return reverseNum; } 该函数将给定的无符号整数的位进行反转,可以用于某些嵌入式系统中的位级操作需求。 4、固定点数运算 (Fixed-Poin Arithmetic) typedef int16_t fixed_t; #define FIXED_SHIFT 8 #define FLOAT_TO_FIXED(f) ((fixed_t)((f) * (1 << FIXED_SHIFT))) #define FIXED_TO_FLOAT(f) ((float)(f) / (1 << FIXED_SHIFT)) fixed_t fixed_multiply(fixed_t a, fixed_t b) { FIXED_SHIFT); } 在某些嵌入式系统中,浮点运算会较慢或不被支持。因此,使用固定点数运算可以提供一种有效的浮点数近似解决方案。 5、字节序转换 (Endianness Conversion) 8) | (value << 8); } 用于在大端(Big-Endian)和小端(Little-Endian)字节序之间进行转换的函数。 6、位掩码 (Bit Masks) #define BIT_MASK(bit) (1 << (bit)) 用于创建一个只有指定位被置位的位掩码,可用于位操作。 7、计数器计数 (Timer Counting) #include void setup_timer() { // Configure timer settings } uint16_t read_timer() { return TCNT1; } 在AVR嵌入式系统中,使用计时器(Timer)来实现时间测量和定时任务。 8、二进制查找 (Binary Search) int binary_search(int arr == target) { return mid; } else if (arr < target) { left = mid + 1; } else { right = mid - 1; } } return -1; // Not found } 用于在已排序的数组中执行二进制查找的函数。 9、位集合 (Bitset) #include typedef struct { uint32_t bits; } Bitset; void set_bit(Bitset *bitset, int bit) { bits |= (1U << bit); } int get_bit(Bitset *bitset, int bit) { bit) & 1U; } 实现简单的位集合数据结构,用于管理一组位的状态。 这些代码示例代表了嵌入式开发中常用的一些利剑级别的C语言工具代码。它们在嵌入式系统开发中具有广泛的应用,有助于优化性能、节省资源并提高代码的可维护性。 来源地址: https://zhuanlan.zhihu.com/p/653484840 来源 | 知乎-晓亮Albert
  • 热度 7
    2023-9-4 10:04
    642 次阅读|
    0 个评论
    随着 2023.2 的发布, Klocwork 为 C 、 C++ 、 C# 、 Java 和 JavaScript 分析提供了更新和改进。 MISRA C:2012 AMD 2 覆盖率和 DISA STIG ASD C/C++ 高严重性规则覆盖率高达 83% 。还引入了针对 C 语言检查器的附加路径分析。 Validate 平台现在具有增强的问题浏览和筛选功能。 其他增强功能包括改进 Microsoft Visual Studio 插件和 Project Streams in Validate 的稳定性和性能。 审查 Validate 中的问题 现在,您可以通过查看、修改和导航问题搜索列表,更轻松地在 Validate 中查看问题,而无需离开 “Issue Details” 页面。 • 通过新的 “File Navigation” 窗格搜索单个文件并探索问题,该窗格启用在使用相同浏览器时在会话之间持久存在的配置。 其他 Validate 平台改进 • 使用 " 度量元 " 报告 设计器 在 Validate 中编辑阈值 和总度量值 报告定义。 • 利用新的命令行应用程序包,为 Validate 命令提供通用命名。 C/C++ 分析引擎 改进了 C/C++ 的语言功能覆盖率和缺陷检测: • 增强了对 C++14 和 C++17 分析的支持。 • 添加了几个 MISRA 规则并增加了 MISRA C : 2012 (最高 AMD 2 )的覆盖范围。 • 增加了对 DISA STIG 高严重性规则、 CERT 、 OWASP 和 CWE 的覆盖范围,包括为 2022 年 CWE Top 25 最危险的软件弱点添加分类法。 C# 分析引擎 改进了对 C# 8.0 语言规范的支持。新的语言功能支持包括: • 接口中的静态构造函数。 • 接口中的嵌套类型和运算符声明。 • 内插 verbatim 字符串。 • 范围和索引支持 … 和 ^ 运算符。 • 使用新引擎对 C# 检查程序进行额外的路径分析。 Java 分析引擎 扩展了 Java 14 语言规范的覆盖范围。新功能包括: • 改进路径分析检查程序对 Java 14 的支持。 • 100% 覆盖 Jakarta EE 。 JavaScript 分析引擎 • JavaScript 分析支持 . eslintignore 文件 • 用于指定项目目录的 kwjsspec 工具的新选项 ○ --project- dir 编码标准 Klocwork 2023.2 的新标准和扩展标准覆盖范围和 分类标准 : • CERT • CWE – 2022 CWE Top 25 最危险的软件弱点 • DISA STIG v 5 - C/C++ 高严重性规则高达 83% • MISRA – 改进了 MISRA C : 2012 AMD 2 覆盖范围(需要支持人员提供额外实用程序,以实现最大覆盖范围) • OWASP 产品体验改进 Microsoft Visual Studio 插件 使用 Visual Studio 扩展更快地开始分析。 • 在使用 kwcheck 命令作为外部分析引擎时,我们改进了 Visual Studio 扩展的构建规范生成性能。 项目流 改进了大量项目流的 Validate 平台的性能。 • 显示和使用项目流清单所需的时间大大减少。 第三方依赖项 • 软件包中包含 Apache Tomcat 和 Open JDK 的升级版本。 有关新增功能的更多详细信息,请参阅发行说明。 Klockwork 2023.2 的重要变化 许可证管理更改 自 2023.2 起, Klocwork 工具现在使用 Reprise 许可证管理器 ( RLM ) v15.0 。 • 重要提示:升级后的 RLM v15.0 服务器包含在 Klocwork 2023.2 安装中。任何早期的 RLM 服务器都需要升级到此版本才能与 Klocwork 2023.2 及更高版本配合使用。升级到 RLM v15.0 解决了在与服务器连接量较大的情况下 Validate 2023.1 的服务器稳定性可能出现的问题。 • 2022 许可证与 Klocwork 2023.2 不兼容。升级时,请联系 info@polelink.com 以获取新许可证。 2022.4 SR/ 补丁可用 已创建 2021.4 至 2022.4 的补丁,以解决自动删除版本中丢失的引用问题。 Klocwork 2023.1 及更高版本不受影响。 • 使用 2022.4 的所有客户都应升级到该软件的最新版本。 ➡ 体验最新版 Klcwork2023.2: info@polelink.com
  • 热度 11
    2022-10-24 10:51
    1594 次阅读|
    0 个评论
    Klocwork 专为企业 DevOps 和 DevSecOps 而构建,是首选的静态分析和 SAST 工具,用于保持高开发速度,同时还强制实施安全性和质量的持续合规性。在这里,我们分享了开发人员选择Klocwork的五大原因。 为什么安全性对软件开发至关重要? 安全性对于软件开发至关重要,因为黑客和网络犯罪分子一直在寻找将漏洞转化为利益的方法。强大的软件安全防御的一个关键部分是使用安全编码标准,这些标准是用于防止安全漏洞的规则和准则。 如果使用得当,安全编码标准可以检测、预防和消除可能危及安全性的漏洞。行业标准工具(特别是 SAST 工具)可以有效地实施标准,以帮助确保您的软件免受安全漏洞的侵害。 开发人员使用Klocwork实现安全性的五大原因 虽然开发人员最终选择Klocwork进行安全性的原因有很多,但以下是最常被引用的五个原因。 1. 深度覆盖 Klocwork深度覆盖了C,C++,C#,Java,JavaScript,Python和Kotlin的主要编码标准的规则。这包括安全编码标准和准则: CERT CWE OWASP DISA STIG 通过使用Klocwork来分析他们的代码库,开发人员能够更轻松地找到软件漏洞和错误。 此外, Klocwork还集成了 Secure Code Warrior Integration,使开发人员能够访问安全编码培训和其他软件安全工具。 2. 桌面工具套件优先考虑每个检查点的安全性 Klocwork desktop 是高度可定制的,并具有一套工具,可以在每个开发检查点优先考虑安全性,例如开发人员桌面,提交前测试,合并前测试和合并后报告。 这些工具使开发人员能够: • 在编写代码时发现缺陷。 • 签入整洁的代码。 • 定义 QA 和安全目标以及规则配置。 • 生成安全报告。 • 根据严重性、位置和生命周期确定缺陷的优先级。 • 使用智能排名根据缺陷可能性确定修复的优先级,当与问题严重性相结合时,可提供总体漏洞风险评分。 • 区分新问题和旧代码问题。 3. 差异分析 差异分析是一种“快速反馈”静态分析形式,它使用以前分析版本中的系统上下文数据来仅分析新的和已更改的文件。这种类型的分析为开发人员的新代码和变更代码,提供了最短的分析时间,同时还保持了分析数据的准确性和细节。开发人员不用等待几个小时,而是在几分钟或几秒钟内得到结果,这取决于代码变更程度。 在持续集成自动化中,Klocwork的差分分析为开发人员提供了更快的结果,因此可以更频繁地运行安全检查,例如在每次提交时进行检查。 4. 数据流分析 最难发现的问题是具有挑战性的,因为数据通常在函数之间流动并跨文件边界流动。Klocwork跟踪在方法、文件和模块之间流动的数据,以发现漏洞,例如使用受污染或未初始化的数据。 5. 创建自定义规则 Klocwork Checker Studio是一个GUI应用程序,它使开发团队可以使用其优雅的KAST表达式语言轻松实现自己的自定义编码标准。这使开发人员能够调用他们自己的代码库所独有的危险做法。 准备好使用 Klocwork 实现安全性了吗? 如果您已准备好亲眼看看 Klocwork 如何帮助您有效识别安全漏洞, ➡️ 注册免费Klocwork试用版 邮件至info@polelink.com
  • 热度 4
    2022-8-25 09:55
    590 次阅读|
    0 个评论
    飞凌嵌入式 OKMX8MP-C开发板采用NXP i.MX8M Plus高性能处理器开发 ,AI计算能力高达2.3TOPS,可满足轻量级边缘计算需求。同时灵活的I/O接口配置和先进丰富的多媒体资源,方便客户应用程序开发。 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) 在OKMX8MP-C开发板中, 飞凌移植了OpenSSL工具 ,OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。 作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。 今天小编为大家分享一些 OpenSSL在OKMX8MP-C开发板上的简单应用 。 OpenSSL分为 交互模式 和 批处理模式 ,直接输入OpenSSL然后按回车键进入交互模式,输入带命令选项的OpenSSL进入批处理模式。 1 交互模式 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) version: 用来打印版本以及 OpenSSL其他信息。 用法: version- 举例: version-a打印所有信息 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) 版本号和版本发布日期: OpenSSL1.1.1g,2020年4月21日 使用库构建的选项: options 存储证书和私钥的目录: OPENSSLDIR passwd: 生成各种口令密文。 用法: opensslpasswd {password} 举例: passwd-cryp 默认选项,生成标准的unix口令密文。 ​ 编辑 添加图片注释,不超过 140 字(可选) passwd-1 生成md5口令密文。 ​ 编辑 添加图片注释,不超过 140 字(可选) DSA: 用于处理DSA密钥、格式转换和打印信息。 用法: openssldsa 举例: dsaparam -out dsaparam.pem 1024 生成DSA参数文件。 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) gendsa-out dsakey.pem dsaparam.pem 根据DSA参数文件生成DSA密钥。 ​ 编辑 添加图片注释,不超过 140 字(可选) 以上就是交互模式的简单使用方式,下面小编来为大家介绍批处理模式下的一些功能。 2 批处理模式 生成密码功能 openssl rand: 用来产生伪随机字节 用法: openssl rand num -out file 写入文件 -base64 base64编码输出 -hex 16进制编码输出 举例: 以生成base64编码的随机数为例 ​ 编辑 添加图片注释,不超过 140 字(可选) 消息摘要算法应用 openssl dgst: 用于数据摘要 用法: openssl dgst 举例: 用SHA1算法计算文件openssl1.txt的哈希值。 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) 用SHA1算法计算文件openssl1.txt的哈希值,输出到文件sha1.txt。 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) 编解码应用 给文件openssl1.txt用base64编码,输出到文件jiami.txt。 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) 最后,小编为大家介绍一种测试OpenSSL性能的方法。 OpenSSL性能测试 openssl speed: 此命令用于测试库的性能。 用法: openssl speed 测试生成不同的密钥的速度。 以RSA-2048为例,分别测试OpenSSL在OKMX8MM-C、OKMX8MQ-C 和 OKMX8MP-C这3款开发板上的性能对比,给大家提供一个参考。 OKMX8MM-C开发板 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) OKMX8MQ-C开发板 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) OKMX8MP-C开发板 ​ 编辑 切换为居中 添加图片注释,不超过 140 字(可选) 从以上测试结果可以看出, OKMX8MM-C 开发板私钥每秒生成 84.5次 , OKMX8MQ-C 开发板私钥每秒生成 120.5次 ,而 OKMX8MP-C 开发板的私钥每秒生成 148.1次 ,由此可见,在OpenSSL性能这一方面,OKMX8MP-C开发板获胜。https://www.forlinx.com/
相关资源
  • 所需E币: 5
    时间: 2024-6-13 20:43
    大小: 10.21MB
    上传者: 大晴天
    常用的单片机开发实例,包括电机控制、CRC校验、LED点亮的方法、常用的算法等。
  • 所需E币: 1
    时间: 2023-5-11 16:37
    大小: 130.86KB
    上传者: 舒凤志
    C语言指针教程,从入门到精通
  • 所需E币: 1
    时间: 2023-5-11 16:36
    大小: 272.48KB
    上传者: 舒凤志
    C语音指针资料,能更好理解指针
  • 所需E币: 2
    时间: 2023-5-6 15:32
    大小: 59.27MB
    上传者: zhusx123
    狂人  C语言一本编程书
  • 所需E币: 0
    时间: 2023-3-18 08:31
    大小: 1003.6KB
    上传者: 徐大侠
    华为内部C语言培训资料.华为内部C语言培训资料.华为内部C语言培训资料.
  • 所需E币: 5
    时间: 2023-3-5 22:39
    大小: 32MB
    上传者: 小圆梦
    [从零开始学单片机C语言].李建清-着.【高清版】
  • 所需E币: 2
    时间: 2022-12-15 17:24
    大小: 35.91MB
    上传者: fzyiye
    周立功公司编写的C语言学习书籍。
  • 所需E币: 1
    时间: 2022-12-15 17:19
    大小: 120.05MB
    上传者: fzyiye
    学习C语言需要知道的300个问题
  • 所需E币: 4
    时间: 2022-12-15 17:15
    大小: 70.59MB
    上传者: fzyiye
    C语言与概率论的深切结合。
  • 所需E币: 0
    时间: 2022-12-9 11:24
    大小: 1.26MB
    上传者: hardy_tu
    嵌入式C基础,入门可以看看
  • 所需E币: 3
    时间: 2022-7-22 17:10
    大小: 224.79KB
    上传者: 电子爱好者66
    C语言经典算法100例
  • 所需E币: 3
    时间: 2022-7-22 17:11
    大小: 35.91MB
    上传者: 电子爱好者66
    周立功c语言,C语言必备知识
  • 所需E币: 0
    时间: 2022-2-12 21:29
    大小: 896.64KB
    上传者: hnb0801_491372719
    英文原版,C语言原版,C语言的发明者所著,学习和新修C语言的最经典资料.
  • 所需E币: 1
    时间: 2021-12-16 15:58
    大小: 34.29MB
    上传者: 我也不知道
    本书提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。本书适合C语言初学者和初级C程序员阅读,也可作为计算机专业学生学习C语言的参考。侵删
  • 所需E币: 1
    时间: 2021-12-16 15:52
    大小: 815.14KB
    上传者: 我也不知道
    C语言的书有一大堆,嵌入C语言的书也不少,但都不过是简单介绍一下标准C语言的语法,再讲一下嵌入式C语言与标准C的区别,讲一下新增加的关键字。这样的书,对于初学者或许是适合的。问题是,若是我不愿意只是当一个小菜鸟,我想对嵌入式C语言有更多更深的了解时,我突然发现,满图书馆的书,竟找不到一本,能解我心头之惑。对于在实际工作当中,你不再是独自编写程序,你要和小组内的成员之间分工合作,你要学会模块化编程、要写出更规范更安全的代码、做更合理的优化、减少更多的bug。所有的这些,都迫使你必须更彻底的理解嵌入式C的语法结构,数据细节,与硬件打交道的特性,使得你必须时时考虑硬件与C的对应关系并养成良好的编程习惯。本文的原意是想尽可能多的解决上述问题,帮助更多的新人深入理解嵌入式C语言。本文是我工作之余整理而来。是对我个人学习嵌入式C语言过程的总结。本文涉及的知识点多数来自于网络,其中加入我个人理解以及自己平时遇到的注意点。本文从编程风格谈起,讲述了模块化的编程方法,对一些大型项目中常用重点关键字做了讲解,参照MISRAC2004规范,对嵌入式C安全编程做了阐述,对一些嵌入式C的小技巧进行了讨论。在读本文时,我假设你有C语言基础、至少理解一种微控制器(51、PIC、AVR、DSP、ARM等)、有简单的(这里本想写较深的)汇编基础。
  • 所需E币: 1
    时间: 2021-12-15 09:12
    大小: 7.25MB
    上传者: 我也不知道
    《C语言接口与实现创建可重用软件的技术》本书基于接口的C言设计理念及其实现。深入详细地描诉了24个C语言接口及实现,内容包括:异常和断言、内存管理、链表、表格、集合、动态数组、序、环,位向量原子、格式化、低级字符毕、高级字符中、高精度算法,任意和多精度算法以及线程等。是一本为C语肓编人员排优解难的参考书。
  • 所需E币: 1
    时间: 2021-12-15 09:09
    大小: 16.49MB
    上传者: 我也不知道
    本书是“C:TheCompleteReference"的第四版。内容提要本书详细讨论了C语言及其函数库的各个方面,主要强调ANSVISO标准的C语言内容涵盖了C89和C99.全书分成6部分,包括C89定义的C语言的基本元素C99的增强C标准库通用算法和应用C编程环境创建C解释程序第一部分详细讨论关键字、预处理指令和C语言的特性。第二部分详细描述C99增加的特性。将C89与C99分开有两个原因。首先,大多数程序员目前仍将使用C89。这个版本就是程序员心目中的“C语言”,并且是世界上使用最广泛的语言。C89还是构成C 子集的C语言版本,因此,C语言的C89版本不仅在目前,而且在可以预见的未来,都是程序设计的重要组成部分。通过明确地定义C89和C99之间的分界线,读者可以很容易地知道C89在哪里结東,C99从哪里开始。其次,本书的许多读者可能早已非常熟悉C89。将新的C99特性单独列出,有助于这些读者快速找到新资料。第三部分讨论标准C函数库,这一部分描述了C89和099指定的所有函数,而且清楚地说明了哪些函数是C99增加的。第四部分介绍某些通用且重要的算法及应用程序,所有程序员都应在自己的工具包中包括这些内容。该部分还包含对人工智能问题求解以及Windows2000程序设计的讨论。第五部分介绍C语言编程环境,其中包括效率、移植和调试等。第六部分通过编制C解释程序来说明C语言,这无疑是本书中最令人兴奋,最富有挑战性,同时也是最有趣的内容。对于大多数C程序员而言,将无法抑制自己考察、改进第六部分的C解释程序并对其进行其他方面修改的欲望。为了理解C语言的优美和雅致,再也没有比为之建立解释程序更好的方式了。在Web上免费获取源代码,本书包含的源代可以以在线方式从ww.osborne,com上免费获取。
  • 所需E币: 5
    时间: 2021-10-2 08:51
    大小: 181.31KB
    上传者: jdz8888_684259509
    一个用C语言编写的变频器程序
  • 所需E币: 0
    时间: 2021-9-14 17:11
    大小: 31.26MB
    搞得c语言,看这一篇
  • 所需E币: 0
    时间: 2021-5-16 11:26
    大小: 906.26KB
    上传者: 鲁迅
    c语言入门ppt,面向初学者。大佬绕行