单片机C语言编程规范

C51 单片机编程模板及编码规范 在查阅了很多关于 C51 单片机的程序后,个人感觉目前网上有关 C51 单片机程序的质量参差不齐,很多程序的代码风格及其糟糕,可读性也很差。除了新手如此,很多写了多年程序的程序员老手也如此,也包括笔者还处于新手期的时候,在在乎程序是否可以正常运行,而忽略了程序的可读性、可维护性、可复用性以及可扩展性。由于工作时,笔者所在的公司在编码风格和规范上有及其严格的规定,所以决定总结一下我对我在编写 C51 单片机程序时的编码规范。本文以猿学社上官一号开发板(核心为 STC89C52RC)为基础而编写,编码风格为。 阅读详情

 

. 基本要求

1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。

1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。

1.3 尽量使用标准库函数和公共函数。

1.4 不要随意定义全局变量,尽量使用局部变量。

1.5 使用括号以避免二义性。

 

2.可读性要求

2.1 可读性第一,效率第二。

2.2 保持注释与代码完全一致。

2.3 每个源程序文件,都有文件头说明,说明规格见规范。

2.4 每个函数,都有函数头说明,说明规格见规范。

2.5 主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。

2.7 常量定义(DEFINE)有相应说明。

2.8 处理过程的每个阶段都有相关注释说明。

2.9 在典型算法前都有注释。

2.10 利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为 6个

字节。

2.11 循环、分支层次不要超过五层。

2.12 注释可以与语句在同一行,也可以在上行。

2.13 空行和空白字符也是一种特殊注释。

2.14 一目了然的语句不加注释。

2.15 注释的作用范围可以为:定义、引用、条件分支以及一段代码。

2.16 注释行数(不包括程序头和函数头说明部份)应占总行数的 1/5 到 1/3 。

 

3. 结构化要求

3.1 禁止出现两条等价的支路。

3.2 禁止GOTO语句。

3.3 用 IF 语句来强调只执行两组语句中的一组。禁止 ELSE GOTO 和 ELSE RETURN。

3.4 用 CASE 实现多路分支。

3.5 避免从循环引出多个出口。

3.6 函数只有一个出口。

3.7 不使用条件赋值语句。

3.8 避免不必要的分支。

3.9 不要轻易用条件分支去替换逻辑表达式。

 

4. 正确性与容错性要求

4.1 程序首先是正确,其次是优美

4.2 无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。

4.3 改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。

4.4 所有变量在调用前必须被初始化。

4.5 对所有的用户输入,必须进行合法性检查。

4.6 不要比较浮点数的相等,

如: 10.0 * 0.1 == 1.0 , 不可靠

4.7 程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否

逻辑锁定、打印机是否联机等。

4.8 单元测试也是编程的一部份,提交联调测试的程序必须通过单元测试。

 

5. 可重用性要求

5.1 重复使用的完成相对独立功能的算法或代码应抽象为公共控件或类。

5.2 公共控件或类应考虑OO思想,减少外界联系,考虑独立性或封装性。

5.3 公共控件或类应建立使用模板。

 附:C++ 编程规范,delphi作相应的参考

 

1适用范围

本标准适用于利用Visul C++ ,Borland C++进行软件程序开发的人员.。

 

.2变量命名

命名必须具有一定的实际意义,形式为xAbcFgh,x由变量类型确定,Abc、Fgh表示连续意

义字符串,如果连续意义字符串仅两个,可都大写.如OK.

具体例程:

BOOL类型         bEnable;

 

ch   *       char              chText

c   *       类对象             cMain(对象实例)

h   *       Handle(句柄)         hWnd

i   *       int

n   *       无符号整型

p   *       指针

sz,str *       字符串

w           WORD

x,y          坐标

Char或者TCHAR类型    与Windows API有直接联系的用szAppName[10]形式否则用

FileName[10]形式,单个字符也可用小写字母表示;

Int类型          nCmdShow;

LONG类型         lParam;

UINT类型         uNotify;

DWORD类型        dwStart;

PSTR类型         pszTip;

LPSTR类型        lpCmdLine

LPTSTR类型        lpszClassName;

LPVOID类型        lpReserved

WPARAM类型       wParam,

LPARAM类型        lParam

HWND类型         hDlg;

HDC类型          hDC;

HINSTANCE类型      hInstance

HANDLE类型        hInstance,

HICON类型         hIcon;

int             iTmp

