
#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");
}
}
#include //标准输入输出库所在的头文件
//自定义函数声明
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");
}
}
多行注释,使用英文状态下的输入法输入在注释首部使用右斜杠和一星号,同时,在注释尾部使用一星号和右斜杠表明即可,示例:
/ ---------
---------
/
单行注释,使用英文状态下的输入法输入两斜杠即可,示例:
//--------
扩展资料:
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++语言特点
支持数据封装和数据隐藏
在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。
在面向对象的程序设计中,将数据和对该数据进行合法 *** 作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。
支持继承和重用
在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。
支持多态性
采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。多态性的这一特性允许使用高级抽象。
继承性和多态性的组合,可以轻易地生成一系列虽然类似但独一无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式。
参考资料:
开头,中间都可以的这是比较常见的。它没有固定的位置,只是有固定的写法而已,下面会有列到。
原则上只要不破坏声明和语句的意思和结构,放在哪里都可以,但是注释后将下一句分栏,就下面列举的//这种类型,一般可以软件中看到的,正常语句和注释的颜色不一样。
例如,不要放在宏的同行,不要放到 打印格式字符串里。
两种注释写法
/ 注释 /
// 注释
以上就是关于C语言程序注释全部的内容,包括:C语言程序注释、给c语言加注释、c++如何注释掉多行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)