导航:首页 > 编程语言 > 在c语言程序中注释信息

在c语言程序中注释信息

发布时间:2022-09-19 23:08:00

Ⅰ C语言程序注释

**** C语言写注释:
1、可以用任何一种文字
2、格式 /* 注释 */
3、可放在任何地方
**** 好的注释:
1、能看懂
2、样式统一
3、例
/*****************************************************
主程序
*****************************************************/
void main(void)
**** 还可以采用这些方式
1、/* 注释 */
2、//注释
3、例
/*****************************************************/
//主程序
/*****************************************************/
void main(void)

Ⅱ C语言程序注释

#include<stdio.h> //标准输入输出库所在的头文件
//自定义函数声明
void add(int *m,int *m1,int *m2,int r,int c); //矩阵加法
void sub(int *m,int *m1,int *m2,int r,int c); //矩阵减法
void mult(int *m,int *m1,int *m2,int r,int p,int c); //矩阵乘法
void disp(int *m,int r,int c); //打印数组数据(矩阵里的数据)
//主测试函数
void main()
{
int a[3][4]={{4,3,5,2},{5,1,7,3},{2,7,6,2}};
int b[3][4]={{2,4,4,-7},{4,2,5,-8},{7,-3,-4,2}};
int c[4][3]={{5,4,4},{1,3,1},{4,4,2},{7,1,3}};
int d[3][4]={0};
int e[3][4]={0};
int f[3][3]={0};
printf("\nA(3x4):\n");
disp(a[0],3,4); //显示矩阵a
printf("\nB(3x4):\n");
disp(b[0],3,4); //显示矩阵b
add(d[0],a[0],b[0],3,4); // 计算矩阵 a + b,并将结果存到d中
printf("\nD(3x4)=A+B:\n");
disp(d[0],3,4); //显示a+b的结果(即d中的数据)
sub(e[0],a[0],b[0],3,4);// 计算矩阵 a - b,并将结果存到e中
printf("\nE(3x4)=A-B:\n");
disp(e[0],3,4);//显示a-b的结果(即e中的数据)
printf("\nA(3x4):\n");
disp(a[0],3,4); // 显示矩阵a
printf("\nC(4x3):\n");
disp(c[0],4,3); //显示矩阵c
mult(f[0],a[0],c[0],3,4,3); //计算矩阵a*c 并将结果存到f中
printf("\nF(3x3)=A*C:\n");
disp(f[0],3,3); //显示a*c的结果(即f中的数据)
}
//函数定义
/*
*****函数功能:两个矩阵进行加法运算 C = A+B
*****参数: m 指向运算结果存放的二维数组(即矩阵) C的首地址
***** m1为矩形A的首地址,m2为矩形B的首地址
***** r 为矩阵的行数, c为矩阵的列数
*(m+i*c+j) = *(m1+i*c+j) + *(m2+i*c+j);这个表示将矩阵A的第i行j列的数据 与 矩阵B的第i行j列的数据 相加
然后将结果赋值给矩阵C的第i行j列数据
*(m1+i*c+j) :m1+i*c+j 这个表示指向矩阵A的第i行第j列的数据的指针,则 *(m1+i*c+j) 就表示矩阵A的第i行第j列的数据
*(m2+i*c+j) :m2+i*c+j 这个表示指向矩阵B的第i行第j列的数据的指针,则 *(m2+i*c+j) 就表示矩阵B的第i行第j列的数据
*(m+i*c+j) : m+i*c+j 这个表示指向矩阵C的第i行第j列的数据的指针,则 *(m+i*c+j) 就表示矩阵C的第i行第j列的数据
这里是用指针实现的,
*(m+i*c+j) = *(m1+i*c+j) + *(m2+i*c+j);
等价于
c[i][j] = a[i][j] + b[i][j];
*/
void add(int *m,int *m1,int *m2,int r,int c) //
{
int i,j;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
*(m+i*c+j) = *(m1+i*c+j) + *(m2+i*c+j);
}
//注释与上边加法类似
void sub(int *m,int *m1,int *m2,int r,int c) //两个矩阵之间的减法运算
{
int i,j;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
*(m+i*c+j) = *(m1+i*c+j) - *(m2+i*c+j);
}
/*注释与上边类似,因为矩阵乘法运算公式较为复杂一些,可自行对照矩阵乘法运算公式
如矩阵c = a * b
for(k=0; k<p; k++)
t += *(m1+i*p+k) * *(m2+k*c+j); //表示将m1的第i行k列的数据 与 m2的第k行j列的数据相乘 ,
//并将p (k的值从0到p) 次结果进行累加
*(m+i*c+j)=t; //最后将这个累加的结果赋值给矩阵c的第i行第j列的数据
*/
void mult(int *m,int *m1,int *m2,int r,int p,int c)//两个矩阵之间的乘法运算
{
int i,j,k,t;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
{
t=0;
for(k=0; k<p; k++)
t += *(m1+i*p+k) * *(m2+k*c+j);
*(m+i*c+j)=t;
}
}
//显示打印矩阵中的数据
void disp(int *m,int r,int c)
{
int i,j;
for(i=0; i<r; i++)
{
for(j=0; j<c; j++)
printf("%6d",*(m+i*c+j));
printf("\n");
}
}

