C語言文字藝術之數據輸入輸出

 更新時間:2022年07月06日 09:54:41   作者:王小王_123???????  
這篇文章主要介紹了C語言文字藝術之數據輸入輸出,C語言的語句用來向計算機系統發出操作指令。一條語句編寫完成經過編譯后產生若干條機器指

語句

C語言的語句用來向計算機系統發出操作指令。一條語句編寫完成經過編譯后產生若干條機器指令。實際程序中包含若干條語句,因此語句的作用就是完成一定的操作任務。

字符數據輸入輸出

字符數據輸出

字符數據輸出使用的是putchar函數,作用是向顯示設備輸出一個字符。該函數的定義為:

int putchar( int ch );

使用時要添加頭文件stdio.h,其中的參數ch是要進行輸出的字符,可以是字符型變量或整型變量,也可以使用常量。例如輸出一個字符A的代碼如下:

putchar('A');

使用putchar函數也可以輸出轉義字符,例如輸出字符A:

putchar('\101');

【實例5.1】 使用putchar函數實現字符數據輸出。在程序中使用putchar函數,輸出字符串“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;
}

字符數據輸入

字符數據輸入使用的是getchar函數,此函數的作用是從終端(輸入設備)輸入一個字符。getchar函數與putchar函數的區別在于沒有參數。

該函數的定義為:

int getchar();

使用getchar函數時也要添加頭文件stdio.h,函數的值就是從輸入設備得到的字符。例如從輸入設備得到一個字符賦給字符變量cChar:

cChar=getchar();

【實例5.2】 使用getchar函數實現字符數據輸入。在本實例中,使用getchar函數獲取在鍵盤上輸入的字符,再利用putchar函數進行輸出。本實例演示了將getchar作為putchar函數表達式的一部分,進行輸入和輸出字符的方式。

#include<stdio.h>
int main()
{
char cChar1; /*聲明變量*/
cChar1=getchar(); /*在輸入設備得到字符*/
putchar(cChar1); /*輸出字符*/
putchar('\n'); /*輸出轉義字符換行*/
getchar(); /*得到回車字符*/
putchar(getchar()); /*得到輸入字符,直接輸出*/
putchar('\n'); /*換行*/
return 0; /*程序結束*/
}

【實例5.3】 使用getchar函數取消獲取回車符。

#include<stdio.h>
int main()
{
char cChar1; /*聲明變量*/
cChar1=getchar(); /*在輸入設備得到字符*/
putchar(cChar1); /*輸出字符*/
putchar('\n'); /*輸出轉義字符換行*/
/*將此處getchar函數刪掉*/
putchar(getchar()); /*得到輸入字符,直接輸出*/
putchar('\n'); /*換行*/
return 0; /*程序結束*/
}

字符串輸入輸出

字符串輸出函數

字符串輸出使用的是puts函數,作用是輸出一個字符串到屏幕上。

該函數的定義為:

int puts( char *str );

使用該函數時,先要在其程序中添加stdio.h頭文件。其中,形式參數str是字符指針類型,可以用來接收要輸出的字符串。例如使用puts函數輸出一個字符串:

puts("I LOVE CHINA!");  /*輸出一個字符串常量*/

這行語句是輸出一個字符串,之后會自動進行換行操作。這與printf函數有所不同,在前面的實例中使用printf函數進行換行時,要在其中添加轉義字符'\n'。puts函數會在字符串中判斷“\0”結束符,遇到結束符時,后面的字符不再輸出并且自動換行。例如:

puts("I LOVE\0 CHINA!");  /*輸出一個字符串常量*/

在上面的語句中加上“\0”字符后,puts函數輸出的字符串就變成:I LOVE。

【實例5.4】 使用字符串輸出函數顯示信息提示。在本實例中,使用puts函數對字符串常量和字符串變量都進行操作,在這些操作中觀察使用puts函數的方式。

