#include<stdioh> //标准输入输出库所在的头文件
//自定义函数声明
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); //计算矩阵ac 并将结果存到f中
printf("\nF(3x3)=AC:\n");
disp(f[0],3,3); //显示ac的结果(即f中的数据)
}
//函数定义
/
函数功能:两个矩阵进行加法运算 C = A+B
参数: m 指向运算结果存放的二维数组(即矩阵) C的首地址
m1为矩形A的首地址,m2为矩形B的首地址
r 为矩阵的行数, c为矩阵的列数
(m+ic+j) = (m1+ic+j) + (m2+ic+j);这个表示将矩阵A的第i行j列的数据 与 矩阵B的第i行j列的数据 相加
然后将结果赋值给矩阵C的第i行j列数据
(m1+ic+j) :m1+ic+j 这个表示指向矩阵A的第i行第j列的数据的指针,则 (m1+ic+j) 就表示矩阵A的第i行第j列的数据
(m2+ic+j) :m2+ic+j 这个表示指向矩阵B的第i行第j列的数据的指针,则 (m2+ic+j) 就表示矩阵B的第i行第j列的数据
(m+ic+j) : m+ic+j 这个表示指向矩阵C的第i行第j列的数据的指针,则 (m+ic+j) 就表示矩阵C的第i行第j列的数据
这里是用指针实现的,
(m+ic+j) = (m1+ic+j) + (m2+ic+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+ic+j) = (m1+ic+j) + (m2+ic+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+ic+j) = (m1+ic+j) - (m2+ic+j);
}
/注释与上边类似,因为矩阵乘法运算公式较为复杂一些,可自行对照矩阵乘法运算公式
如矩阵c = a b
for(k=0; k<p; k++)
t += (m1+ip+k) (m2+kc+j); //表示将m1的第i行k列的数据 与 m2的第k行j列的数据相乘 ,
//并将p (k的值从0到p) 次结果进行累加
(m+ic+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+ip+k) (m2+kc+j);
(m+ic+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+ic+j));
printf("\n");
}
}
一般来讲有两种:
一是单行注释:直接在该行需要注释的地方加上"//"就行了。例如:
"int a,b;//这是一个注释行"。那么,"//"后面的部分"这是一个注释行"就被注释掉了,不起作用,但是"//"前面的“int a,b;"不受影响。
另外还有一种是多行同时注释:
/
int a,b;
int c,d;
/
其中"/"和"/"起限定范围的作用,该范围内的语句都会被注释掉,将不再起作用。当然,多行注释也是可以用来单行注释的
开头,中间都可以的这是比较常见的。它没有固定的位置,只是有固定的写法而已,下面会有列到。
原则上只要不破坏声明和语句的意思和结构,放在哪里都可以,但是注释后将下一句分栏,就下面列举的//这种类型,一般可以软件中看到的,正常语句和注释的颜色不一样。
例如,不要放在宏的同行,不要放到 打印格式字符串里。
两种注释写法
/ 注释 /
// 注释
试想一下,一个没有一句注释的程序源码,怎么读,一个程序要上万条代码不可能全部记得住哪一块是什么用,而且一个项目也不会是一个人独自完成,那样效率太低,多人合作就要给别人说明,每一块是什么用,方便他人使用,方便自己更正,而这些说明文字就是注释,注释不会被执行,不影响运行结果。
Java中代码的注释有三种:
// 注释一行
/ / 注释若干行
/ / 注释若干行,并写入 javadoc 文档
前两种比较容易理解,至于第三种,你学习Java看的api文档就是javadoc程序根据第三种的注释生成的。
扩展资料注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。
注释是指在编写代码时,编写者在代码中添加的一些说明性语句。注释是非执行语句,只是对有关的内容加以说明。例如,说明某个过程的功能,定义某个变量的目的等。在计算机二级的程序中添加注释是个良好的编程习惯。每个程序员都有这样的体会:自己编写的一些代码,过一段时间后再去阅读,会感到很费劲甚至难以读懂门阅读别人编写的代码更是一可想而知。因此,在编写程序代码时,最好为代码添加注释,以便于自己或别人能较轻松地读懂代码。在VB中,注释以Rem关键字开头,并且Rem关键字与注释内容之间要加一个空格。注释可以是单独的一行,也可以写在其他语句行的后面。如果在其他语句行后使用Rem关键字,则必须使用冒号(:)与语句隔开。也可以使用一个撇号(')来代替Rem关键字。若使用撇号,则在其他语句行使用时不必加冒号。在代码窗口中,注释添加完成后,自动以绿色显示。在VB的编辑工具栏中还提供了专门用于设置注释块的按钮,使得将多行语句设置为注释或取消注释十分方便。在默认情况下,编辑工具栏不出现在界面中,在视图菜单的工具栏子菜单中选择编辑选项即可打开编辑工具栏。设置注释块的 *** 作是:在代码窗口中选中要设置为注释的单行或多行语句,单击编辑工具栏中的设置注释块按钮,即可为所选的每行语句前添加一个撒号('),将创门设置为注释。单击解除注释块按钮,则情况相反。有时候,一条语句可能会很长,如果将它写在一行上,将给阅读或打印代码带来不便。在VB中,可以使用分行符(_)(一个空格和一条下划线)将一条语句写在两行或多行上。在同一行内,分行符后面不能添加注释,例如下面的语句是错误的:Fonm1Caption=_'设置窗体标题。"分行"分行符一般添加在运算符的前后。不能使用分行符将一个变量名或属性名分隔成两行,例如下面的语句是错误的:FormlCapt_ion="分行"在通常情况下,一条语句占用一行,并且在语句末尾没有表示语句结束的符号。但也可以将多行语句写在同一行上,相邻的两条语句中间使用冒一号(:)作为续行符。在打印程序时,将多行语句写在同一行上可以节省纸张。创业教育提醒您为了便于程序的阅读,最好在一行上只写一条语句。相关文章
以上就是关于C语言程序注释全部的内容,包括:C语言程序注释、C语言中如何注释、c语言源程序的注释说明位于什么位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)