float             fTmp

DWORD          dw*

String , AnsiString       str *

m_           类成员变量           m_nVal, m_bFlag

g_           全局变量            g_nMsg, g_bFlag

局部变量中可采用如下几个通用变量:nTemp,nResult,I,J(一般用于循环变量)。

其他资源句柄同上

.3常量命名和宏定义

常量和宏定义必须具有一定的实际意义;

常量和宏定义在#include和函数定义之间;

常量和宏定义必须全部以大写字母来撰写,中间可根据意义的连续性用下划线连接,每一

条定义的右侧必须有一简单的注释,说明其作用;

资源名字定义格式:

菜单:IDM_XX或者CM_XX

位图:IDB_XX

对话框:IDD_XX

字符串:IDS_XX

DLGINIT:DIALOG_XX

ICON:IDR_XX

.4函数命名

函数原型说明包括引用外来函数及内部函数,外部引用必须在右侧注明函数来源:模

块名及文件名, 如是内部函数,只要注释其定义文件名;

第一个字母必须使用大写字母,要求用大小写字母组合规范函数命名,必要时可用下划线

间隔,示例如下:

void UpdateDB_Tfgd (TRACK_NAME);  file://Module Name :r01/sdw.c

void PrintTrackData (TRACK_NAME); file://Module Name :r04/tern.c

void ImportantPoint (void);      file://Module Name :r01/sdw.c

void ShowChar (int , int , chtype);  file://Local Module

void ScrollUp_V (int , int);      file://Local Module

.5结构体命名

结构体类型命名必须全部用大写字母,原则上前面以下划线开始;结构体变量命名必须用

大小写字母组合,第一个字母必须使用大写字母,必要时可用下划线间隔。对于私有数

据区,必须注明其所属的进程。全局数据定义只需注意其用途。

 示例如下:

 typedef struct

 {

 char         szProductName[20];

 char         szAuthor[20];

 

 char         szReleaseDate[16];

 char         szVersion[10];

 unsigned long    MaxTables;

 unsigned long    UsedTables;

}DBS_DATABASE;

DBS_DATABASE GdataBase;

 

6 控件的命名:

用小写前缀表示类别

用小写前缀表示类别:

fm       窗口

cmd      按钮

cob      combo,下拉式列表框

txt      文本输入框

lab      labal,标签

img      image,图象

pic      picture

grd      Grid,网格

scr      滚动条

lst      列表框

frm      fram

 

7注释

原则上注释要求使用中文;

文件开始注释内容包括:公司名称、版权、作者名称、时间、模块用途、背景介绍等,复

杂的算法需要加上流程说明;

函数注释包括:输入、输出、函数描述、流程处理、全局变量、调用样例等,复杂的函数

需要加上变量用途说明;

程序中注释包括:修改时间和作者、方便理解的注释等;

 

 

引用一: 文件开头的注释模板

/******************************************************************

** 文件名:

** Copyright (c) 1998-1999 *********公司技术开发部

** 创建人:

** 日 期:

** 修改人:

** 日 期:

** 描 述:

**

** 版 本:

**--------------------------------------------------------------------------

---

 

 

******************************************************************/

 

引用二: 函数开头的注释模板

/*****************************************************************

** 函数名:

** 输 入: a,b,c

**   a---

**   b---

**   c---

** 输 出: x---

**   x 为 1, 表示...

**   x 为 0, 表示...

** 功能描述:

** 全局变量:

** 调用模块:

** 作 者:

** 日 期:

** 修 改:

** 日 期:

** 版本

****************************************************************/

引用三: 程序中的注释模板

/*----------------------------------------------------------*/

/* 注释内容            */

/*----------------------------------------------------------*/

8 程序

a.   程序编码力求简洁,结构清晰,避免太多的分支结构及太过于技巧性的程序,

尽量不采用递归模式。

b.  编写程序时,亦必须想好测试的方法,换句话说,”单元测试” 的测试方案应

在程序编写时一并拟好。

c.  注释一定要与程序一致。

d.  版本封存以后的修改一定要将老语句用/* */ 封闭,不能自行删除或修改,并要

在文件及函数的修改记录中加以记录。

e.   程序中每个block 的开头 ”{" 及 "}” 必须对齐,嵌套的block 每进一套,

缩进一个tab,TAB 为4个空格,block类型包括if、for、while、do等关键字引出的。

f. 对于比较大的函数,每个block 和特殊的函数调用,都必须注明其功能,举例如下

