亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言的基本編寫規(guī)范你了解嗎

 更新時間:2022年01月15日 15:13:29   作者:DSTBP  
這篇文章主要為大家介紹了C語言的基本編寫規(guī)范,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

基本編寫規(guī)范

規(guī)范是一種規(guī)定,它是一種人為的、約定成俗的,即使不按照那種規(guī)定也不會出錯,這種規(guī)定就叫作規(guī)范。雖然我們不按照規(guī)范也不會出錯,但是那樣代碼寫得就會很亂。如果你養(yǎng)成一種非常不好的寫代碼的習(xí)慣,代碼寫得亂七八糟,等到將來工作面試的時候,這樣的習(xí)慣可能會讓你失去機會。

一、代碼規(guī)范化的好處

看著整齊舒服,邏輯清楚,條理清晰。假如你現(xiàn)在用不規(guī)范的方式寫了一萬行代碼,現(xiàn)在能看得懂,但等過了三個月你再回頭看時就很吃力了,更不要說給別人看了。所以代碼要寫規(guī)范。規(guī)范的代碼不容易使程序出錯,即使出錯了查錯也會很方便。如果按照不規(guī)范的格式輸入代碼的話,很容易出錯。格式雖然不會影響程序的功能,但會影響可讀性。程序的格式追求清晰、美觀,是程序風(fēng)格的重要構(gòu)成元素。

規(guī)范的代碼

約瑟夫環(huán)

#include <stdio.h>
#define N 100
int main()
{
   int n,m=3,s=1;   //n:總?cè)藬?shù),m:報數(shù)值,s報數(shù)人的起始編號 
   scanf("%d",&n);
   int a[N] = {0};  //數(shù)組初始化
   int i,j;
   for(i = 0; i < n; i++)	//數(shù)組遍歷
   {
       a[i] = i+1;   //i是數(shù)組的位置量,a[i]是每個人的原始編號(從1開始) 
   }
   i=s-1;   //數(shù)組的起點(0) 
   while (n > 1)
   {    
       i = (i+m-1) % n;   //出圈的人在數(shù)組中的位置 
       for(j = i+1; j < n; j++)
       {
           a[j-1] = a[j];
       }
       n--;  //出局1人后,總?cè)藬?shù)-1 
       if(i == n)  //終點后,開始起點(圍成一個圈) 
       {
         i = 0;
       }
   }
   printf("%d\n", a[i]);	//輸出留下的人的原始編號 
   return 0;
}

不規(guī)范的代碼

請?zhí)砑訄D片描述

#include<stdio.h>int main(void){int n,u,d,s,t;s=0;t=0;scanf("%d%d%d",&n,&u,&d);if(u>=n) printf("1");else{do{s=s+u;t++;if(s>=n)break;else{s=s-d;t++;}}while(s<=n);printf("%d",t);}}#include<stdio.h>
int main(void){int n,u,d,s,t;s=0;
t=0;
scanf("%d%d%d",&n,&u,&d);
if(u>=n) printf("1");
else{
do{s=s+u;t++;
if(s>=n)break;
else
{
s=s-d;
t++;}
}while(s<=n);
printf("%d",t);}
}

二、規(guī)范目的與基本規(guī)則

1.目的

可移植性、連貫、整潔、易于維護、易于理解、簡潔

2.基本原則

1.空行

空行起著分隔程序段落的作用。空行得體將使程序的布局更加清晰??招胁粫速M內(nèi)存。

規(guī)則一:定義變量后要空行。盡可能在定義變量的同時初始化該變量。

規(guī)則二:每個函數(shù)定義結(jié)束之后都要加空行。

規(guī)則三:兩個相對獨立的程序塊、變量說明之后必須要加空行。比如上面幾行代碼完成的是 一個功能,下面幾行代碼完成的是另一個功能,那么它們中間就要加空行。這樣看起來更清晰。

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

2.空格

