C語言標準輸入輸出

一、putchar和getchar

這兩個函數是對單個字符進行處理,putchar是在標準輸出設備上顯示一個字符,而getchar是在標準輸入設備上取得一個字符,我們來看一看下面的例子,從鍵盤輸入字符,並在顯示器上顯示出來,當遇到字母x時,程序退出:

#include <stdio.h>

main()

{

char ch = 0;

while (ch != ‘x’)

{

ch = getchar();

putchar(ch);

}

}

a

a

b

b

x

x

二、puts和gets

這是針對字符串處理的兩個函數,puts是在標準輸出設備上顯示一個字符串,而gets是從標準輸入設備取得一個字符串。我們來看一下它們的使用方法:

#include <stdio.h>

main()

{

char str[20];

gets(str);

puts(str);

}

Hello World!

Hello World!

注意,這裏定義的是char str[20]也就是定義了一個具有20個元素的字符數組,不能定義成char *str;然後想通過gets(str);從鍵盤輸入字符串到str中去。這裏涉及到數組與指針的關係,我們會專門有一章來講數組和指針的原理。

三、printf和scanf

其中printf爲按格式輸入函數,它格式定義以%開頭,後面字母代表的意義如下:

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

o 以八進制形式輸出無符號整數(不輸出前綴 0)

x,X 以十六進制形式輸出無符號整數(不輸出前綴 Ox)

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

f 以小數形式輸出單、雙精度實數

e,E 以指數形式輸出單、雙精度實數

g,G 以%f 或%e 中較短的輸出寬度輸出單、雙精度實數

c 輸出單個字符

s 輸出字符串

  • 結果左對齊,右邊填空格
  • 輸出符號(正號或負號)

輸出值爲正時冠以空格,爲負時冠以負號

關於scanf則是與printf相對,它是功能是按格式輸入,例如:

#include <stdio.h>

main()

{

char ch;

int a,b;

float c,d;

char str[20];

scanf("%c,%d,%d,%f,%f,%s", &ch, &a, &b, &c, &d, str);

printf("%c,%d,%d,%f,%f,%s\n", ch, a, b, c, d, str);

}

a,1,2,3.3,4.4,Hello

a,1,2,3.300000,4.400000,Hello

關於scanf也有一個地方需要讀者注意,在調用scanf函數時我們向其傳入的參數變量前要加入一個&符號,用於表示這個變量的內存地址,而數組型變量除外。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章