标准输入输出函数库 stdio.h
C 和 C++ 提供了一个标准输入输出函数库stdio.h。在程序中包含该函数库后,就可以使用其中的标准函数进行输入输出操作了。在程序中表示如下:
// 包含标准输入输出函数库
#include <stdio.h>
字符的输入输出函数
在 C 语言中,输入输出函数有着相当重要的地位,它是我们的程序与用户交互的唯一途径。
标准输入输出函数库提供的函数总体上可分为格式化输入输出函数、单个字符输入输出函数和字符串输入输出函数。下面我们要学习的是单个字符的输入输出函数。
输入函数
字符的输入函数为 getchar,其函数原型为:
int getchar(void);
函数 getchar 没有参数(后面的括号中为空或者 void ),它从标准输入设备(键盘)读入一个字符,并将该字符以整数( int )形式返回。
返回的字符要用于输出,所以不能丢弃。我们需要申明一个变量来存储该字符,申明的变量在内存中会有对应的存储空间。使用变量存储输入的字符的语句为:
// 声明变量 x 存储输入的字符
char x = getchar();
输出函数
字符的输出函数为 putchar,其函数原型为:
int putchar(int c);
函数 putchar 用于向标准输出设备(显示器屏幕)输出一个字符,它的参数 c 是要输出的字符变量或常量。
字符常量是用单引号括起来的一个字符,如’A’。例如:
char x='A';
putchar(x); // 输出变量 x 中存储的字符
putchar('A'); // 输出字符常量'A'
输出:
AA
程序的输出格式对用户体验影响很大,用户往往因为输出格式不美观便抱怨软件设计的不好。
那么,如何对程序的输出格式进行控制呢?接下来我们介绍一下格式化输入输出,格式化输入输出可以用函数库stdio.h中的 scanf 和 printf 两个函数来实现。
scanf 函数
scanf 函数按照一定的格式从键盘输入数据。函数形式为:
scanf (<格式控制串> , <参数列表>) ;
- <格式控制串> 是一个字符串,说明了输入数据要遵循的格式;
- <参数列表> 是存放输入数据地址的列表,有多个输入数据时,参数之间用,分隔。如果要把输入的数据写入一个变量,参数列表中需要使用变量的地址。获取变量地址的方法为:&变量名,其中&是地址运算符,其运算结果是后面的变量的地址。
例如从命令行读入一个整数、一个浮点数、一个整数,分别赋值给 num1、num2 和 num3。如下代码:
scanf(″%d%f%d″, &num1, &num2, &num3); //其中 %d 和 %f 均为转换说明符,分别表示读取的数据为整型和浮点型。
如果命令行输入为:12 34.5 678,则该函数执行的效果是:系统读取整数12并赋值给 num1,读取浮点数34.5并赋值给 num2,读取整数678并赋值给 num3。
scanf 函数常用的转换说明符如下表(省略%):
类型字符 :含义
d :十进制整型量
o :八进制整型量
x :十六进制整型量
u :无符号十进制整型
i :整型
f :实型的小数形式
e :实型的指数形式
g :f 和 e 的较短形式
c :字符
s :字符串
l 或 h :放在任何整数转换说明符之前,用于输入 short 或 long 类型数据
l 或 L :放在任何浮点转换说明符之前,用于输入 double 或 long double类型数据
To be continued…