C語言源程序的編程格式歸納如下:
創(chuàng)新互聯(lián)服務(wù)項目包括廈門網(wǎng)站建設(shè)、廈門網(wǎng)站制作、廈門網(wǎng)頁制作以及廈門網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,廈門網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到廈門省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1,一個C語言源程序必須有且只有一個MAIN函數(shù).
2,函數(shù)名后必須緊跟圓括號對,函數(shù)體放在右圓括號")"后的花括號對"{}"中.
3,每個程序體(包括函數(shù)的函數(shù)體,含有多條語句的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中的語句序列)必須用一對花括號括起來.
4,文件包含預(yù)處理命令,#INCLUDE*.H應(yīng)置于源程序的開始位置.
5,語句未尾必須有分號,而預(yù)處理命令和函數(shù)首部的未尾及右花括號之后不要分號.
6,同一字母大,小寫意義不同,關(guān)鍵字和標準庫函數(shù)名必須用小寫.
7,變量必須先定義,后使用
8,除已有明顯間隔符外,標識符,關(guān)鍵字之間必須有至少一個空格
9,注解必須包含在"/*
*/符號之間
一:格式輸出函數(shù)printf()
1、調(diào)用形式一般為:printf("格式化控制字符串",輸出表列);
2、格式化控制字符串用于指定輸出格式,它有三種形式:
1、格式說明符:規(guī)定了相應(yīng)輸出表列內(nèi)容的輸出格式,以%打頭,如%d、%o等
2、轉(zhuǎn)義字符:用來輸出轉(zhuǎn)義字符所代表的控制代碼或者特殊字符,比如常用的‘\n'、‘\t'
3、普通字符:需要原樣輸出的字符。
3、輸出表列為若干需要輸出的數(shù)據(jù)項,它與格式說明符在數(shù)量和類型上一一對應(yīng);
4、格式字符m指定輸出數(shù)據(jù)所占寬度,n對實數(shù)表示輸出n位小數(shù),對字符串表示截取的字符個數(shù),+表示右對齊,通常省略。
—表示左對齊,l用于長整型數(shù)據(jù),可加在d、o、x、u前,更多格式說明符及其組合形式如下所示:
格式字符
數(shù)據(jù)對象
輸出形式
數(shù)據(jù)輸出方法
%(+)-md
int
unsigned
int
short
unsigned
short
char
十進制整數(shù)
1、無m按實際位數(shù)輸出
2、有m輸出m位;超過m位,按實際位數(shù)輸出,不足補空格
3、有+(默認為+)右對齊(左補空格)
4、有-左對齊(右補空格)
%(+)-mo
八進制整數(shù)
%(+)-mx
十六進制整數(shù)
%(+)-mu
無符號整數(shù)
%(+)-mld
long
unsigned
long
十進制整數(shù)
%(+)-mlo
八進制整數(shù)
%(+)-mlx
十六進制整數(shù)
%(+)-mlu
無符號整數(shù)
%(+)-m.nf
float
double
十進制小數(shù)
%(+)-m.ne
十進制指數(shù)
%(+)-g
自動選用%f和%e中較短的輸出寬度輸出單、雙精度浮點數(shù)
%(+)-mc
char
int
short
單個字符
1、無m輸出單個字符
2、有m輸出m位,補空格
3、有+(默認為+)右對齊(左補空格)
4、有-左對齊(右補空格)
%(+)-m.ns
字符串
一串字符
1.無m、n按實際字符串輸出全部字符
2、有m、n僅輸出前n個字符,補空格
3.有+(默認為+)右對齊(左補空格)
4、有-左對齊(右補空格)
二:格式輸入函數(shù)scanf()
1、
調(diào)用格式一般為:scanf("格式化控制字符串",地址表列);
2、格式化控制字符串和printf()函數(shù)含義相似,所不同的是它是對輸入格式進行控制;
3、地址表列是有若干等待輸入的數(shù)據(jù)所對應(yīng)的內(nèi)存單元地址組成,由逗號隔開,一般形式為a,a為變量;
4、地址表列在數(shù)量和類型上和格式化控制字符串中的格式說明符一一對應(yīng);
5、格式字符h表示輸入短型數(shù)據(jù),可用在d、o、x前面,m指定輸入數(shù)據(jù)所占寬度,
*表示對應(yīng)的數(shù)據(jù)項讀入后不賦給相應(yīng)的變量,更多格式說明符及其組合如下
格式字符
數(shù)據(jù)對象
輸入形式
數(shù)據(jù)輸入方法
%md
int
short
unsigned
int
unsigned
short
十進制整數(shù)
1、無m按實際位數(shù)輸入
2、有m輸入m位,不足m則跟回車鍵
%mo
八進制整數(shù)
%mx
十六進制整數(shù)
%mld
long
unsigned
long
十進制整數(shù)
%mlo
八進制整數(shù)
%mlx
十六進制整數(shù)
%mlf
float
double
十進制整數(shù)
%mle
%mc
char
單個字符
1、無m取單個字符
2、有m輸入m位,僅取第一個字符
%ms
字符串
一串字符
1、無m取回車或空格前若干字符
2、有m僅取前m字符
c語言中用戶自定義函數(shù)的格式:
函數(shù)返回類型? 函數(shù)名(參數(shù)列表)
{
代碼段;
return 函數(shù)返回值;
}
例如:
int?test(int?value)
{
value?+=?10;
return?value;
}
上面示例定義了一個名為test的函數(shù),其返回值為int型,參數(shù)為int型,返回值為參數(shù)與10之和。
注:函數(shù)類型為void時,不可有return語句。
c語言最基本的格式,可以參考最基本的hello
world程序。hello
world程序雖然小,但是幾乎包含和計算機軟件技術(shù)相關(guān)的各種基礎(chǔ)知識。
#include
int main()
{
printf("hello world\n");
return 0;
}1、#include
預(yù)處理操作,談到預(yù)處理操作,就需要了解c語言編譯器生成二進制可執(zhí)行文件的過程,一般為預(yù)處理階斷、編譯階斷、匯編階斷、鏈接階斷。
預(yù)處理階斷:進行預(yù)處理操作,有預(yù)處理器來完成。
編譯階斷:有c語言編譯器完成,它負責將c語言源碼轉(zhuǎn)換成匯編指令。要深入下去就是編譯原理知識。
匯編階斷:有匯編器完成,它負責將匯編指令轉(zhuǎn)換成二進制機器碼。要深入下去就是匯編語言以及反匯編、調(diào)試技術(shù)的內(nèi)容
鏈接階斷:有鏈接器完成,它負責將二進制機器碼裝載成一個可執(zhí)行文件,如果要深入的探索下去,就是windows或者linux平臺上的庫編程以及相可執(zhí)行文件格式的學習,比如windows平臺的pe文件格式,如果把pe格式搞明白,自己可以直接用二進制編寫一個程序,這沒有不可思議,實際上是網(wǎng)上有這方面的帖子。
2、int
main()
每個c語言程序有且只有一個main函數(shù),一般的教科書上只有一句:“有系統(tǒng)調(diào)用main函數(shù)”,
那么到底
是系統(tǒng)中的誰調(diào)用了此函數(shù),如此深入下去,可以加深對應(yīng)用程序執(zhí)行的理解,實際上在linux平臺上有,_start()函數(shù)調(diào)用main函數(shù),在windows平臺上有啟動函數(shù)maincrtstartup函數(shù)來調(diào)用main函數(shù)。
3、printf("hello
world\n")
這是c語言的成功之處之一,c語言將輸入、輸出操作設(shè)置為一個標準,這大大方便了應(yīng)用程序開發(fā),也提高了應(yīng)用程序的可稱植性。自己有興趣可以深入的去探索。
4、return
return
0,返回值的0表示程序執(zhí)行成功了。
函數(shù)定義就是規(guī)定函數(shù)的格式與功能。
函數(shù)聲明就是在函數(shù)調(diào)用之前進行的一種說明。
下面舉例說明兩者的語法格式:
#includestdio.h
int?fun(int?a,?int?b);??//?函數(shù)的聲明
void?main()
{
int?x=1,?y=2;
int?c;
c?=?fun(x+y);
}
//?下面的fun函數(shù)就是函數(shù)的定義
int?fun(int?a,?int?b)
{
return?a+b;
}
注:如果被調(diào)函數(shù)(上例中為fun函數(shù))寫在調(diào)用處之前,可以不聲明(本例是現(xiàn)在調(diào)用處?(c = fun(x+y);)之后)。