:

count.divisor = 1193280 / freq;        // compute the proper count

OutByte((unsigned short)67, (unsigned char)182); // tell 8253 that a

count is coming

OutByte((unsigned short)66, count. c[0]);   // send low-order byte

OutByte((unsigned short)66, count. c[1]);   // send high-order byte

 

×××××××××××××××××××××××××××××××××××××××

bcb,delphi中的变量命名:

遵循匈牙利命名法,命

名必须有意义,制定如下规定

窗体:以大写的W开始,如About版权窗体, 命名为WAbout

文件:以大写的F开始,如About版权窗体,文件命名为FAbout.cpp

按钮(Button):如退出按钮,命名为btnExit

……

基类:加base标记,如报表基类,窗体命名为:WBaseRep, 文件命名为FBaseRep.cpp

 

转贴

> 1. 在.h/.cpp的开头应有一段格式统一的说明,内容包括:

> a. 文件名 (FileName);

> b. 创建人 (Creater);

> c. 文件创建时间 (Date);

> d. 简短说明文件功能、用途 (Comment)。

好习惯

> 2. 除非极其简单,否则对函数应有注释说明。内容包括:功能、入口/出口参数,必

要

> 时还可有备注或补充说明。

还是好习惯

> 3. 每列代码的长度推荐为 80列,最长不得超过120列;折行以对齐为准。

太宽了,我的限制是60列,因为文本方式下屏幕一共80列,如果你用BC这一类的编辑

器,窗口边框等又要占据一定空间,所以80列太宽

> 4. 循环、分支代码,判断条件与执行代码不得在同一行上。

很对

> 5. 指针的定义,* 号既可以紧接类型,也可以在变量名之前。

>

> 例:可写做:int* pnsize;

>

> 也可写做:int *pnsize;

>

> 但不得写做:int * pnsize;

建议采用第二种,除非附加另外一条规定:一次只声明一个变量,否则就会让人混淆,

比如:

int* a, b;

看起来b好像也是个指针,其实不是。

> 6. 在类的成员函数内调用非成员函数时,在非成员函数名前必须加上"::"。

这一条我倒觉得并不是必需的,我的看法是决不要让你的类成员函数和全局函数的名称

相同(或类似)

> 7. 函数入口参数有缺省值时,应注释说明。

>

