初識C語言之數據輸入輸出篇——帶你領略編程世界的文字藝術!

      網友投稿 751 2025-04-05

      目錄


      語句

      字符數據輸入輸出

      字符數據輸出

      字符數據輸入

      字符串輸入輸出

      字符串輸出函數

      字符串輸入函數

      格式輸出函數

      格式輸入函數

      順序程序設計應用

      語句

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

      字符數據輸入輸出

      字符數據輸出

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

      int putchar( int ch );

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

      putchar('A');

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

      putchar('1');

      【實例5.1】 使用putchar函數實現字符數據輸出。在程序中使用putchar函數,輸出字符串“Hello”并且在字符串輸出完畢之后進行換行。

      #include

      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

      int main()

      {

      char cChar1; /*聲明變量*/

      cChar1=getchar(); /*在輸入設備得到字符*/

      putchar(cChar1); /*輸出字符*/

      putchar('\n'); /*輸出轉義字符換行*/

      getchar(); /*得到回車字符*/

      putchar(getchar()); /*得到輸入字符,直接輸出*/

      putchar('\n'); /*換行*/

      return 0; /*程序結束*/

      }

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

      #include

      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函數會在字符串中判斷“

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

      ”結束符,遇到結束符時,后面的字符不再輸出并且自動換行。例如:

      puts("I LOVE

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

      CHINA!");? /*輸出一個字符串常量*/

      在上面的語句中加上“

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

      ”字符后,puts函數輸出的字符串就變成:I LOVE。

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

      #include

      int main()

      {

      char* Char="ILOVECHINA"; /*定義字符串指針變量*/

      puts("ILOVECHINA!"); /*輸出字符串常量*/

      puts("I

      puts("I\0LOVE\0CHINA!"); /*輸出字符串常量,其中加入結束符'\0'*/

      LOVE

      puts("I\0LOVE\0CHINA!"); /*輸出字符串常量,其中加入結束符'\0'*/

      CHINA!"); /*輸出字符串常量,其中加入結束符'

      puts("I\0LOVE\0CHINA!"); /*輸出字符串常量,其中加入結束符'\0'*/

      '*/

      puts(Char); /*輸出字符串變量的值*/

      Char="ILOVE

      Char="ILOVE\0CHINA!"; /*改變字符串變量的值*/

      CHINA!"; /*改變字符串變量的值*/

      puts(Char); /*輸出字符串變量的值*/

      return 0; /*程序結束*/

      }

      字符串輸入函數

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

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

      ”。gets函數的定義如下:

      char *gets( char *str );

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

      gets(cString);

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

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

      #include

      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函數的格式字符。

      格 式 字 符

      功 能 說 明

      d,i

      以帶符號的十進制形式輸出整數(整數不輸出符號)

      o

      以八進制無符號形式輸出整數

      x,X

      以十六進制無符號形式輸出整數。用

      u

      以無符號十進制形式輸出整數

      c

      以字符形式輸出,只輸出一個字符

      s

      輸出字符串

      f

      以小數形式輸出

      e,E

      以指數形式輸出實數,用

      g,G

      選用

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

      #include

      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

      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變量的地址,因此不用關心變量的地址具體是多少,只要在代碼中在變量的標識符前加&符號,就表示取變量的地址。

      格 式 字 符

      功 能 說 明

      d,i

      用來輸入有符號的十進制整數

      u

      用來輸入無符號的十進制整數

      o

      用來輸入無符號的八進制整數

      x,X

      用來輸入無符號的十六進制整數(大小寫作用是相同的)

      c

      用來輸入單個字符

      s

      用來輸入字符串

      f

      用來輸入實型,可以用小數形式或指數形式輸入

      e,E,g,G

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

      #include

      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;

      }

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

      字??? 符

      功 能 說 明

      l

      用于輸入長整型數據(可用于

      h

      用于輸入短整型數據(可用于

      n

      指定輸入數據所占寬度

      *

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

      順序程序設計應用

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

      #include

      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

      int main()

      {

      char cBig; /*定義字符變量,表示大寫字符*/

      char cSmall; /*定義字符變量,表示小寫字符*/

      puts("Please enter capital character:");/*輸出提示信息*/

      cBig=getchar(); /*得到用戶輸入的大寫字符*/

      puts("Minuscule character is:"); /*輸出提示信息*/

      cSmall=cBig+32; /*將大寫字符轉化成小寫字符*/

      初識C語言之數據輸入輸出篇——帶你領略編程世界的文字藝術!

      printf("%c\n",cSmall); /*輸出小寫字符*/

      return 0; /*程序結束*/

      }

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

      每文一語

      遇事最有水平的處理方式就是——冷靜!

      C 語言

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel2007如何插入選擇按鈕
      下一篇:輪播插入圖片過多后,無法更改輪播速度,點擊更改速度后,仍然是更改圖片界面,滑不下去
      相關文章
      亚洲中文字幕无码一区二区三区| 中文字幕精品无码亚洲字| 亚洲国产精品狼友中文久久久| 亚洲日韩一中文字暮| 亚洲13又紧又嫩又水多| 亚洲一级毛片免费看| 亚洲一区免费在线观看| 久久久久se色偷偷亚洲精品av| 亚洲精品动漫在线| 亚洲导航深夜福利| 精品亚洲国产成人| 亚洲六月丁香六月婷婷色伊人| 精品亚洲国产成AV人片传媒| 亚洲视频在线观看免费视频| 亚洲视频中文字幕在线| 亚洲国产精品无码久久久| 亚洲免费视频观看| 亚洲一区二区三区成人网站| 亚洲人成电影网站久久| 亚洲人成色77777在线观看| 亚洲高清国产拍精品熟女| 亚洲AV无码国产一区二区三区| 亚洲AV日韩综合一区| 在线精品自拍亚洲第一区| 亚洲第一网站男人都懂| 亚洲天堂免费在线视频| 亚洲乳大丰满中文字幕| 久久亚洲国产视频| 亚洲激情视频网站| 国产精品高清视亚洲一区二区| 亚洲AV香蕉一区区二区三区| 亚洲高清无码专区视频| 国产啪亚洲国产精品无码| 久久亚洲国产中v天仙www| 亚洲一区免费观看| 亚洲AV成人噜噜无码网站| 久久亚洲精品国产亚洲老地址| 亚洲国产成人综合精品| 亚洲情侣偷拍精品| 亚洲AV永久无码精品成人| 亚洲成a人片7777|