《c语言-输入输出.ppt》由会员分享,可在线阅读,更多相关《c语言-输入输出.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、printfprintf( (格式控制字符串格式控制字符串, , 输出项表列输出项表列); );printfprintf( ( a=a=%d%d,b=b=%f%f , , a, ba, b); );%c %c character character 以字符形式输出单个字符以字符形式输出单个字符% %s s string string 输出一个字符串输出一个字符串%d %d decimal decimal 以带符号十进制整数输出以带符号十进制整数输出%f %f float float 以小数形式输出浮点数(以小数形式输出浮点数(6 6位小数)位小数)%e %e exponent exponent
2、 以标准指数形式输出(以标准指数形式输出(6 6位小数)位小数)%g %g 选用选用%f%f,%e%e中输出宽度较小的一种格式中输出宽度较小的一种格式%o %o octal octal 以八进制无符号整数输出(无前导以八进制无符号整数输出(无前导0 0)%x %x hex hex 以十六进制无符号整数输出(无前导以十六进制无符号整数输出(无前导0 x0 x)%u %u unsigned unsigned 以十进制无符号整数输出以十进制无符号整数输出m m 表示数据占用的最小宽度表示数据占用的最小宽度 数据宽度大于数据宽度大于m m,按实际宽度输出,按实际宽度输出 数据宽度小于数据宽度小于m m
3、时,补空格时,补空格n n 对实数表示输出对实数表示输出n n位小数位小数 对字符串表示最多输出的字符个数对字符串表示最多输出的字符个数l l 长整型整数,加在长整型整数,加在d d、o o、x x、u u前前L L long doublelong double型数,加在型数,加在f f、e e、g g前前- - 改变输出内容的对齐方式改变输出内容的对齐方式 默认为右对齐默认为右对齐scanfscanf( (格式控制字符串格式控制字符串, , 地址表列地址表列); ); scanf( scanf( %d%d, ,%f%f , , &a, &b&a, &b); );非格式字符非格式字符输入数据以
4、输入数据以,分隔分隔没有时可以没有时可以空格空格、TabTab或或回车回车分隔分隔c c 以字符形式输入单个字符以字符形式输入单个字符s s 输入字符串输入字符串, ,以非空字符开始以非空字符开始, ,遇第一个遇第一个 空白字符结束空白字符结束d d 以带符号十进制形式输入整型数据以带符号十进制形式输入整型数据f f 以小数形式输入浮点数以小数形式输入浮点数e e 以标准指数形式输入以标准指数形式输入o o 以八进制无符号形式输入(无前导以八进制无符号形式输入(无前导0 0)x x 以十六进制无符号形式输入(无前导以十六进制无符号形式输入(无前导0 x0 x)m m 表示数据占用的宽度表示数据
5、占用的宽度l l 加在加在d d、o o、x x、u u前:输入长整型前:输入长整型 加在加在f f、e e 前:输入双精度型前:输入双精度型L L 加在加在f f、e e 前:输入前:输入long doublelong double型型h h 加在加在d d、o o、x x 前前: :输入短整型输入短整型* * 本输入项在读入后不赋给相应的变量本输入项在读入后不赋给相应的变量8printfprintf ( (格式控制格式控制, , 输出参数输出参数1, . , 1, . , 输出参数输出参数n);n);scanfscanf ( (格式控制格式控制, , 输入参数输入参数1 1地址地址, .
6、, , . , 输入参数输入参数n n地地址址); );格式控制说明格式控制说明 % 十进制十进制 八进制八进制 十六进制十六进制int int % %d d % %o o % %x xlong long % %l ld d % %lo lo % %lxlxunsigned unsigned % %u u % %o o % %x xunsigned long unsigned long % %lu lu % %lo lo % %lxlx9格式控制说明符号格式控制说明符号+ +宽度限定词:宽度限定词:指定整型数据的输出宽度指定整型数据的输出宽度 %m%m指定数据的输出宽度为指定数据的输出宽度为m
7、m(包括符号位),若数据的实际位数小(包括符号位),若数据的实际位数小于于mm,则左端补空格,若大于,则左端补空格,若大于mm,则按,则按实际位数实际位数输出输出10# # include include int main(void)int main(void) printf(%d, % printf(%d, %o o, %xn, 10, 10, 10); , %xn, 10, 10, 10); printf(%d, %d, %dn, 10, printf(%d, %d, %dn, 10, 0 010, 10, 0 x0 x10); 10); printf(%d, %xn, 012, 012)
8、; printf(%d, %xn, 012, 012); return 0; return 0; 00101001010 010, 12, 10, 12, a a10, 8, 1610, 8, 1610, a10, a11# # include include int main(void)int main(void) int a, b; int a, b; printf(input a, b:); printf(input a, b:); / /以八进制的形式读入以八进制的形式读入1717 / /认为输入的是八进制的形式认为输入的是八进制的形式 scanf(“% scanf(“%o o%d”,
9、&a,&b); %d”,&a,&b); printf(%d%5dn, a, b); printf(%d%5dn, a, b); printf(%x printf(%x, , %dn, a, b); %dn, a, b); return 0; return 0; input a, b: input a, b: 17 17 17171515_ _ _17_ _ _17 f f, ,1717#include #include main()main() int a, b; int a, b; printf(Please input a and b:); printf(Please input a an
10、d b:); printf(a=%d, b=%d, a+b=%dn,a,b,a+b); printf(a=%d, b=%d, a+b=%dn,a,b,a+b); Please input a and b:a=12, b=56, a+b=68123456 #include #include main() main() int a, b;int a, b;printf(a = %d, b = %dn, a, b);printf(a = %d, b = %dn, a, b); #include #include main() main() int a, b;int a, b;printf(a = %
11、d, b = %dn, a, b);printf(a = %d, b = %dn, a, b); #include #include main() main() int a, b;int a, b;printf(a = %d, b = %dn, a, b);printf(a = %d, b = %dn, a, b); #include #include main() main() int a, b;int a, b;printf(a = %d, b = %dn, a, b);printf(a = %d, b = %dn, a, b); #include #include main() main
12、() int a, b;int a, b;printf(a = n, a, b);printf(a = n, a, b); #include #include main() main() int a, b;int a, b;printf(a = %d, b = %dn, a, b);printf(a = %d, b = %dn, a, b); %*c#include #include main() main() int a, b;int a, b;printf(a = %d, b = %dn, a, b);printf(a = %d, b = %dn, a, b); %*2d#include
13、#include main() main() int a, b;int a, b;printf(a = %d, b = %dn, a, b);printf(a = %d, b = %dn, a, b); #include #include main() main() int a, b;int a, b;printf(a = %d, b = %dn, a, b);printf(a = %d, b = %dn, a, b); 22输入 scanf() float:%f 或%e 以小数或指数形式输入一个以小数或指数形式输入一个单精度单精度浮点数浮点数 double: %lf或%le 以小数或指数形式
14、输入一个以小数或指数形式输入一个双精度双精度浮点数浮点数输出 printf()float 和double使用相同的格式控制说明 %f以小数形式输出浮点数,默认以小数形式输出浮点数,默认保留保留6 6位小数位小数 %e以指数形式输出(小数点前有且仅有一位非零的数字)以指数形式输出(小数点前有且仅有一位非零的数字)23# include # include int main(void)int main(void) double d = 3.1415926; double d = 3.1415926; printf(%f, %en, d, d); printf(%f, %en, d, d); pri
15、ntf(%5.3f, %5.2f, %.2fn, d, d, d); printf(%5.3f, %5.2f, %.2fn, d, d, d); return 0; return 0; 3.141593,3.141593e+0003.141593,3.141593e+0003.142,_3.14,3.143.142,_3.14,3.1424假定float的精度为7位,double的精度为16位 # include # include int main(void)int main(void) float f; float f; double d; double d; printf(input f
16、, d:n); printf(input f, d:n); scanf(%f% scanf(%f%l lf, &f, &d);f, &f, &d); printf(f = %fn d = %f n, f, d); printf(f = %fn d = %f n, f, d); d = 1234567890123.12; d = 1234567890123.12; printf(d = %f n, d); printf(d = %f n, d); return 0; return 0; input f, d: input f, d: 1234567890123.123456 1234567890
17、123.123456 1234567890123.1234561234567890123.123456f = 1234567954432.000000f = 1234567954432.000000d = 1234567890123.123500d = 1234567890123.123500d = 1234567890123.120100d = 1234567890123.120100Input r: 5.3 printf WITHOUT width or precision specifications:circumference = 33.300854, area = 88.247263
18、printf WITH width and precision specifications:circumference = 33.30, area = 88.25数据的格式化输出函数数据的格式化输出函数printf()printf()数据的格式化输入函数数据的格式化输入函数scanf() scanf() 字符输出函数字符输出函数putchar()putchar() 字符输入函数字符输入函数getchar()getchar()字符常量是用单引号括起来的一个字符 a是字符常量 3表示一个字符常量,而3则表示一个整数 转义字符(Escape Character) 一些特殊字符(无法从键盘输入或者另
19、有他用)用转义字符表示通过调用标准库函数来实现通过调用标准库函数来实现 # #includeinclude 字符输出函数字符输出函数 putchar(ch)putchar(ch) 向输出设备输出一个字符向输出设备输出一个字符chch字符输入函数字符输入函数 getchar()getchar() 无参数无参数 函数值为从输入设备接收的字符函数值为从输入设备接收的字符Press a key and then press Enter: B b ch = ch - (a A); %c character %c character 以字符形式输出单个字符以字符形式输出单个字符%s string %s s
20、tring 输出一个字符串输出一个字符串Press a key and then press Enter: B b, 98#include #include main()main() int data1, data2, sum;int data1, data2, sum;char op;char op; printf(Please enter the expression data1 + data2n);printf(Please enter the expression data1 + data2n);scanf(%d%c%d,&data1, &op, &data2);scanf(%d%c%
21、d,&data1, &op, &data2);printf(%d%c%d = %dn, printf(%d%c%d = %dn, data1, op, data2, data1+data2); data1, op, data2, data1+data2); #include #include main()main() int data1, data2, sum;int data1, data2, sum;char op;char op; printf(Please enter the expression data1 + data2n);printf(Please enter the expr
22、ession data1 + data2n);scanf(%d%c%d,&data1, &op, &data2);scanf(%d%c%d,&data1, &op, &data2);printf(%d%c%d = %dn, printf(%d%c%d = %dn, data1, op, data2, data1+data2); data1, op, data2, data1+data2); #include #include main()main() int data1, data2, sum;int data1, data2, sum;char op;char op; printf(Plea
23、se enter the expression data1 + data2n);printf(Please enter the expression data1 + data2n);scanf(%d%c%d,&data1, &op, &data2);scanf(%d%c%d,&data1, &op, &data2);printf(%d%c%d = %dn, printf(%d%c%d = %dn, data1, op, data2, data1+data2); data1, op, data2, data1+data2); #include #include main()main() int
24、a; int a; char b; char b; float c; float c; printf(Please input an integer:); printf(Please input an integer:); scanf(%d, &a); scanf(%d, &a); printf(integer: %dn, a); printf(integer: %dn, a); printf(Please input a character:); printf(Please input a character:); scanf(%c, &b); scanf(%c, &b); printf(c
25、haracter: %cn, b); printf(character: %cn, b); printf(Please input a float number:); printf(Please input a float number:); scanf(%f, &c); scanf(%f, &c); printf(float: %fn, c); printf(float: %fn, c); Please input an integer:12 Please input an character :a Please input a float number:3.5 integer:12char
26、acter :afloat number:3.500000#include #include main()main() int a; int a; char b; char b; float c; float c; printf(Please input an integer:); printf(Please input an integer:); scanf(%d, &a); scanf(%d, &a); printf(integer: %dn, a); printf(integer: %dn, a); printf(Please input a character:); printf(Pl
27、ease input a character:); scanf(%c, &b); scanf(%c, &b); printf(character: %cn, b); printf(character: %cn, b); printf(Please input a float number:); printf(Please input a float number:); scanf(%f, &c); scanf(%f, &c); printf(float: %fn, c); printf(float: %fn, c); #include #include main()main() int a;
28、int a; char b; char b; float c; float c; printf(Please input an integer:); printf(Please input an integer:); scanf(%d, &a); scanf(%d, &a); printf(integer: %dn, a); printf(integer: %dn, a); printf(Please input a character:); printf(Please input a character:); getchar(); getchar(); / /* *将存于缓冲区中的回车字符读
29、入,避免被后面的变量作为有将存于缓冲区中的回车字符读入,避免被后面的变量作为有效字符读入效字符读入* */ / scanf(%c, &b); scanf(%c, &b); printf(character: %cn, b); printf(character: %cn, b); printf(Please input a float number:); printf(Please input a float number:); scanf(%f, &c); scanf(%f, &c); printf(float: %fn, c); printf(float: %fn, c); Please i
30、nput an integer: 12 Please input an character : a Please input a float number: 3.5 integer:12character :afloat number:3.500000#include #include main()main() int a; int a; char b; char b; float c; float c; printf(Please input an integer:); printf(Please input an integer:); scanf(%d, &a); scanf(%d, &a
31、); printf(integer: %dn, a); printf(integer: %dn, a); printf(Please input a character:); printf(Please input a character:); scanf(“ %c”, &b); / scanf(“ %c”, &b); /* *第第2 2种解决方案种解决方案: :在在%c%c前加一个空格前加一个空格* */ / printf(character: %cn, b); printf(character: %cn, b); printf(Please input a float number:); printf(Please input a float number:); scanf(%f, &c); scanf(%f, &c); printf(float: %fn, c); printf(float: %fn, c); scanf(%d,%fn,&a,&b); scanf(%d,%f,a,b); scanf(%7.2f,&a);几点忠告 不要拘泥于细节 不要死记硬背 在使用中慢慢掌握Questions and answersQuestions and answers
限制150内