#include<stdio.h>
int main()
{
char* Char="ILOVECHINA"; /*定義字符串指針變量*/
puts("ILOVECHINA!"); /*輸出字符串常量*/
puts("I\0LOVE\0CHINA!"); /*輸出字符串常量,其中加入結束符'\0'*/
puts(Char); /*輸出字符串變量的值*/
Char="ILOVE\0CHINA!"; /*改變字符串變量的值*/
puts(Char); /*輸出字符串變量的值*/
return 0; /*程序結束*/
}

字符串輸入函數

字符串輸入函數使用的是gets函數,作用是將讀取字符串保存在形式參數str變量中,讀取過程直到出現新的一行為止。其中新的一行的換行字符將會轉化為字符串中的空終止符“\0”。gets函數的定義如下:

char *gets( char *str );

在使用gets字符串輸入函數前,要為程序加入頭文件stdio.h。其中的str字符指針變量為形式參數。例如定義字符數組變量cString,然后使用gets函數獲取輸入字符的方式如下:

gets(cString);

在上面的代碼中,cString變量獲取到了字符串,并將最后的換行符轉化成了終止字符。

【實例5.5】 使用字符串輸入函數gets獲取輸入信息。

#include<stdio.h>
int main()
{
char cString[30]; /*定義一個字符數組變量*/
gets(cString); /*獲取字符串*/
puts(cString); /*輸出字符串*/
return 0; /*程序結束*/
}

格式輸出函數

前面章節的實例中常常使用格式輸入輸出函數scanf和printf。其中printf函數就是用于格式輸出的函數,也稱為格式輸出函數。

printf函數的作用是向終端(輸出設備)輸出若干任意類型的數據。printf函數的一般格式為:

printf(格式控制,輸出列表)

括號內包括兩部分:

格式控制:格式控制是用雙引號括起來的字符串,此處也稱為轉換控制字符串。其中包括兩種字符,一種是格式字符,另一種是普通字符。

格式字符:格式字符用來進行格式說明,作用是將輸出的數據轉化為指定的格式輸出。格式字符是以 “ % ” 字符開頭的。 普通字符是需要原樣輸出的字符,其中包括雙引號內的逗號、空格和換行符。       輸出列表

輸出列表中列出的是要進行輸出的一些數據,可以是變量或表達式。

例如,要輸出一個整型變量時:

int iInt=10;

printf("this is %d",iInt);

執行上面的語句顯示出來的字符是this is 10。在格式控制雙引號中的字符是this is %d,其中的this is字符串是普通字符,而%d是格式字符,表示輸出的是后面iInt的數據。

由于printf是函數,“格式控制”和“輸出列表”這兩個位置都是函數的參數,因此printf函數的一般形式也可以表示為:

printf(參數1,參數2,……,參數n)

函數中的每一個參數按照給定的格式和順行依次輸出。例如,顯示一個字符型變量和整型變量:

printf("the Int is %d,the Char is %c",iInt,cChar);

下表列出了有關printf函數的格式字符。

 【實例5.6】 使用格式輸出函數printf。在本實例中,使用printf函數對不同類型變量進行輸出,對使用printf函數所用到的輸出格式進行分析理解。

