当前位置:首页 » 编程语言 » c语言编程规则

c语言编程规则

发布时间: 2023-02-05 15:50:44

① 用c语言编程中,一般的格式是怎样的

C语言源程序的编程格式归纳如下: 1,强制性规则 1,一个C语言源程序必须有且只有一个MAIN函数. 2,函数名后必须紧跟圆括号对,函数体放在右圆括号")"后的花括号对"{}"中. 3,每个程序体(包括函数的函数体,含有多条语句的选择结构和循环结构中的语句序列)必须用一对花括号括起来. 4,文件包含预处理命令,#INCLUDE<*.H>应置于源程序的开始位置. 5,语句未尾必须有分号,而预处理命令和函数首部的未尾及右花括号之后不要分号. 6,同一字母大,小写意义不同,关键字和标准库函数名必须用小写. 7,变量必须先定义,后使用 8,除已有明显间隔符外,标识符,关键字之间必须有至少一个空格 9,注解必须包含在"/* */符号之间 我想你想要知道的是C语言的四种程序结构吧 如下:1,分支语句格式 ①if(条件) {分支体} 这种分支结构中的分支体可以是一条语句,此时“{}”可以省略,也可以是多条语句即复合语句。它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过分支体,这时分支体就不会执行。如:要计算x的绝对值,根据绝对值定义,我们知道,当x>=0时,其绝对值不变,而x<0时其绝对值是为x的反号,因此程序段为:if(x<0)x=-x; ②if(条件) {分支1} else {分支2} ③IF嵌套分支语句:其语句格式为: if(条件1) {分支1} else if(条件2) {分支2} else if(条件3) {分支3} …… else if(条件n) {分支n} else {分支n+1} FOR嵌套,其语句格式为: for(初值A;范围A;步长A) { for(初值B;范围B;步长B) { 循环体 } } FOR嵌套例子:九九乘法表 main()这里是主程序的编程格式,你参考下 { int a,b,c; for(a=1;a<=9;a++) { for(b=1;b<=a;b++) { c=b*a; printf("%dx%d=%d ",b,a,c); } printf("\n"); } }

② 华为c语言编程规范是怎样的