規(guī)則一:關(guān)鍵字之后要留空格。像 const、case 等關(guān)鍵字之后至少要留一個空格,否則無法辨析關(guān)鍵字。像 if、for、while 等關(guān)鍵字之后應(yīng)留一個空格再跟左括號(,以突出關(guān)鍵字。

規(guī)則二:函數(shù)名之后不要留空格,應(yīng)緊跟左括號(,以與關(guān)鍵字區(qū)別。

規(guī)則三(后不打空格; )、,、;這三個前不打空格。

規(guī)則四,之后要留空格。如果;不是一行的結(jié)束符號,其后要留空格。

規(guī)則五:賦值運算符、關(guān)系運算符、算術(shù)運算符、邏輯運算符、位運算符,如 =、==、!=、+=、-=、*=、/=、%=、>>=、<<=、&=、=、|=、>、<=、>、>=、+、-、*、/、%、&、|、&&、||、<<、>>、 等雙目運算符的前后應(yīng)當加空格。

注意,%d 中的“%”前后不用加空格。

規(guī)則六單目運算符 !、~、++、--、-、*、& 等前后不加空格。

規(guī)則七:像數(shù)組符號[]、結(jié)構(gòu)體成員運算符.、指向結(jié)構(gòu)體成員運算符->,這類操作符前后不加空格。

規(guī)則八:對于表達式比較長的 for 語句和 if 語句,為了緊湊起見,可以適當?shù)厝サ粢恍┛崭?。?for 和 if 后面緊跟的空格不可以刪,其后面的語句可以根據(jù)語句的長度適當?shù)厝サ粢恍┛崭?。例如?br />for (i=0; i<10; i++); //for 和分號后面保留空格就可以了,=和<前后的空格可去掉。

3.成對書寫(有些編譯器會自動補括號)

成對的符號一定要成對書寫,如 ()、{}。不要寫完左括號然后寫內(nèi)容最后再補右括號,這樣很容易漏掉右括號,尤其是寫嵌套程序的時候。

4.縮進(有些編譯器會自動縮進)

縮進是通過鍵盤上的 Tab 鍵實現(xiàn)的,縮進可以使程序更有層次感。原則是:如果地位相等,則不需要縮進;如果屬于某一個代碼的內(nèi)部代碼就需要縮進。

5.對齊(有些編譯器會自動對齊)

規(guī)則一{}分別都要獨占一行?;橐粚Φ?code>{和}要位于同一列,并且與引用它們的語句左對齊。

規(guī)則二{}之內(nèi)的代碼要向內(nèi)縮進一個 Tab,且同一地位的要左對齊,地位不同的繼續(xù)縮進。

6.代碼行

規(guī)則一:一行代碼只做一件事情,如只定義一個變量,或只寫一條語句。這樣的代碼容易閱讀,并且便于寫注釋。

規(guī)則二:if、else、for、while、do 等語句自占一行,執(zhí)行語句不得緊跟其后。此外,非常重要的一點是,不論執(zhí)行語句有多少行,就算只有一行也要加{},并且遵循對齊的原則,這樣可以防止書寫失誤。

7.注釋

C語言中一行注釋一般采用//…,多行注釋必須采用/*…*/。注釋通常用于重要的代碼行或段落提示。在一般情況下,源程序有效注釋量必須在 20% 以上。

規(guī)則一:注釋是對代碼的“提示”,而不是文檔。注釋太多會讓人眼花繚亂。

規(guī)則二:如果代碼本來就是清楚的,則不必加注釋。

規(guī)則三:邊寫代碼邊注釋,修改代碼的同時要修改相應(yīng)的注釋,以保證注釋與代碼的一致性,不再有用的注釋要刪除。

規(guī)則四:當代碼比較長,特別是有多重嵌套的時候,應(yīng)當在段落的結(jié)束處加注釋,這樣便于閱讀。

規(guī)則五:每一條宏定義的右邊必須要有注釋,說明其作用。

請?zhí)砑訄D片描述

