C語言字符輸入輸出
首先介紹getchar和putchar兩個函數他們兩個一次之處理一個字符
getchar:默認將字符從標准輸入即鍵盤讀取輸入值
putchar:默認將字符從標准輸入即屏幕輸出變量所承載的值
示例如下:
[[email protected] ]# cat impomp.c
#include <stdio.h>
main()
{
char c; //初始化變量
c = getchar(); //用getchar從鍵盤獲取輸入的值,然後傳遞給c變量
putchar(c); //putchar函數將c變量從標准輸出輸出,也就是屏幕
printf("\n"); //然後由printf函數提供一個換行符實現換行
}
執行的結果就是你從鍵盤標准輸入一個字符,回車後,它會打印一你剛才輸入的字符,並換行
[[email protected] ]# ./impomp
c //輸入一個字符“c”然後回車
c //putchar函數將這個輸入再次輸出
以上只能處理一個字符,如果加上循環就可以輸出無數個字符,甚至一句話了,示例如下:
[[email protected] ]# cat impomp.c
#include <stdio.h>
main()
{
char c;
c = getchar(); //因為下邊要使用簡單的while循環所以c變量必須有初始值
while (c != EOF) { //如果c不等與EOF(文本結束符,shell裡的ctrl+d 此處的“!=”就是不等與的意思等於是“==”)就一直循環下去
putchar(c); //循環體將c的值用putchar函數輸出到屏幕
c = getchar(); //繼續獲取c的值,然後進行下一次的循環
}
}
執行結果如下:
[[email protected] ]# ./impomp
linuxidc 最帥!!! //輸入
linuxidc 最帥!!! //輸出
hello C? //輸入
hello C? //輸出 然後輸入文本結束符CTRL+D 正常退出
[[email protected] ]# ./impomp
123 //輸入
123 //輸出
^C //按CTRL+C中斷程序退出
如果夠熟練的話這個程序可以寫的更精簡,更易讀:
[[email protected] ]# cat impomp.c
#include <stdio.h>
main()
{
char c;
while ((c = getchar()) != EOF) //在if條件中直接用getchar函數來獲得輸入值,且不等與文本結束符如果符合條件則執行循環體,否則中斷
putchar(c); //用putchar函數打印出c的值
}
執行效果和以上的第一個while循環輸出是一個結果,只是在程序上簡練多了,這個就是C語言程序的設計!