⑴ 給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語言注釋是什麼
注釋是語句這句話不全面,應該說注釋是注釋語句。
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編譯器支持,有的不支持。
/* */ 是ANSI C的 注釋語句形式,所有的C編譯器都支持。
⑷ c語言程序編譯時,注釋部分會參加編譯嗎,會出現在目標程序中嗎
不會的,因為注釋被忽略了。
C語言的原型ALGOL60語言(也稱為A語言)。
1963年,劍橋大學將ALGOL60語言發展成為CPL(CombinedProgrammingLanguage)語言。
1967年,劍橋大學的MatinRichards對CPL語言進行了簡化,於是產生了BCPL語言。
1970年,美國貝爾實驗室的KenThompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。
⑸ c語言編譯時程序中的注釋部分
C 語言編譯時注釋部分的內容不參與程序的編譯和運行。
⑹ C程序必須要添加註釋部分,注釋部分將被編譯到程序代碼中,對嗎
不對
注釋只不過是為了以後維護方便而已。
一般程序寫完後你會很快就忘記程序到底是怎麼工作的了,這時注釋就有用了。
注釋不會編譯到代碼的。編譯過程會把注釋剔除
⑺ C語言中的//注釋風格與編譯器是否有關
無關的,每種語言有不同修飾風格,同一語言在不同編輯器上修釋都一樣。如果在不同編輯器上注釋方法不同,假如在vc
上和vs上不同,那麼把在vc
上寫的程序在vs
上編譯就會出錯,可事實呢
?
⑻ 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語言程序編譯時程序中的注釋部分是否參編譯
我知道兩種:
//語句。"//"注釋其後的一行。
/*語句*/。注釋包含其中的語句,可跳行。另外c#中還有"///",平常與1功能相同,但其後語句遵循xml語法,可用於生產幫助文檔。
⑽ C語言程序編譯時程序中的注釋部分是否參加編譯
可以參加。所謂注釋,便是用自然語言對源代碼中某些語句或方法進行說明。並且注釋的內容不會被編譯器編譯。可以在源代碼中添加任何想要添加的說明。
注釋可以出現在代碼中的任何位置,用來向用戶提示或解釋代碼的含義。程序編譯時,會忽略注釋,不做任何處理,就好像它不存在一樣。
如需要注釋的內容比較多,一行寫不完,如果在每一行注釋中都使用//。當然這種方法比較繁瑣,看起來頁面也不夠簡潔。這時候,就需要用到多行注釋。多行注釋還有一種不夠簡潔的注釋方式,那就是嵌套在代碼語句中。
(10)c語言注釋編譯擴展閱讀
使用注釋的例子的源代碼
/*
源世界整理,www.yuanshijie.top
*/
#include <stdio.h>
int main()
{
/* puts 會在末尾自動添加換行符 */
puts("http://www.yuanshijie.top");
printf("源世界博客 "); //printf要手動添加換行符
return 0;