03章 c语言顺序结构程序设计.ppt
文本预览下载声明
3.3.1 格式化输出——printf()函数 printf()函数的作用:按照指定的格式向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。 一.printf()函数的一般格式如下: printf(“输出格式”,输出项1,输出项2….,输出项n); 函数的参数包括两部分: 1.“输出格式”是用双引号括起来的字符串,包括下列两种信息: 1)格式说明,由%和格式字符组成,如%d,%f.其作用是将要输出的数据转换为指定的格式输出,格式说明总是由%字符开头。 2)普通字符,既原样输出的字符,它包括可打印的字符和不可打印的字符(转义字符)两种。 1.d格式符──以带符号的十进制整数形式输出。 有以下几种用法: 1)%d。按整数实际长度输出。如: int i=1234; printf(“%d”,i); 的输出结果为: 1234 2)%-md(%md).m为正整数,用于指定输出位数。 如果数据实际位数小于m,则左端补空格(%-md是 右端补空格);若大于m,则按实际位数输出。如: int i=1234; printf(“%6d, %-6d, %3d”,i,i,i); 的输出结果为: □□ 1234,1234 □□ ,1234 3.x格式符(或X格式符) 用于将输出数据视为无符号整型数据,并以16进制形式输出。与o格式符相同,符号位也作为16进制数的一部分输出。所以输出数字不带符号。对于x和 X分别用字符a——f和A——F表示十进制数字10-15。 如:int k=0x16,j=15; long p=-1L; printf(“%x,%-4x,%6lX”,k,j,p); 的输出结果为: 16,f □□ □,FFFFFFFF 说明: 0x16为16进制数,按原数不带符号输出。 15为10进制数,按16进制输出,为f. -1L为长整型,32位,故按补码输出32位。 5.c格式符──输出一个字符(只占一列宽度) 一个整数,只要在0-256之间,也可以用字符形式输出,所输出的是ASCII码值为此数值的字符。反之,一个字符也可以用整数形式输出,输出的是该字符的ASCII码值。 6.s格式符──输出一个字符串 用于输出一个字符串。有以下几种用法: 1)%s,按实际字符串输出,如: printf(“%s”, “ example ”); 的输出结果为: example ( “ example ”代表字符串 ) 2)%ms(%-ms)m为正整数,如果字符串字符个数大于m, 则按字符串实际输出,否则,左端补空格(%-ms右端补) 3)%m.ns(%-m.ns)取字符串左端n个字符,按m列输出, 若nm,则左端补空格,( %-m.ns右端补空格)否则, m取为n值,保证n个字符正常输出。 7.f格式符 以小数形式、按系统默认的宽度,输出单精度和双精度实数。 1)%f, 实数整数部分如数输出,小数部分输出6位,对于单精度实数,有效位数为7(包括整数和小数),对于双精度实数,有效位数为16位。 2)%m.nf(%-m.nf), 指定输出列宽为m列(包括小数点),小数占n列,若实际数字位数小于m,则左端补空格,否则,按实际位数输出,数字截取时有四舍五入情况。 Printf函数格式字符 使用说明 (1)printf()可以输出常量、变量和表达式的值。但格式控制中的格式说明符,必须按从左到右的顺序,与输出项表中的每个数据一一对应,否则出错。 例如,printf(str=%s, f=%d, i=%f\n, Internet, 1.0 / 2.0, 3 + 5, CHINA);是错误的。 (2)格式字符x、e、g可以用小写字母,也可以用大写字母。使用大写字母时,输出数据中包含的字母也大写。除了x、e、g格式字符外,其它格式字符必须用小写字母。 例如,%f不能写成%F。 (3)格式字符紧跟在“%”后面就作为格式字符,否则将作为普通字符使用(原样输出)。 例如,“printf(”c=%c, f=%f\n“, c, f);”中的第一个c和f,都是普通字符。 (4)如需输出字符“%”,则应该在“输出格式”字符串中用连续两个%表示。如: printf(“%f%%”,1.0/3); 输出结果为:0.333333% 3.2 单个字符的输出──putchar()函数 函数putc
显示全部