c语言代码编写的格式?
1、以GCC编译器为例,可以分为四步。第一步是预处理,包括语法检查等工作。gcc -P abc.c第二步由源程序生产汇编语言代码。gcc -S abc.c会生成abc.s文件,这个文件里就是汇编代码。第三步编译器生成目标代码,一个源文件生成一个目标代码。gcc -c abc.c会生成abc.o第四步连接器从目标代码生成可执行文件。gcc abc.o2、目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。
第一个要装进行囊和你一起前进是“规范的格式”,有很多教科书,参考书,不太注重程序的格式的问题,写出的程序就象一堆堆的垃圾一样,这也导致了现在很多人写的程序中有很多的废码,垃圾代码,这和那些入门的书有非常大的关系,要把那些作者都拿来打打PP。真正的商业程序绝对是规范的,张三写的程序和李四的程序格式大致相同,各种标识符的命名规则一样,否则谁也看不懂你写的程序。如果写出来的代码谁也看不懂,那绝对是垃圾。如果要把那些垃圾翻半天,勉强才把金子找出来,那这样的程序不如不要,还不如重新写过,这样,思路会更清楚一点。所以说,规范的格式是入门的基础。那这个规范的格式包括什么呢?不少啊,要坚持才能做到!长标志符命名,代码缩进,一对大括号范围不超过一屏幕,等等。
第二个要装进行囊的是耐心,所谓工欲善其事,必先利其器。要想成功,没有一个相对平淡的过程是不可能的。这不仅仅指你在学习过程中要有耐心,要循序渐进,而且也说的是另一个重要的方面:调式程序。调试是写程序过程中一个重要的方面,如果有人能一次写成程序,牛啊,而且是大牛,不光是大牛,还是老子骑的那头青牛,凡人是做不道的!调试是每个程序必定经历的历程。经常有同学问我:老师,我的程序完全没错误啊,都是照书抄的啊!怎么就运行不出来呢?对于这个问题我也看不出来!你们有问题可以找我,找其他的老师,老师找谁啊?李师父?那是很荒谬的!我就只好坐下来调试,这个说实话,调试是很枯燥的,所以有同学抱怨说我操作太快,不理解为什么要这样,为什么要那样,我的脾气不太好,一烦躁就会骂人地,所以,这个就需要你们自己修炼内功了!
(初级程序员 讨论版)
前言
一个好的程序编写规范是编写高质量程序的保证。清晰、规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性。
说明
l 本文档主要适用于刚刚开始接触编程的初学者。
l 对于具有一定工程项目开发经验的程序员,建议学习C语言程序代码编写规范—高级版。
目录
1 代码书写规范
2 注释书写规范
3 命名规范
4 其它一些小技巧和要求
1 代码书写规范
1.1函数定义
花括号: { }
每个函数的定义和说明应该从第1列开始书写。函数名(包括参数表)和函数体的花括号应该各占一行。在函数体结尾的括号后面可以加上注释,注释中应该包括函数名,这样比较方便进行括号配对检查,也可以清晰地看出来函数是否结束。
范例1:函数的声明
void matMyFunction(int n)
{
……
} /* matMyFunction*/
1.2空格与空行的使用
要加空格的场合
l 在逗号后面和语句中间的分号后面加空格,如:
int i, j, k;
for (i = 0; i < n; i++)
result = func(a, b, c);
l 在二目运算符的两边各留一个空格,如
a > b a <= b i = 0
l 关键字两侧,如if () …, 不要写成if() …
l 类型与指针说明符之间一定要加空格:
char *szName;
不加空格的场合
l 在结构成员引用符号.和->左右两加不加空格:
pStud->szName, Student.nID
l 不在行尾添加空格或Tab
l 函数名与左括号之间不加空格:
func(…)
l 指针说明符号*与变量名间不要加空格:
int *pInt; 不要写成: int * pInt;
l 复合运算符中间不能加空格,否则会产生语法错误,如:
a + = b a < = b 都是错误的
空行与换行
l 函数的变量说明与执行语句之间加上空行;
l 每个函数内的主要功能块之间加空行表示区隔;
l 不要在一行中写多条语句.
范例2:空行与换行
int main()
{
int i, j, nSum = 0; //变量说明
for (i = 0; i < 10; i++) //执行代码
{
for (j = 0; j < 10; j++)
{
nSum += i;
}
}
}
1.3缩进的设置
根据语句间的层次关系采用缩进格式书写程序,每进一层,往后缩进一层
有两种缩进方式:1,使用Tab键;2,采用4个空格。
整个文件内部应该统一,不要混用Tab键和4个空格,因为不同的编辑器对Tab键的处理方法不同。
1.4折行的使用
· 每行的长度不要超过80个字符,当程序行太长时,应该分行书写。
· 当需要把一个程序行的内容分成几行写时,操作符号应该放在行末。
· 分行时应该按照自然的逻辑关系进行,例如:不要把一个简单的逻辑判断写在两行上。
· 分行后的缩进应该按照程序的逻辑关系进行对齐。例如:参数表折行后,下面的行应该在参数表左括号的下方。
范例2:折行的格式
dwNewShape = matAffineTransform(coords, translation,
rotation);
if (((new_shape.x > left_border) &&
(new_shape.x < right_border)) &&
((new_shape.y > bottom_border) &&
(new_shape.y < top_border)))
{
draw(new_shape);
}
1.5嵌套语句(语句块)的格式
对于嵌套式的语句--即语句块(如,if、while、for、switch等)应该包括在花括号中。花括号的左括号应该单独占一行,并与关键字对齐。建议即使语句块中只有一条语句,也应该使用花括号包括,这样可以使程序结构更清晰,也可以避免出错。建议对比较长的块,在末尾的花括号后加上注释以表明该语言块结束。
范例3:嵌套语句格式
if (value < max)
{
if (value != 0)
{
func(value);
}
}
} else {
error("The value is too big.");
} /* if (value < max) */
2 注释书写规范
注释必须做到清晰,准确地描述内容。对于程序中复杂的部分必须有注释加以说明。注释量要适中,过多或过少都易导致阅读困难。
2.1注释风格
· C语言中使用一组(/* … */)作为注释界定符。
· 注释内容尽量用英语方式表述。
· 注释的基本样式参考范例4。
· 注释应该出现在要说明的内容之前,而不应该出现在其后。
· 除了说明变量的用途和语言块末尾使用的注释,尽量不使用行末的注释方式。
范例4:几种注释样式
/*
* ************************************************
* 强调注释
* ************************************************
*/
/*
* 块注释
*/
/* 单行注释 */
//单行注释
int i; /*行末注释*/
2.2何时需要注释
· 如果变量的名字不能完全说明其用途,应该使用注释加以说明。
· 如果为了提高性能而使某些代码变得难懂,应该使用注释加以说明。
· 对于一个比较长的程序段落,应该加注释予以说明。如果设计文档中有流程图,则程序中对应的位置应该加注释予以说明。
· 如果程序中使用了某个复杂的算法,建议注明其出处。
· 如果在调试中发现某段落容易出现错误,应该注明。
3 命名规范
3.1常量、变量命名
l 符号常量的命名用大写字母表示。如:
#define LENGTH 10
l 如果符号常量由多个单词构成,两个不同的单词之间可以用下划线连接。如:
#define MAX_LEN 50
变量命名的基本原则:
l 可以选择有意义的英文(小写字母)组成变量名,使人看到该变量就能大致清楚其含义。
l 不要使用人名、地名和汉语拼音。
l 如果使用缩写,应该使用那些约定俗成的,而不是自己编造的。
l 多个单词组成的变量名,除第一个单词外的其他单词首字母应该大写。如:
dwUserInputValue。
3.2函数命名
函数命名原则与变量命名原则基本相同。对于初学者,函数命名可以采用“FunctionName”的形式。
4 其它一些小技巧和要求
l 函数一般情况下应该少于100行
l 函数定义一定要包含返回类型,没有返回类型加void
l 写比较表达式时,将常量放在左边
10 == n
NULL != pInt
l 指针变量总是要初始或重置为NULL
l 使用{}包含复合语句,即使是只有一行,如:
if (1 == a)
{
x = 5;
}
http://home.ustc.edu.cn/~danewang/c/CodingStandards.html
每个函数的定义和说明应该从第1列开始书写。函数名(包括参数表)和函数体的花括号应该各占一行。在函数体结尾的括号后面可以加上注释,注释中应该包括函数名,这样比较方便进行括号配对检查,也可以清晰地看出来函数是否结束。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
c语言源代码文件格式是什么?
C语言源文件后缀名是.c,编译生成的文件后缀名是.obj,连接后可执行文件的后缀名是.exe。源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变。
. c语言文件是什么文件格式?
后缀为.c文件是C语言源程序文件,可以通过记事本或者Microsoft Visual C++ 6.0等打开。一、源程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件,通常由高级语言编写。二、这种典型格式的目的是为了编译出计算机可执行的程序,将人类可读的程序代码文本翻译成为计算机可以执行的二...
c语言代码编写的格式?
有两种缩进方式:1,使用Tab键;2,采用4个空格。整个文件内部应该统一,不要混用Tab键和4个空格,因为不同的编辑器对Tab键的处理方法不同。1.4折行的使用 · 每行的长度不要超过80个字符,当程序行太长时,应该分行书写。· 当需要把一个程序行的内容分成几行写时,操作符号应该放在行末。· ...
源代码是什么格式?
现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,通过编译器完成。比如:主流的病毒的代码是多用 VB语言编写的,病毒多为组合式的,其中一个文件...
cpp格式是什么意思(cpp是什么格式的文件)
C++编程语言同时支持所有的C语言语法。7.C++和C相似,但C是面向过程的程序设计语言,而C++是面向对象的程序设计语言,不过C++语言保持了对C语言的兼容,也就说是在C++程序可以不用修改的插入C语言代码。8.cpp是用C++语言编写的源代码文件的后缀名。9.它对类的强大支持可以使它编写出更优质的程序。
C++、C、或者java,这些语言写代码时应该要怎么规范格式,
C\/C++源代码书写规范1. 在.h\/.cpp的开头应有一段格式统一的说明,内容包括:a. 文件名 (FileName);b. 创建人 (Creator);c. 文件创建时间 (Date);d. 简短说明文件功能、用途 (Comment)。例:\/\/\/ FileName: GetVersion.h\/\/ Creator: Liu Haifeng\/\/ Date: 2002-10-28\/\/ Comment: Get f...
C语言源程序文件的后缀是什么?
C语言源程序文件的后缀解决如下:c 是c语言的源程序,.cpp是c++语言的源程序。在Windows操作系统下,C语言源程序后缀为.c 、编译后的后缀为 .obj 或 .o 、连接后生成的可执行文件的后缀为.exe。告诉你们一个手机降温的办法:纸巾用水浸湿后不断擦拭手机后盖,注意水不能擦太多,薄薄擦一点就好了...
c程序书写格式严格,要求一行内只能写一个语句
C程序在书写格式上有着严格的规定,每一行通常只能写一个语句。这是因为C语言是一种过程式编程语言,它遵循严格的语法规则,对代码的格式和结构有着明确的要求。这种规定可以提高代码的可读性和可维护性,使程序更加清晰、有条理。每一行只写一个语句的规定有助于代码的阅读和理解。在查看代码时,我们...
源程序是什么意思
源程序,指的是计算机程序的原始代码,也就是程序员用程序设计语言编写程序的源代码文件。源程序是一种文本文件,通常以一种特定的文件格式保存,如C语言源代码以.c文件格式保存,Java源代码以.java文件格式保存。源程序包含了程序的逻辑、算法和数据结构等信息,程序员在编写代码时需要注重代码的可读性和...
C语言的基本格式是什么??
C语言最基本的格式,可以参考最基本的hello world程序。hello world程序虽然小,但是几乎包含和计算机软件技术相关的各种基础知识。include <stdio.h>int main(){ printf("hello world\\n");return 0;}1、#include <stdio.h> 预处理操作,谈到预处理操作,就需要了解C语言编译器生成二进制可执行文件的...
常卷荷叶: 第一个要装进行囊和你一起前进是“规范的格式”,有很多教科书,参考书,不太注重程序的格式的问题,写出的程序就象一堆堆的垃圾一样,这也导致了现在很多人写的程序中有很多的废码,垃圾代码,这和那些入门的书有非常大...
乐东黎族自治县18448582102: 用C语言编程中,一般的格式是怎样的??
常卷荷叶: C语言源程序的编程格式归纳如下: 1,强制性规则 1,一个C语言源程序必须有且只有一个MAIN函数. 2,函数名后必须紧跟圆括号对,函数体放在右圆括号")"后的花括号对"{}"中. 3,每个程序体(包括函数的函数体,含有多条语句的选...
乐东黎族自治县18448582102: 求C语言编写的一般格式 - ?
常卷荷叶: #include<stdio.h> void main() { printf("这是一个C语言程序"); }一般会是这样子的 这个是最简单写法 想要更深了解 请加入我们吧
乐东黎族自治县18448582102: c语言中都有哪些程序语句格式?
常卷荷叶:C语言中流程控制语句(在Turbo C2.0中) (if, while,do-while,continue,break, for, switch,return) 条件语句的一般形式为: if(表达式) 语句1; else 语句2; 上述结构表示: 如果表达式的值为非0(TURE)即真, 则执行语句1, 执行完语 句1从语...
乐东黎族自治县18448582102: C语言中的编写格式?
常卷荷叶: 为什么开头有一大堆空格. 是为了美观,方便 自己 阅读, 函数 格式 都是 {} 相对应该!
乐东黎族自治县18448582102: 如何编写C语言程序??
常卷荷叶: 1、需要一个编辑器,TXT、VC++、TC,还有其它的文本编辑器都行,编出.c的程序文件(还有其它资源文件、.h的头文件等) 2、然后需要将所有的文件和资源整合在一起 3、接下来需要编译和连接工具 VC++6.0包含了上面的所有工具及整合,6.0又适合我们去学习C,所以用这个软件就好,当然还有其它别的,看开发的程度、内容及习惯爱好!
乐东黎族自治县18448582102: C语言源代码格式 - ?
常卷荷叶: "输入输出"是什么意思?是输入输出函数?还是指注释?需要就写上,不需要就不写呗,这还有什么疑惑?!
乐东黎族自治县18448582102: C语言开发步骤 - ?
常卷荷叶: 首先,在一个IDE(集成开发环境)中编写C代码, 编译,形成***.o目标文件,最后链接形成计算机能读懂的可执行的二进制代码 有两种编译模式 Debug 和 Release在Debug下是调试,生成的EXE不能在没有编译器的机器上运行,Release下释放,生成的EXE在其他机器上可以运行,就是我们常见的那种可执行文件
乐东黎族自治县18448582102: 求格式比较标准的C语言代码 - ?
常卷荷叶: c代码就是一个线性的执行顺序 从main开始,一直到main那个{}花括号执行完毕 中间可能用分支如if else switch 循环如while for等 子函数的调用总的来说还是一条线c的书写标准主要就是平行的代码在一个垂直线上 如 int a; char b; sacanf("%d"...
乐东黎族自治县18448582102: 用C语言编写的文件格式是什么,可以直接打开吗,或是需要其他什么软件??
常卷荷叶: .c文本编辑器即可打开这个只是源码