#include <stdio.h>
int main()
{
	int i = 0;
	int x,y,z;
	int n;
	scanf("%d",&n);
	for(x = 0 ; x <= 100 ; x++)   // 5分
	{
		for(y = 0 ; y <= 100 ; y++)   //2分
		{
			for(z = 0 ; z <= 100 ; z++)  //1分
			{
			    //判斷硬幣面值相加等于150分時,還要三種硬幣相加等于100枚
				if((x*1 + y*2 + z*5 == 150) && x+y+z == 100)
				{
					i++;
					if(z > 0 && z <= n)
					{//判斷前N種方案
						printf("%d %d %d",z,y,x);
						if(z < n)
						{//換行輸出,同時最后一行輸出完,不再換行
							printf("\n");
						}
					}
				}
			}
		}
	}
	return 0;
}

三、其他細節(jié)

1.頭文件放在代碼最前面,頭文件include從抽象到具體,次序:C標準庫→C++標準庫→OS相關(guān)→第三方庫→工程頭文件

2.標識符的命名要清晰、明了,有明確含義,同時使用完整的單詞或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解

常見縮寫

請?zhí)砑訄D片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C++的new和delete使用示例詳解

    C++的new和delete使用示例詳解

    這篇文章主要為大家介紹了C++的new和delete使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 實例講解C++編程中l(wèi)ambda表達式的使用

    實例講解C++編程中l(wèi)ambda表達式的使用

    這篇文章主要介紹了C++編程中l(wèi)ambda表達式的使用實例,lambda表達式特性的引入在C++11中可謂千呼萬喚始出來,非常重要,需要的朋友可以參考下
    2016-01-01
  • WM_CLOSE、WM_DESTROY、WM_QUIT及各種消息投遞函數(shù)詳解

    WM_CLOSE、WM_DESTROY、WM_QUIT及各種消息投遞函數(shù)詳解

    這篇文章主要介紹了WM_CLOSE、WM_DESTROY、WM_QUIT及各種消息投遞函數(shù),有助于讀者更好的理解windows程序的消息機制,需要的朋友可以參考下
    2014-07-07
  • 求子數(shù)組最大和的解決方法詳解

    求子數(shù)組最大和的解決方法詳解

    本篇文章是對求子數(shù)組最大和的解決方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • OLEDB打開Excel文件的實現(xiàn)方法

    OLEDB打開Excel文件的實現(xiàn)方法

    下面小編就為大家?guī)硪黄狾LEDB打開Excel文件的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • C語言中的getchar和putchar的使用方法

    C語言中的getchar和putchar的使用方法

    這篇文章主要介紹了C語言中的getchar和putchar的使用方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • 教你在VS2022?MFC程序中調(diào)用CUDA代碼的方法

    教你在VS2022?MFC程序中調(diào)用CUDA代碼的方法

    這篇文章主要介紹了在VS2022?MFC程序中調(diào)用CUDA代碼,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C++中引用處理的基本方法

    C++中引用處理的基本方法

    引用不是新定義了一個變量,而是給已經(jīng)存在的變量取了一個別名,編譯器不會為引用變量開辟內(nèi)存空間,他和他引用的變量共用一塊內(nèi)存空間,下面這篇文章主要給大家介紹了關(guān)于C++中引用處理的基本方法,需要的朋友可以參考下
    2022-12-12
  • 淺談C++重載、重寫、重定義

    淺談C++重載、重寫、重定義

    下面小編就為大家?guī)硪黄獪\談C++重載、重寫、重定義。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 詳解C/C++高精度(加減乘除)算法中的壓位優(yōu)化

    詳解C/C++高精度(加減乘除)算法中的壓位優(yōu)化

    在高精度計算中數(shù)組的每個元素存儲一位10進制的數(shù)字,這樣的存儲方式并不是最優(yōu)的,32位的整型其實至少可以存儲9位高精度數(shù)字,數(shù)組元素存儲更多的位數(shù)就是壓位優(yōu)化。本文將展示壓位優(yōu)化的原理以及壓9位的實現(xiàn)和性能對比,需要的可以參考一下
    2023-01-01

最新評論