代码总体原则
清晰第一。清晰性是易于维护、易于重构的程序必须具备的特征。
简洁为美。简介就是易于理解并且易于实现。
选择合适的风格,与源代码风格保持一致。
头文件
头文件的设计体现了大部分的系统设计,不合理的头文件布局是编译时间过长的根因,实际上是不合理的设计。
头文件中适合放置接口的声明,不适合放置实现。
头文件应当职责单一。
头文件应向稳定的方向包含。
每一个.c文件应有一个同名的.h文件,用于声明需要对外公开的接口。
禁止头文件循环依赖。
禁止包含用不到的头文件。
头文件应当自包含。
编写内部#include保护符(#define保护)。
禁止在头文件中定义变量。
只能通过包含头文件的方式使用其他C提供的接口,禁止在C中通过extern的方式使用外部函数接口和变量。
禁止在extern "C"中包含头文件。
函数
函数设计的精髓:编写整洁函数,同事把代码有效组织起来。
一个函数仅完成一个功能。
重复代码应该尽可能提炼成函数。
避免函数过长,新增函数不超过50行。
避免函数的代码块嵌套过深,新增函数的代码块嵌套不超过4层。
可重入函数应避免使用共享变量;若需要使用,则应该通过互斥手段对其加以保护。
对参数的合法性检查,由调用者负责还是接口函数负责,应在项目组模块内统一规定。缺省由调用者负责。
对函数的错误返回码要全面处理。
设计高扇入,合理扇出(小于7)的函数。扇出是指调用其它函数的数目。扇入是指有多少上级函数调用它。
废弃代码要及时清除。
函数参数不变使用const限定。
函数应避免使用全局变量、静态局部变量和I/O操作,不可避免的地方应集中使用。
检查函数所有非参数输入的有效性,如数据文件、公共变量等。
函数的参数个数不超过5个。
在源文件范围内声明和定义的所有函数,除非外部可见,否则应该加static关键字。
标识符
标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。
产品、项目组内应保持同意的命名分格。
尽量避免名字中出现数字编号,除非逻辑上确实需要。
重构、修改部分代码时,应该保持和原有代码风格一致。
文件命令统一采用小写字符。因为不同系统对文件名大小写处理会有不同(windows不区分大小写,但是linux系统则区分)。
全局变量应增加“g_”前缀。
静态变量应增加“s_”前缀。
禁止使用单字节命名变量,但是允许定义i,j,k作为局部循环变量。
不建议使用匈牙利命名法。
对于数值或者字符串常量的定义,建议采用全大写字母,单词之间加下划线的方式命名。
变量
结构功能单一,不要设计面面俱到的数据结构。
不用或者少用全局变量
防止局部变量与全局变量同名
通讯过程中使用的机构,必须注意字节序。
严禁使用未经初始化的变量作为右值。
使用面向接口编程思想,通过API访问数据。
尽量减少没有必要的数据类型默认转换与强制转换。
宏和常量
用宏定义表达式时,要使用完备的括号。
将宏定义的多条表达式放在大括号中。
使用宏时,不允许参数发生变化。
不允许直接使用魔鬼数字。
除非必要,应尽可能使用函数代替宏。
常量建议用const定义代替宏。
质量
时刻注意易混淆的操作符
必须了解编译系统的内存分配方式,特别是编译系统对不同类型的变量的内存分配规则,如局部变量在何处分配、静态变量在何处分配等。
不仅关注接口,同样要关注实现。
禁止内存操作越界。
禁止内存泄漏。
禁止引用已经释放的内存空间。
编程时,要防止差1错误。
switch语句必须有default分支。
函数中分配的内存,在函数退出之前要释放。
不要滥用goto语句。
时刻注意表达式是否会上溢、下溢。
程序效率
在保证软件系统的正确性、简洁、可维护性、可靠性及可测试性的前提下,提高代码的效率。
通过对数据结构、程序算法的优化来提高效率。
将不变条件的计算移到循环体外。
对于多维大数组,避免来回跳跃式访问数组成员。
创建资源库,以减少分配对象的开销。
将多次被调用的“小函数”改为inline函数或者宏实现。
注释
优秀的代码可以自我解释,不通过注释即可轻易读懂。
注释的内容要清楚、明了,含义准确,防止注释二义性。
修改代码时,维护代码周边的所有注释,以保证注释与代码的一致性。不再有用的注释要删除。
文件头部应进行注释,注释需要列出:版权说明、版本号、生成日期、作者姓名、工号、内容、功能说明、与其他文件的关系、修改日志等,头文件的注释中还应有函数功能的说明。
函数声明处注释描述函数功能、性能及用法,包括输入和输出参数、函数返回值、可重入的要求等;定义处详细描述函数功能和实现要点,如实现的简要步骤、实现的理由、设计约束等。
全局变量要有详细的注释,包括对其功能、取值范围以及存取时注意事项等的说明。
尽量采用工具可以识别的格式注释。
排版与格式
程序块采用缩进风格编写,每级缩进为4个空格。
相对独立的程序块之间、变量说明之后必须加空行。
一行只写一条语句。
对等操作两边加空格,注释符与内容之间加空格。
编译
使用编译器的最高告警级别,理解所有的告警,通过修改代码而不是降低告警级别来消除所有告警。
在产品软件中,要统一编译开关、静态检查选项以及相应告警清除策略。
可测性
模块划分清晰,接口明确,耦合性小,有明确输入和输出,否则单元测试实施困难。
在统一项目组或产品组内,调测打印的日志要有统一的规定。
使用断言记录内部假设。
不能用断言来检查运行时错误。

③ C语言程序设计基础概念

C语言程序设计基础概念

C语言是近年来非常流行的语言,很多人宁愿放弃已经熟悉的其他语言而改用C语言,其原因是C语言有优于其他语言的一系列特点。下面是我搜集的C语言程序设计基础概念,希望大家认真复习!

1.1 C语言的特点

C语言是近年来非常流行的语言,很多人宁愿放弃已经熟悉的其他语言而改用C语言,其原因是C语言有优于其他语言的一系列特点。下面是C语言的主要特点:

(1)语言简洁、紧凑,并且使用方便、灵活;

(2)运算符丰富;

(3)数据结构丰富;

(4)具有结构化的控制语句;

(5)语法限制不太严格,使程序设计比较自由;

(6)C语言允许用户直接访问物理地址,能进行位(bit)操作,可以直接对硬件进行操作。

1.2 源程序的书写规则

C语言的书写规则。C语言书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上。C程序没有行号,每个语句和数据定义的.最后必须有一个分号。C语言中分号是语句中不可少的,即使是程序中的最后一个语句也应该包含分号。C语言中的注释可以用〃/*〃用〃*/〃结束,注释可以在任何允许插入空格符地方插入。C语言中注释不允许嵌套,注释可以用西文,也可以用中文。

1.3 C语言的风格

由于C语言对语法限制不太严格,为了保证程序的准确性和可读性,建议在书写程序采用阶梯缩进格式。也就是按如下格式书写C语言程序:

**********;

*****()

{

**********;

********;

{

******;

……

}

*********;

}

概括起来,C语言程序具有如下的风格:

①C语言程序的函数具体模块结构风格,使得程序整体结构清晰、层次清楚,为模块化程序设计提供了强有力的支持。

②C语言的源程序的扩展名都是.C。

③C语言中的注释格式为:

/*注释内容*/

/与*之间不允许有空格,注释部分允许出现在程序中的任何位置。

④C语言中的所有语句都必须以分号“;”结束。

;

④ C语言中逻辑运算符的规则是什么

1、逻辑运算符运算规则:

||或:比如两个条件中,只要有一个成立,则结果就成立;

&&与:比如两个条件中,两个同时成立,则结果成立,否则不成立;

!非,就是取反之意,如果是真,结果是假,如果是假,结果是真。

2、逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。下为C语言逻辑运算||和&&的真值表:


⑤ C语言编程规范

把调用函数写在前面。
如果需调用的函数在后面,需在main函数前声明

一半习惯把自定义函数写在前面

⑥ 有谁知道C语言程序的编程规范,给我概括一下,

1引言
1.1编写目的
在软件开发过程中,编码的工作量是相当大的,同一项目参与编程的人可能有各自编程的经验和习惯,不同风格的程序代码使维护工作变得复杂和困难。为了提高代码的可读性、系统的稳定性及降低维护和升级的成本,特编写本规范以统一各开发人员的编程工作。
1.2 适用对象
本规范适用于所有开发人员,包括应用程序、网页及数据库开发人员,及有关的程序测试人员。
1.3 引用标准
GB/T 11457 软件工程术语
GB 8566 计算机软件开发规范
GB 8567 计算机软件产品开发文件编制指南
2.编写要求
2.1一般代码规则
 可读性原则,这是评价程序质量的首选指标,宁可不要一些技巧也要保证程序的易读特性,不要因过分追求技巧而牺牲程序的可读性。
 功能独立性原则。每一程序块只完成一个独立的功能,反过来,每一独立的功能只在一程序块内完成,尽量低耦合、高内聚。
 提示说明应当简短且避免产生歧义。
 提示或警告信息应当具有向导性,能准确告诉用户错误原因及恢复方法。提示和警告对话框应当使用标准规范。
 快捷键的定义必须符合用户操作习惯。
 程序需要长时间处理或等待时,应当显示进度条并提示用户等待。
 一些敏感操作,如删除等操作在执行前必须提示用户确认。
2.2变量、函数、过程、控件等命名规则
2.2.1 变量命名
变量命名采用[作用范围][数据类型][自定义名称]规则定义,并遵循匈牙利命名法。要求看到变量名就能直观的看出其范围和数据类型。
 匈牙利命名规则:
a Array 数组
b BOOL (int) 布尔(整数)
by Unsigned Char (Byte) 无符号字符(字节)
c Char 字符(字节)
cb Count of bytes 字节数
cr Color reference value 颜色(参考)值
cx Count of x (Short) x的集合(短整数)
dw DWORD (unsigned long) 双字(无符号长整数)
f Flags (usually multiple bit values) 标志(一般是有多位的数值)
fn Function 函数
g_ global 全局的
h Handle 句柄
i Integer 整数
l Long 长整数
lp Long pointer 长指针
m_ Data member of a class 一个类的数据成员
n Short int 短整数
p Pointer 指针
s String 字符串
sz Zero terminated String 以0结尾的字符串
tm Text metric 文本规则
u Unsigned int 无符号整数
ul Unsigned long (ULONG) 无符号长整数
w WORD (unsigned short) 无符号短整数
x,y x, y coordinates (short) 坐标值/短整数
v void 空
 作用范围:
范围 前缀 例子
全局作用域 g_ g_Servers
成员变量 m_ m_pDoc
局部作用域 无 strName
 数据类型
VC常用前缀列表
前缀 类型 描述 例子
ch char 8位字符 chGrade
ch TCHAR 16位UNICODE类型字符 chName
b BOOL 布尔变量 bEnabled
n int 整型(其大小由操作系统决定) nLength
n UINT 无符号整型(其大小由操作系统决定) nLength
w WORD 16位无符号整型 wPos
l LONG 32位有符号整型 lOffset
dw DWORD 32位无符号整型 dwRange
p * 内存模块指针,指针变量 pDoc
l p FAR* 长指针 lpDoc
lpsz LPSTR 32位字符串指针 lpszName
lpsz LPCSTR 32位常量字符串指针 lpszName
lpsz LPCTSTR 32位UNICODE类型常量指针 lpszName
h handle Windows对象句柄 hWnd
lpfn (*fn)() 回调函数指针 Callback Far pointer to
CALLBACK function lpfnAbort
2.2.2 函数、过程命名
函数或过程名的主体应该使用大小写混合形式,并且应该足够长以描述它的作用。而且,函数名应该以一个动词起首,如 InitNameArray 或 CloseDialog。对于频繁使用的或长的项,推荐使用标准缩略语以使名称的长度合理化。一般来说,超过 32 个字符的变量名在 VGA 显示器上读起来就困难了。当使用缩略语时,要确保它们在整个应用程序中的一致性。在一个工程中,如果一会儿使用 Cnt, 一会儿使用 Count,将导致不必要的混淆。
对于自行编写的函数,若是系统关键函数,则须在函数实现部分的上方标明该函数的信息,格式如下:
//======================================================
// 函 数 名:InsureHasOutputInfo
// 功能描述:确保有适当的输出信息
// 输入参数:nProctID:相应的产品ID
// 输出参数:void
// 创建日期:00-2-21
// 修改日期:00-2-21
// 作 者:***
// 附加说明:
//======================================================
2.2.3 用户定义类型
在一项有许多用户定义类型的大工程中,常常有必要给每种类型一个它自己的三个字符的前缀。如果这些前缀是以 "u" 开始的,那么当用一个用户定义类型来工作时,快速识别这些类型是很容易的。例如,ucli 可以被用来作为一个用户定义的客户类型变量的前缀。
注:对于非通用的变量,请在定义时加以注释说明,变量定义尽可能放在最开始处。
2.2.4 控件命名
应该用一致的前缀来命名对象,使人们容易识别对象的类型。
VC常用宏定义命名列表
前缀 符号类型 符号例子 范围
IDR_ 标识多个资源共享的类型 IDR_MAINFRAME 1~0x6FFF
IDD_ 对话框资源(Dialog) IDD_SPELL_CHECK 1~ 0x6FFF
HIDD_ 基于对话框的上下文帮助 HIDD_SPELL_CHECK 0x20001~0x26FF
IDB_ 位图资源(Bitmap) IDB_COMPANY_LOGO 1~0x6FFF
IDC_ 光标资源(Cursor) IDC_PENCIL 1~0x6FFF
IDI_ 图标资源(Icon) IDI_NOTEPAD 1~0x6FFF
ID_、IDM_ 工具栏或菜单栏的命令项 ID_TOOLS_SPELLING 0x8000~0xDFFF
HID_ 命令上下文帮助 HID_TOOLS_SPELLING 0x18000~0x1DFFF
IDP_ 消息框提示文字资源 IDP_INVALID_PARTNO 8~0xDFFF
HIDP_ 消息框上下文帮助 HIDP_INVALID_PARTNO 0x30008~0x3DFFF
IDS_ 字符串资源(String) IDS_COPYRIGHT 1~0x7FFF
IDC_ 对话框内的控制资源 IDC_RECALC 8~0xDFFF
2.3源代码规则
2.3.1风格约定:采用缩进的格式保存程序的层次结构。要求能直观的看出循环、判断等层次结构。
每一个嵌套的函数块,使用一个TAB缩进(可以设定为4个空格),大括号必须放在条件语句的下一行,单独成一行,便于匹对反大括号应该在单独的一行,在大多数情况下反扩号应有注释内容。举例如下:
if(condition1)
{
while(condition2)
{
…..
…..
}//end while(condition2)
}//end if (condition1)
或者
if(condition1){
while(condition2){
….
….
}//end while(condition2)
}//end if(conditionl)
2.3.2在操作符的前后必须使用空格。
2.3.3在分隔数组下标和函数参数的逗号后面必须添上空格。
2.3.4严禁使用go to 语句。
2.3.5对数据库操作只能使用标准SQL语句,关键字必须使用大写(如SELECT、WHERE等),数据元素(表、字段、视图等)必须按照数据字典书写。
2.3.6程序代码中要有足够的容错处理功能。
对可能发生的异常统一采用C++抛出格式:
try
{
//可能引发异常的代码
throw t; //手工抛出异常
}
catch(type_1 e) // type_1为类型定义符、如int、CException、_com_error
{
// type_1类型异常处理
}
catch(type_2 e)
{
// type_2类型异常处理
}

