您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“C語言怎么實現(xiàn)數(shù)據輸入和輸出”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“C語言怎么實現(xiàn)數(shù)據輸入和輸出”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
C語言的語句用來向計算機系統(tǒng)發(fā)出操作指令。一條語句編寫完成經過編譯后產生若干條機器指令。實際程序中包含若干條語句,因此語句的作用就是完成一定的操作任務。
字符數(shù)據輸出使用的是putchar函數(shù),作用是向顯示設備輸出一個字符。該函數(shù)的定義為:
int putchar( int ch );
使用時要添加頭文件stdio.h,其中的參數(shù)ch是要進行輸出的字符,可以是字符型變量或整型變量,也可以使用常量。例如輸出一個字符A的代碼如下:
putchar('A');
使用putchar函數(shù)也可以輸出轉義字符,例如輸出字符A:
putchar('\101');
【實例5.1】 使用putchar函數(shù)實現(xiàn)字符數(shù)據輸出。在程序中使用putchar函數(shù),輸出字符串“Hello”并且在字符串輸出完畢之后進行換行。
#include<stdio.h> int main() { char cChar1,cChar2,cChar3,cChar4; /*聲明變量*/ cChar1='H'; /*為變量賦值*/ cChar2='e'; cChar3='l'; cChar4='o'; putchar(cChar1); /*輸出字符變量*/ putchar(cChar2); putchar(cChar3); putchar(cChar3); putchar(cChar4); putchar('\n'); /*輸出轉義字符*/ return 0; }
字符數(shù)據輸入使用的是getchar函數(shù),此函數(shù)的作用是從終端(輸入設備)輸入一個字符。getchar函數(shù)與putchar函數(shù)的區(qū)別在于沒有參數(shù)。
該函數(shù)的定義為:
int getchar();
使用getchar函數(shù)時也要添加頭文件stdio.h,函數(shù)的值就是從輸入設備得到的字符。例如從輸入設備得到一個字符賦給字符變量cChar:
cChar=getchar();
【實例5.2】 使用getchar函數(shù)實現(xiàn)字符數(shù)據輸入。在本實例中,使用getchar函數(shù)獲取在鍵盤上輸入的字符,再利用putchar函數(shù)進行輸出。本實例演示了將getchar作為putchar函數(shù)表達式的一部分,進行輸入和輸出字符的方式。
#include<stdio.h> int main() { char cChar1; /*聲明變量*/ cChar1=getchar(); /*在輸入設備得到字符*/ putchar(cChar1); /*輸出字符*/ putchar('\n'); /*輸出轉義字符換行*/ getchar(); /*得到回車字符*/ putchar(getchar()); /*得到輸入字符,直接輸出*/ putchar('\n'); /*換行*/ return 0; /*程序結束*/ }
【實例5.3】 使用getchar函數(shù)取消獲取回車符。
#include<stdio.h> int main() { char cChar1; /*聲明變量*/ cChar1=getchar(); /*在輸入設備得到字符*/ putchar(cChar1); /*輸出字符*/ putchar('\n'); /*輸出轉義字符換行*/ /*將此處getchar函數(shù)刪掉*/ putchar(getchar()); /*得到輸入字符,直接輸出*/ putchar('\n'); /*換行*/ return 0; /*程序結束*/ }
字符串輸出使用的是puts函數(shù),作用是輸出一個字符串到屏幕上。
該函數(shù)的定義為:
int puts( char *str );
使用該函數(shù)時,先要在其程序中添加stdio.h頭文件。其中,形式參數(shù)str是字符指針類型,可以用來接收要輸出的字符串。例如使用puts函數(shù)輸出一個字符串:
puts("I LOVE CHINA!"); /*輸出一個字符串常量*/
這行語句是輸出一個字符串,之后會自動進行換行操作。這與printf函數(shù)有所不同,在前面的實例中使用printf函數(shù)進行換行時,要在其中添加轉義字符'\n'。puts函數(shù)會在字符串中判斷“\0”結束符,遇到結束符時,后面的字符不再輸出并且自動換行。例如:
puts("I LOVE\0 CHINA!"); /*輸出一個字符串常量*/
在上面的語句中加上“\0”字符后,puts函數(shù)輸出的字符串就變成:I LOVE。
【實例5.4】 使用字符串輸出函數(shù)顯示信息提示。在本實例中,使用puts函數(shù)對字符串常量和字符串變量都進行操作,在這些操作中觀察使用puts函數(shù)的方式。
#include<stdio.h> int main() { char* Char="ILOVECHINA"; /*定義字符串指針變量*/ puts("ILOVECHINA!"); /*輸出字符串常量*/ puts("I\0LOVE\0CHINA!"); /*輸出字符串常量,其中加入結束符'\0'*/ puts(Char); /*輸出字符串變量的值*/ Char="ILOVE\0CHINA!"; /*改變字符串變量的值*/ puts(Char); /*輸出字符串變量的值*/ return 0; /*程序結束*/ }
字符串輸入函數(shù)使用的是gets函數(shù),作用是將讀取字符串保存在形式參數(shù)str變量中,讀取過程直到出現(xiàn)新的一行為止。其中新的一行的換行字符將會轉化為字符串中的空終止符“\0”。gets函數(shù)的定義如下:
char *gets( char *str );
在使用gets字符串輸入函數(shù)前,要為程序加入頭文件stdio.h。其中的str字符指針變量為形式參數(shù)。例如定義字符數(shù)組變量cString,然后使用gets函數(shù)獲取輸入字符的方式如下:
gets(cString);
在上面的代碼中,cString變量獲取到了字符串,并將最后的換行符轉化成了終止字符。
【實例5.5】 使用字符串輸入函數(shù)gets獲取輸入信息。
#include<stdio.h> int main() { char cString[30]; /*定義一個字符數(shù)組變量*/ gets(cString); /*獲取字符串*/ puts(cString); /*輸出字符串*/ return 0; /*程序結束*/ }
前面章節(jié)的實例中常常使用格式輸入輸出函數(shù)scanf和printf。其中printf函數(shù)就是用于格式輸出的函數(shù),也稱為格式輸出函數(shù)。
printf函數(shù)的作用是向終端(輸出設備)輸出若干任意類型的數(shù)據。printf函數(shù)的一般格式為:
printf(格式控制,輸出列表)
括號內包括兩部分:
格式控制:格式控制是用雙引號括起來的字符串,此處也稱為轉換控制字符串。其中包括兩種字符,一種是格式字符,另一種是普通字符。
格式字符:格式字符用來進行格式說明,作用是將輸出的數(shù)據轉化為指定的格式輸出。格式字符是以 “ % ” 字符開頭的。 普通字符是需要原樣輸出的字符,其中包括雙引號內的逗號、空格和換行符。 輸出列表
輸出列表中列出的是要進行輸出的一些數(shù)據,可以是變量或表達式。
例如,要輸出一個整型變量時:
int iInt=10;
printf("this is %d",iInt);
執(zhí)行上面的語句顯示出來的字符是this is 10。在格式控制雙引號中的字符是this is %d,其中的this is字符串是普通字符,而%d是格式字符,表示輸出的是后面iInt的數(shù)據。
由于printf是函數(shù),“格式控制”和“輸出列表”這兩個位置都是函數(shù)的參數(shù),因此printf函數(shù)的一般形式也可以表示為:
printf(參數(shù)1,參數(shù)2,……,參數(shù)n)
函數(shù)中的每一個參數(shù)按照給定的格式和順行依次輸出。例如,顯示一個字符型變量和整型變量:
printf("the Int is %d,the Char is %c",iInt,cChar);
下表列出了有關printf函數(shù)的格式字符。
【實例5.6】 使用格式輸出函數(shù)printf。在本實例中,使用printf函數(shù)對不同類型變量進行輸出,對使用printf函數(shù)所用到的輸出格式進行分析理解。
#include<stdio.h> int main() { int iInt=10; /*定義整型變量*/ char cChar='A'; /*定義字符型變量*/ float fFloat=12.34f; /*定義單精度浮點型*/ printf("the int is: %d\n",iInt); /*使用printf函數(shù)輸出整型*/ printf("the char is: %c\n",cChar);/*輸出字符型*/ printf("the float is: %f\n",fFloat);/*輸出浮點型*/ printf("the stirng is: %s\n","I LOVE YOU"); /*輸出字符串*/ return 0; }
【實例5.7】 在printf函數(shù)中使用附加符號。(在本實例中,使用printf函數(shù)的附加格式說明字符,對輸出的數(shù)據進行更為精準的格式設計。
#include<stdio.h> int main() { long iLong=100000; /*定義長整型變量,為其賦值*/ printf("the Long is %ld\n",iLong);/*輸出長整型變量*/ printf("the string is: %s\n","LOVE");/*輸出字符串*/ printf("the string is: %10s\n","LOVE");/*使用m控制輸出列*/ printf("the string is: %-10s\n","LOVE");/*使用-表示向左靠攏*/ printf("the string is: %10.3s\n","LOVE");/*使用n表示取字符數(shù)*/ printf("the string is: %-10.3s\n","LOVE"); return 0; }
與格式輸出函數(shù)printf相對應的是格式輸入函數(shù)scanf。該函數(shù)的功能是指定固定的格式,并且按照指定的格式接收用戶在鍵盤上輸入的數(shù)據,最后將數(shù)據存儲在指定的變量中。
scanf函數(shù)的一般格式為:
scanf(格式控制,地址列表)
通過scanf函數(shù)的一般格式可以看出,參數(shù)位置中的格式控制與printf函數(shù)相同。例如%d表示十進制的整型,%c表示單字符。而在地址列表中,此處應該給出用來接收數(shù)據變量的地址。例如得到一個整型數(shù)據的操作:
scanf("%d",&iInt); /*得到一個整型數(shù)據*/
在上面的代碼中,&符號表示取iInt變量的地址,因此不用關心變量的地址具體是多少,只要在代碼中在變量的標識符前加&符號,就表示取變量的地址。
【實例5.8】 使用scanf格式輸入函數(shù)得到用戶輸入的數(shù)據。在本實例中,利用scanf函數(shù)得到用戶輸入的兩個整型數(shù)據,因為scanf函數(shù)只能用于輸入操作,所以若在屏幕上顯示信息則使用顯示函數(shù)。
#include<stdio.h> int main() { int iInt1,iInt2; /*定義兩個整型變量*/ puts("Please enter two numbers:");/*通過puts函數(shù)輸出提示信息的字符串*/ scanf("%d%d",&iInt1,&iInt2); /*通過scanf函數(shù)得到輸入的數(shù)據*/ printf("The first is : %d\n",iInt1);/*顯示第一個輸入的數(shù)據*/ printf("The second is : %d\n",iInt2);/*顯示第二個輸入的數(shù)據*/ return 0; }
在printf函數(shù)中除了格式字符還有附加格式用于更為具體的說明,相應地,scanf函數(shù)中也有附加格式用于更為具體的格式說明,如下表所示。
表示指定的輸入項在讀入后不賦給相應的變量
【實例5.10】 計算圓的面積。在本實例中,定義單精度浮點型變量,為其賦值為圓周率的值。得到用戶輸入的數(shù)據并進行計算,最后將計算的結果輸出。
#include<stdio.h> int main() { float Pie=3.14f; /*定義圓周率*/ float fArea; /*定義變量,表示圓的面積*/ float fRadius; /*定義變量,表示圓的半徑*/ puts("Enter the radius:"); /*輸出提示信息*/ scanf("%f",&fRadius); /*輸入圓的半徑*/ fArea=fRadius*fRadius*Pie; /*計算圓的面積*/ printf("The Area is: %.2f\n",fArea); /*輸出計算的結果*/ return 0; /*程序結束*/ }
【實例5.11】 將大寫字符轉化成小寫字符。本實例要將一個輸入的大寫字符轉化成小寫字符,需要對其中的ASCII碼的關系有所了解。將大寫字符轉化成小寫字符的方法就是將大寫字符的ASCII碼轉化成小寫字符的ASCII碼。
#include<stdio.h> int main() { char cBig; /*定義字符變量,表示大寫字符*/ char cSmall; /*定義字符變量,表示小寫字符*/ puts("Please enter capital character:");/*輸出提示信息*/ cBig=getchar(); /*得到用戶輸入的大寫字符*/ puts("Minuscule character is:"); /*輸出提示信息*/ cSmall=cBig+32; /*將大寫字符轉化成小寫字符*/ printf("%c\n",cSmall); /*輸出小寫字符*/ return 0; /*程序結束*/ }
其中,用于單個字符的輸入、輸出時,使用的是getchar和putchar函數(shù),而gets和puts函數(shù)用于輸入、輸出字符串,并且puts函數(shù)在遇到終止符時會進行自動換行。為了能輸出其他類型的數(shù)據,可以使用格式輸出函數(shù)printf和格式輸入函數(shù)scanf。在這兩個格式函數(shù)中,利用格式字符和附加格式字符可以更為具體地進行格式說明。
讀到這里,這篇“C語言怎么實現(xiàn)數(shù)據輸入和輸出”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。