常用的输入函数
输入函数的功能是利用键盘等输入设备为变量或数组等提供数据,
并保存到内存单元中,供程序计算使用,即把信息从外设传送到内存。
1. 多种类型数据输入函数 scanf( )。
该函数的一般格式为:
scanf (格式控制,地址列表);
表示按格式控制参数的要求将数据从终端传送到地址列表所指定的内存空间。
例如: 从键盘读入3个整数并存储到a,b,c这3个整型变量中,具体做法为:
scanf("%d%d%d",&a,&b,&c);
当使用scanf( ) 函数输入多个数据时,需要判断一个数据的输入是否结束。
主要有以下几种方法:
1.用格式字符来控制输入数据的域宽(正整数)。
2.由于格式字符串中出现的普通字符(包括转义字符)都需要原样输入,
因此可以在scanf( )的格式控制字符串里插入能起到数据分割作用的一般字符,
这样用户输入时,就必须按照格式控制字符串的安排来输入数据。
例如:
scanf(" a=%d , b=%c",&a,&b);
如果数据本身就可将数据分隔开时,输入数据不需要用分隔符。
例如:
scanf("%d%c%d",&a,&b,&c);
3.如果在scanf( )的格式控制字符串里不安排任何分隔符,
这时就默认使用空格符,制表符,回车换行符,作为数据输入完毕的分隔符。
例如:
scanf("%d%d",&a,&b);
使用scanf( )时应注意以下问题:
1.当格式控制部分中相邻的两个格式字符为%c时,输入时不能以空格,Tab键或回车键加以区分,
因为空格,Tab键和回车键本身也是字符,在这种情况下,只能按照格式控制根据数据类型来区分某项数据是否输入结束
2.在scanf函数中可以使用域宽m和附加域宽n来控制输入,使用方法与在prinf函数中相同。
3.修饰符*的含义是“跳过”,表示在地址列表中没有对应的控制项,但在输入时必须输入数据。
例如:
scanf("%3d%*3d%3d",&a,&b);
printf("a=%d,b=%d\n",a,b);
4.如果程序中有多个scanf( ),系统会将这些scanf( )结合成一个函数来处理
5.为了使输入操作更方便,可以利用printf( )来提高程序的可读性。
通常可在printf( )中给出应输入的数据的个数,类型及分隔方式等提示信息。