#include<stdio.h>
int main()
{
int iInt=10; /*定義整型變量*/
char cChar='A'; /*定義字符型變量*/
float fFloat=12.34f; /*定義單精度浮點型*/
printf("the int is: %d\n",iInt); /*使用printf函數輸出整型*/
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函數中使用附加符號。(在本實例中,使用printf函數的附加格式說明字符,對輸出的數據進行更為精準的格式設計。

#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表示取字符數*/
printf("the string is: %-10.3s\n","LOVE");
return 0;
}

格式輸入函數

與格式輸出函數printf相對應的是格式輸入函數scanf。該函數的功能是指定固定的格式,并且按照指定的格式接收用戶在鍵盤上輸入的數據,最后將數據存儲在指定的變量中。

scanf函數的一般格式為:

scanf(格式控制,地址列表)

通過scanf函數的一般格式可以看出,參數位置中的格式控制與printf函數相同。例如%d表示十進制的整型,%c表示單字符。而在地址列表中,此處應該給出用來接收數據變量的地址。例如得到一個整型數據的操作:

scanf("%d",&iInt);  /*得到一個整型數據*/

在上面的代碼中,&符號表示取iInt變量的地址,因此不用關心變量的地址具體是多少,只要在代碼中在變量的標識符前加&符號,就表示取變量的地址。

【實例5.8】 使用scanf格式輸入函數得到用戶輸入的數據。在本實例中,利用scanf函數得到用戶輸入的兩個整型數據,因為scanf函數只能用于輸入操作,所以若在屏幕上顯示信息則使用顯示函數。

#include<stdio.h>
int main()
{
int iInt1,iInt2; /*定義兩個整型變量*/
puts("Please enter two numbers:");/*通過puts函數輸出提示信息的字符串*/
scanf("%d%d",&iInt1,&iInt2); /*通過scanf函數得到輸入的數據*/
printf("The first is : %d\n",iInt1);/*顯示第一個輸入的數據*/

printf("The second is : %d\n",iInt2);/*顯示第二個輸入的數據*/
return 0;
}

08

在printf函數中除了格式字符還有附加格式用于更為具體的說明,相應地,scanf函數中也有附加格式用于更為具體的格式說明,如下表所示。

表示指定的輸入項在讀入后不賦給相應的變量

順序程序設計應用

【實例5.10】 計算圓的面積。在本實例中,定義單精度浮點型變量,為其賦值為圓周率的值。得到用戶輸入的數據并進行計算,最后將計算的結果輸出。

#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函數,而gets和puts函數用于輸入、輸出字符串,并且puts函數在遇到終止符時會進行自動換行。為了能輸出其他類型的數據,可以使用格式輸出函數printf和格式輸入函數scanf。在這兩個格式函數中,利用格式字符和附加格式字符可以更為具體地進行格式說明。

到此這篇關于C語言文字藝術之數據輸入輸出的文章就介紹到這了,更多相關C語言數據輸入輸出內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 老生常談C/C++內存管理

    老生常談C/C++內存管理

    下面小編就為大家帶來一篇老生常談C/C++內存管理。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 解析linux 文件和目錄操作的相關函數

    解析linux 文件和目錄操作的相關函數

    以下是對linux中文件和目錄操作的相關函數進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • C++二級指針和指針的引用

    C++二級指針和指針的引用

    這篇文章主要介紹了C++二級指針和指針的引用,下文舉例實現形參指針改變實參指針所指向的對象,需要的小伙伴可以參考一下,希望對你的學習有所幫助
    2022-03-03
  • 老生常談C++中實參形參的傳遞問題

    老生常談C++中實參形參的傳遞問題

    下面小編就為大家帶來一篇老生常談C++中實參形參的傳遞問題。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • C語言結構體的具體使用方法

    C語言結構體的具體使用方法

    這篇文章主要介紹了C語言結構體的相關資料,需要的朋友可以參考下
    2021-08-08
  • C語言新建臨時文件和臨時文件名的方法

    C語言新建臨時文件和臨時文件名的方法

    這篇文章主要介紹了C語言新建臨時文件和臨時文件名的方法,分別是mkstemp()函數和mktemp()函數的使用,需要的朋友可以參考下
    2015-08-08
  • C語言實現雙人貪吃蛇游戲實例代碼

    C語言實現雙人貪吃蛇游戲實例代碼

    大家好,本篇文章主要講的是C語言實現雙人貪吃蛇游戲實例代碼,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • C++實現約瑟夫環的循環單鏈表

    C++實現約瑟夫環的循環單鏈表

    這篇文章主要為大家詳細介紹了C++實現約瑟夫環的循環單鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 深度剖析C++對象池自動回收技術實現

    深度剖析C++對象池自動回收技術實現

    今天小編就為大家分享一篇關于深度剖析C++對象池自動回收技術實現,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 深入理解C語言中編譯相關的常見錯誤

    深入理解C語言中編譯相關的常見錯誤

    本篇文章是對C語言中編譯相關的常見錯誤進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05

最新評論

美丽人妻被按摩中出中文字幕