
#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");
}
}
有两种注释方法:
// 行注释,可以注释其后的一行。
/ / 块注释,注释这两个符号中间的所有区域。
释的原则
注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。 示例:如下注释意义不大。
/ if receive_flag is TRUE /
if (receive_flag)
而如下的注释则给出了额外有用的信息。
/ if mtp receive a message from links /
if (receive_flag)
说明性文件头部应进行注释
说明性文件(如头文件h 文件、inc 文件、def 文件、编译说明文件cfg 等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。
示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
源文件头部应进行注释
源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。
示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
函数头部应进行注释
函数头部应进行注释,列出:函数的目的/ 功能、输入参数、输出参数、返回值、调用关系(函数、表)等。
示例1:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。
#include <reg51h> //调用头文件reg51h
void main() //主函数
{
unsigned char // 无符号字符型
tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//定义一个数组 LED数码管译码用的码表
while(1) //主循环
{
P2=P2|0x07; // P2口与0x07按位进行或运算
while(P2&0x07==0x07);//如果P2扣低三位为111则原地等待
switch(P2&0x07)//获取P2低三位值并且据此执行响应的 *** 作
{
0x06:P0=tab[0x0D];break;//P2低三位为06H,数码管显示“d”
0x05:P0=tab[0x0E];break;//P2低三位为05H,数码管显示“E”
0x03:P0=tab[0x0F];break;//P2低三位为03H,数码管显示“F”
}
}
}
#include<stdioh>
void fun(chart,chars)
{
while(t!=0)t++;//如果t指向的字符不为空则地址加加,只是为了把指针直到ss的末尾,字符串是以'\0'为结束符的,并且(t!=0)其实就是t!='\0',这句执行完后,指针就指向了'\0'的位置
while(t++=s++)!=0);//在t指向的字符串尾部把s指向的字符串拼接上。第一次,把s字符串的第一个字符赋给t,记住,这时候t已经是指向了'\0'的位置,然后指针s和指针t都加一,则他们指向的位置都会向后移动一个字节,直到指针s指向了'\0',这时候结束
}//所以这个函数其实就是字符串拼接函数,相当于strcat函数
main()
{
char ss[10]="acc",a[10]="bbxsd";//第二个写错了应该是aa[10]
fun(ss,aa);//调用拼接函数
printf("%s,%s",ss,aa);//输出拼接后的字符串ss和原来的aa字符串
}
C程序注释是由 \ 和 \ 所界定的文字信息组成的。
在编写C语言源代码时,应该多使用注释,这样有助于对代码的理解。在C语言中有两种注释方式:
1、一种是以/开始、以/结束的块注释(block comment);
2、另一种是以//开始、以换行符结束的单行注释(line comment)。
可以使用/和/分隔符来标注一行内的注释,也可以标注多行的注释。例如,在下列的函数原型中,省略号的意思是 open() 函数有第三个参数,它是可选参数。
扩展资料
C语言注释的作用:写给程序员看的,方便程序员之间的沟通。
1、注释是不参与编译的;
2、多行注释可以嵌套单行注释;
3、单行注释可以嵌套多行注释;
4、多行注释不可以嵌套多行注释。
注释使用的场景:
1、提取代码的时候;
2、调试程序的时候。
以上就是关于C语言程序注释全部的内容,包括:C语言程序注释、C语言编程的注释符号有哪几种、51单片机C语言程序注释标注(写全)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)