2.3.7程序代码结构必须层次清楚,适当使用空行分段。
2.3.8工程的版本控制要严格,版本格式为.me.ae.yy.mmdd,其中:[me]表示主版本号;[ae]表示辅版本号;[yy.mmdd]表示版本建立日期。高版本尽量兼容低版本的用法、数据或协议。
2.4文件的命名规则
2.4.1根据系统设计所规定的结构,建立相应的文件夹,根据需要建立子文件夹。
2.4.2文件夹和文件的名称应尽量能够表达其意义,尽量使用英文命名,绝对不能汉字。
2.4.3文件名称一般采用“xxx_yyy.ext”格式,xxx(3-4个字母)表示分类,yyy(字母数自定)表示操作 (如 “ /example/exp_edit.htm ”)
\

我从公司文档拷贝的!你自己看看对你有没有用!

⑦ C语言的编程规范是什么

c语言编程是一门特殊的能让计算机看懂的语言,他也有特殊的语法......

⑧ C语言的书写规则主要有哪些呢

1.
1.1符号命名规则
1.1.1符号名包括模块名、常量名、标号名、子程序名等。这些名字应该能反映它所代表的实际东西,具有一定的意义,使其能够见名知义,有助于对程序功能的理解。命名采用匈牙利命名法。规则如下:
(1)所有宏定义、枚举常数和const变量,用大写字母命名。在复合词里用下划线隔开每个词。
(2)复合词中每个单词的第一个字母大写。除了规则5.1.1.1以外,避免使用下划线。
(3)类、类型定义和枚举型名的第一个字母大写。
(4)函数名是复合词的,第一个词采用全部小写,随后每个单词采用第一个字母大写,其它字母小写方式;如果是单个词的,采用全部小写方式。
(5)循环变量可采用i, j, k等,不受上述规则限制。
(6) 类的成员变量应采用m_开头。
(7) 全局变量词头为g_ 。
(8) 临时变量词头为tmp_ 。
(9) 对结构体内的变量命名, 遵循变量的具体含义命名原则
(10)用小写字母的前缀表示变量的类型,前缀的下一个字母用大写。
表 1
词头 类型 词头 类型
ch char l long
i integer u unsigned
b boolean p pointer
f float lp long pointer
d double s string
st structure sz ASCII string
by byte n short int
H handle x,y 分别为x,y坐标
dw DWORD fn function

表 2
词头 变量名 词头 变量名
task task sig signal
sb binary semaphores wd watchdog
sm mutual exclusion tm timer
sc counting semaphores msg message
pipe pipe

