printf和scanf函数用法规则.ppt
《printf和scanf函数用法规则.ppt》由会员分享,可在线阅读,更多相关《printf和scanf函数用法规则.ppt(25页珍藏版)》请在冰豆网上搜索。
2022/11/61ProgramDesigninCLanguagePage功能:
通过标准输出设备(如显示器)输出功能:
通过标准输出设备(如显示器)输出一组数据。
一组数据。
输出形式由输出形式由“格式控制格式控制”字符串规定。
字符串规定。
格式输出:
格式输出:
printf()函数和函数和scanf()函数函数一般形式:
一般形式:
printf(“格式控制字符串格式控制字符串”,输出表列,输出表列);数据输入输出数据输入输出printf函数是一个标准库函数,它的函数原型在头函数是一个标准库函数,它的函数原型在头文件文件“stdio.h”中。
中。
1.printf()函数函数2022/11/62ProgramDesigninCLanguagePage格式控制格式控制:
由由双引号双引号括起来的字符串,用于指定要输出括起来的字符串,用于指定要输出的数据的格式。
的数据的格式。
2)格式说明:
用来指定需输出数据的输出格式的,)格式说明:
用来指定需输出数据的输出格式的,其形式为:
其形式为:
%格式字符格式字符格式字符用以说明输出数据的类型,形式,长度,格式字符用以说明输出数据的类型,形式,长度,小数位数等。
小数位数等。
它包括:
它包括:
1)普通字符:
按原样输出的字符;)普通字符:
按原样输出的字符;输出表列输出表列:
需要输出的数据列表,彼此间用需要输出的数据列表,彼此间用逗号逗号分隔。
分隔。
它可是任意合法的表达式。
它可是任意合法的表达式。
格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数2022/11/63ProgramDesigninCLanguagePage用于输出的修饰符用于输出的修饰符格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数2022/11/64ProgramDesigninCLanguagePage用于输出的格式字符用于输出的格式字符格式符功能形式d输出十进制整数%d、%md、%ld、%mldo以八进制形式输出整数%o、%mo、%lox以十六进制形式输出整数%x、%mx、%lxu以十进制形式输出一个无符号的数%uc输出一个字符%cs输出一个字符串%s、%ms、%m.nsf以小数的形式输出实数%f、%m.nf、%lfe以标准指数的形式输出实数%e、%m.neg根据实数的大小自动按f或e的形式选择输出格式%g格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数2022/11/65ProgramDesigninCLanguagePage例:
格式输出:
例:
格式输出:
printf()函数()函数printf(a+b=%5.2f,c);附加附加格式符格式符格式符格式符输出表列输出表列普通字符普通字符格式说明符格式说明符格式控制格式控制格式输出:
格式输出:
printf()函数和函数和scanf()函数函数2022/11/66ProgramDesigninCLanguagePage
(1)d格式字符格式字符d:
按整型数据的实际长度输出:
按整型数据的实际长度输出md:
m为指定的输出长度。
如果数据位小于为指定的输出长度。
如果数据位小于m,则左端补以空格则左端补以空格;大于大于m,则按实际位输出。
,则按实际位输出。
例:
例:
printf(“%4d,%4d”,a,b);若若a=12,b=12345,则输出,则输出12,12345ld:
输出长整型数据。
:
输出长整型数据。
dd的输出范围为的输出范围为32768327673276832767,输出超过该,输出超过该范围的整型数就会出错,此时用范围的整型数就会出错,此时用%ld%ld输出。
输出。
其输出格式和功能与其输出格式和功能与%d%d相同,如:
相同,如:
8ld8ld格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数2022/11/67ProgramDesigninCLanguagePage
(2)o格式字符格式字符以八进制数形式输出整数,且不带符号。
以八进制数形式输出整数,且不带符号。
对于长整数可用对于长整数可用“lo”输出。
功能同十进制输出。
输出。
功能同十进制输出。
(3)x格式字符格式字符以十六进制数形式输出整数,且不带符号。
以十六进制数形式输出整数,且不带符号。
对于长整数可用对于长整数可用“lx”输出。
功能同十进制输出。
输出。
功能同十进制输出。
(4)u格式字符格式字符用来输出用来输出unsigned型数据,即无符号数,输出十型数据,即无符号数,输出十进制数。
进制数。
用用oo,%x%x输出负数时会发生错误。
输出负数时会发生错误。
格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数2022/11/68ProgramDesigninCLanguagePage(5)c格式字符格式字符一个整数,如果在一个整数,如果在02550255之间,也可用字符形式输出,之间,也可用字符形式输出,系统会将该整数转换成相对应的系统会将该整数转换成相对应的ASCIIASCII码字符;同时,一码字符;同时,一字符也可以用整数形式输出。
字符也可以用整数形式输出。
例:
例:
charc=a;printf(“%c”,c);用来输出一个字符。
用来输出一个字符。
inta=65;printf(“%c”,a);intc=A;printf(“%d”,c);输出输出A输出输出65如如:
printf(“%3c”,c),则输出则输出c格式字符也可以指定输出字数宽度格式字符也可以指定输出字数宽度A格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数2022/11/69ProgramDesigninCLanguagePage(6)s格式字符格式字符s:
用来输出一个字符串:
用来输出一个字符串例:
例:
printf(“%s”,“Hello!
”);输出输出Hello!
,!
,不包括不包括“”ms:
输出的字符串占:
输出的字符串占m列。
如果字符串长度小于列。
如果字符串长度小于m,则左端补以空格;长度大于则左端补以空格;长度大于m,则输出整个字符串。
,则输出整个字符串。
-ms:
如果串长小于:
如果串长小于m,则字符串向左靠,右补空格,则字符串向左靠,右补空格,其余同上。
其余同上。
m.ns:
输出的字符串占:
输出的字符串占m列列,但只取字符串中左端但只取字符串中左端n个个字符,这字符,这n个字符输出在个字符输出在m列的右侧,左端补空格。
列的右侧,左端补空格。
-m.ns:
其他意义同:
其他意义同m.ns,右补空格。
,右补空格。
格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数例:
例:
printf(“%3s”,“Hello!
”);输出输出Hello!
printf(“%7s”,“Hello!
”);输出输出Hello!
2022/11/610ProgramDesigninCLanguagePage(7)f格式字符格式字符f:
不指定字段宽度,整数部分全部输出,小数:
不指定字段宽度,整数部分全部输出,小数部分输出部分输出6位。
位。
m.nf:
指定输出数据占:
指定输出数据占m列,其中有列,其中有n位小数。
位小数。
若数值长度小于若数值长度小于m,则左端补以空格。
,则左端补以空格。
-m.nf:
功能同上,右端补以空格。
:
功能同上,右端补以空格。
(8)e格式字符格式字符e:
不指定字段宽度,系统自动给出:
不指定字段宽度,系统自动给出6位小数,指位小数,指数部分占数部分占4位。
其中位。
其中“e”占占1位,指数符号占位,指数符号占1位,位,指数占指数占2位。
位。
格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数2022/11/611ProgramDesigninCLanguagePage例:
例:
printf(“%e”,123.456);输出:
1.234560e+0266位小数部分位小数部分44位指数部分位指数部分m.ne,-m.ne,me:
中:
中m,-的意义和前相同,的意义和前相同,n是指数据的小数部分输出的位数。
是指数据的小数部分输出的位数。
(9)g格式字符格式字符用来输出实数,根据数值大小,自动选用来输出实数,根据数值大小,自动选f或或e格式,且不输出无意义的零。
格式,且不输出无意义的零。
格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数2022/11/612ProgramDesigninCLanguagePage#includevoidmain()inta=1234;floatf1=12.34567,f2=678.9;printf
(1)%d,%6d,%-6d,%2d;n,a,a,a,a);printf
(2)%f,%10.4f,%3.2f;n,f1,f1,f1);printf(3)%e,%e;n,f1,f2);printf(4)%8e,%14e;n,f1,f1);printf(5)%10.7e,%10.3e;n,f1,f1);实例:
实例:
程序运行结果:
程序运行结果:
1)1234,1234,1234,1234;2)12.345670,12.3457,12.35;3)1.23457e+01,6.78900e+02;4)1.23457e+01,1.23457e+01;5)1.234567e+01,1.23e+01;2022/11/613ProgramDesigninCLanguagePage2、格式输入:
格式输入:
scanf()函数函数功能:
从终端输入任何类型的多个数据功能:
从终端输入任何类型的多个数据格式:
格式:
scanf(格式控制格式控制,地址表列,地址表列);格式控制格式控制:
由双引号括起来的字符串,用于指定要输入由双引号括起来的字符串,用于指定要输入的数据的格式。
的数据的格式。
1)普通字符:
按原样输入的字符;)普通字符:
按原样输入的字符;2)格式说明:
用来指定需输入数据的输入格式的,)格式说明:
用来指定需输入数据的输入格式的,其形式为:
其形式为:
%格式字符格式字符格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数地址表列地址表列:
由若干个变量地址组成的表列。
由若干个变量地址组成的表列。
地址是由地址是由”运算得到的。
运算得到的。
“”是取址运算符,单目运算符,右结合性。
是取址运算符,单目运算符,右结合性。
2022/11/614ProgramDesigninCLanguagePage例:
例:
&a,&chr,&i,&a,&chr,&i,分别表示变量分别表示变量a,chr,ia,chr,i的地址,该地址的地址,该地址是在编译连接时系统分配给变量是在编译连接时系统分配给变量a,chr,ia,chr,i的地址。
的地址。
格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数用于输入的修饰符2022/11/615ProgramDesigninCLanguagePage用于输入的格式字符格式输出:
格式输出:
printf()printf()函数和函数和scanf()scanf()函数函数2022/11/616ProgramDesigninCLanguagePage格式输入的使用与注意:
格式输入的使用与注意:
输入数据时采用的分隔符应与格式控制中的分隔符一致。
输入数据时采用的分隔符应与格式控制中的分隔符一致。
例例1:
1:
scanf(%d%f%d,&a,&b,&c);格式符中无普通字符时,可用空格、格式符中无普通字符时,可用空格、TabTab键、回车键作分隔符。
键、回车键作分隔符。
如:
如:
123.