Ⅲ c语言注释是什么

注释是语句这句话不全面,应该说注释是注释语句。

1、可以使用/*和*/分隔符来标注一行内的注释,也可以标注多行的注释。例如,在下列的函数原型中,省略号的意思是 open() 函数有第三个参数,它是可选参数。注释解释了这个可选参数的用法:

int open( const char *name, int mode, … /* int permissions */ )。

2、可以使用//插入整行的注释,或者将源代码写成两列分栏的格式,程序在左列,注释在右列:

const double pi = 3.1415926536// pi是—个常量。

C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。



Ⅳ 给c语言加注释


在编写C语言源代码时,应该多使用注释,这样有助于对代码的理解。在C语言中有两种注释方式:
一种是以/*开始、以*/结束的块注释(block comment);
另一种是以//开始、以换行符结束的单行注释(line comment)。

可以使用/*和*/分隔符来标注一行内的注释,也可以标注多行的注释。例如,在下列的函数原型中,省略号的意思是 open() 函数有第三个参数,它是可选参数。注释解释了这个可选参数的用法:
int open( const char *name, int mode, … /* int permissions */ );
可以使用//插入整行的注释,或者将源代码写成两列分栏的格式,程序在左列,注释在右列:
const double pi = 3.1415926536; // pi是—个常量

在 C99 标准中,单行注释正式加入C语言,但是大部分编译器在 C99 之前就已经开始支持这种用法。有时候,其被称作“C++风格”的注释,但实际上,其源自于C的前身 BCPL。

在引号中,如果采用/*或//分隔一个字符常量或字符串字面量(string literal),它们都不会被视为注释的开始。例如,下面语句就没有注释:
printf("Comments in C begin with /* or //.\n" );
预处理器仅通过检查注释的结束符来检测注释中的字符,因此,不能嵌套块注释。然而,可以使用/*和*/注释包含单行注释的源代码:
/* 暂时注释掉这两行:
const double pi = 3.1415926536; // pi是一个常量
area = pi * r * r; // 计算面积
暂时注释到此 */

如果想要注释掉包含块注释的部分程序,可以使用条件预处理命令:
#if 0
const double pi = 3.1415926536; /* pi是一个常量 */
area = pi * r * r ; /* 计算面积 */
#endif
预处理器会把每个注释都替换成一个空格。因此,min/*max*/Value变成两个标记min Value。
所有教程

Ⅳ C语言中如何注释

一般来讲有两来种:
一是单行注释:直接在该行需要注释的地方加上"//"就行了。例如:
"int
a,b;//这是一个注释自行"。那么,"//"后面百的部分"这是一个注释行"就被注度释掉了,不起作用,但是"//"前面的“int
a,b;"不受影响。
另外还有一种是多行问同时注答释:
/*
int
a,b;
int
c,d;
*/
其中"/*"和"*/"起限定范围的作用,该范围内的语句都会被注释掉,将不再起作用。当然,多行注释也是可以用来单行注释的

Ⅵ C语言中如何注释

一般来讲有两种:
一是单行注释:直接在该行需要注释的地方加上"//"就行了。例如:
"int a,b;//这是一个注释行"。那么,"//"后面的部分"这是一个注释行"就被注释掉了,不起作用,但是"//"前面的“int a,b;"不受影响。
另外还有一种是多行同时注释:
/*
int a,b;
int c,d;
*/
其中"/*"和"*/"起限定范围的作用,该范围内的语句都会被注释掉,将不再起作用。当然,多行注释也是可以用来单行注释的