例:
#define ARRAY_SIZE 24 /*规则5.1.1.1*/

int g_iFlag;
class MyClass /*规则5.1.1.3*/
{
};

void someFunc( ) /*规则5.1.1.2和5.1.1.4*/
{

int nArray[ARRAY_SIZE];
unsigned char uchByte;
char szName[ ];
char *pszName = szName;
}

(11)有些词头(如p和u)可以和其它词头组合。

例:WDOG_ID wdId;
WDOG_ID g_wdId; /*全局watchdog Id,故以g_开头*/

1.1.2名字的长度一般不要过长或过短。过长的名字会增加工作量,使程序逻辑流程变得模糊;过短的名字无法表达符号的实际意义。约定长度范围:3-31;

1.2数据和函数说明
1.2.1数据说明次序应当规范化,使数据属性容易查找,也有利于测试、排错和维护。说明的先后次序应固定,应按逻辑功能排序,逻辑功能块内建议采用下列顺序:整型说明、实型说明、字符说明、逻辑量说明。
1.2.2如果设计了一个复杂的数据结构,应当通过注释对其变量的含义、用途进行说明。
1.2.3在函数的声明中使用异常声明。
如:void f() throw(toobig, toosmall, divzero);
在声明一个函数时,将它所抛出的异常列出,便于函数的使用者了解可能会发生哪些异常。

1.3 程序注释
1.3.1程序注释是程序员与日后的程序读者之间通信的重要手段之一,注释分为文件注释、函数注释和功能注释。
1.3.2正规程序的注释应注意:
——注释行的数量占到整个源程序的1/3到1/2。
1.3.3文件注释位于整个源程序的最开始部分,注释后空两行开始程序正文。它包括:
——程序标题。
——目的、功能说明。
——文件作者、最后修改日期等说明。
例:
./********************************************************************
(空一行)
标题: Demo.c
功能: 测试VxWorks的各种系统调用.
说明:
该程序测试各种VxWorks的系统调用函数。包括任务(taks)的创建、挂起及任务间通过信号灯实现同步,通过消息队列 进行通讯。
程序创建了两个任务:一个高优先级的任务和一个低优先级的任务。两个任务间通过一个二进制的信号灯进行同步,通过消息队列进行通讯。
当前版本: x.x
修改信息: 2000.06.05 John, Initial Version
2000.07.05 Tom, Bug xxxx fixed
**************************************************************/
(空2行,开始程序正文)

1.3.4 函数注释通常置于每函数或过程的开头部分,它应当给出函数或过程的整体说明对于理解程序本身具有引导作用。一般包括如下条目:
——模块标题。
——有关本模块功能和目的的说明。
——调用格式
——接口说明:包括输入、输出、返回值、异常。
——算法。如果模块中采用了一些复杂的算法。
例:
file://(/注释开头应和上一函数空两行)
(注释开头与上一函数最后一行间隔两行)
/********************************************************************
标题:assignmentComplete
功能:BSC=>MSC消息生成函数,生成assignment_complete指配完成消息(BSMAP消息) .
格式:
int assignmentComplete(int iCellId, int iServiceChannnelNum, char *pszMSGData) throw(exception1, exception2)
输入:
int iCellId: MS所在的小区识别
iCellId取值:0x00-——0xff

int iServiceChannnelNum:MS所占的业务信道号码
输出:
char * pszMSGData:指配完成消息数据
返回值: 0x00正常
异常:exception1异常情况1, exception2异常情况2
********************************************************************/
( 注释后直接开始程序正文,不空行。)
1.3.5功能性注释嵌在源程序体中,用于描述其后的语句或程序段做什么工作,也就是解释下面要做什么,或是执行了下面的语句会怎么样。而不要解释下面怎么做,因为解释怎么做常常与程序本身是重复的。
例:
/*把 amount 加到 total中*/
total = amount + total;
这样的注释仅仅是重复了下面的程序,对于理解它的工作并没有什么作用。而下面的注释,有助于读者理解。
/*将每月的销售额amount加到年销售额total中*/
total = amount + total;
1.4 函数编写应尽可能短小精悍,一般不超过两屏,以便于调试和理解。

