Ⅰ c語言中縮進
指的是代碼與頁面邊緣的距離。這提高了可讀性。
舉例如下:
無縮進代碼:
#include<stdio.h>voidmain(){printf("Hello,world!");}
有縮進代碼:
#include<stdio.h>
voidmain()
{
printf("Hello,world!");
}
有縮進的代碼看起來更為整齊、清晰、易讀。
Ⅱ 縮進是什麼意思
在程序設計中,縮進風格(indent style)是管理代碼塊縮進以表達程序結構的一種約定。本條目主要討論自由形式語言,例如C及其後裔,但這也可以(並經常)適用於大多數其他編程語言(尤其是大括弧編程語言),其中的空白字元則並不重要。縮進風格是代碼風格的一個方面。
縮進在大多數編程語言中不是必要條件,而只是作為輔助符號。不過,縮進有助於更好地向人類閱讀者表達程序的結構。尤其是用於澄清控制流程結構(例如條件或循環)與其內部、外部代碼之間的關系。
不過,部分語言(例如Python和occam)使用縮進而非大括弧或關鍵詞來確定結構,這被稱為越位規則。在這種語言中,縮進對編譯器或解釋器有意義,而不僅僅是清晰度或風格問題。
(2)c語言縮排是什麼意思啊擴展閱讀
縮進的尺寸通常與風格無關。許多早期程序使用製表符來縮進,從而簡化輸入和節約源代碼文件的大小。Unix編輯器通常將製表符視為等同八個字元,而Macintosh和Windows環境將它視作四個字元[來源請求],這使代碼在各環境間交換時產生一種混亂。
現代的編程編輯器通常可以設置任意的縮進尺寸,並會插入適當的製表符與空格。對Ruby、許多shell腳本語言和某些形式的HTML格式,通常為每個縮進級別使用兩個空格。
Ⅲ c語言什麼情況下需要縮進
基本上可以這么認為,同一個大括弧內的語句縮進是一致的,而內部再一個大括弧內的則是外面的一個製表符的縮進
expression1;
expression2;
{
expression3;
expression4;
{
expression5;
...
}
}
Ⅳ C語言 順序選擇結構
1、 為表示關系x≥y≥z,應使用C語言表達式(A)
A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)
C) (x>=y>=z) D) (x>=y) || (y>=z)
請選擇-> A B C D
2、 若要求在if後一對圓括弧中表示a不等於0的關系,則能正確表示
這一關系的表達式為(D)
A) a<>0 B) !a
C) a=0 D) a
請選擇-> A B C D
3、 若有以下定義: float x; int a,b; 則正確的switch 語句是(C)
A) switch(x) B) switch(x)
{ case 1.0:printf("*\n"); { case 1,2:printf("*\n");
case 2: printf("**\n") case 3:printf("**\n");
} }
C) switch(a+b) D) switch(a-b);
{ case 1: printf("*\n") ; { case 1:printf("*\n");
case 2: printf("**n"); case 2:printf("**\n");
} }
請選擇-> A B C D
4、 若有以下定義: int a,b,c1,c2,x,y; 則正確的switch 語句是(D)
A) switch(a+b); B) switch(a*a+b*b)
{ case 1:y=a+b;break; { case 3:
case 2:y=a-b;break; case 1:y=a+b;break;
} case 3:y=b-a;break;
}
C) switch a D) switch(a-b)
{ case c1:y=a-b;break; { default:y=a*b;break;
case c2:y=a*d;break; case 3:
default:x=a+b; case 4:x=a+b;break;
} case 10:
case 11:y=a-b;break;
}
請選擇-> A B C D
5、 能正確表示a和b同時為正或同時為負的邏輯表達式是(D)
A) (a>=0 || b>=0) && (a<0 || b<0)
B) (a>=0 && b>=0) && (a<0 && b<0)
C) (a+b>0 && a+b<=0)
D) a*b>0
請選擇-> A B C D
6、 為了避免嵌套的if-else語句的二義性,C語言規定else總是
與( )組成配對關系。(C)
A) 縮排位置相同的if B) 在其之前未配對的if
C) 在其之前尚未配對的最近的if D) 同一行上的if
請選擇-> A B C D
7、 選擇出合法的判斷a和b是否相等的if語句(設int x,a,b,c;)。(C)
A) if (a=b) x++; B) if (a=<b) x++;
C) if (a!=b) x++; D) if (a=>b) x++;
請選擇-> A B C D
8、 如果c為字元型變數,判斷c是否為空格不能使用________。(A)
A) if(c=='32') B) if(c==32)
C) if(c=='\40') D) if(c==' ')
請選擇-> A B C D
9、 設ch是char型變數,值為'A',則表達式
ch=(ch>='A' && ch<='Z')?ch+32:ch的值是:(B)
A) Z B) a
C) z D) A
請選擇-> A B C D
10、 設a為整型變數,不能正確表達數學關系10<a<15的C語言表達式是:(A)
A) 10<a<15 B) a==11||a==12||a==13||a==14
C) a>10&&a<15 D) !(a<=10)&&!(a>=15)
請選擇-> A B C D
講解:
2,題意:a不等於0就執行if裡面的程序;假設a=5,則只有d符合條件;
3,d選項swith後不能有分號,且swith括弧內只能是整型,字元型或常量;
4,與第三題類似,a選項swith後有分號:
5,同正或同負則相乘必然為0;
6,縮排位置即同一列的,用排除法:有如下程序:
if(a==b)
{
if(a==c){if(a==d)} else printf("***");
}
else
printf("****");
/*此else與第二個if縮排位置相同,而與第一個縮排位置不同*/
則此else並非與縮排位置相同的if相配對,而是與最上面的那個配對;即排除a,d顯然也可以用上述例子排除;再比較c與b,顯然c描述更准確一些,所以選c;
7,只要判斷執行if前後x的值是否相等就能判斷a是否等於b;
8,a選項變成了判斷c是否等於'32'這個字元;
Ⅳ 在c語言中,編程規范裡面中的代碼縮進,代碼縮進統一為4個字元是什麼意思不採用空格鍵,而用Tab鍵
首先,Tab和空格不是一個東西,系統識別是兩個不同的內容。
有的文本編輯器,如sublime text, 默認設置Tab等於4個空格,所以按Tab就出來4個空格。
當然,你要不嫌煩,也可以按4次空格。
Tab製表符可以快速上下行對齊,所以一般用Tab,例如,上一行這個字元到下一個字元中間有3個空格,這時候你按Tab鍵輸出的就不是4個空格,而是3個空格,剛好與上一行字元對齊。
C是根據{ }和 ; 來區分代碼塊,而代碼縮進是便於程序員閱讀代碼,與注釋一樣,程序運行時不在乎這些東西。
另,python是根據縮進來區分代碼塊的,所以python要嚴格縮進。
Ⅵ 要不要當我的固排是什麼意思
我所理解的是在游戲里,你願不願意做我的固定排位隊友,引申到現實中就是你願不願意做我的搭檔,固定隊友,一起努力
Ⅶ C語言中縮排是什麼意思
就是保證格式的美觀,用Tab鍵
while(1)
{
for(i=0;i<100;i++)
{
printf("%d ",i);
}
}
請採納,謝謝
Ⅷ c語言編程中,我用的是VC6.0軟體編程,其中代碼縮進快捷鍵是哪個知道的說下謝謝
單行用TAB,
多行選中以後,可以用Ctrl+tab.
單行取消一級縮進,Shift+tab
多行同時取消一級縮進Ctrl+Shift+tab
Ⅸ C語言注釋縮進問題
就像是這樣,每一句注釋都和前一句的縮進相同就是了,但是完全沒有必要這樣寫
如果短的話注釋在描述內容後面就行了。
Ⅹ C語言程序注釋
C語言編程規范-注釋
規則:
1:一般情況下,源程序有效注釋量必須在20%以上。
說明:注釋的原則是有助於對程序的閱讀理解,在該加的地方都加了,注釋不宜太多也不能太少,注釋語言必須准確、易懂、簡潔。
2:說明性文件(如頭文件.h文件、.inc文件、.def文件、編譯說明文件.cfg等)頭部應進行注釋,注釋必須列出:版權說明、版本號、生成日期、作者、內容、功能、與其它文件的關系、修改日誌等,頭文件的注釋中還應有函數功能簡要說明。
示例:下面這段頭文件的頭注釋比較標准,當然,並不局限於此格式,但上述信息建議要包含在內。
/*************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
File name: // 文件名
Author:
Version:
Date: // 作者、版本及完成日期
Description: // 用於詳細說明此程序文件完成的主要功能,與其他模塊
// 或函數的介面,輸出值、取值范圍、含義及參數間的控
// 制、順序、獨立或依賴等關系
Others: // 其它內容的說明
Function List: // 主要函數列表,每條記錄應包括函數名及功能簡要說明
1. ....
History: // 修改歷史記錄列表,每條修改記錄應包括修改日期、修改
// 者及修改內容簡述
1. Date:
Author:
Modification:
2. ...
*************************************************/
3:源文件頭部應進行注釋,列出:版權說明、版本號、生成日期、作者、模塊目的/功能、主要函數及其功能、修改日誌等。
示例:下面這段源文件的頭注釋比較標准,當然,並不局限於此格式,但上述信息建議要包含在內。
/************************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
FileName: test.cpp
Author:
Version :
Date:
Description: // 模塊描述
Version: // 版本信息
Function List: // 主要函數及其功能
1. -------
History: // 歷史修改記錄
<author> <time> <version > <desc>
David 96/10/12 1.0 build this moudle
***********************************************************/
說明:Description一項描述本文件的內容、功能、內部各部分之間的關系及本文件與其它文件關系等。History是修改歷史記錄列表,每條修改記錄應包括修改日期、修改者及修改內容簡述。
4:函數頭部應進行注釋,列出:函數的目的/功能、輸入參數、輸出參數、返回值、調用關系(函數、表)等。
示例:下面這段函數的注釋比較標准,當然,並不局限於此格式,但上述信息建議要包含在內。
/*************************************************
Function: // 函數名稱
Description: // 函數功能、性能等的描述
Calls: // 被本函數調用的函數清單
Called By: // 調用本函數的函數清單
Table Accessed: // 被訪問的表(此項僅對於牽扯到資料庫操作的程序)
Table Updated: // 被修改的表(此項僅對於牽扯到資料庫操作的程序)
Input: // 輸入參數說明,包括每個參數的作
// 用、取值說明及參數間關系。
Output: // 對輸出參數的說明。
Return: // 函數返回值的說明
Others: // 其它說明
*************************************************/
5:邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以保證注釋與代碼的一致性。不再有用的注釋要刪除。
6:注釋的內容要清楚、明了,含義准確,防止注釋二義性。
說明:錯誤的注釋不但無益反而有害。
7:避免在注釋中使用縮寫,特別是非常用縮寫。
說明:在使用縮寫時或之前,應對縮寫進行必要的說明。
8:注釋應與其描述的代碼相近,對代碼的注釋應放在其上方或右方(對單條語句的注釋)相鄰位置,不可放在下面,如放於上方則需與其上面的代碼用空行隔開。
示例:如下例子不符合規范。
例1:
/* get replicate sub system index and net indicator */
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
例2:
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
/* get replicate sub system index and net indicator */
應如下書寫
/* get replicate sub system index and net indicator */
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
9:對於所有有物理含義的變數、常量,如果其命名不是充分自注釋的,在聲明時都必須加以注釋,說明其物理含義。變數、常量、宏的注釋應放在其上方相鄰位置或右方。
示例:
/* active statistic task number */
#define MAX_ACT_TASK_NUMBER 1000
#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
10:數據結構聲明(包括數組、結構、類、枚舉等),如果其命名不是充分自注釋的,必須加以注釋。對數據結構的注釋應放在其上方相鄰位置,不可放在下面;對結構中的每個域的注釋放在此域的右方。
示例:可按如下形式說明枚舉/數據/聯合結構。
/* sccp interface with sccp user primitive message name */
enum SCCP_USER_PRIMITIVE
{
N_UNITDATA_IND, /* sccp notify sccp user unit data come */
N_NOTICE_IND, /* sccp notify user the No.7 network can not */
/* transmission this message */
N_UNITDATA_REQ, /* sccp user's unit data transmission request*/
};
11:全局變數要有較詳細的注釋,包括對其功能、取值范圍、哪些函數或過程存取它以及存取時注意事項等的說明。
示例:
/* The ErrorCode when SCCP translate */
/* Global Title failure, as follows */ // 變數作用、含義
/* 0 - SUCCESS 1 - GT Table error */
/* 2 - GT error Others - no use */ // 變數取值范圍
/* only function SCCPTranslate() in */
/* this moal can modify it, and other */
/* mole can visit it through call */
/* the function GetGTTransErrorCode() */ // 使用方法
BYTE g_GTTranErrorCode;
12:注釋與所描述內容進行同樣的縮排。
說明:可使程序排版整齊,並方便注釋的閱讀與理解。
示例:如下例子,排版不整齊,閱讀稍感不方便。
void example_fun( void )
{
/* code one comments */
CodeBlock One
/* code two comments */
CodeBlock Two
}
應改為如下布局。
void example_fun( void )
{
/* code one comments */
CodeBlock One
/* code two comments */
CodeBlock Two
}
13:將注釋與其上面的代碼用空行隔開。
示例:如下例子,顯得代碼過於緊湊。
/* code one comments */
program code one
/* code two comments */
program code two
應如下書寫
/* code one comments */
program code one
/* code two comments */
program code two
14:對變數的定義和分支語句(條件分支、循環語句等)必須編寫注釋。
說明:這些語句往往是程序實現某一特定功能的關鍵,對於維護人員來說,良好的注釋幫助更好的理解程序,有時甚至優於看設計文檔。
15:對於switch語句下的case語句,如果因為特殊情況需要處理完一個case後進入下一個case處理,必須在該case語句處理完、下一個case語句前加上明確的注釋。
說明:這樣比較清楚程序編寫者的意圖,有效防止無故遺漏break語句。
示例(注意斜體加粗部分):
case CMD_UP:
ProcessUp();
break;
case CMD_DOWN:
ProcessDown();
break;
case CMD_FWD:
ProcessFwd();
if (...)
{
...
break;
}
else
{
ProcessCFW_B(); // now jump into case CMD_A
}
case CMD_A:
ProcessA();
break;
case CMD_B:
ProcessB();
break;
case CMD_C:
ProcessC();
break;
case CMD_D:
ProcessD();
break;
...
建議:
1:避免在一行代碼或表達式的中間插入注釋。
說明:除非必要,不應在代碼或表達中間插入注釋,否則容易使代碼可理解性變差。
2:通過對函數或過程、變數、結構等正確的命名以及合理地組織代碼的結構,使代碼成為自注釋的。
說明:清晰准確的函數、變數等的命名,可增加代碼可讀性,並減少不必要的注釋。
3:在代碼的功能、意圖層次上進行注釋,提供有用、額外的信息。
說明:注釋的目的是解釋代碼的目的、功能和採用的方法,提供代碼以外的信息,幫助讀者理解代碼,防止沒必要的重復注釋信息。
示例:如下注釋意義不大。
/* if receive_flag is TRUE */
if (receive_flag)
而如下的注釋則給出了額外有用的信息。
/* if mtp receive a message from links */
if (receive_flag)
4:在程序塊的結束行右方加註釋標記,以表明某程序塊的結束。
說明:當代碼段較長,特別是多重嵌套時,這樣做可以使代碼更清晰,更便於閱讀。
示例:參見如下例子。
if (...)
{
// program code
while (index < MAX_INDEX)
{
// program code
} /* end of while (index < MAX_INDEX) */ // 指明該條while語句結束
} /* end of if (...)*/ // 指明是哪條if語句結束
5:注釋格式盡量統一,建議使用"/* …… */"。
6:注釋應考慮程序易讀及外觀排版的因素,使用的語言若是中、英兼有的,建議多使用中文,除非能用非常流利准確的英文表達。
說明:注釋語言不統一,影響程序易讀性和外觀排版,出於對維護人員的考慮,建議使用中文。