数据的输入与输出(二)Printf语句补充长度修饰符h和l长度修饰符l:对于整型数据,如%ld、%lo等分别指十进制长整型、八进制长整型;对于实型数据来说,%le、%lf是指double型长度修饰符h:只能用于整型数据,表示短整型,如%hdPrintf语句补充Printf语句中*的使用在%后加上“*”,且下一个参数必须是整型,在输出项中指定该整型数据的宽度。#includeMain(){inta,b;a=5;b=123;printf(“[%*d]”,a,b);}[123]输入函数scanf一:scanf函数的功能输入数据,具体地说,它是按照格式参数的要求,从键盘上把数据传送到地址参数所指定的内存空间中。二:一般形式:scanf(格式控制参数,地址1,地址2,…)(一)地址参数地址参数是通过对变量进行取地址运算得到的,形式如下:&+变量名,例如:&a,即在变量句前加上取地址运算符“&”即可得到这些变量的地址。(二)格式控制参数两种成分:格式说明符、输入分隔符main(){inta,b;a=2;b=&a;printf("%x\n",b);}ff4d格式说明符和printf()函数中的格式说明符相似,以“%“开始,以1个格式字符结束,中间可插入修饰符。具体见书本P49页表4-3。如scanf(“%d%d%d”,&a,&b,&c);//a=1,b=2,c=3输入:123123哪一种是正确的输入?还可以怎么输入?scanf(“%d%d%d”,&a,&b,&c);不含分隔符的格式控制部分,输入数据时,两个数据之间以一个或多个空格、用Tab键或回车键分隔。格式控制说明符在%和格式字符之间可插入附加的格式说明符。字符说明l用于输入长整型数据(可用%ld、%lo、%lx)以及double型数据(用%lf或%le)h用于输入短整型数据(可用%hd、%ho、%hx)m(正整数)域宽,指定输入数据所占宽度(列数)*表示本输入项在读入后不赋给相应的变量“*”的使用如scanf(“%d%*c%d””,&a,&b);输入2+3↙“+”被忽略,即%c的作用是跳过1个输入字符。如scanf(“%d%*d%d”,&a,&b);想一想如何输入可以正确的接收输入的信息。a=2b=3123%md域宽控制限制从输入数据数据中接收的字符个数。如希望接收的整数不超过4位,可用下列语句表示:Scanf(“%4d%4d”,&a,&b);a=12b=3456a=1234b=56781234567812345678如果限制接收字符个数大于实际个数,则以实际的数据为准格式控制符中不带域宽,则以分隔符作字符串的结束,反之则按域宽进行截取。不能企图用格式控制来规定输入数据的精度。scanf("%7.2f",&a)×scanf("%f",&a)√分隔符为了把数据项彼此清楚的分隔开,可加入分隔符,这些分隔符可以是格式说明符以外的字符,如:Scanf(“%d,%d,%d”,&a,&b,&c);其中格式控制参数中逗号就是起分隔作用的输入分隔符,输入数据时,用逗号分隔数据。输入:12,34,56Scanf(“%d%d%d”,&a,&b,&c);Scanf(“%d:%d:%d”,&a,&b,&c);12345612:34:56总之,格式控制参数中用什么分隔符,输入时就要相应地用这些分隔符。%c输入字符Main(){inta,b;charc,ch;printf(“enterintaandb:”);scanf(“%d%d”,&a,&b);printf(“entercharcandch”);scanf(“%c%c”,&c,&ch);printf(“a=%db=%d\n”,a,b);printf(“c=%dch=%d\n”,c,ch);}enterintaandb:123456↙entercharcandch:ABa=123b=456c=10ch=65C接收换行符Ch接收字符A分析:输入的数据并不是直接传给变量,而是先存入内存中的缓冲区,按回车键后,scanf()函数再从缓冲区读取数据,如果缓冲区中的数据没有被读完,剩下的数据可供一下个scanf()函数使用。换行符也是一个字符,当输入123456后,123和456被第一个scanf()取走,换行符并没有取走,仍存储在缓冲区中,被第二个scanf()继续使用,传给变量c,再读取字符a传给变量ch,剩下的字符b和换行符仍在缓冲区中。为了避免这个问题,可以使用修饰符“*”,使换行符不赋给任何变量。想一想如何修改?(参看书本P52例4-5)如果第二个scanf()读入的整数,有没有必要用修饰符“*”?字符输入输出函数getchar()/putchar()getchar()和putchar()是一对用于单个字符输入输出的标准函数。一、putchar()函数功能:在终端的当前位置输出一个字符格式:putchar(字符变量)或putchar(‘输出字符’)或putchar(整数)(不大于255)#includemain(){chara,b;a='B';b='o'...