C语言字符输入输出
首先介绍getchar和putchar两个函数他们两个一次之处理一个字符
getchar:默认将字符从标准输入即键盘读取输入值
putchar:默认将字符从标准输入即屏幕输出变量所承载的值
示例如下:
[root@ ]# cat impomp.c
#include <stdio.h>
main()
{
char c; //初始化变量
c = getchar(); //用getchar从键盘获取输入的值,然后传递给c变量
putchar(c); //putchar函数将c变量从标准输出输出,也就是屏幕
printf("\n"); //然后由printf函数提供一个换行符实现换行
}
执行的结果就是你从键盘标准输入一个字符,回车后,它会打印一你刚才输入的字符,并换行
[root@ ]# ./impomp
c //输入一个字符“c”然后回车
c //putchar函数将这个输入再次输出
以上只能处理一个字符,如果加上循环就可以输出无数个字符,甚至一句话了,示例如下:
[root@ ]# 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的值,然后进行下一次的循环
}
}
执行结果如下:
[root@ ]# ./impomp
linuxidc 最帅!!! //输入
linuxidc 最帅!!! //输出
hello C? //输入
hello C? //输出 然后输入文本结束符CTRL+D 正常退出
[root@ ]# ./impomp
123 //输入
123 //输出
^C //按CTRL+C中断程序退出
如果够熟练的话这个程序可以写的更精简,更易读:
[root@ ]# cat impomp.c
#include <stdio.h>
main()
{
char c;
while ((c = getchar()) != EOF) //在if条件中直接用getchar函数来获得输入值,且不等与文本结束符如果符合条件则执行循环体,否则中断
putchar(c); //用putchar函数打印出c的值
}
执行效果和以上的第一个while循环输出是一个结果,只是在程序上简练多了,这个就是C语言程序的设计!