tag 标签: c语言

相关帖子
相关博文
  • 热度 12
    2019-12-16 16:21
    2352 次阅读|
    5 个评论
    听过一个笑话,程序员们互相聊天,程序员A问到:为什么C++比C麻烦那么多?” 程序员B回答道:“有了对象能不麻烦么。 ” 同样衍生出来的还有一个小故事:情人节,有人看到C一个人喝酒,便问:你的好哥们C++、Java、Python他们呢? C说:都过情人节去了。 问:你为什么不过呢? C说:因为我没有对象。 计算机行业的人都知道C、C++、C#,但对很多想要入行的人来说可能就有点迷茫了,就好像不知道java和JavaScript的关系一样,面对这个多个C,如何选择成为了他们的一个小问题。 先简单的说一下三个语言 C语言是一种结构化编程语言。 它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。具有丰富的运算符和数据类型,便于实现各类复杂的数据结 构。而且还可以直接访问内存的物理地址,进行位(bit)一级的操作。 c语言的最大的特点就是 效率高、可移植性强 ,C语言可以说是一种入门语言,只要精通了一种语言,则一通百通。 C++,如果说c语言面对的是过程,那么C++面对的就是对象 ,同样是侧重于计算机的底层操作,但是在C语言的基础上加了很多功能,所以被称作C加加,当然难度和复杂程度也有所增加,如图形处理,C++ 对文件的组织是以工程,各文件分类明确更加高效 C#,则是在C++的基础上再一次改进后的编程语言 ,语法类似Java但是难度却有所减少,侧重于网络和数据库编程。C# 是基于 IL 中间语言和 .NET Framework CLR 的,在可移植性,可维护性 和强壮性都比 C++ 有很大的改进 从继承关系上来看的话, C# C++完全向C兼容,C程序几乎不用修改即可在C++的编译器上运行。C++也称为带类的C,在C的基础上增加了许多面向对象的概念, 虽然是C的扩展,但这并不意味着C功能不如C++,因为现在最牛的操作系统是用C写出来的。 你可能会遇到的问题: 问:C++能实现C所不能的功能吗? 答:至少我还没有发现 问:学了C再学C++又要重头开始吗? 答:不,C++下可以实现C语言的一切功能 学完了C再学C++是不是很容易? 答:那要看你是不是真正的学完了C语言,我从C到C++就一个星期的睡觉前的时间看两眼书,然后就大彻大悟。 所以这里也跟大家说一下,要想学好C++最好还是先学好C;如果要学好C++,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到VC,BCB下看看, 你会轻松得很。在我看来,学好C/C++是成为VC,BCB高手的必由之路。
  • 热度 2
    2019-10-3 10:40
    303 次阅读|
    0 个评论
    1-谭浩强 C语言程序设计 2-C语言开发入门及项目实战 3-新概念51单片机C语言教程 4-单片机的C语言应用程序设计 5-手把手教你学51单片机 6-C专家编程 7-编程之美 8-C Primer Plus 9-C和指针 10-C陷阱与缺陷 11-C语言核心技术 12-C语言编程之道 13-C语言程序设计现代方法 14-C语言嵌入式系统编程修炼之道 15-C语言深度解剖 16-C语言编程技巧 17-天狼星51单片机C语言 下载链接:https://pan.baidu.com/s/15Xjvy5M4-zJ5HUTuXmdmPA 提取码:v2m8 如果失效,评论区留言 ​
  • 热度 4
    2018-11-29 18:36
    2098 次阅读|
    0 个评论
    让更多人知道“ 中国芯 ” 第 1 章 SWM320 控制器简介 单片微型计算机简称单片机,是典型的嵌入式微控制器( Microcontroller Unit ),常用缩写 MCU 表示。单片机由运算器、控制器、存储器、输入输出设备构成,相当于一个微型的计算机(最小系统)。与计算机相比,单片机缺少了外围设备等,概括的讲:一块芯片就成了一台计算机,它的体积小、质量轻、价格便宜,从而为学习、应用和开发提供了便利条件。 INTEL 的 8080 是最早按照这种思想设计出的处理器,当时的单片机都是 4 位或 8 位的。其中最成功的是 INTEL 的 8051 ,此后发展出了 MCS51 系列单片机系统,因为简单可靠而性能不错获得了很大的好评。可 2000 年以后 ARM 公司先后推出了 32 、 64 位,主频从几十 MHz 到上 GHz 。在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。 几乎现代人类生活中的每件有电子器件的产品中都会集成有单片机。例如手机、智能穿戴、智能家居、掌上电脑等电子产品。 汽车上一般配备几十片单片机,复杂的工业控制系统上甚至可能有数百、上千片单片机在协同工作!单片机的数量不仅远超过 PC 机和其他计算机的总和。截止 17 年末,据官方统计,基于 ARM 核的芯片出货量达到了 600 多亿,是世界人口的 10 倍之多。 可见单片机应用之广,前景之大,随着物联网、人工智能、区块链等新兴技术的兴起,加之对速度、功耗、性能等方面的严格要求,基于 ARM 核的控制器以优越的性价比取代 8 位机,是大势所趋,设计所向,那么学习基于 ARM 核的单片机也迫在眉睫。 1.1 ARM 知多少 一、 ARM 公司简介 ARM ( Advanced RISC Machine )有三种含义,它是一家公司的名称;是一种技术的名称;是一类处理器的通称。 ARM 公司是微处理器行业的一家知名企业,提供基于 ARM 体系的知识产权。 ARM 公司并不生产芯片,也不出售芯片;转让设计方案给半导体厂商,由半导体厂商生产 SOC ,并销售;同时提供一些其他的技术服务,比如物理 IP 、图像内核、开发工具、实时操作系统。 二、 ARM 处理器家族 ARM 处理器家族现阶段有四大类,具体如下: 早先经典处理器,包括ARM7、ARM9、ARM11,称之为Classic系列; · Cortex-M系列,该系列为单片机驱动的系统提供了低成本优化方案,应用于传统的微控制器市场,蓝牙、WiFi设备,智能传感器,汽车周边部件等。具体分类有Cortex-M0、Cortex-M1、Cortex-M3、Cortex-M4、Cortex-M7。 · Cortex-A系列,主要针对开放式操作系统的高性能处理器。应用于智能手机、数字电视、智能本等高端领域。按性能可分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A53、Cortex-A57。 · Cortex-R系列,主要针对实时系统、满足实时性的控制需求,应用于汽车控制系统、动力系统等。分类有Cortex-R4、Cortex-R5、Cortex-R7。 三、 ARM 处理器指令集 所谓指令集就是处理器能够识别并执行的指令集合,每条指令可处理一个简单或复杂操作(加、加乘 … ) , 并且每一条指令对应一条或几条汇编指令。 常见指令集分两大类,复杂指令集( CISC ),包括处理复杂操作的特定指令,指令长度不固定,执行需要多个周期;精简指令集( RISC ),指令简单有效,格式和长度通常是固定的,大多数指令在一个周期内可以执行完毕。其中 ARM 的内核是基于 RISC 体系结构的。 四、片上系统 -SOC 片上系统是指在单个芯片上集成一个完整的计算机系统,所谓完整的系统一般包括中央处理器( CPU )、存储器、外围电路等。我们入门的 51 单片机同样是一个片上系统,只是他的资源没有基于 ARM 的这么丰富,运行主频么有那么快,功耗等方面没有那么有优势。 既然 ARM 公司不出芯片,那我们用的 IC 是有哪些厂商制造了?世界上能制造芯片的厂商很多,这里不一一列举,其中以 Cortex-M 为核心的有欧美的 Microchip 、 Silicon Labs 、 NXP 、 ST 等,台湾的新唐、松翰、合泰,大陆的上海灵动、北京兆易、佛山华芯微特。这里我们着重以华芯微特的 SWM320(M4 核 ) 为主,来讲述 SWM320 的学习和应用。 1.2 SWM320 简述 SWM320 是一款基于 ARM 公司 CortexTM-M4 的 32 位微控制器。具有高性能、低功耗、代码密度大等突出特点,适用于工业控制、白色家电、电机驱动等诸多应用领域。 SWM320 内嵌 CortexTM-M4 控制器,片上包含精度为 1% 以内的 20MHz 、 40MHz 时钟,可通过 PLL 倍频到 120MHz 时钟,提供多种内置 FLASH/SRAM 大小可供选择,支持 ISP (在系统编程)操作及 IAP (在应用编程)。 外设串行总线包括 1 个 CAN 接口,多个 UART 接口、 SPI 通信接口(支持主 / 从选择)及 I2C 接口(支持主 / 从选择)。此外还包括 1 个 32 位看门狗定时器, 6 组 32 位通用定时器, 1 组 32 位专用脉冲宽度测量定时器, 12 通道 16 位的 PWM 发生器, 2 个 8 通道 12 位、 1MSPS 的逐次逼近型 ADC 模块, 1 SDIO 接口模块, TFT-LCD 液晶驱动模块以及 RTC 实时时钟、 SRAMC 、 SDRAMC 、 NORFLC 接口控制模块,同时提供欠压检测及低电压复位功能。同时外设可通过编程,自由分配到各个 GPIO 口上,这样极大简化了 PCB 的设计。 1.3 SWM320 的特性 内核 32位CortexTM-M4内核 24位系统定时器 工作频率最高120MHz 硬件单周期乘法 集成嵌套向量中断控制器(NVIC),提供最多240个、8级可配置优先级的中断 通过SWD接口烧录 内置LDO,供电电压范围为2.0V~3.6V 128KB的片上SRAM存储器 256/512KB的片上FLASH存储器,支持用户定制ISP(在系统编程)更新用户程序 串行接口 UART模块,具有独立8字节FIFO,最高支持主时钟16分频 SPI模块,具有8字节独立FIFO,支持SPI、SSI协议,支持master/slave模式 I2C模块,支持7位、10位地址方式,支持master模式 CAN模块,支持协议2.0A(11Bit标识符)和2.0B(29Bit标识符) PWM控制模块 12通道16位PWM产生器 可设置高电平结束或周期开始两种条件触发中断 具有普通、互补、中心对称等多种输出模式 支持死区控制 ADC采用触发 定时器模块 6路32位通用定时器 可做计数器使用 支持输入单脉冲捕获功能 32位看门狗定时器,溢出后可配置触发中断或复位芯片 RTC 模块 使用支持自校正功能的内部32KHz时钟 可自由设置日期(年、月、周、日)和时间(时、分、秒 可自由设置闹钟(周、时、分、秒) 自动识别当前设置年份是否为闰年 支持RTC中断从Sleep模式下唤醒芯片 DMA 模块,支持存储器到存储器之间的数据搬运 SRAMC模块,支持8位数据位宽和16位数据位宽的外部SRAM存储颗粒,最大支持24位地址线 SDRAMC模块 支持16Bit位宽的SDRAM 支持兼容PC133标准的SDRAM颗粒 支持2MB到64MB的外部SDRAM颗粒 NORFLC模块 支持并行NOR FLASH接口 支持8位数据位宽和16位数据位宽的外部NOR FLASH存储颗粒 最大支持24位地址线 SDIO接口模块,支持标准SDIO接口协议 TFT-LCD 驱动模块 支持MPU/SYNC两种接口的外部LCD扩展 支持最高分辨率1024*768,实际分辨率可以配置 输出数据宽度16Bit 支持横屏和竖屏模式 GPIO 可配置成4种IO模式(上拉输入、下拉输入、推挽输出、开漏输出) 灵活的中断配置 触发类型设置(边沿检测、电平检测) 触发电平设置(高电平、低电平、双电平) GPIO可配置灵活配置为I2C、UART、SPI、CAN等接口 模拟外设 12位8通道高精度SAR ADC 采样率高达3M SPS 内建7档参考电压,最低至100mV 支持single、scan两种模式 独立的结果寄存器 提供独立 FIFO 可由软件、PWM、TIMER 触发 支持 DMA 欠压检测( BOD) 支持欠压检测 支持欠压中断和复位选择 时钟源 20MHz/40MHz 精度可达1%的片内时钟源 32KHz精度可达5‰的片内时钟源 2~32MHz片外晶振 环境 工作温度:-40℃~105℃ 保存温度:-40℃~150℃ 湿度等级:MSL3 可定制 ISP 程序,可定制96BIT独立ID 1.4 SWM320 功能框图及其封装实物 前面了解到,每个单片机实质是一个片上系统,这里我们看看 SWM320 的片上系统结构框图,具体如图 1-1 所示。 图 1-1 SWM320 结构框图 具体资源在特性里有详细介绍这里,这里不再赘述。其封装形式有 LQFP64 (图 1-2 左)、 LQFP100 (图 1-2 右) , 其示意图见图 1-2 。 图 1-2 SWM320 封装示意图 1.5 SWM320 应用领域 基于以上丰富的特性和惠民的价格,可广泛应用于各行各业。 音频系统:专业麦克风、吉他控制板 工业计算设计:EBS、PLC、测量和测试、工厂自动化、HMI控制系统 消费类产品:智能家电、LCD、数码产品 楼宇和家庭自动化:物联网关、照明控制、温湿度控制 电机控制和电源转换:3D打印机、无人自动驾驶、机器人
  • 热度 6
    2013-4-7 00:55
    1755 次阅读|
    5 个评论
      C语言中, 利用宏定义一个字符串 #define MYPHONE "AT+CMGS"     字符数组的方式来定义一个字符串 unsigned char SMS ="HELLO, WELCOME TO RCCTS!"; unsigned char *String; unsigned char i=0; void main() {      printf("**************this procedure is to confirm \\0 's exist****************\n"); /********************************验证MYPHONE字符串末尾是否有\0字符*************************/      String=MYPHONE;      while(*String)               //当*String所指向的字符等于\0时跳出循环      {           i=*String;           printf("%c", i);           String++;      }      if(*String=='\0'){          //再次确认字符串的末尾是否有\0字符存在           printf("\\0");          //有则打印出来      }else{           printf("**");          //没有则打印**      }      printf("\nMYPHONE=%s\n", MYPHONE);          //打印字符串 这里%s的s必须为小写 /**************验证SMS字符串末尾是否有\0字符****************/      String=SMS;      while(*String)               //当*String所指向的字符等于\0时跳出循环      {           i=*String;           printf("%c", i);           String++;      }      if(*String=='\0'){          //再次确认字符串的末尾是否有\0字符存在           printf("\\0");          //有则打印出来      }else{           printf("**");          //没有则打印**      }      printf("\nSMS=%s\n", SMS);          //打印字符串 这里%s的s必须为小写 }   运行效果图:
  • 热度 347
    2013-3-23 09:22
    29060 次阅读|
    346 个评论
    附件是C语言数据结构教程,对于数据结构不太清楚的人来说,这是一本非常好的教程,里面讲解详细,并有丰富的例子和源码
相关资源
  • 所需E币: 1
    时间: 2020-5-29 09:18
    大小: 9.99MB
    书中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能、效率以及对运行时间分析的基础上考查了一些高级数据结构,从历史的角度和近年的进展对数据结构的活跃领域进行了简要的概括。由于本书选材新颖,方法实用,题例丰富,取舍得当。本书的目的是培养学生良好的程序设计技巧和熟练的算法分析能力,使得他们能够开发出高效率的程序。从服务于实践又锻炼学生实际能力出发,书中提供了大部算法的C程序和伪码例程,但并不是全部。一些程序可从互联网上获得。本书是《DataStructuresandAlgorithmAnalysisinC》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者MarkAllenWeiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。
  • 所需E币: 3
    时间: 2020-4-11 15:55
    大小: 28.95MB
    C语言教程,特别推荐C+Primer+Plus
  • 所需E币: 3
    时间: 2019-12-26 10:51
    大小: 131.43KB
    上传者: 微风DS
    优盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区、DBR区、FAT区、FDT区和DATA区。……
  • 所需E币: 5
    时间: 2019-12-26 10:21
    大小: 381.83KB
    上传者: 二不过三
    C语言嵌入式编程修炼之道……
  • 所需E币: 4
    时间: 2019-12-26 01:37
    大小: 527.2KB
    上传者: 238112554_qq
    PICC18C语言编译器……
  • 所需E币: 3
    时间: 2019-12-26 01:37
    大小: 647.9KB
    上传者: wsu_w_hotmail.com
    PIC16CXXC语言工具……
  • 所需E币: 3
    时间: 2019-12-26 01:20
    大小: 18.63KB
    上传者: wsu_w_hotmail.com
    数字水印C语言代码……
  • 所需E币: 3
    时间: 2019-12-26 01:07
    大小: 96.15KB
    上传者: 微风DS
    串口连接程序c语言……
  • 所需E币: 4
    时间: 2019-12-25 23:26
    大小: 132.71KB
    上传者: 二不过三
    介绍了步进电机升降速的计算方法,用离散法对步进电机升降速的过程进行了处理,并用C语言编程实现了单片机对步进电机升降速的离散控制……
  • 所需E币: 3
    时间: 2019-12-25 22:59
    大小: 419.67KB
    上传者: wsu_w_hotmail.com
    本程序实现以2为底的长整型正数L_X的对数计算,采用查表和线性内插相结合的方法实现。……
  • 所需E币: 4
    时间: 2019-12-25 22:57
    大小: 24.7KB
    上传者: wsu_w_hotmail.com
    本应用指南介绍了优化TMS320C2x、TMS320C5x、TMS320C3x和TMS320C4xDSP系列性能的汇编语言代码和C语言代码。……
  • 所需E币: 4
    时间: 2019-12-25 22:53
    大小: 100.74KB
    上传者: quw431979_163.com
    随着DSP芯片应用的不断深入,用C语言开发DSP芯片,不仅可以使DSP芯片的开发速度大大提高,也使得程序的修改和移植变得十分方便。C语言设置TMS320系列DSP中断向量表是高级语言开发DSP的一个具体应用。……
  • 所需E币: 3
    时间: 2019-12-25 22:53
    大小: 138.89KB
    上传者: 16245458_qq.com
    随着DSP芯片的不断深入,用C语言开发DSP芯片,不仅可以使DSP芯片的开发速度大大提高,也使得程序的修改和移植变得十分方便。C语言设置TMS320系列DSP中断向量表是高级语言开发DSP的一个具体应用。……
  • 所需E币: 4
    时间: 2019-12-25 22:43
    大小: 222.98KB
    上传者: givh79_163.com
    本文档是开方米运算的C语言定点程序,适合读者参考与学习。……
  • 所需E币: 3
    时间: 2019-12-25 22:04
    大小: 163.09KB
    上传者: wsu_w_hotmail.com
    本书系统地介绍了数字信号处理的理论、相应的算法及这些算法的软件与硬件实现。全书共14章,分为上、下两篇,每篇各7章。上篇内容包括离散时间信号与离散时间系统的基本概念、Z变换及离散时间系统分析、离散傅里叶变换、傅里叶变换的快速算法、离散时间系统的相位、结构与状态变量描述、数字滤波器设计(IIR、FIR及特殊形式的滤波器)等;下篇内容包括信号的正交变换(正交变换的定义与性质、K-L变换、DCT及其在图像压缩中的应用)、信号处理中若干典型算法(如抽取与插值、子带分解、调制与解调、反卷积、SVD、独立分量分析及同态滤波等)、平稳随机信号的基本概念、经典功率谱估计、参数模型功率谱估计、数字信号处理中的有限字长问题及数字信号处理的硬件实现等内容。书中介绍了数字信号处理中所涉及的绝大部分MATLAB文件,并给出了使用的具体实例。所附光盘中包含了40个分别用FORTRAN语言和C语言编写的信号处理子程序,此外还包含了近100个用MATLAB编写的信号处理程序,这些MATLAB程序可用于求解书中的绝大部分例题并绘制其插图。除第14章外,本书每一章都配有习题及上机练习题。……
  • 所需E币: 3
    时间: 2019-12-25 21:59
    大小: 93.34KB
    上传者: wsu_w_hotmail.com
    TheDSP16000CcompilergeneratesobjectfilesandexecutablestosupportallDSP16000core-baseddevices.Itdoesnotgeneratefilesthatarespecifictoanyparticulardevice.Device-specific,memorymappedregistersassociatedwithon-boardperipherals,suchasserialportsorhostports,aredefinedwithinheaderfilesshippedwiththeLUxWORKS™toolsuite.TheusercanincludetheseintheirCsourcecode,andtheregistersareaccessedviamnemonicswithstandardmemoryaccesses.……
  • 所需E币: 5
    时间: 2019-12-27 19:10
    大小: 1.35MB
    上传者: givh79_163.com
    C语言常见问题集锦C语言常见问题集原著:SteveSummit翻译:朱群英,孙云修订版0.9.4,2005年6月23日版权所有c2005目录目录i前言xvii1声明和初始化11.1我如何决定使用那种整数类型?...................11.264位机上的64位类型是什么样的?................11.3怎样定义和声明全局变量和函数最好?...............21.4extern在函数声明中是什么意思?.................21.5关键字auto到底有什么用途?...................21.6我似乎不能成功定义一个链表。我试过typedefstruct{char……
  • 所需E币: 4
    时间: 2019-12-25 21:56
    大小: 27.23KB
    上传者: 二不过三
    TexasInstruments(TI)reservestherighttomakechangestoitsproductsortodiscontinueanysemiconductorproductorservicewithoutnotice,andadvisesitscustomerstoobtainthelatestversionofrelevantinformationtoverify,beforeplacingorders,thattheinformationbeingreliedoniscurrent.……
  • 所需E币: 4
    时间: 2019-12-25 21:43
    大小: 61.47KB
    上传者: 微风DS
    语音编码_解码代码库(C语言).……
  • 所需E币: 3
    时间: 2019-12-25 21:38
    大小: 25.87KB
    上传者: wsu_w_hotmail.com
    本应用指南描述了在C语言中操作DSP的外围专用寄存器的两种方法。……
广告