关于指针4——值的传递 在程序设计时,有时需要传递地址,有时需要传递值。有个例子在谭浩强的书中就有明确的介绍。我们来复述一下这段代码。void swap(unsigned char a, unsigned char b){unsigned char c;c=a;a=b;b=c;} int main(void){unsigned char x,y;x=100;y=200;swap(x,y); return 0;... 2023-06-13 C语言指针值的传递文章基础课C语言基础
C语言与单机--循环do whille 这条语句与while语句非常相似。不同的是这是“出口判断的”循环语句,while是入口判断语句。也就是如果条件不成立while语句循环体一次都不会执行,而do...while()至少会执行一次。最简单我们看一个例子int main(void){int i=12;while(i<11){printf("haha");i++;... 2023-06-13 C语言单片机while文章基础课C语言基础
C语言与单机--循环for编译器实现 for语句功能如此强大,为了建议不了解for语句的实现的原理。我们参考一下keil实现方法。通过观察keil的汇编结果来了解for. 为了观察for语句的框架,我们尽可能把程序写的简单。#include#includeint main( ){volatile char m=0;volatile char n=0;for(m=0;m<100;m++)n=m;ret... 2023-06-13 C语言单片机for语句文章基础课C语言基础
C语言与单机--选择语句switch switch语句是多项选择语句,if...else..嵌套也是多通道选择语句。他们的之间有区别吗?有!但是在有些时候可以相互替换。我们来看一下switch的语句结果switch(表达式){case label1:statement1break;case label2:statement2break;case label3:statement3break;.............cas... 2023-06-13 单片机C语言switch文章基础课C语言基础
C语言与单机--选择语句if-else嵌套 if......else语句只能有两个分支执行路径。即非此即彼。就是茶与咖啡二选一。它的确解决了我们在实际工作遇到的很多问题。我一直是一个悲观主义者,问题总比办法多。 因为办法不会凭空有的,有问题才会有办法。但是总会有问题产生的。假如三选一、者四选一、五选一等等。怎... 2023-06-13 C语言单片机if——else语句文章基础课C语言基础
C语言与单机--选择语句if-else if-els 是一种选择执行语句,2选一。 如果............就..........................否则.....................具体基本结构形式如下:if(表达式) {表达式处理处理方法}else{表达式不成立处理方法。}“表达式”的结果如果为0,即表明表达式不成立。非0表明表达式成... 2023-06-13 C语言单片机ifelse语句文章基础课C语言基础
C语言与单片机--认识C语言 什么是C语言?回答这个问题的人很多,据多人从贝尔试验室说起。历史问题我们就不提啦。从事我们这个行业的人只要记住符合C语言就是我们书写代码的规范就可以了。所有C语言的学习书籍也就三大类:1,就是介绍C语言规范。2是作者对C语言理解。3,C语言在某个行业的具体应用。认识C语... 2023-06-13 C语言程序代码文章基础课C语言基础
C语言中,static的作用? 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)第一个作用:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容#i... 2023-06-13 C语言static程序代码文章基础课C语言基础
硬件C语言教程开篇——我对c语言的理解 对于没有编程经历的人来说,初次听说 C语言 这个概念是一种很奇怪的感觉,C语言是什么,是一种外星语言么?为什么叫C语言呢?它是哪国说的话呢?那“语言”是个什么概念呢?百度百科上解释:人类将传递信息内容的工具,称之为:语言。如:计算机语言、植物的语言、动物的语言与人类... 2023-06-13 C语言文章基础课C语言基础
c语言地址对齐的一些介绍 什么是地址对齐?现代计算机中内存空间都是按照字节(byte)划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排列,这就是对齐... 2023-06-13 C语言文章基础课C语言基础
C语言的一些高级议题 C语言之回调函数先来看下函数指针的的基础知识,函数指针,顾名思义,就是指向函数的指针,声明方法如下:int func(int); //函数原型int (*pfunc)(int) = & func; //创建函数指针pfunc,并指向函数func这里的&操作符可有可无,因为函数名本身就是一个地址。回调函数是一个程序员不能显... 2023-06-13 C语言指针函数文章基础课C语言基础
经典C语言程序设计100例11-20 【程序11】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i+... 2023-06-13 经典C语言程序设计100例11-20文章基础课C语言基础
关于指针5-地址的传递 接着上一小节的内容,我们继续讨论一下地址传递,这个在谭浩强的书中介绍的比较详细。请大家参考一下。如果觉得有必要,仔细揣摩一下。其实非常简单。谭浩强的书我已经找不到了。但是代码可以复述一下。void swap(unsigned char *pA,unsigned char *pB){volatile unsigned cha... 2023-06-13 C语言指针地址传递文章基础课C语言基础
为什么C语言中int的表示范围是-32768~32767 本文谈论的都为有符号数。这得从二进制的原码说起:二进制原码最大为0111111111111111=215-1=32767二进制原码最小为1111111111111111=-(215-1)=-32767正0和负0:0000000000000000=1000000000000000=0所以,二进制原码表示时,范围是-32767~-0和0~32767,因为有两个零的存在,所以不同的... 2023-06-13 C语言文章基础课C语言基础
工程师应该怎么学习嵌入式(转) 嵌入式从2002年之后就成为很热门的职业,这其中以ARM的商用分不开。Samsung,Philiphs,Atmel这些公司纷纷推出性价比非常高的arm核的cpu(soc),而且这些soc非常适合作为手机,数码相机,mp3,mp4(还包括汽车电子,医疗电子等行业)的cpu。因此,很多做此类产品的公司对熟悉ARM架构cpu的人才... 2023-06-13 嵌入式单片机C语言汇编语言51文章基础课
嵌入式初学者如何学习嵌入式C高级编程? 很多在学习嵌入式开发的朋友不知道学习嵌入式开发从何学起?下面笔者就为大家推荐一个很好的学习步骤。首先学习嵌入式开发的第一步是学习嵌入式C高级编程,在嵌入式领域中大部分开发都会用到C语言。一个精通C语言程序设计的程序员,可以很容易地从事Linux、WinCE、Vxworks、靋... 2023-06-13 嵌入式C语言文章基础课C语言基础
C语言中auto register static const volatile 区别 1)auto这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。(2)register这个关键字命令编译器尽可能的将变量存在CPU内部寄存器... 2023-06-13 registervolatilestaticconstC语言文章基础课C语言基础
与初学伙伴们分享学习C语言的几点建议! 初学C语言的朋友应该首先了解C语言关键的核心概念(结构化、三个执行流程、优先级、指针、文件、共用体、函数、作用域、重载等 ),只有弄明白了这些才能在今后的学习中游刃有余的把握C语言的精髓。这几个概念就像逻辑线一样,把整个C语言的体系贯穿起来,给人一种“结构化... 2023-06-13 C语言建议基础文章基础课C语言基础
在KEIL中实现C语言嵌套的汇编语言 操作步骤第一步:在KEIL 中新建工程及文件并复制以下程序并保存为C 文件:/*功能:C 语言里嵌套汇编语言,起到抛砖引玉的作用*/#includedelay(){int i,j;for(i=0;i<1000;i++)for(j=0;j<120;j++); //12M 晶振下延时1MS}main(){P2=0x00; //控制8 个LED 亮delay(); //延... 2023-06-13 keilC语言嵌套汇编语言文章软件开发编程规范
FIR算法C语言实现 (1)高通与低通系数#if LOWPASSfloat32 B [FILTER_LEN] = {0.0625L, 0.25L, 0.375L, 0.25L, 0.0625L};#elif HIGHPASSfloat32 B [FILTER_LEN] = {0.0625L, -0.25L, 0.375L, -0.25L, 0.0625L};#endif(2)算法实现FILTER_LEN = 5变量... 2023-06-13 FIRC语言文章基础课C语言基础
[VC]在MFC下如何定义全局变量和全局函数 一、在应用程序类中定义用MFC生成的工程中都有一个名为CxxxApp的类,它派生于CWinApp类。这个类主要进行程序的初始化,生成文档、视图对象等工作。我们可以把需要全局访问的变量和函数定义为这个类的成员变量和成员函数,就可以实现全局访问了。从严格意义上讲,这种变量和函数... 2023-06-13 全局变量全局函数C语言MFC文章基础课C语言基础
嵌入式c语言调试开关 在调试程序时,经常会用到assert和printf之类的函数,我最近做的这个工程里就有几百个assert,在你自认为程序已经没有bug的时候,就要除去这些调试代码,应为系统在正常运行时这些用于调试的信息是无用的,而且会占用时间和空间。怎么删除呢,俺以前都是用笨方法,一个一个注释,能用注释... 2023-06-13 嵌入式C语言调试开关文章软件开发程序设计
C/C++头文件一览 C、传统 C++#include //设定插入点#include //字符处理#include //定义错误码#include //浮点数处理#include //文件输入/输出#include //参数化输入/输出#include //数据流输入... 2023-06-13 C语言C++头文件文章基础课C语言基础
C语言内存管理详细解析 1、内存分配方式内存分配方式有三种:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。... 2023-06-13 C语言内存管理详细解析文章基础课C语言基础
C语言中的头文件可以自己写吗? 一些初学C语言的人,不知道头文件(*.h文件)原来还可以自己写的。只知道调用系统库函数时,要使用#i nclude语句将某些头文件包含进去。其实,头文件跟.C文件一样,是可以自己写的。头文件是一种文本文件,使用文本编辑器将代码编写好之后,以扩展名.h保存就行了。头文件中一般放一些重复... 2023-06-13 C语言头文件includeifndef文章软件开发编程规范