Ⅶ c语言中注释的位置

1、可以使用/*和*/分隔符来标注一行内的注释,也可以标注多行的注释。例如,在下列的函数原型中,省略号的意思是 open() 函数有第三个参数,它是可选参数。注释解释了这个可选参数的用法:

int open( const char *name, int mode, … /* int permissions */ );

2、可以使用//插入整行的注释,或者将源代码写成两列分栏的格式,程序在左列,注释在右列:

const double pi = 3.1415926536; // pi是—个常量

(7)在c语言程序中注释信息扩展阅读

在 C99 标准中,单行注释正式加入C语言,但是大部分编译器在 C99 之前就已经开始支持这种用法。有时候,其被称作“C++风格”的注释,但实际上,其源自于C的前身 BCPL。

1、在引号中,如果采用/*或//分隔一个字符常量或字符串字面量(string literal),它们都不会被视为注释的开始。例如,下面语句就没有注释:

printf("Comments in C begin with /* or //. " );

2、预处理器仅通过检查注释的结束符来检测注释中的字符,因此,不能嵌套块注释。然而,可以使用/*和*/注释包含单行注释的源代码:

/* 暂时注释掉这两行:

const double pi = 3.1415926536; // pi是一个常量

area = pi * r * r; // 计算面积

暂时注释到此 */

Ⅷ C语言编程的注释符号有哪几种

有两种注释方法:

// 行注释,可以注释其后的一行。

/* */ 块注释,注释这两个符号中间的所有区域。

Ⅸ C语言程序注释

C语言编程规范-注释

规则:
1:一般情况下,源程序有效注释量必须在20%以上。
说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。
2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。
示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/*************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
File name: // 文件名
Author:
Version:
Date: // 作者、版本及完成日期
Description: // 用于详细说明此程序文件完成的主要功能,与其他模块
// 或函数的接口,输出值、取值范围、含义及参数间的控
// 制、顺序、独立或依赖等关系
Others: // 其它内容的说明
Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明
1. ....
History: // 修改历史记录列表,每条修改记录应包括修改日期、修改
// 者及修改内容简述
1. Date:
Author:
Modification:
2. ...
*************************************************/
3:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。
示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
/************************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
FileName: test.cpp
Author:
Version :
Date:
Description: // 模块描述
Version: // 版本信息
Function List: // 主要函数及其功能
1. -------
History: // 历史修改记录
<author> <time> <version > <desc>
David 96/10/12 1.0 build this moudle
***********************************************************/
说明:Description一项描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文件关系等。History是修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述。

4:函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用关系(函数、表)等。
示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。

/*************************************************
Function: // 函数名称
Description: // 函数功能、性能等的描述
Calls: // 被本函数调用的函数清单
Called By: // 调用本函数的函数清单
Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序)
Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序)
Input: // 输入参数说明,包括每个参数的作
// 用、取值说明及参数间关系。
Output: // 对输出参数的说明。
Return: // 函数返回值的说明
Others: // 其它说明
*************************************************/

5:边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。
6:注释的内容要清楚、明了,含义准确,防止注释二义性。
说明:错误的注释不但无益反而有害。
7:避免在注释中使用缩写,特别是非常用缩写。
说明:在使用缩写时或之前,应对缩写进行必要的说明。
8:注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。
示例:如下例子不符合规范。

例1:
/* get replicate sub system index and net indicator */

repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
例2:
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
/* get replicate sub system index and net indicator */
应如下书写
/* get replicate sub system index and net indicator */
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
9:对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。
示例:
/* active statistic task number */
#define MAX_ACT_TASK_NUMBER 1000