> 例:BOOL CWpsDib::PaintDIB(CDC* pDC, CRect& rc,

>int nBrightness, file://*=0*//

>BOOL bGrayScale file://*=FALSE*// )

每个变量写一行,必要时加上/*in, out*/注释

> 8. else if 必须写在一行。

应该尽量避免else if这样的结构

> 9. 与‘{’、‘}’有关的各项规定:

>

>9.1‘{’、‘}’应独占一行。在该行内可有注释。

> 9.2 ‘{’必须另起一行,‘{’ 之后的代码必须缩进一个Tab。‘{’与‘}’必须在

同

> 一列上。

> 9.3 在循环、分支之后若只有一行代码,虽然可省略‘{’、‘}’,但不推荐这么

> 做。若省略后可能引起歧义,则必须加上‘{’、‘}’。

持保留意见,因为GNU的代码规范是这样的:

if ( NULL == ptr )

{

// do something here

}

或者

if ( NULL == ptr ) {

// do something here

}

争论哪个更好并没有意义,关键是统一,如果用VC当然你的办法最方便,可是如果你用

emacs或者vi,就不是这样了。

> 10. 与空格有关的各项规定。

>

> 10.1 在所有两目、三目运算符的两边都必须有空格。在单目运算符两端不必空格。

但

> 在‘—>’、‘::’、‘.’、‘[’、‘]’等运算符前后,及‘&’(取地址)、‘*

> ’(取值)等运算符之后不得有空格。

> 10.2 for、while、if 等关键词之后应有1个空格,再接‘(’,之后无空格;在结

尾

> 的‘)’前不得有空格。

 

我认为在括号两端加空格并不是什么错误,尤其是在一个条件十分复杂的if语句里

> 10.3 调用函数、宏时,‘(’、‘)’前后不得有空格。

> 10.4 类型强制转换时,‘(’‘)’前后不得有空格

同上

> 11. 与缩进有关的各项规定

>

> 11.1 缩进以 Tab 为单位。1 个 Tab 为 4 个空格

我认为这个值应该更大,我自己使用8个空格,如果你的代码因为缩进幅度太大而导致

折行,那么几乎可以肯定你的程序设计方案有问题。

> 11.2 下列情况,代码缩进一个 Tab:

> 1. 函数体相对函数名及'{'、'}'。

> 2. if、else、for、while、do 等之后的代码。

> 3. 一行之内写不下,折行之后的代码,应在合理的位置进行折行。若有 + - * / 等

运

> 算符,则运算符应在上一行末尾,而不应在下一行的行首。

这一条我反对,运算符应该放在下一行行首,以使人能清楚的知道这一行是续上一行

的,比如

if ( something

&& somethingelse

&& otherthings )

如果写做

if ( something &&

somethingelse &&

otherthings )

反而看不清楚

> 11.3 下列情况,不必缩进:switch 之后的 case、default。

 

源文档 <http://www.mcuchina.com/article/2008/0111/article_187.html>

 

单片机软件设计架构(C语言) C语言嵌入式系统编程修炼之一:背景篇不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择。笔者在嵌入式系统项目的开发过程中,一次又一次感受到C语言的精妙,沉 阅读详情

相关推荐

Cursor提示词模板,开发GD32,C语言开发GD32 ARM单片机编程规范提示词 大厂风格代码规范

Cursor提示词模板,开发GD32,C语言开发GD32 ARM单片机编程规范提示词 大厂风格代码规范,C语言嵌入式自动化AI开发。提示词。

weesky 1569

华为C语言编程规范(精华总结)

“编写程序应该以人为本,计算机第二。” ...

不脱发的程序猿 10万+

单片机软硬件设计原则

单片机软硬件设计原则

单片机工程编写规范

如下规范仅限于本人自己做记录和参考,有误之处请大家指正。 本规范将结合工作遇到的情况持续更新。 1.模块化文件格式 (.h)文件 #ifndef __INCLUDE_H #define __INCLUDE_H /*************************** Includes ***************************/ /*************************** extern define ********************/ /**************

qq_44711012的博客 1440

单片机程序设计编程规范.pdf

单片机程序设计编程规范.pdf

[机器学习-回归实例] 李宏毅机器学习作业一:PM2.5 预测实例

[机器学习-回归实例] 李宏毅机器学习作业一:PM2.5 预测实例 简介   这是一个回归预测的实例,数据集来自李宏毅的《机器学习》课程的第一次作业,可以用来训练一个线性回归模型或者其他的回归模型,动手实践学习到的理论知识,在实践中去发现问题。这篇文章主要包括数据集的解释、数据的预处理过程及线性回归模型的代码实现这三个部分。由于这个数据集并不能直接使用,还需进行一些重构,为了对初学者更友好一些,我会提供重构完的可以读取后就直接使用的数据集,我也会提供 Matlab\rm MatlabMatlab 可直接使用

qq_27309515的博客 3574

单片机c语言编程规范

代码中的initialize函数用于初始化单片机的硬件配置,包括设置LED引脚为输出和启用按钮引脚的上拉电阻。main函数是程序的入口,它在一个无限循环中检测按钮是否被按下,如果按钮被按下,则调用toggleLED函数切换LED的状态,并通过延迟函数__delay_cycles延迟一段时间。请注意,这只是一个简单的范例,实际的代码规范可能会根据项目的要求和团队的约定而有所不同。使用一致的缩进风格,例如使用制表符或空格进行缩进,以提高代码的可读性。使用有意义的变量、函数和宏的名称,避免使用缩写和简写。

shufawangzhang的博客 934

两层板如何做阻抗控制呢

两层板如何做阻抗控制呢? 这个问题可能很多人都会碰到,有的人在此等需要做阻抗控制的情况都选择做多层板。诚然,多层板在阻抗控制,EMC等等方面都有着天然的优势。然而,在价格上和周期上,两层板就有着绝对优势了。 对于成本非常敏感而又不是太复杂的产品,尽管对于我们硬件工程师而言,有一堆的理由要求使用多层板。然而在面对毛都不懂的老板“别人能做,你为什么不能做?”这个问题时只得低下我们高傲的头颅。 好...

weixin_42005993的博客 2万+

单片机c语言程序设计中可以不分大小写,论单片机课程教学中C语言编程的规范性...

摘 要 文章针对“单片机C语言程序设计”教学中存在的编程困扰,提出在教学实践中重视引导学生进行模块化、规范性程序设计,强调规范化编程对学生理解程序的结构与功能的重要作用,并贯穿于课程教学的始终,使学生的单片机应用能力得到了极大的提高。关键词 单片机 C语言 规范性中图分类号:G424 文献标识码:A DOI:10.16400/ki.kjdkz.2015.08.062On the C Languag...

weixin_39822629的博客 995

计算机视觉-全景图像拼接中的特征匹配与优化策略

本文深入探讨了计算机视觉中全景图像拼接的核心技术,重点解析了特征匹配后的关键优化策略。通过SIFT特征提取、RANSAC算法剔除误匹配,并结合APAP算法应对视差与鬼影问题,详细阐述了从基础对齐到无缝融合的完整流程,为开发者实现高质量全景拼接提供了实用指南。

weixin_29039773的博客 361

【Qt】QByteArray详解

对象共享同一份数据,直到修改时才进行深拷贝,以节省内存和计算资源。:可存储任意二进制数据(如图片、音频、协议数据),不依赖字符编码。与编码(如 UTF-8、Latin-1)之间的桥梁(例如。• 补零规则确保奇数字符串能正确解析,避免数据截断。:内部自动分配和释放内存,无需手动管理。将输入的字符串视为十六进制编码数据,返回实际数据长度(不包括结尾的。的输入必须是有效的十六进制字符(,但针对 Qt 框架做了优化。:处理加密后的二进制结果(如。• 如果输入字符串长度为奇数,• 若输入长度为奇数,自动在。

CSUC的博客 1598

c语言像C51那样用位变量,51单片机C语言编程规范-ppt课件

《51单片机C语言编程规范-ppt课件》由会员分享,可在线阅读,更多相关《51单片机C语言编程规范-ppt课件(44页珍藏版)》请在人人文库网上搜索。1、51单片机C语言编程规范,源码工作室,学习单片机C语言的必要性,随着单片机性能的不断提高,C语言编译调试工具的不断完善,以及现在对单片机产品辅助功能的要求、对开发周期不断缩短的要求,使得越来越多的单片机编程人员转向使用C语言,因此有必要在单片机课...

weixin_39789042的博客 370

光学测量仿真软件:Zygo_(12).Zygo软件的用户界面与操作指南

Zygo软件支持用户自定义工具和插件,以扩展软件的功能和适应特定的仿真需求。编写脚本使用Python或其他支持的脚本语言编写自定义工具的脚本。例如,编写一个脚本来计算光束的衍射效率。# 示例脚本:计算光束的衍射效率 import zygo # 导入Zygo软件的API def calculate_diffraction_efficiency(wavelength , grating_period , angle) : """计算光束的衍射效率:param wavelength: 光源波长(单位:米)

kkchenjj的博客 1669

c语言用嵌套写红绿灯,单片机C语言基本编程规范详解

单片机C语言基本编程规范详解本标准规定了程序设计人员进行程序设计时必须遵循的规范。本规范主要针对单片机编程语言和08编译器而言,包括排版、注释、命名、变量使用、代码可测性、程序效率、质量保证等内容。1.基本规则格式清晰、注释简明扼要、命名规范易懂、函数模块化、程序易读易维护、功能准确实现、代码空间效率和时间效率高、适度的可扩展性、单片机编程规范-标识符命名。2.标识符命名2.1命名基本原则(1)命...

weixin_35716518的博客 447

Python爬虫实战:抓取全球船舶AIS定位数据的全流程指南

AIS(Automatic Identification System)自动识别系统是目前全球航运中用于实时跟踪船只位置的主要技术。名称、MMSI编号、呼号实时经纬度船速、航向吃水、目的港状态(航行/停泊/锚泊)航线信息等🛰️海上运输监控:追踪航线,预估到港时间;🛳️船舶管理系统:为物流、港口运营提供决策依据;🌊研究分析:如海洋运输碳排放研究、船只拥堵热力图等;🧠人工智能训练数据集:用于轨迹预测、碰撞预警模型。

2201_76125261的博客 1364

GB 47955—2026 L2组合驾驶辅助强制国标全解、合规方案与工程代码落地

GB 47955—2026 L2辅助驾驶国标合规工程代码# 运行环境:Python3.8+,适配车载仿真、台架测试、算法验证场景# 依赖安装:pip install numpy dataclasses tqdm struct time json# ===================== 国标强制时序参数(完全对标GB 47955—2026) =====================HAND_OFF_FIRST_WARN = 5.0 # 手部脱离5s触发一级预警。

lin_xiu的博客 308

迟思堂工作室编程规范:单片机C语言

李迟的专栏 1503

【思考模型框架】采用双钻模型:发散(桌面研究/用户访谈)→收敛(需求归类/优先级排序),输出需求规格书、追踪矩阵及产品待办清单。

设计思维双钻模型是一种以用户为中心的需求管理方法,通过"发散-收敛"的双循环确保问题定位准确、方案切实可行。第一钻石(探索→定义)聚焦"找对问题",运用用户访谈、田野调查等方法挖掘真实需求;第二钻石(开发→交付)解决"做对方案",通过原型测试、A/B测试验证可行性。该模型强调低保真验证、多团队协作和真实用户测试,避免资源浪费与伪需求开发。典型应用场景包括产品功能优化、用户体验提升等需要精准落地的需求场景。核心价值在于建立从用户痛点到解决方案的可控闭

奶爸的编程之路,也就一周冷个三天 319

c51语言的注释,单片机C51编程规范

1单片机C51编程规范- 前言为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范。2 单片机C51编程规范-范围本标准规定了程序设计人员进行程序设计时必须遵循的规范。本规范主要针对C51编程语言和keil编译器而言,包括排版、注释、命名、变量使用、代码可测性、程序效率、质量保证等内容。3 单片机C51编程规范-总则l 格式清晰l 注释简明扼要l 命名规范易懂l 函数模块化l ...

weixin_29344293的博客 2034

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

单片机开发之C语言编程基本规范

为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范。本标准规定了程序设计人员进行程序设计时必须遵循的规范。本规范主要针对单片机编程语言和08编译器而言,包括排版、注释、命名、变量使用、代码可测性、程序效率、质量保证等内容。 1.基本规则 格式清晰、注释简明扼要、命名规范易懂、函数模块化、程序易读易维护、功能准确实现、代码空间效率和时间效率高、适度的可扩展性、单片机编...

liming0931的专栏 513

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

51单片机c语言编程手册,51单片机C语言学习笔记8:单片机C51编程规范

在网上找到这份单片机C51编程规范,觉得很有用,决定在以后自己编C51程序的时候用上。1单片机C51编程规范-前言为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范。2单片机C51编程规范-范围本标准规定了程序设计人员进行程序设计时必须遵循的规范。本规范主要针对C51编程语言和keil编译器而言,包括排版、注释、命名、变量使用、代码可测性、程序效率、质量保证等内容。3单...

weixin_36161071的博客 1816

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

华为c语言编程规范_单片机开发之C语言编程基本规范

为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范。本标准规定了程序设计人员进行程序设计时必须遵循的规范。本规范主要针对单片机编程语言和08编译器而言,包括排版、注释、命名、变量使用、代码可测性、程序效率、质量保证等内容。 1.基本规则 格式清晰、注释简明扼要、命名规范易懂、函数模块化、程序易读易维护、功能准确实现、代码空间效率和时间效率高、适度的可扩展性、单片机编程规范-标...

weixin_39588419的博客 591

单片机c语言程序注释,单片机C基本编程规范

为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范。本标准规定了程序设计人员进行程序设计时必须遵循的规范。本规范主要针对单片机编程语言和08编译器而言,包括排版、注释、命名、变量使用、代码可测性、程序效率、质量保证等内容。1.基本规则格式清晰、注释简明扼要、命名规范易懂、函数模块化、程序易读易维护、功能准确实现、代码空间效率和时间效率高、适度的可扩展性、单片机编程规范-标识符...

weixin_28956181的博客 1610

单片机C语言的编程规范

<br />写单片机程序也是程序,也要遵循写软件的一些基本原则,不是为了完成功能那么简单。我看过的所有的C语言单片机书籍基本都不注重模块化思想,完全是拿着C当汇编用,简直是在糟蹋C语言!<br /><br />如下问题,几乎所有的单片机书籍中都大量存在(更别说网上的和现实中的代码了,书上都写的那么差劲,学的人能好到哪里去):<br />1、变量到处定义,根本不管变量的生命周期是否合适(请回答:全局变量、局部变量、静态变量、volatile变量有什么区别联系?)<br />2、变量名称极不规范,根本从名字上看

工匠 1156
上一篇: 数据传送指令
下一篇: bit和sbit的区别
liufei_learning
博客等级 码龄17年 821粉丝 145原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值