对于刚刚接触C语言的朋友,不可否认的是,无论是老师还是书本,你第一个接触的代码就是printf("hello!world!\\n");。对于从未接触C语言的人第一眼看到打印在屏幕上的"hello!world!"的时候可能有种看到了世界一样的感觉。而这简单的一行代码就包括了输出函数等最基本的知识。下面将对于C语言的输入输出进行说明。
输入输出
当我们说输入的时候,这意味着将一些数据送入程序。这可以在文件的形式或从命令行给出。 C语言中给出了几种函数来读取输入,并将其进给到程序按要求。当我们说的输出的时候,这意味着输出的数据将在屏幕上显示。 C语言编程也提供了几种函数以输出指定数据,以及可以保存在文本或二进制文件数据。
标准文件
C语言编程将所有的设备上进行文件。所以,如在显示设备中解决方式相同文件和下面的三个文件是当一个程序执行,以提供接入到键盘和屏幕自动打开。
文件指向是访问文件读取和写入目的的手段。
scanf() 和 printf()函数
int scanf(const char *format, ...) 函数先从标准输入流stdin中读取输入,并根据规定的格式扫描输入。然后 int printf(const char *format, ...) 函数将输出到标准输出流stdout和根据提供的格式生成输出。简单来说就是通过scanf进行输入,然后通过printf打印在屏幕上format在这里只是一个格式,它可以是一个简单的常量字符串。可以为%s, %d, %c, %f, 等,打印或读取字符串,整数,字符或浮点。下面是一个简单的应用例子。
当这些代码被打印在屏幕上时,如下显示:
Enter a value : seven 7
You entered: seven 7
scanf中的"%s %d 对应的是字符串str和整型i;如果你输入的是整型在i前一定要加上&,如果是字符串则不用。在这里要提一下的是scanf()的预期输入提供%s和%d相同的格式,这意味着必须提供类似“string integer”有效的输入,如果提供“string string”或“integer integer“那么它将被假定为错误的输入。其次,在读取一个字符串scanf()将停止读取,因为它遇到了一个空格,所以“this is test”三个字符串由scanf()函数读取。还有i在代码中是定义为整型,如果你输入的时候输入字符型,程序就会出错。
getchar() & putchar() 函数
int getchar() 和scanf()一样都是输入函数,不一样的是,getchar()读取的每一个都是以字符类型存放。getchar(void) 函数从屏幕读取下一个可用的字符并将其作为一个整数。getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab)。
int putchar(int c) 函数使屏幕上的字符传递,并返回相同的字符。此函数每次仅读取单个字符。想在屏幕上显示多个字符可以循环使用此方法。
可以使用for循环来操作getchar()和putchar(),判定条件是当遇到回车符的时候停止。这样就可以循环使用这两个方法。下面是一个简单的输入输出例子:
当上面的代码被打印在屏幕上的时候,会如下显示:
Enter a value : this is test
You entered: t
因为在此代码中没有用到循环操作,所以实际上getchar()只是读取了this is test 的第一个字母t,并输出。
gets() 和puts()函数
gets()和getchar()不同,gets(char *c)它可以读取一行从标准输入到缓冲区,直到c遇到终止换行符或者EOF。
puts(const char *c) 函数将字符串c和换行符到stdout。
当上面的代码编译执行并打印在屏幕上的时候,如下显示:
Enter a value : this is test
You entered: This is test
刚刚接触C语言的朋友或许对scanf比较熟悉,但是对getchar()和gets(),putchar()和put()的应用可能有一定的混淆,希望本文能帮大家理清对于这几种输入输出函数的运用。
上一篇:C++介绍:C到C++的改变
¥100.00
¥98.00
¥150.00
¥25.00¥49.00