% E3 % 82 % B3 % E3 % 83 % B3 % E3 % 83 % 94 % E3 % 83 % a5 % E3 % 82 % BF % E3 % 81 % AE % E5 % a4 % 96 % e9 % a5 % E3 % 83 % BC % E3 % 82 % BF % E3 % 81 % ab % E6 % 83 % 85 % E5 % A0 % B1 % E3 % 81 % 8c % E6 % b5 % 81 % E5 % a5 % E5 % E5 % a5 % E5 % E5 % E5 % E5 % E5 % a5 % E5 % E5 % E5 1 % BC % E3 % 81 % B3 % E3 % 81 % be % E3 % 81 % 99 % E3 % 80 % 82 % 20 printf % E5 % BD % a2 % E5 % BC % 8f % E3 % 81 % a7 % E7 % 81 % a7 % E7 % BD % E3 % 83 % BC % E3 % 82 % BF % E6 % 9c % AC % E4 % BD % 93 % E3 % 81 % 8b % E3 % 82 % 89 % E5 % a4 % 96 % e9 % 83 % A8 % E6 % E6 % 9b % E3 % 81 % A8 % E5 % 91 % BC % E3 % 81 % B3 % E3 % 81 % be % E3 % 80 % 81 % 99 % E3 % 80 % 82 % 0ac % E8 % A8 % 80 % E8 % aa % aa E3 % 81 % 8f % E3 % 80 % 81 % E5 % 85 % a5 % E5 % 87 % ba % E5 % 8a % 9b % e9 % 96 % a2 % E6 % 95 % B0 % E3 % 81 % ab % E3 % 83 % ab % E3 % 87 % ba 5 % E5 % 87 % ba % E5 % 8a % 9b % E3 % 81 % AE % E3 % 81 % 93 % E3 % 81 % a7 % E3 % 81 % 99 % E3 % 80 % 82 % 0ae 3 % 83 % aa % E3 % 81 % ab % E5 % 90 % ab % E3 % 81 % be % E3 % 82 % 82 % 8c % E3 % 82 % 8b % E4 % b8 % 80 % E8 % 88 % AC % E7 % 9a % E3 % 81 % AE % E3 % 81 % A8 % E3 % 81 % 8a % E3 % 82 % 8a % E3 % 81 % 81 % 99 % a7 % E3 % 80 % 82 % 0a % E3 % 83 % 95 % 95 % B0 printf % 28 % 0a % E6 % 9b % b8 % E5 % BC % 8f % E5 % 85 % a5 % E5 % 8a % 9b % e9 % 96 % a2 % E6 % 95 % B0 scanf % 28 % % B0 putchar % 28 % 0a % E5 % 8d % 98 % E4 % b8 % 80 % E6 % 96 % 87 % E5 % ad % 97 % E5 % 85 % a5 % E5 % 8a % 9b % e9 % 96 % a2 3 % a9 % E3 % 82 % a4 % E3 % 83 % 96 % E3 % 83 % aa % e9 % 96 % a2 % E6 % 95 % B0 % E3 % 82 % 92 % E4 % BD % BF % 83 % B3 % E3 % 83 % 91 % E3 % 82 % a4 % E3 % 83 % ab % E3 % 82 % B3 % E3 % 9e % E3 % 83 % B3 % E3 % 83 % 89 % E3 % 80 % E3 % E3 % 80 % a3 % a3 % a4 % a4 % a3 % a3 % a4 % a3 % a % E3 % 82 % a4 % E3 % 83 % ab % E3 % 80 %8cstdio.h % E3 % 80 % 8d % E3 % 82 % 92 % E3 % 83 % a6 % E3 % 83 % BC % E3 % 82 % 82 % % E3 % 83 % ab % E3 % 81 % ab % E5 % 90 % ab % E3 % 82 % 81 % E3 % 80 % 82 % 8b % E3 % 80 % 82 % 20 % E3 % 81 % a4 % E3 % 81 % be % be % io.h % E3 % 80 % 8d % 0a stdio % E3 % 81 % af standard % 20 input % 20 output % ef % BC % 88 % E6 % A8 % 99 % E6 % ba % 96 % E3 % a7 % E3 % 81 % 99 % E3 % 80 % 82 % 0a % E4 % b8 % 80 % E8 % 88 % AC % E7 % 9a % 84 % E3 % 81 % aa % E3 % 83 % 95 % E3 % 82 % E3 % 82 % AC a9 % E3 % 83 % BC % E3 % 83 % 9e % E3 % 83 % 83 % 83 % E3 % 88 % 82 % B3 % E3 % 83 % B3 % 83 % 88 % E3 % 83 % ad % ed % 83 % ad % ed 3 % 88 % ef % BC % 89 % ef % BC % 9b % 0a % E4 % be % 8b % 3a printf % ef % BC % 88 % E3 % 80 % 8ca % 3d % 25d % ef % BC % 8cb c % 89 % ef % BC % 89 % ef % BC % 89 % E3 % 80 % 82 % 0a % E6 % a9 % 9f % E8 % 83 % BD % 3a % E3 % 80 % 8c % E5 % 87 % ba % E5 % BC % E3 % 82 % BF % e9 % A0 % 85 % E7 % 9b % AE % E3 % 82 % 92 % E3 % 83 % 83 % 95 % E3 % 82 % a9 % E3 % 83 % ab % e9 % 80 % 9a % E5 % b8 % b8 % E3 % 81 % af % E3 % 83 % 87 % E3 % 82 % a3 % E3 % 82 % B9 % E3 % 83 % 97 % E3 % 83 % AC % E3 % 83 % AC % 83 % E3 % 82 % af % E3 % 83 % 95 % E3 % 82 % a9 % E3 % 83 % BC % E3 % 83 % 9e % E3 % 83 % 83 % 88 % E3 % 82 % B3 % E3 % 83 % B3 % B3 % E3 % E3 % B3 % E3 % 83 % B3 % B3 % E3 % 83 % B3 % B3 % E3 % 8 81 % af % E3 % 80 % 8c % E5 % 88 % B6 % E5 % be % a1 % E6 % 96 % 87 % E5 % ad % 97 % E5 % 88 % 97 % E3 % 80 % 8d % E3 % 81 % a1 % ad % a3 % a1 % ad 7 % 94 % A8 % E7 % AC % a6 % E3 % 81 % a7 % E5 % 9b % B2 % E3 % 82 % 8c % be % E3 % 81 % a6 % E5 % 87 % ba % E5 % 8a % E5 % ad % 97 % E5 % 88 % 97 % E3 % 81 % a7 % E3 % 81 % 99 % E3 % 80 % 82 % 20 % E5 % BD % BC % E3 % 81 % af % E6 % 9b % b8 % 80 % 81 % E6 % 99 % AE % e9 % 80 % 9a % E6 % 96 % 87 % E5 % ad % 97 % E3 % 81 % a4 % E3 % 81 % AE % e9 % 83 % AE E3 % 81 % be % E3 % 81 % 99 % E3 % 80 % 82 % 0a % ef % BC % 891 % ef % BC % 89 % E3 % 83 % 95 % E3 % 82 % a9 % E3 % 83 % BC % 3a % E3 % 80 % 8c % 25 % E3 % 80 % 8d % E6 % 96 % 87 % E5 % ad % 97 % E3 % 81 % a7 % a7 % 8b % E3 % 81 % be % E3 % 82 % 82 % 82 % be 6 % 9b % b8 % E5 % BC % 8f % E6 % 96 % 87 % E5 % ad % 97 % E3 % 81 % 8c % E7 % B6 % 9a % E3 % 81 % 8d % E3 % 81 % be % E3 % 81 % 82 % BF % E3 % 81 % AE % E3 % 82 % BF % E3 % 82 % a4 % E3 % 83 % 97 % E3 % 80 % 81 % E5 % BD % a2 % E5 % BC % 8f % E3 % 80 E3 % 81 % AE % E6 % a1 % 81 % E6 % 95 % B0 % E3 % 81 % aa % 82 % 81 % a9 % E3 % 82 % 92 % E8 % aa % AC % E6 % 98 % 8e % E3 % 83 % 83 % aa 8f % 90 % E4 % be % 9b % E3 % 81 % 95 % E3 % 82 % 8c % E3 % 82 % 8b % E4 % b8 % 80 % E8 % 88 % AC % E7 % 9a % 84 % E3 % 81 % AC % E3 % 81 % 81 % ab
/printf(“%-10.5sn”,”programing”);
}
运行结果如下:
a
aㄩㄩ
ㄩㄩa
programing
ㄩㄩㄩㄩㄩprograming
programingㄩㄩㄩㄩㄩ
ㄩㄩㄩㄩㄩprogr
progrㄩㄩㄩㄩㄩ
【例3.3】输出实型数据
#include “stdio.h”
void main()
{ float x,y;
double a;
x=111111.111;y=123.468;
a=333333333.33333;
clrscr();
printf(“%fn”,x);
printf(“%fn”,a);
printf(“%10f,%10.2f,%.2f,%-10.2fn”,x,x,x,x);
printf(“%en”,x);
printf(“%en”,a);
printf(“%10e,%10.2e,%.2e.%-10.2en”,a,a,a,a);
printf(“%f,%e,%g”,y,y,y);
}
程序运行结果如下:
111111.109375
333333333.333330
111111.109375, ㄩ111111.11,111111.11,111111.11ㄩ
1.11111e+05
3.33333e+08
3.33333e+08, ㄩㄩㄩ3.3e+08,3.3e+08.3.3e+08ㄩㄩㄩ
123.468002,1.23468e+02,123.468
4.在使用printf()函数时,还应注意以下问题
(1) 调用printf()函数时,格式式转换说明符与输出项必须顺序和数据类型上一一对应一致。
(2) VC6.0++ 规定:当格式说明符明个数少于输出项个数时,多余的输出项不予输出。当格式说符明个数多于输出项个数时,而输出不定值。
(3) 当printf()函数中多个输出项为表达式时,VC6.0++ 规定先从右到左的顺序计算各表达式的值,然后再从左到右的顺序输出结果。
(4) 在使用“f”格式符输出实数时,并非全部数字都是有效数字,单精度实数的有效位数一般为7位,双精度数的有效位数一般为16位。
例如:
① #include “stdio.h”
void main()
{ float x=111111.111,y=222222.222;
printf("%f",x+y);
}
输出结果为:
333333.328125 /*前7位是有效数字,后面数字无意义*/
② #include “stdio.h”
void main()
{ double x=111111.11111,y=222222.22222;
printf("%lf",x+y);
}
输出结果为:
333333.333330 /*可达16位是有效数字,小数点保留6位*/
一般形式:
scanf("格式控制",地址列表);
功能:从键盘向程序中的变量输入一个或若干个任意类型的数据。
例如:
scanf("%d,%d",&a,&b);
1.格式控制
格式控制与printf基本相同,由格式说明、附加说明字符和普通字符三部分组成。printf格式换行
"% "
格式字符如表3.3所示,附加说明字符如表3.4所示。
表3.3 scanf函数格式说明及作用
表3.4 scanf函数附加格式说明及作用
用在格式字符d、o、x、u的前,表示输入长整型数据,用在f或e前,表示输入double型数据。
2.地址列表
地址列表:用逗号分隔的若干接收输入数据的变量地址。各变量地址间用逗号“,”分隔。
变量地址组成:由地址运算符“&”后跟变量名组成。
例如:
#include
void main()
{
int a,b, c;
/*%d%d%d”表示要按十进制整数形式输入3个数*/
scanf(“%d%d%d”,&a,&b,&c);
printf(“a=%d,b=%d,c=%dn”,a,b,c);
}
运行时按以下方式输入a,b,c的值:
3ㄩ4ㄩ5↙ (输入a,b,c的值,用空格间隔)
a=3,b=4,c=5 (输出a,b,c的值)
注:输入数据时,在两个数据之间以一个或多个空格间隔,也可以用Enter键、Tab键分隔,不能用逗号作为两个数据的分隔符。
下面输入均为合法:
①3ㄩ4ㄩ5↙
②3↙
4 5↙
③3(按Tab键)4↙
5↙
如下面的输入不合法:
3,4,5↙
3.使用scanf()函数时应注意的问题
(1)地址列表中的各个参量都是变量地址,而不是变量名。
例如:设a 、 b 分别为整型变量和浮点型变量,则
scanf("%d %f",&a,&b);
是合法的。而
scanf("%d %f",a,b);
是非法的。
(2)普通字符在输入数据时,在对应位置上输入相同字符。
例如:
scanf("%d,%d",&a,&b)
输入时应用如下形式:
3,4↙
以下输入格式是不对的:
3ㄩ4↙
3:4。
又如:scanf(”%d:%d:%d”,&x,&y,&z);
输入形式应为:12:13:14。
(3)对于实型数据,输入时不能规定其精度。
例如:
scanf(“%6.3f”,&x);
是不合法的。
(4)在用“%c”格式输入字符时,空格字符和“转义字符”都将作为有效的字符输入。
例如:
scanf("%c%c%c",&c1,&c2,&c3);
如果输入:
aㄩbㄩc↙
则字符'a'→c1,字符'ㄩ'→c2,字符'b'→c3。
正确输入方法是:
abc↙(中间没有空格)
(5)在输入数据时,遇到下列情况时,输入数据认为结束:
遇空格或按“回车”或“跳格”(Tab)键;
遇宽度结束,如“%3d”,只取3列;
遇非法输入;
例如:
scanf("%d%c%f",&a,&b,&c);
若输入
123a456o.26↙
¯ ¯ ¯
a b c
123→a ,字符a→b,456→c
注:第3个数4560.26错打成456o.26,由于456后面出现了英文字母“o”,就认为此数据结束,则将会把456送给c,后面的数据将不被接受。
(6)当使用多个scanf()函数连续给多个字符变量赋值时,例如:
#include
void main()
{
char c1,c2;
scanf(“%c”,&c1);
scanf(“%c”,&c2);
printf(“c1 is %c,c2 is %c”,c1,c2);
}
运行该程序时如果输入:
A↙
输出结果为:
c1 is A,c2 is ↙ (即C2接收了一个回车符↙,而没有被赋值)
如果输入:
AB↙
输出结果为:
c1 is A,c2 is B。
(7)对于unsigned型变量所需的数据,可以用%u,%d或%o,%x格式输入。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-迷路的玉米.com/a/ruanjian/article-26176-1.html