一個(gè)c語(yǔ)言程序是由一個(gè)或多個(gè)函數(shù)組成。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站制作、尚義網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、尚義網(wǎng)絡(luò)營(yíng)銷、尚義企業(yè)策劃、尚義品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供尚義建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.sd-ha.com
C程序的組成特點(diǎn):
1、每個(gè)C程序由一個(gè)或多個(gè)函數(shù)組成。每個(gè)C程序有且僅有一個(gè)主函數(shù),除主函數(shù)外,可以沒(méi)有其他函數(shù),也可以有一個(gè)或多個(gè)其他函數(shù)。
2、函數(shù)是C程序的基本單位。每個(gè)函數(shù)是由函數(shù)首部和函數(shù)體兩部分組成。
3、C程序中每一語(yǔ)句后面都以分號(hào)“;”作為語(yǔ)句的結(jié)束,但預(yù)處理命令、函數(shù)首部和右花括號(hào)“}”之間不能加分號(hào)。
4、C語(yǔ)言本身沒(méi)有輸入/輸出語(yǔ)句,而是通過(guò)調(diào)用庫(kù)函數(shù)scanf()、printf()、getchar()和putchar()實(shí)現(xiàn)的。
5、C程序的任意位置都可以加注釋/*......*/,注釋可以多行,但不可嵌套。
6、C程序的書寫格式靈活,一行內(nèi)可書寫多條語(yǔ)句,一條語(yǔ)句也可以寫在多行上,可以任意插入空格和回車。
7、C程序的執(zhí)行總是從主函數(shù)開始,并在主函數(shù)結(jié)束。主函數(shù)和其他函數(shù)的位置是任意的,其他函數(shù)總是通過(guò)函數(shù)調(diào)用語(yǔ)句被執(zhí)行。
8、C程序中可以有預(yù)處理命令,通常預(yù)處理命令應(yīng)放在程序的最前面。
9、主函數(shù)可以調(diào)用任何其他函數(shù),任何其他函數(shù)之間可以互相調(diào)用,但不能調(diào)用主函數(shù)。
C語(yǔ)言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個(gè)常用的函數(shù):
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個(gè)字符.常用的判斷文件是否讀取結(jié)束的語(yǔ)句為
(ch
=
getc(fp))
!=
EOF.EOF為文件結(jié)束標(biāo)志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin時(shí),getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個(gè)字符.默認(rèn)的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時(shí)又涉及到緩沖的問(wèn)題,所以并不是在屏幕中敲上一個(gè)字符程序就會(huì)運(yùn)行,一般是通過(guò)在屏幕上敲上回車鍵,然后將回車前的字符串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個(gè)一個(gè)的讀字符.當(dāng)然也可以在while循環(huán)中指定終止字符,如下面的語(yǔ)句:while
((c
=
getchar())
!=
'#')這是以#來(lái)結(jié)束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch寫到標(biāo)準(zhǔn)流stdout中去.
char
*
gets(char
*str)
gets主要是從標(biāo)準(zhǔn)輸入流讀取字符串并回顯,讀到換行符時(shí)退出,并會(huì)將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫到標(biāo)準(zhǔn)流stdout中去,并會(huì)在輸出到最后時(shí)添加一個(gè)換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數(shù)組指針,num是最大允許的讀入字符數(shù),fp是文件指針.fgets的功能是讀一行字符,該行的字符數(shù)不大于num-1.因?yàn)閒gets函數(shù)會(huì)在末尾加上一個(gè)空字符以構(gòu)成一個(gè)字符串.另外fgets在讀取到換行符后不會(huì)將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時(shí)并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當(dāng)前位置讀取一個(gè)字符.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當(dāng)前指定位置.
int
fscanf(FILE
*fp,
char
*format,
輸入列表)
fscanf按照指定格式從文件中出讀出數(shù)據(jù),并賦值到參數(shù)列表中.
int
fprintf(FILE
*fp,
char
*format,
輸出列表)
fprintf將格式化數(shù)據(jù)寫入流式文件中.
數(shù)據(jù)塊讀寫函數(shù)
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數(shù)說(shuō)明:
buffer:是一個(gè)指針。
對(duì)fread
來(lái)說(shuō),它是讀入數(shù)據(jù)的存放地址。
對(duì)fwrite來(lái)說(shuō),是要輸出數(shù)據(jù)的地址(均指起始地址)。
size:
要讀寫的字節(jié)數(shù)。
count:
要進(jìn)行讀寫多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)。
fp:
文件型指針。
包括返回值,函數(shù)名,形參列表和函數(shù)體四個(gè)部分。
例如 :
int findmin(int a[],int n){
//函數(shù)體
return min;
}
以上函數(shù)int 是返回值,findmin是函數(shù)名, int a[] int n是形參列表
C語(yǔ)言庫(kù)函數(shù),常用庫(kù)函數(shù)有:
1、scanf格式輸入函數(shù)
2、printf格式輸出函數(shù)
3、systemdos命令函數(shù)
4、sort排序
5、main主函數(shù)
6、fgets文件讀取字符串函數(shù)
7、fputs文件寫入字符串函數(shù)
8、fscanf文件格式讀取函數(shù)
9、fprintf文件格式寫入函數(shù)
10、fopen打開文件函數(shù)
11、getchar輸入字符函數(shù)
12、putchar輸出字符函數(shù)
13、malloc動(dòng)態(tài)申請(qǐng)內(nèi)存函數(shù)
14、free釋放內(nèi)存函數(shù)
15、abs求絕對(duì)值數(shù)學(xué)函數(shù)
16、sqrt求平方根數(shù)學(xué)函數(shù)
擴(kuò)展資料
語(yǔ)言組成:
1、數(shù)據(jù)類型
C的數(shù)據(jù)類型包括:整型、字符型、實(shí)型或浮點(diǎn)型(單精度和雙精度)、枚舉類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型。
2、常量與變量
常量其值不可改變,符號(hào)常量名通常用大寫。
變量是以某標(biāo)識(shí)符為名字,其值可以改變的量。標(biāo)識(shí)符是以字母或下劃線開頭的一串由字母、數(shù)字或下劃線構(gòu)成的序列,請(qǐng)注意第一個(gè)字符必須為字母或下劃線,否則為不合法的變量名。變量在編譯時(shí)為其分配相應(yīng)存儲(chǔ)單元。
3、數(shù)組
如果一個(gè)變量名后面跟著一個(gè)有數(shù)字的中括號(hào),這個(gè)聲明就是數(shù)組聲明。字符串也是一種數(shù)組。它們以ASCII的NULL作為數(shù)組的結(jié)束。要特別注意的是,方括內(nèi)的索引值是從0算起的。
4、指針
如果一個(gè)變量聲明時(shí)在前面使用 * 號(hào),表明這是個(gè)指針型變量。換句話說(shuō),該變量存儲(chǔ)一個(gè)地址,而 *(此處特指單目運(yùn)算符 * ,下同。C語(yǔ)言中另有 雙目運(yùn)算符 *) 則是取內(nèi)容操作符,意思是取這個(gè)內(nèi)存地址里存儲(chǔ)的內(nèi)容。指針是 C 語(yǔ)言區(qū)別于其他同時(shí)代高級(jí)語(yǔ)言的主要特征之一。
參考資料來(lái)源:百度百科-函數(shù)
(1)一個(gè)源程序文件是由一個(gè)或多個(gè)C函數(shù)組成的,一個(gè)源程序文件是一個(gè)編譯單位。
(2)一個(gè)C程序由一個(gè)或多個(gè)源程序文件組成,一個(gè)源程序文件可以為多個(gè)C程序共用。
(3)一個(gè)C程序中一定要有一個(gè)名為main的主函數(shù),執(zhí)行時(shí)總是從主函數(shù)開始,其它函數(shù)只有被調(diào)用時(shí)才會(huì)執(zhí)行,執(zhí)行完畢返回到調(diào)用處繼續(xù)執(zhí)行,正常情況下總是在主函數(shù)結(jié)束執(zhí)行。
(4)所有的函數(shù)是平行的,即在定義時(shí)是互相獨(dú)立的,主函數(shù)可以調(diào)用其它函數(shù),其它函數(shù)之間可以互相調(diào)用,但其它函數(shù)不能調(diào)用主函數(shù)。
(5)從用戶使用的角度看,函數(shù)可分為標(biāo)準(zhǔn)函數(shù)(庫(kù)函數(shù))和用戶自定義函數(shù)。
(6)從函數(shù)的形式看,函數(shù)可分為無(wú)參函數(shù)和有參函數(shù)。
網(wǎng)頁(yè)題目:c語(yǔ)言有多少個(gè)函數(shù)組成 c語(yǔ)言有多少個(gè)子函數(shù)
地址分享:http://www.sd-ha.com/article20/docjpco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、Google、建站公司、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)