1樓:mexico卡卡
#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 b[3][4]=,,};
int c[4][3]=,,,};
int d[3][4]=;
int e[3][4]=;
int f[3][3]=;
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) //
//注釋與上邊加法類似
void sub(int *m,int *m1,int *m2,int r,int c) //兩個矩陣之間的減法運算
/*注釋與上邊類似,因為矩陣乘法運算公式較為複雜一些,可自行對照矩陣乘法運算公式
如矩陣c = a * b
for(k=0; 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)//兩個矩陣之間的乘法運算
}//顯示列印矩陣中的資料
void disp(int *m,int r,int c)}
2樓:巢葛菲
答:在用c語言程式設計時,常用的注釋方式有如下幾種:
(1)單行注釋 //…
(2)多行注釋 /*…*/
(3)條件編譯注釋 #if 0…#endif拓展資料:
對於(1),注釋只能顯示在一行內,通常出現在一條語句的右邊或者上方,對於注釋符」//」,乙個注釋裡只要有多餘2個』/』都可以。
對於(2),」/*…*/」不能巢狀使用,正如」if…else」中的」else」總是和隔它最近的」if」配對一樣,」/*」總是和離它最近的」*/」相配對。
針對(1)和(2)各自的缺陷,資深的程式設計師提出如(3)所示的注釋,該注釋的好處是能注釋大塊的程式,並且沒有巢狀的限制,也就是說在」#if 0…#endif」的」…」處可以有」//」或」/*…*/」這樣的注釋。
3樓:夢醒
一般來講有兩種:
一是單行注釋:直接在該行需要注釋的地方加上"//"就行了。例如:
"int a,b;//這是乙個注釋行"。那麼,"//"後面的部分"這是乙個注釋行"就被注釋掉了,不起作用,但是"//"前面的「int a,b;"不受影響。
另外還有一種是多行同時注釋:
/*int a,b;
int c,d;
*/其中"/*"和"*/"起限定範圍的作用,該範圍內的語句都會被注釋掉,將不再起作用。當然,多行注釋也是可以用來單行注釋的
4樓:淦海瑤
就是兩種
乙個是 /* 程式語句 */
這個可以注釋掉很多行,所有c平台都通用
還有乙個是 //語句
這個只能注釋掉這一行的 // 後面的語句,不通用,有的編譯平台不能用
5樓:
//和/* */
這兩種,有些編譯器 要設定 使用哪種
比如 win-tc 預設 只有 /* */ 好用 ,設定一下 才能用 //
6樓:小c手遊
//是行注釋,可以注釋其後的一行
/* */是塊注釋,注釋這兩個符號中間的所有區域。
7樓:
第一種:
我是**1
// 我是注釋1
我是**2
第二種:
我是**1
/* 我是注釋1
我是注釋2
我是注釋3
*/我是**2
第三種:
我是**1
#if 0
我是注釋1
我是注釋2
我是注釋3
#endif
我是**2
組合1:
#if 0
/*我是注釋
*/#endif
組合2:
/*//我是注釋
*/錯誤1
/*/*
編譯器暈了
*/*/
錯誤2//*
編譯器: help
*/還有要多,自己慢慢思考吧。都說出來稿紙不夠.
8樓:匿名使用者
//為對一行文字注釋
/* */為對一段文字注釋
如a=1;//為a賦值
/*以上為
一段程式*/
9樓:習慣丨成自然
想點贊,點成踩了,抱歉了
c語言中如何注釋?
10樓:mexico卡卡
#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 b[3][4]=,,};
int c[4][3]=,,,};
int d[3][4]=;
int e[3][4]=;
int f[3][3]=;
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) //
//注釋與上邊加法類似
void sub(int *m,int *m1,int *m2,int r,int c) //兩個矩陣之間的減法運算
/*注釋與上邊類似,因為矩陣乘法運算公式較為複雜一些,可自行對照矩陣乘法運算公式
如矩陣c = a * b
for(k=0; 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)//兩個矩陣之間的乘法運算
}//顯示列印矩陣中的資料
void disp(int *m,int r,int c)}
c語言的設計模式有哪些,C語言的設計模式有哪些?
8.外觀模式 9.模板模式 10.迭代器模式 11.組合模式 12.狀態模式 13.模式 14.復合模式 15.橋接模式 16.生成器模式 17.責任鏈模式 18.蠅量模式 19.解析器模式 20.中介者模式 21.備忘錄模式 22.原型模式 23.訪問模式 總之,以上就是我總結的c語言設計模式,希...
c語言關鍵字,C語言關鍵字有哪些?
c語言的關鍵字都是小寫的。庫函式名不屬於c語言關鍵字。標準c語言貌似有32個關鍵字。一類是基本資料型別的 void char int float short long double signed unsigned 一類是變數儲存類別的 static extern auto register vola...
c語言語句有哪些,C語言中for語句怎麼輸出NO 加數字
c語言基礎語句 從程式流程的角度來看,程式可以分為三種基本結構,即順序結構 分支 選擇 結構 迴圈結構。這三種基本結構可以組成所有的各種複雜程式。c語言提供了多種語句來實現這些程式結構。c程式的語句 c程式的執行部分是由語句組成的。程式的功能也是由執行語句實現的。c語句可分為以下五類 1.表示式語句...
C語言的語句有哪些
嚴格的講if 不能簡單地稱為語句,它是一種語言結構 條件結構。c中的語句可分為這樣幾類 1 宣告語句 如 int a,b 2 等 2 表示式語句 如 a 2 b 3 x y 等 3 函式語句 如 scanf d a 等 4 特殊語句 如 return continue 等 5 空語句 只有乙個分號 ...
c語言的入門書籍有哪些,C語言的入門書籍推薦有哪些?
後知後覺 kernighan 和 ritchie 的 the c programming language 中譯名 c 程式語言 堪稱經典中的 程式語言 經典,不過舊版的很多內容都已過時,和現在的標準 c 語言相去甚遠,大家一定要看最新的版本 另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手...