簡單的輸入與輸出

C語言編程0基礎學習歷程(3)—— 輸入輸出

目錄:

變量被賦值之後,又該如何將其顯示在屏幕上呢?這就需要用到我們的輸出語句了。

一、輸出語句

C語言中使用printf()函數(標準輸出函數)來實現輸出。其作用爲輸出一個字符串,或按照指定格式和類型輸出變量。

示例:

#include <stdio.h>
int main()
{
    int a=1;
    printf("%d\n",a);
    printf("Hello!\n");
    return 0;
}

在上例中我們看到了諸如 “%d” “\n” 之類的字符,那麼他們的作用是什麼呢?
(1)格式轉換說明

附:表1

符號 用法
%d 輸出帶符號的十進制整數(正數符號忽略)
%u 輸出無符號的十進制整數
%o 輸出無符號八進制整數(不帶前導符0)
%x 輸出無符號十六進制整數(小寫,且不帶前導符0x)
%X 輸出無符號十六進制整數(大寫,且不帶前導符0x)
%c 輸出一個字符
%s 輸出一個字符串
%f 以十進制小數輸出(隱含輸出小數點後6位)
%e 以指數形式輸出實數(小數點前有且僅有一位非0數字)
%E 以指數形式輸出實數
%g 自動選擇f或g格式中寬度較小的一種且不輸出無意義的0
%% 輸出 ‘%‘

(2)轉義字符
附:表2

字符 含義
\n 換行
\r 將光標停至行首但不換行
\0 空字符,用於字符串末尾表結束
\t 水平製表
\v 垂直製表
\b 退格
\f 走頁換紙
\a 提示音
\" 打印一個雙引號
\’ 打印一個單引號
\ 打印一個反斜線
\? 打印一個問號
\ddd 1到3位8進制ASCII碼所代表的字符
\xhh 1到2位16進制ASCII碼所代表的字符

(3)格式修飾符
附:表3

格式修飾符 用法
l 在諸如d,o,x,u之類格式符之前添加,輸出long型數據
l 在諸如f,e,g之類格式符之前添加,輸出long double型數據
h 在諸如d,o,x之類格式符之前添加,輸出short型數據
m 若爲正,當數據寬度小於m時,右對齊;大於m時全部輸出;若m前有前導符0,則在左側補充0直到到達m寬度;
若爲負,則左對齊。
(注:m爲整數)
.n 對於浮點數,指定輸出小數點後幾位;
對於字符串指定從左側開始輸出的字符數。
(注:n爲非負整數)

例:

#include <stdio.h>
int main()
{
   int a=100000;
   printf("%10d",a);
   return 0;
}

運行結果:
格式控制後的輸出結果
(4)printf 函數輸出格式

printf (“格式控制字符串”);

printf(“格式控制字符串”,輸出值參數表);

(5)其他輸出函數
putchar():把一個字符輸出到屏幕當前光標的位置。

二、輸入函數

C語言的輸入主要使用scanf()函數(標準輸入函數)來實現。其作用爲從輸入緩存區中讀入一個字符串。

示例:

#include <stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    printf("%d",a);
    return 0;
}

運行結果:
輸入函數的運行結果
其中第一行爲輸入,第二行爲輸出。
(1)輸入結束標誌:

  • 遇到空格符、回車、製表符時;
  • 達到輸入域寬;
  • 遇到非法字符輸入;

輸入必然有一個輸入的結束標誌,否則電腦不知道何時才停止對數據的讀入。因此規定第一條的三種情況爲輸入結束標誌。

如同輸出可以指定輸出長度,輸入也可以指定輸入長度,使用方法同輸出函數。不同的是當數據超過指定寬度時,輸入函數結束本次輸入,而輸出函數則將數據全部輸出。

輸入函數中包含格式修飾符,因此輸入數據類型必須與函數所提供的格式保持一致,否則可能引發錯誤,(讀者可以自己動手試一試)當遇到不同類型的輸入時可以結束此次輸出,如要求輸入一個整數類型,而輸入爲“1,”,當遇到“,”時,程序認爲結束此次輸入。可通過檢查輸入函數返回值來判斷是否成功讀入數據,若返回指定數據則爲成功,若返回EOF值(stdio.h中爲-1)則表示失敗。

例1:

#include <stdio.h>
int main()
{
    int a;
    scanf("%3d",&a);
    printf("%d",a);
    return 0;
}

運行結果:
在這裏插入圖片描述
例2:

#include <stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    printf("%d",a);
    return 0;
}

運行結果:
在這裏插入圖片描述
(2)注意事項:

  • 在使用“%c”格式讀入字符時,空格字符和轉義字符(包括回車)都會被當做有效字符輸入。
  • 輸入格式中的變量前需加上取址符“&”。輸入格式字符串中不能包含諸如‘\n’類的轉義字符。
  • 實型數據無法規定輸入精度。

(3)scanf函數輸入格式

scanf(“格式控制符”,參數地址表);

發佈了12 篇原創文章 · 獲贊 4 · 訪問量 1995
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章