经典C语言程序设计100例1-10 【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*... 2023-06-13 经典C语言程序设计文章软件开发
嵌入式程序员应知道的基本问题 C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。从被面试者的角度来讲,你能了解许多关于出题者或监考... 2023-06-13 嵌入式程序员程序设计C语言文章软件开发
嵌入式C语言里的土豪们之除法与移位 除法土豪除法在嵌入式微处理器里可算是一个消耗大户,复杂的实现方式不仅占用了大师宝贵的计算时间而且精度有限情况下占用了大片的RAM。因此,常常在各类文章里看到,编程人员应该使用右移运算来代替除法。这个右移方法没有问题,也确实能提高微处理器的计算能力,节省处理时间。... 2023-06-13 嵌入式系统C语言除法移位文章软件开发嵌入式OS
嵌入式C语言里的土豪们之变量类型 “定义变量的类型要根据该变量使用的大小范围来定,在满足其最大值的条件下,使用最小空间的变量类型。”这条定义方式我们初学嵌入式编程的人们都会遇到,那么这个如何去执行也成为了关键。例如,我们在定义时钟项目时,使用一个变量来代表“秒”的变量,显然,这... 2023-06-13 嵌入式系统C语言变量类型文章软件开发嵌入式OS
C语言高效编程的的四招技巧 第一招:以空间换时间计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。例如:字符串的赋值。方法a:通常的办法:#define len 32char string1 [len];memset (string1,0,len);strcpy (string1,... 2023-06-13 C语言高效编程技巧文章软件开发编程规范
单片机C语言快速精度除法方案 目前的51单片机在进行带小数点结果的除法一般可以采用浮点数计算的方式,但是浮点数计算有一个缺点就是非常耗时,在对时间要求严格的工况就不太适用。笔者的工作室长期承接单片机、电路、机电液、工控、自动化、计算机软件等项目,最近做了个单片机计算器的设计,在设计除法时利... 2023-06-13 单片机C语言快速精度除法文章基础课C语言基础
初学者对于C语言中的误区 1. 不能清晰理解“==”运算以及优先级和结核性的含义在判断i,j,k三个变量是否相等时往往会轻率地写出“i == j == k ”这样的表达式并误以为三个变量的值相等时,这个表达式的值为1。然而,这个是错误的。在表达式“i== j == k ”中,这两个==符号... 2023-06-13 初学者C语言误区文章基础课C语言基础
C语言中“:”的使用方法 在C语言中,有一个符号——>“:”,此符号的使用归纳起来有下面三种用法:1:标号识别,用于表示程序的位置。这个在汇编语言中最常用,在C语言中有时也需要用到。比如:LOOP:{//在此处添加相应的C程序}goto LOOP;2:条件运算符——> ? :该运算符是C语言中唯... 2023-06-13 C语言基础文章基础课C语言基础
C语言的32个关键字 第一个关键字:auto 用来声明自动变量。 可以显式的声明变量为自动变量。只要不是声明在所有函数之前的变量,即使没加auto关键字,也默认为自动变量。并且只在声明它的函数内有效。而且当使用完毕后,它的值会自动还原为最初所赋的值。自动变量使用时要先赋值,因为其中包含的是未... 2023-06-13 C语言关键字总结文章基础课C语言基础
嵌入式系统C语言编程修炼之软件架构 模块划分的论述:模块划分中的"划"是规划之意,意思是怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。嵌入式C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了相对论),C语... 2023-06-13 嵌入式系统C语言编程软件架构文章软件开发嵌入式OS
教你几招C语言的高效编程 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。第1招:以空间换时间计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间... 2023-06-13 C语言编程高效文章基础课C语言基础
几种单片机C语言编译器的语言不同之处 不同:1.由于不同单片机指令集不同, 汇编语言的程序通常很不一样. 2. c语言则是独立与指令集的高级语言,它不受指令集的影响,大部分代码是一致的,不同之处主要是在以下几处:a) 不同单片机的头文件定义不同(即使同一种单片机不同的编译器里也可能不同).所以相应的端口,寄存... 2023-06-13 C语言编译器文章基础课C语言基础
秒杀C语言重要基础——9条语句 学习C语言最基础的知识点要数9条语句了,虽是基础内容,但用9条语句却可以实现很多功能。看了下面的每条语句的一一举例后,你就会觉得其实9条语句很简单,也不过如此。下面是C语言一个基本的输入输出函数printf和scanf函数的用法:#include //头文件包含,把头文件stdio.h的内容全部... 2023-06-13 C语言文章基础课C语言基础
关于汇编和C的比较 汇编和c同样重要,相互配合,缺一不可!汇编的重要性:◆ 帮助你从根本上彻底和完全了解芯片的结构和性能,以及工作原理,如何使用。◆ 在小的芯片上实现小的系统。◆ 系统的调试。尽管你使用了高级语言,在调试中可以帮助你了解C代码的性能和特点,甚至找到使用开发平台本身的BUG。◆ ... 2023-06-13 汇编比较C语言文章基础课其他
C语言指针学习总结分析 c语言是一种简洁高效的程序开发语言,它在嵌入式开发应用领域有着广泛的应用。从大一接触c语言到现在算起来也有七八年的时间了,如果你问我追喜欢c语言的什么,我会说告诉你--指针,我认为c语言之所以强大就是因为它拥有指针,利用指针,理论上来说你可以访问所有的数据(广义数据,包括... 2023-06-13 C语言指针学习总结文章基础课C语言基础
C语言程序设计之const关键字解析 const,英文单词意思是:常量,常数的意思,初学者看到const这个关键字会想到常数,其实不然,const关键字定义的是变量,一个不能改变的变量,这里有点儿绕,让我慢慢给你解释,你就会明白什么是不变的变量。下面来看关键字const的用法1、const的普通用法const int n = 10;意思很明显,n是一个... 2023-06-13 C语言程序设计const关键字文章基础课C语言基础
C55x C语言基本特性之关键字 1. constC55x C编译器支持标准C语言的const关键字。将这个关键字使用到对任意变量或数组的定义上可以确保它们的值不改变。如果定义一个对象为const,那么const段就会为该对象分配存储空间。使用const关键字可以定义大常数表并将它们分配到系统ROM中。2. ioportC55x C编译... 2023-06-13 C55xC语言基本特性关键字文章基础课C语言基础
C55x C语言基本特性之数据类型 C55x C语言支持的数据类型有17种,具体的可以查看技术手册。在定义各种数据类型时,应注意如下规则:(1)避免设int和long为相同大小。(2)对定点算法(特别是是乘法)尽量使用int数据类型。用long类型作乘法操作数会导致调用运行时间库(run-time library)的程序。(3)使用int或unsigned int类... 2023-06-13 C55xC语言据类型文章基础课C语言基础
C55x C语言基本特性之寄存器变量和参数 寄存器变量就是用register关键字声明的关键字。根据是否使用优化器,C编译器对寄存器变量采用不同的处理方式。当使用优化器进行编译时,编译器忽略任何寄存器声明,通过一种能够最有效地使用寄存器的代价算法,把寄存器分配给变量和临时量。当不使用优化器进行编译时,编译器将使... 2023-06-13 C55xC语言寄存器变量参数文章基础课C语言基础
AVR单片机IAR AVR C语言中断编程 一、AVRmega16中断向量表向量号程序地址中断源描述IAR AVR中的定义1000RESET外部引脚电平引发的复位,上电复位,掉电检测复位,看门狗复位,以及JTAG AVR 复位RESET_vect2002INT0外部中断请求0INT0_vect3004INT1外部中断请求1INT1_vect4006TIMER2 COMP定时器/计数 2 比较匹配TIM... 2023-06-13 AVRIARC语言中断文章基础课C语言基础
矩阵键盘扫描程序(C语言) /*********************《 矩阵键盘程序 》****************************** 说明: 此程序基于开发板HC151_V1.5开发,其它开发板只需修改对应引脚即可跳线JP3:短接1-2脚 跳线JP4: 短接2-3脚 端口J9 :与对应的单片机I/O口相接,本程序为J9与P13口短接 端口J11: 与对应的单片机I/... 2023-06-13 矩阵键盘扫描程序C语言文章基础课C语言基础
液晶LCD1602驱动程序(C语言) /*********************《 LCD1602驱动程序 》****************************** 说明:此程序基于开发板HC151_V1.5开发的源程序,其它开发板只需修改引脚即可跳线JP3:为避免相互干扰,JP3跳线帽可取下不接 LCD1602插入U7端口 晶振12MHz——晖创电子制作——... 2023-06-13 液晶LCD1602驱动程序C语言文章基础课C语言基础
单个LED闪烁程序(C语言) /*********************《 单个LED闪烁程序 》****************************** 说明:此程序基于开发板HC151_V1.5开发的源程序,其它开发板只需修改引脚即可跳线帽JP3: 短接2-3脚 端口J10:与对应的单片机I/O口相接,本程序为J10的第8脚与P00短接 晶振12.0MHz ——晖... 2023-06-13 单个LED闪烁程序C语言文章基础课C语言基础
流水灯源程序(C语言) /*********************《 流水灯程序 》****************************** 说明:此程序基于开发板HC151_1.5V开发的源程序,其它开发板只需修改引脚即可跳线帽JP3: 短接2-3脚 端口J10:与对应的单片机I/O口相接,本程序为J10与P0口短接 晶振12.0MHz描述: 该程序实现LED的流水灯... 2023-06-13 流水灯源程序C语言文章基础课C语言基础
步进电机控制程序(c语言51单片机) #i nclude#define uint unsigned int#define uchar unsigned char#define ms *77// f = 12 M#define LEDLen 4#define Dj_star() {IE=0x81; pri_dj=0; }#define Dj_stop() {IE=0x00; pri_dj=1; P1=0... 2023-06-13 步进电机控制程序C语言51单片机文章软件开发程序设计