程序运行结果如下: nm1=123,numl=口□123,num1=123口,num1=123 num2=123456num2=囗囗123456num2=123456 numl=16908411 对于整数,还可用八进制、无符号形式(%0(小写字 母o)和十六进制、无符号形式(%X)输出。对于 unsigned型数据,也可用‰u格式符,以十进制、无符号 形式输出 所谓无符号形式是指,不论正数还是负数,系统 律当作无符号整数来输出。例如, printf("9d%,%Xn",-
程序运行结果如下: num1=123,num1=□□123,num1=123□□,num1=123 num2=123456,num2=□□123456,num2=123456 num1=16908411 对于整数,还可用八进制、无符号形式(%o(小写字 母o))和十六进制、无符号形式(%x)输出。对于 unsigned型数据,也可用%u格式符,以十进制、无符号 形式输出。 所谓无符号形式是指,不论正数还是负数,系统一 律当作无符号整数来输出。例如,printf("%d,%o,%x\n",- 1,-1,-1);
2.类型转换字符F—以小数形式按系统默认的宽度,输出单精度 和双精度实数 案例33]类型转换字符使用 /*案例代码文件名:AL33C。*/ maint { float f=123456; doubled d2 dl=11111 d2=2222222222222222; printf( %of, %12f, %12. 2f,%0-12. 2f,%.2fn" f,ffff); printf( d1+d2=%fn", d1+d2) 「程序演示 程序运行结果如下: 123456001,口123456001,口口口口口12346,123.46口口口口口,12346 dl+d2=3333333333333.333010
2.类型转换字符f──以小数形式、按系统默认的宽度,输出单精度 和双精度实数。 [案例3.3] 类型转换字符f的使用。 /*案例代码文件名:AL3_3.C。*/ main( ) {float f=123.456; double d1,d2; d1=1111111111111.111111111; d2=2222222222222.222222222; printf("%f,%12f,%12.2f,%-12.2f,%.2f\n",f,f,f,f,f); printf("d1+d2=%f\n",d1+d2); } [程序演示] 程序运行结果如下: 123.456001,□□123.456001,□□□□□□123.46,123.46□□□□□□,123.46 d1+d2=3333333333333.333010
本案例程序的输出结果中,数据123.456001和 333333333333010中的001和010都是无意义的,因为 它们超出了有效数字的范围。 对于实数,也可使用格式符%e,以标准指数形式输 出:尾数中的整数部分大于等于1、小于10,小数点占 位,尾数中的小数部分占5位;指数部分占4位(如e-03) 其中e占一位,指数符号占一位,指数占2位,共计11位。 也可使用格式符%g,让系统根据数值的大小,自动 选择%馘%e格式、且不输出无意义的零
本 案 例 程 序 的 输 出 结 果 中 , 数 据 123.456001 和 3333333333333.333010中的001和010都是无意义的,因为 它们超出了有效数字的范围。 对于实数,也可使用格式符%e,以标准指数形式输 出:尾数中的整数部分大于等于1、小于10,小数点占一 位,尾数中的小数部分占5位;指数部分占4位(如e-03), 其中e占一位,指数符号占一位,指数占2位,共计11位。 也可使用格式符%g,让系统根据数值的大小,自动 选择%f或%e格式、且不输出无意义的零
3.类型转换字符c—输出一个字符(只占一列宽度)。 案例34]类型转换字符c的使用 /*案例代码文件名:AL34C。* main (char=A int 1=65 printf("c=%c, %5c, %dn"c, c, c) printf("i%od, %c", 1, 1) 程序运行结果如下 c=A.口囗囗囗A65 i=65,A 「程序演示 需要强调的是:在C语言中,整数可以用字符形式输 出,字符数据也可以用整数形式输出。将整数用字符形 式输出时,系统首先求该数与256的余数,然后将余数作 为ASCI码,转换成相应的字符输出
3.类型转换字符c──输出一个字符(只占一列宽度)。 [案例3.4] 类型转换字符c的使用。 /*案例代码文件名:AL3_4.C。*/ main() {char c='A'; int i=65; printf("c=%c,%5c,%d\n",c,c,c); printf("i=%d,%c",i,i); } 程序运行结果如下: c=A,□□□□A,65 i=65,A [程序演示] 需要强调的是:在C语言中,整数可以用字符形式输 出,字符数据也可以用整数形式输出。将整数用字符形 式输出时,系统首先求该数与256的余数,然后将余数作 为ASCII码,转换成相应的字符输出
4.类型转换字符输出一个字符串。 [案例3.5]类型转换字符s的使用。 /*案例代码文件名:AL310C。*/ main printf( %s, %05s, %0-10s""Internet","Internet","Internet") printf( %105s, %0-10.5s, %04.5sn","Internet","Internet" Internet") 程序演示 程序运行结果如下 Internet internet Internet口□口口口口 Inter Inter口口囗口 Inter 注意:系统输出字符和字符串时,不输出单引号和双引号
4.类型转换字符s──输出一个字符串。 [案例3.5] 类型转换字符s的使用。 /*案例代码文件名:AL3_10.C。*/ main() {printf("%s,%5s,%-10s","Internet","Internet","Internet"); printf("%10.5s,%-10.5s,%4.5s\n","Internet","Internet","Internet"); } [程序演示] 程序运行结果如下: Internet,Internet,Internet□□,□□□□□Inter,Inter□□□□□,Inter 注意:系统输出字符和字符串时,不输出单引号和双引号