#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
10:数据结构声明(包括数组、结构、类、枚举等),如果其命名不是充分自注释的,必须加以注释。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释放在此域的右方。
示例:可按如下形式说明枚举/数据/联合结构。
/* sccp interface with sccp user primitive message name */
enum SCCP_USER_PRIMITIVE
{
N_UNITDATA_IND, /* sccp notify sccp user unit data come */
N_NOTICE_IND, /* sccp notify user the No.7 network can not */
/* transmission this message */
N_UNITDATA_REQ, /* sccp user's unit data transmission request*/
};
11:全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。
示例:
/* The ErrorCode when SCCP translate */
/* Global Title failure, as follows */ // 变量作用、含义
/* 0 - SUCCESS 1 - GT Table error */
/* 2 - GT error Others - no use */ // 变量取值范围
/* only function SCCPTranslate() in */
/* this moal can modify it, and other */
/* mole can visit it through call */
/* the function GetGTTransErrorCode() */ // 使用方法
BYTE g_GTTranErrorCode;
12:注释与所描述内容进行同样的缩排。
说明:可使程序排版整齐,并方便注释的阅读与理解。
示例:如下例子,排版不整齐,阅读稍感不方便。
void example_fun( void )
{
/* code one comments */
CodeBlock One

/* code two comments */
CodeBlock Two
}

应改为如下布局。
void example_fun( void )
{
/* code one comments */
CodeBlock One

/* code two comments */
CodeBlock Two
}
13:将注释与其上面的代码用空行隔开。
示例:如下例子,显得代码过于紧凑。
/* code one comments */
program code one
/* code two comments */
program code two

应如下书写
/* code one comments */
program code one

/* code two comments */
program code two
14:对变量的定义和分支语句(条件分支、循环语句等)必须编写注释。
说明:这些语句往往是程序实现某一特定功能的关键,对于维护人员来说,良好的注释帮助更好的理解程序,有时甚至优于看设计文档。
15:对于switch语句下的case语句,如果因为特殊情况需要处理完一个case后进入下一个case处理,必须在该case语句处理完、下一个case语句前加上明确的注释。
说明:这样比较清楚程序编写者的意图,有效防止无故遗漏break语句。
示例(注意斜体加粗部分):
case CMD_UP:
ProcessUp();
break;

case CMD_DOWN:
ProcessDown();
break;

case CMD_FWD:
ProcessFwd();

if (...)
{
...
break;
}
else
{
ProcessCFW_B(); // now jump into case CMD_A
}

case CMD_A:
ProcessA();
break;

case CMD_B:
ProcessB();
break;

case CMD_C:
ProcessC();
break;

case CMD_D:
ProcessD();
break;
...
建议:
1:避免在一行代码或表达式的中间插入注释。
说明:除非必要,不应在代码或表达中间插入注释,否则容易使代码可理解性变差。
2:通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构,使代码成为自注释的。
说明:清晰准确的函数、变量等的命名,可增加代码可读性,并减少不必要的注释。
3:在代码的功能、意图层次上进行注释,提供有用、额外的信息。
说明:注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。
示例:如下注释意义不大。
/* if receive_flag is TRUE */
if (receive_flag)

而如下的注释则给出了额外有用的信息。
/* if mtp receive a message from links */
if (receive_flag)
4:在程序块的结束行右方加注释标记,以表明某程序块的结束。
说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。
示例:参见如下例子。
if (...)
{
// program code

while (index < MAX_INDEX)
{
// program code
} /* end of while (index < MAX_INDEX) */ // 指明该条while语句结束
} /* end of if (...)*/ // 指明是哪条if语句结束
5:注释格式尽量统一,建议使用"/* …… */"。
6:注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达。
说明:注释语言不统一,影响程序易读性和外观排版,出于对维护人员的考虑,建议使用中文。

Ⅹ C语言里有哪些注释方法

两种,单行注释和成对注释。
单行注释以双斜线(//)开头。同一行中斜线右侧的所有内容都是注释,会被编译器略过。
另一个分隔符是注释符号对(/* */)。

阅读全文

与在c语言程序中注释信息相关的资料

热点内容
mongodb可视化工具下载 浏览:377
word2003设置密码 浏览:966
公司文件如何分类 浏览:578
如何关闭手机网络信号强度 浏览:252
win7怎么新建word 浏览:60
福州孩子哪里学编程 浏览:703
win10关闭server 浏览:980
全民飞机升级波塞 浏览:779
如何清洗电池的数据 浏览:775
电脑怎么给iphone传照片 浏览:610
word文档里的图片位置错误 浏览:195
win10360wifi打不开 浏览:745
2002电脑系统升级 浏览:745
被批评的app有哪些 浏览:512
win10如何修改hosts文件 浏览:971
iphone的未接来电 浏览:134
如何新建一个文件夹word文档 浏览:74
零售商运用了什么样的大数据 浏览:557
荣耀分身微信清理es文件浏览器 浏览:682
linux账户设置密码 浏览:69

友情链接