1.5语句结构
为保证语句结构的清晰和程序的可读性,在编写软件程序时应注意以下几个方面的问题:
——在一行内只写一条语句,并采用空格、空行和移行保证清楚的视觉效果。
——每一个嵌套的函数块,使用一个TAB缩进(可以设定为4个空格),大括号必须放在条件语句的下一行,单独成一行,便于匹对:
如,有一段程序如下:
for(i=1;i<n-1;i++){ t=1; for(j=i+1;j<n;j++){
if(a[j]<a[t] ) t=j; if(t!=i ){work=a[t];a[t]=a[I];a[I]=work;}}}
应写为
for( i=1; i<n-1; i++)
{
t=1;
for(j = i+1; j<n; j++)
{
if(a[i]<a[j])
t=j;
if(t!=1)
{ .5.

Q/ECC/BJ 010—2001
work=a[t];
a[t]=a[i];
a[i]=work;
}
}
}

——文件之中不得存在无规则的空行,比如说连续十个空行。
一般来讲函数与函数之间的空行为2-3行;
在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。
——程序编写首先应考虑清晰性,不要刻意追求技巧性而使得程序难以理解。
——每行长度尽量避免超过屏幕宽度,应不超过80个字符。
——除非对效率有特殊要求,编写程序要作到清晰第一,效率第二。
——尽可能使用函数库。
——尽量用公共过程或子程序去代替重复的功能代码段。要注意,这个代码应具有一个独立的功能,不要只因代码形式一样便将其抽出组成一个公共过程或子程序。
——使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将 x=a*b/c*d 写成 x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。
——避免不必要的转移。
——避免采用过于复杂的条件测试。
——避免过多的循环嵌套和条件嵌套。
——建议不要使用 *=,^=, /=等运算符。
——一个函数不要超过200行。一个文件应避免超过2000行。
——尽量避免使用go to语句。
——避免采用多赋值语句,如x = y = z ;
——不鼓励采用?:操作符,如z = (a>b)?a:b;
——不要使用空的if else 语句。如
if(cMychar >= ‘A’)
if(cMychar <= ‘Z’)
printf(“This is a letter \n”);
else
printf(“This is not a letter \n”);
else到底是否定哪个if容易引起误解。可通过加{}避免误解。
——尽量减少使用“否定”条件的条件语句。如:
把 if( !( (cMychar<’0’) || (cMychar>’9’) ) )
改为if( (cMychar>=’0’) && (cMychar<=’9’)

⑨ C语言的编程格式是怎么样的

C语言源程序的编程格式归纳如下:
1,强制性规则
1,一个C语言源程序必须有且只有一个MAIN函数.
2,函数名后必须紧跟圆括号对,函数体放在右圆括号")"后的花括号对"{}"中.
3,每个程序体(包括函数的函数体,含有多条语句的选择结构和循环结构中的语句序列)必须用一对花括号括起来.
4,文件包含预处理命令,#INCLUDE<*.H>应置于源程序的开始位置.
5,语句未尾必须有分号,而预处理命令和函数首部的未尾及右花括号之后不要分号.
6,同一字母大,小写意义不同,关键字和标准库函数名必须用小写.
7,变量必须先定义,后使用
8,除已有明显间隔符外,标识符,关键字之间必须有至少一个空格
9,注解必须包含在"/* */符号之间

热点内容
airpod安卓怎么切换下一曲 发布:2024-04-28 14:23:03 浏览:834
百姓网源码 发布:2024-04-28 14:18:56 浏览:892
war包防止反编译 发布:2024-04-28 14:17:16 浏览:327
linuxll命令 发布:2024-04-28 14:16:27 浏览:859
阿里云服务器增强安全配置取消 发布:2024-04-28 14:16:12 浏览:866
war3存储空间不足 发布:2024-04-28 13:20:54 浏览:949
微信密码已经忘记了如何找回 发布:2024-04-28 11:54:13 浏览:304
腾讯云服务器可以备案几个网站 发布:2024-04-28 11:54:12 浏览:458
影响编译速度的因素有哪些 发布:2024-04-28 11:53:58 浏览:255
安全配置汽车有哪些 发布:2024-04-28 11:48:07 浏览:830