1. KEIL軟體中怎樣給連續幾行程序加註釋
你是要加程序注釋還是要屏蔽程序段代碼?
加註釋的話就用「/* ... */」或者單行注釋「//」
要屏蔽程序段代碼的話可以用「#ifdef...#endif」來屏蔽。
2. 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");
}
}
3. 請教c語言達人幫我把每行程序加上注釋。謝謝了。
//導入頭文件
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <graphics.h>
//位置宏定義
#define LEFT 120
#define TOP 40
#define RIGHT 520
#define BOTTOM 440
#define SMALL 20
//二維數組,記錄橫向和豎向的坐標信息
int b[20][20];
b[20][20]={{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1},
{1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1},
{1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1},
{1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1},
{1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},};
//繪制方塊函數
void drawcake(int x,int y)
{
//設置繪圖風格,黃色實體填充
setfillstyle(SOLID_FILL,YELLOW);
//在指定的位置上畫出來
bar(LEFT+1+x*SMALL,TOP+1+y*SMALL,RIGHT-1-19*SMALL+x*SMALL,BOTTOM-1-19*SMALL+y*SMALL);
}
//繪制函數
void draw(int x,int y)
{
//設置繪圖風格,紅色實體填充
setfillstyle(SOLID_FILL,RED);
//在指定的位置畫出來
bar(LEFT+5+x*SMALL,TOP+5+y*SMALL,RIGHT-5-19*SMALL+x*SMALL,BOTTOM-5-19*SMALL+y*SMALL);
}
//繪制函數
void undraw(int x,int y)
{
//設置繪圖風格,黃色實體填充
setfillstyle(SOLID_FILL,YELLOW);
//在制定的位置畫出來
bar(LEFT+5+x*SMALL,TOP+5+y*SMALL,RIGHT-5-19*SMALL+x*SMALL,BOTTOM-5-19*SMALL+y*SMALL);
}
//入口函數,一切從這個函數開始
main()
{
//變數定義
int gr=DETECT,gm,k=0,i,j,x=1,y=1,ch;
//變數定義
float f;
//應該是初始化圖形系統
initgraph(&gr,&gm,"");
//清空設備
cleardevice();
//設置背景顏色(黑色?)
setbkcolor(0);
//使用循環將地圖的塊信息繪制出來,按照一行一行的繪制
for(i=0;i<20;i++)
for(j=0;j<20;j++)
if(b[i][j]==1)drawcake(j,i);
//繪制當前的位置,應該是小人或者是其他的,位置在1,1.
draw(x,y);
//獲取按鍵的鍵值信息
do{
//讀取鍵盤按下去的那個鍵的虛擬鍵值
ch=bioskey(0);
//分析是否是以下的鍵值
switch(ch)
{
case 19200: /*按向左鍵*/ //如果是符合向左的按鍵的鍵值
//判斷小人左面是不是空的地方,如果是就繪制走過的痕跡???
if(b[y][x-1]==0)
{
undraw(x,y); //這里是繪制黃色的塊,
b[y][x]=0; //當前位置變成空的
x--; //記錄向左移動的位置
draw(x,y); //繪制小人當前的新的位置
b[y][x]=2; //將小人記錄在地圖上的位置.
break;
}
case 19712: /*按向右鍵*/
if(b[y][x+1]==0)
{
undraw(x,y);
b[y][x]=0;
x++;
draw(x,y);
b[y][x]=2;
break;
}
case 18432: /*按向上鍵*/
if(b[y-1][x]==0)
{
undraw(x,y);
b[y][x]=0;
y--;
draw(x,y);
b[y][x]=2;
break;
}
case 20480: /*按向下鍵*/
if(b[y+1][x]==0)
{
undraw(x,y);
b[y][x]=0;
y++;
draw(x,y);
b[y][x]=2;
break;
}
}
//如果小人走到地圖的出口了,游戲就結束了.
if(b[18][18]==2)ch=283;
//如果ch的值不是283,就代表游戲沒有結束,那麼再返回到do的地方做一次.
//這里就是一個循環了,直到結束的時候,才不再繼續.否則一直循環.
}while(ch!=283);
//輸出字元信息到屏幕上
if(b[18][18]==2)printf(" 恭賀你成功地走出了迷宮!");
getch();
}
4. 程序進行預編譯處理時將每個注釋替換為一個空格是什麼意思,有什麼用
可以這么理解:注釋是為人增加代碼可讀性用的,編譯過程不需要,所以在預處理階段編譯器會去掉方便後續的動作
5. 求c語言高手幫我給一下編程添加行注釋!急急急!
#include <stdlib.h>//這兩句是頭文件
#include <stdio.h>
struct number
{
int n; //數
int flag; //標記,1為素數,0為非素數
};
void sushu(struct number num[]) //定義函數sushu,形參是結構體變數struct number 型的數組(指針)
{
int n,i,j,k;
printf("Please input a number: ");
scanf("%d",&n); //輸入n
for(i=2;i<=n;i++) //初始化,2到n
{
num[i-2].n=i; //將2到n存入數組num,注意下標是從0開始的。
num[i-2].flag=1; //先默認num中的所有數都是素數,即默認所有的flag都是1。
}
for(i=2;i<=n;i++)
{
for(j=2;(num[i-2].n*j)<=n;j++) //素數j倍的數不是素數
{
for(k=2;k<=n;k++) //遍歷num數組
{
if((num[i-2].n*j)==num[k-2].n)
num[k-2].flag=0;//如果是前一個確定的素數(比如2)的倍數,則標注flag為0,即表明不是素數。
}
}
}
for(i=2;i<=n;i++)
{
if(num[i-2].flag) //只有flag值為1時,if語句的下面語句才執行。即只列印素數。
printf("%d ",num[i-2].n);//列印結果。
}
printf("\n");
}
int main()
{
struct number num[1000]; //定義一個能容納1000個結構體變數的數組。
sushu(num); //調用函數sushu,輸出結果。
return 0; //主函數返回0,正常結束。
}
6. 程序為什麼要加註釋加註釋有幾種方法各有何特點
注釋為對代碼的解釋和說明,其目的是讓人們能夠更加輕松地了解代碼。注釋為編寫程序時,寫程序的人給一個語句、程序段、函數等的解釋或提示,能提高程序代碼的可讀性。注釋只是為了提高可讀性,不會被計算機編譯。
注釋通常會分為行注釋和塊注釋。
行注釋:在符號後那一行不會被編譯(顯示);塊注釋:被塊注釋符號中間的部分不會被編譯。
(6)預編譯行添加註釋擴展閱讀
C語言的注釋符以「/*」開頭並以「*/」結尾的串。在「/*」和「*/」之間的即為注釋。程序編譯時,不對注釋作任何處理。注釋可出現在程序中的任何位置。
注釋用來向用戶提示或解釋程序的意義。在調試程序中對暫不使用的語句也可用注釋符括起來,使翻譯跳過不作處理,待調試結束後再去掉注釋符。
可以使用多種方法創建文字。對簡短的輸入項使用單行文字。對帶有內部格式的較長的輸入項使用多行文字(也稱為多行文字)。也可創建帶有引線的多行文字。
雖然所有輸入的文字都使用建立了默認字體和格式設置的當前文字樣式,但也可以使用其他的方法自定義文字外觀。有一些工具可以方便用戶修改文字比例和對正、查找和替換文字以及檢查拼寫錯誤。
7. 怎麼給代碼加註釋
C/C++/C#
行注釋://這里是注釋
塊注釋:/*這里是注釋*/
行注釋://這里是注釋
塊注釋:/*這里是注釋*/
HTML
塊注釋:<!--這里是注釋-->
CSS
塊注釋:/*這里是注釋*/
JavaScript
行注釋://這里是注釋
塊注釋:/*這里是注釋*/
XML
塊注釋:<!--這里是注釋-->
Python
行注釋:#這里是注釋
塊注釋:'''這里是注釋'''
SQL Server/Oracle PLSQL
行注釋:--這里是注釋
塊注釋:/*這里是注釋*/
MySQL
行注釋:--這里是注釋
行注釋:#這里是注釋
塊注釋:/*這里是注釋*/
VB
行注釋:'這里是注釋
匯編語言
行注釋:;這里是注釋
perl
行注釋:# 這是一個單行注釋
塊注釋:
=pod
這里是注釋
=cut
Matlab
行注釋:%這里是注釋
塊注釋:%%這里是注釋%%
塊注釋:%{這里是注釋%}
R語言
行注釋:#這里是注釋
塊注釋:if(false){這里是注釋}
(7)預編譯行添加註釋擴展閱讀:
關於高級語言中的注釋:
1、注釋是代碼的「提示」或「解釋」而非文檔;注釋主要用於解釋代碼復雜度;注釋應准確、易懂(無二義性)、簡潔;程序中有效注釋量必須在20%以上。
說明:代碼清楚可以自注釋的不需加註釋,過分詳細的注釋容易使人厭煩,切記不要自以為高深讓別人看不懂而不加註釋。
2、注釋的目的:為了便於代碼的維護、解釋代碼的功能和方法等方便讀者閱讀,以及防止不必要的重復信息。
3、給代碼添加註釋絕對是好習慣,最好邊寫代碼邊注釋
8. 在java中如何實現預編譯
/*
* ProCompile.java *預處理要編譯的文件,刪除多餘的空白,注釋,換行,回車等
* Created on 2007年9月18日, 下午8:58 */ package javacompile; import java.io.*;
import java.util.regex.*;
import javax.swing.JOptionPane; /** * @com.junjian.sun public class PerCompile { File f = null;
String fileString = null;
Pattern p = null;
Matcher m = null;
String regex; //正則表達式 //初始化p
public PerCompile() {
regex ="(//.+)" + //(//.+) 對應單行注釋
//"|(/\\*(.+\\n)+\\*/)"+ // 想對應多行注釋... "|(\\r\\n)" + "|(\\n)"+//(\\r\\n)|(\\n)對應換行
"|(\\B\\s+)" ; // 空白符
String ss;
f = new File(new JOptionPane()
.showInputDialog("請輸入文件所在路徑~"));
try {
BufferedReader bf = new BufferedReader(new FileReader(f));
ss = bf.readLine()+"\n";
fileString = ss; //如果沒有這兩句,ss的開頭會有「null」
while((ss = bf.readLine())!= null){
fileString += ss+"\n"; bf.close();
} catch (IOException ex) {
ex.printStackTrace(); p = Pattern.compile(regex);
m = p.matcher(fileString); //執行替換所有多餘空行,空白符,注釋
void Dels(){
System.out.println("before: "+fileString);
if(m.find()) System.out.println("find!!");
System.out.println(m.replaceAll("")); } }
-
9. 在vc++6.0中怎麼把一段代碼標記為注釋 你說的選中一個程序塊後,點一下那個命令,那段程序就變成注釋了
注釋好像只有菜單命令而無快捷鍵,你從工具-自定義里找找看,其實最好用的還是Alt+F8(自動格式重排)。
vc6.0快捷鍵大全- -
F1: 幫助
Ctrl+O :Open
Ctrl+P :Print
Ctrl+N :New
Ctrl+Shift+F2 :清除所有書簽
F2 :上一個書簽
Shift+F2 :上一個書簽
Alt+F2 :編輯書簽
Ctrl+F2 :添加/刪除一個書簽
F12 :Goto definition
Shift+F12 :Goto reference
Ctrl+'Num+' :Displays the next symbol definition or reference
Ctrl+'Num-' :Displays the previous symbol definition or reference
Ctrl+J/K :尋找上一個/下一個預編譯條件
Ctrl+Shift+J/K :尋找上一個/下一個預編譯條件並將這一塊選定
Ctrl+End :文檔尾
Ctrl+Shift+End :選定從當前位置到文檔尾
Ctrl+Home :文檔頭
Ctrl+Shift+Home :選定從當前位置到文檔頭
Ctrl+B/Alt+F9 :編輯斷點
Alt+F3/Ctrl+F :查找
F3 :查找下一個
Shift+F3 :查找上一個
Ctrl+]/Ctrl+E :尋找下一半括弧
Ctrl+Shift+] :尋找下一半括弧並選定括弧之間的部分(包括括弧)
Ctrl+Shift+E :尋找下一半括弧並選定括弧之間的部分(包括括弧)
F4 :尋找下一個錯誤/警告位置
Shift+F4 :尋找上一個錯誤/警告位置
Shift+Home :選定從當前位置到行首
Shift+End :選定從當前位置到行尾
Ctrl+L :剪切當前行
Ctrl+Shift+L :刪除當前行
Alt+Shift+T :交換當前行和上一行
Ctrl+Alt+T :Brings up the completion list box
Shift+PageDown :選定從當前位置到下一頁當前位置
Shift+PageUp :選定從當前位置到上一頁當前位置
Ctrl+Shift+Space:顯示函數參數的Tooltip
Ctrl+Z/Alt+Backspace :Undo
Ctrl+Shift+Z/Ctrl+Y :Redo
F8 :當前位置變成選定區域的頭/尾(再移動游標或者點滑鼠就會選定)
Ctrl+Shift+F8 :當前位置變成矩形選定區域的頭/尾(再移動游標或者點滑鼠就會選定)
Alt+F8 :自動格式重排
Ctrl+G :Goto
Ctlr+X/Shift+Del:Cut
Ctrl+C/Ctrl+Ins :Copy
Ctrl+V/Shift+Ins:Paste
Ctrl+U :將選定區域轉換成小寫
Ctrl+Shift+U :將選定區域轉換成大寫
Ctrl+F8 :當前行變成選定區域的頭/尾(再移動上下游標或者點滑鼠就會選定多行)
Ctrl+Shift+L :刪除從當前位置到行尾
Ctrl+Shift+8 :將所有Tab變成`或者還原
Ctrl+T :顯示變數類型
Ctrl+↑ :向上滾屏
Ctrl+↓ :向下滾屏
Ctrl+Del :刪除當前單詞的後半截(以游標為分割)
Ctrl+Backspace :刪除當前單詞的前半截(以游標為分割)
Ctrl+← :移到前一個單詞
Ctrl+→ :移到後一個單詞
Ctrl+Shift+← :選定當前位置到前一個單詞
Ctrl+Shift+→ :選定當前位置到後一個單詞
Ctrl+Shift+T :將本單詞和上一個單詞互換
10. 在vc++6.0中怎麼把一段代碼標記為注釋你說的選中一個程序塊後,點一下那個命令,那段程序就變成注釋了
這個問題很簡單!注釋好像只有菜單命令而無快捷鍵,你從工具-自定義里找找看,其實最好用的還是Alt+F8(自動格式重排)。
vc6.0快捷鍵大全--
F1:幫助
Ctrl+O:Open
Ctrl+P:Print
Ctrl+N:New
Ctrl+Shift+F2:清除所有書簽
F2:上一個書簽
Shift+F2:上一個書簽
Alt+F2:編輯書簽
Ctrl+F2:添加/刪除一個書簽
F12:Gotodefinition
Shift+F12:Gotoreference
Ctrl+'Num+':
Ctrl+'Num-':
Ctrl+J/K:尋找上一個/下一個預編譯條件
Ctrl+Shift+J/K:尋找上一個/下一個預編譯條件並將這一塊選定
Ctrl+End:文檔尾
Ctrl+Shift+End:選定從當前位置到文檔尾
Ctrl+Home:文檔頭
Ctrl+Shift+Home:選定從當前位置到文檔頭
Ctrl+B/Alt+F9:編輯斷點
Alt+F3/Ctrl+F:查找
F3:查找下一個
Shift+F3:查找上一個
Ctrl+]/Ctrl+E:尋找下一半括弧
Ctrl+Shift+]:尋找下一半括弧並選定括弧之間的部分(包括括弧)
Ctrl+Shift+E:尋找下一半括弧並選定括弧之間的部分(包括括弧)
F4:尋找下一個錯誤/警告位置
Shift+F4:尋找上一個錯誤/警告位置
Shift+Home:選定從當前位置到行首
Shift+End:選定從當前位置到行尾
Ctrl+L:剪切當前行
Ctrl+Shift+L:刪除當前行
Alt+Shift+T:交換當前行和上一行
Ctrl+Alt+T:Bringsupthecompletionlistbox
Shift+PageDown:選定從當前位置到下一頁當前位置
Shift+PageUp:選定從當前位置到上一頁當前位置
Ctrl+Shift+Space:顯示函數參數的Tooltip
Ctrl+Z/Alt+Backspace:Undo
Ctrl+Shift+Z/Ctrl+Y:Redo
F8:當前位置變成選定區域的頭/尾(再移動游標或者點滑鼠就會選定)
Ctrl+Shift+F8:當前位置變成矩形選定區域的頭/尾(再移動游標或者點滑鼠就會選定)
Alt+F8:自動格式重排
Ctrl+G:Goto
Ctlr+X/Shift+Del:Cut
Ctrl+C/Ctrl+Ins:Copy
Ctrl+V/Shift+Ins:Paste
Ctrl+U:將選定區域轉換成小寫
Ctrl+Shift+U:將選定區域轉換成大寫
Ctrl+F8:當前行變成選定區域的頭/尾(再移動上下游標或者點滑鼠就會選定多行)
Ctrl+Shift+L:刪除從當前位置到行尾
Ctrl+Shift+8:將所有Tab變成`或者還原
Ctrl+T:顯示變數類型
Ctrl+↑:向上滾屏
Ctrl+↓:向下滾屏
Ctrl+Del:刪除當前單詞的後半截(以游標為分割)
Ctrl+Backspace:刪除當前單詞的前半截(以游標為分割)
Ctrl+←:移到前一個單詞
Ctrl+→:移到後一個單詞
Ctrl+Shift+←:選定當前位置到前一個單詞
Ctrl+Shift+→:選定當前位置到後一個單詞
Ctrl+Shift+T:將本單詞和上一個單詞互換