前2章用到的printf()函数,是C语言中的带格式的标准输出函数。C语言的函数都封装在不同的函数库里面,编程时要用到某个函数时, 只要用include语句申明一下,被申明过的函数库中的所有函数就可以在程序的任何地方使用。这2章要讲述的基本输入输出函数,都 在stdio.h中被定义。
函数getch()是从终端输入一个字符。注意:是一个字符,也就是说,该函数调用一次只能得到一个字符,想要得到若干字符,只能调用若干次。
函数putchar()是向终端输出一个字符。注意:这儿也是一个字符,也就是说,该函数调用一次只能输出一个字符,要输出若干字符,只能调用若干次。
#include
<stdio.h>int
main(void
) {char
ich1;int
ich2,ich3;char
ch1 = 'q';char
ch2 = 'u';char
ch3 = 'a';char
ch4 = 'n'; ich1 = getchar(); //字符类型实际是整型,只是范围小点而已 ich2 = getchar(); //所以字符赋给整数变量没有关系 ich3 = getchar(); //这三句在屏幕上输入“xue”后回车 putchar(ch1); putchar(ch2); putchar(ch3); putchar(ch4); putchar(ich1); putchar(ich2); putchar(ich3); putchar('\n'); //这是回车字符return
0; }
上例中调用了3次getchar()函数,输入时请注意:
上面这些令人不满的地方,主要是由于getchar()函数使用了键盘缓冲区,一直等到有回车时,getchar()函数才接受字符。因此有人对此函数进行了扩充, 函数名为getche(),不再使用键盘缓冲,输入的字符立即就能被接受。这个函数不是存放在stdio.h中,而是存放在conio.h中。上面程序如下修改便好用多了。类似函数还有很多,如getch(),这和getche()的区别是,getch()函数在输入后并不显示在屏幕上,其它功能和getche()相同,也是定义在conio.h中。
#include
<stdio.h>#include
<conio.h>int
main(void
) {char
ich1;int
ich2,ich3;char
ch1 = 'q';char
ch2 = 'u';char
ch3 = 'a';char
ch4 = 'n'; ich1 = getche(); //改进后的字符输入函数 ich2 = getche(); ich3 = getche(); putchar('\n'); //这是回车字符 putchar(ch1); putchar(ch2); putchar(ch3); putchar(ch4); putchar(ich1); putchar(ich2); putchar(ich3); putchar('\n'); //这是回车字符return
0; }
前面的例子中,我们已经看很多“\n”,它表示输出时显示一个回车。回车字符是控制字符,无法输入在字符串中间。因此,C语言用“转义字符” 来代替这一类的控制字符。注意:%的输出并不是用“\%”表示,而是用“%%”表示,好象就这一个是特殊的。
字符形式 | 功 能 |
---|---|
\0 | 空字符(NULL) |
\n | 换行 |
\t | 横向跳格(Tab) |
\v | 竖向跳格(|) |
\b | 退格 |
\r | 回车 |
\f | 换页字符 |
\\ | 反斜杠"\"字符 |
\' | 单引号(撇号)字符 |
\" | 双引号字符 |
\a | 响铃字符 |
\? | 问号字符 |
%% | 百分号字符 |
\ddd | 1~3位8进制数所代表的字符 |
\xhh | 1~2位16进制数所代表的字符 |