C語(yǔ)言中的putchar函數(shù)示例
putchar函數(shù)介紹:
putchar函數(shù)函數(shù)幾乎是在整個(gè)C語(yǔ)言中最沒(méi)有知名度的,它常常被程序員冷漠地對(duì)待。至于為什么?原因很簡(jiǎn)單!因?yàn)樗墓δ芫椭皇菃螁屋敵鲆粋€(gè)字符。但為了讀者可以多積累函數(shù),我們還是決定講講這個(gè)函數(shù)。
搭建環(huán)境:
putchar函數(shù)的頭文件是標(biāo)準(zhǔn)輸入輸出頭文件(stdio.h),要想使用這個(gè)函數(shù)我們必須包含這個(gè)頭文件,在C語(yǔ)言中我們使用的是#include這個(gè)預(yù)處理來(lái)包含頭文件的。
#include<stdio.h>
因?yàn)镃語(yǔ)言是個(gè)函數(shù)式語(yǔ)言,它的程序入口是一個(gè)函數(shù)。所以包含好頭文件之后,我們需要自己手寫一個(gè)main函數(shù)這個(gè)程序的入口函數(shù),我們這個(gè)main函數(shù)的數(shù)據(jù)類型是整形(int型)。隨后函數(shù)是需要參數(shù)的,我們需要在main函數(shù)后的“()”內(nèi)編寫函數(shù)的形式參數(shù)(形參),但我們創(chuàng)建的這個(gè)函數(shù)沒(méi)有參數(shù),所以我們可以在main函數(shù)的參數(shù)內(nèi)寫上一個(gè)“void”關(guān)鍵字,表示我們這個(gè)函數(shù)不需要參數(shù),但我們也可以不在main函數(shù)里寫“void”關(guān)鍵字,它們的表達(dá)效果是一致的。我們可以使用這任意一種方法。函數(shù)要有函數(shù)體,我們之后寫一對(duì)“{}”表示函數(shù)的函數(shù)體,這樣一個(gè)函數(shù)的入口就已經(jīng)搭建完成了,這也是最基本的函數(shù)搭建。如下:
#include<stdio.h> int main(void) { }
另外一點(diǎn)函數(shù)是需要返回值的(除了void類型外),返回一個(gè)值由我們自己決定,這里我們默認(rèn)返回0。但在某一些編譯器,main方法的返回值是可選的。但嚴(yán)苛點(diǎn)來(lái)說(shuō)我們一定要在main函數(shù)內(nèi)返回一個(gè)值,在C/C++中我們使用的是return這個(gè)語(yǔ)句來(lái)返回一個(gè)值。
?#include<stdio.h> int main(void) { return 0; }
函數(shù)原型:
現(xiàn)在,我們就可以愉快地使用putchar函數(shù)了,我們先來(lái)看看putchar這個(gè)函數(shù)的參數(shù)原型,因?yàn)槲覀冎灰篮瘮?shù)的參數(shù)原型,才可以正確地傳入?yún)?shù),才能正確地使用函數(shù)。在VS2022中,我們可以直接將鼠標(biāo)光標(biāo)放在這個(gè)函數(shù)之上就可輕輕松松查看函數(shù)原型。
我們發(fā)現(xiàn)我們需要給putcahr函數(shù)傳入一個(gè)整形值,它會(huì)把這個(gè)整形轉(zhuǎn)換為字符型,隨后輸出到控制臺(tái)。我們還發(fā)現(xiàn)這個(gè)函數(shù)的數(shù)據(jù)類型是int_cdecl型,也就是說(shuō)這個(gè)函數(shù)有一個(gè)返回值,其實(shí)這個(gè)返回值返回的是putchar參數(shù)轉(zhuǎn)換為整型的數(shù)值,我們先不管這個(gè)函數(shù)的數(shù)據(jù)類型,我們先來(lái)使用putchar函數(shù)輸出一個(gè)字符再說(shuō)。
講解putchar函數(shù):
#include<stdio.h> int main(void) { putchar(65); return 0; }
我們?cè)趐utchar函數(shù)內(nèi)寫入一個(gè)整形值65,putcahr函數(shù)會(huì)自動(dòng)把65這個(gè)數(shù)值轉(zhuǎn)換為數(shù)值對(duì)應(yīng)的字符并輸出。它轉(zhuǎn)換為字符的編碼形式是ASCLL編碼(ASCLL字符集),如果您對(duì)ASCLL編碼不太了解,那么請(qǐng)看下圖:
我們?cè)囍业絧utchar參數(shù)內(nèi)的數(shù)值,并找到這個(gè)數(shù)值對(duì)應(yīng)的字符。我們不難發(fā)現(xiàn)這個(gè)字符是”A“,我們還發(fā)現(xiàn),ASCLL字符集里面包含了我們?cè)阪I盤上所有的字符,并且每個(gè)字符都有對(duì)應(yīng)的數(shù)值,每個(gè)數(shù)值都有對(duì)應(yīng)的字符,譬如66這個(gè)數(shù)值在ASCLL碼字符集對(duì)應(yīng)的字符是“B”,67在ASCLL碼字符集對(duì)應(yīng)的字符則是“C”。
我們來(lái)看看上列程序的輸出結(jié)果:
輸出結(jié)果:A
由此證明,我們的結(jié)論是正確的,putchar函數(shù)會(huì)在控制臺(tái)上輸出這個(gè)函數(shù)對(duì)應(yīng)的字符。
但您認(rèn)為C語(yǔ)言中的putchar函數(shù)就這么簡(jiǎn)單嗎?不不不!它也可以輸出參數(shù)是字符型的字符,我們來(lái)看看下面一則例子:
#include<stdio.h> int main(void) { putchar('A'); return 0; }
在上文中我們也講過(guò),putchar函數(shù)的參數(shù)原型里要求我們填寫的是一個(gè)整形,但其實(shí)字符型也是整形的一種,我們也可以在putchar的參數(shù)列表中填寫一個(gè)是字符型的參數(shù)。我們?cè)诨氐酱a中來(lái),現(xiàn)在putchar函數(shù)的參數(shù)內(nèi)有一個(gè)字符,這個(gè)字符是”A“(在C語(yǔ)言中,字符以單引號(hào)所包裹)。我們直接可以執(zhí)行上面的代碼輸出結(jié)果與上文中是無(wú)異的,它的輸出結(jié)果也是字符“A”。
輸出結(jié)果:A
putchar的返回值:
接下來(lái)我們是時(shí)候該講解一下putchar函數(shù)的返回值了,我們?cè)囍褂靡粋€(gè)變量來(lái)接收一下putchar函數(shù)的返回值,并使用整形的形式輸出這個(gè)變量:
#include<stdio.h> int main(void) { int sum = 0; sum = putchar('A'); printf("%d",sum); return 0; }
我們創(chuàng)建了一個(gè)整形變量叫“sum”,它的默認(rèn)值是0,之后使用putchar函數(shù)輸出一個(gè)字符并使用這個(gè)變量接收它的返回值。隨后使用printf函數(shù)以整形的形式輸出這個(gè)變量。我們一起看看這個(gè)程序的輸出結(jié)果:
輸出結(jié)果:A65
輸出結(jié)果的字符“A”是我們使用putchar函數(shù)輸出的,而后的65是接收putchar函數(shù)的返回值的變量所輸出的結(jié)果。我們不難看出這個(gè)sum的值是字符A的ASCLL碼值。所以putchar函數(shù)的返回值是參數(shù)的ASCLL碼值。
總結(jié):
我們學(xué)習(xí)了putchar函數(shù)的使用方法,我們知道了這個(gè)函數(shù)會(huì)把參數(shù)轉(zhuǎn)換為字符后輸出到控制臺(tái)上,并且我們還理解了putchar函數(shù)的返回值,它的返回值是將參數(shù)轉(zhuǎn)換數(shù)值,還有最重要的一點(diǎn),putchar函數(shù)的頭文件是標(biāo)準(zhǔn)輸入輸出頭文件(stdio.h),沒(méi)有了這個(gè)頭文件,我們就不可以正常使用putchar函數(shù)。
到此這篇關(guān)于C語(yǔ)言中的putchar函數(shù)的文章就介紹到這了,更多相關(guān)C語(yǔ)言putchar函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++中CString string char* char 之間的字符轉(zhuǎn)換(多種方法)
在寫程序的時(shí)候,我們經(jīng)常遇到各種各樣的類型轉(zhuǎn)換,比如 char* CString string 之間的互相轉(zhuǎn)換,這里簡(jiǎn)單為大家介紹一下,需要的朋友可以參考下2017-09-09C/C++實(shí)現(xiàn)貪吃蛇逐步運(yùn)動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了C/C++實(shí)現(xiàn)貪吃蛇逐步運(yùn)動(dòng)效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05C++超詳細(xì)講解RTTI和cast運(yùn)算符的使用
RTTI(Runtime Type Identification)是“運(yùn)行時(shí)類型識(shí)別”的意思。C++引入這個(gè)機(jī)制是為了讓程序在運(yùn)行時(shí)能根據(jù)基類的指針或引用來(lái)獲得該指針或引用所指的對(duì)象的實(shí)際類型,cast強(qiáng)制轉(zhuǎn)換運(yùn)算符是一種特殊的運(yùn)算符,它把一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型2022-08-08