1.类型转换字符一以带符号的十进制整数形式输出。 案例3.2]类型转换字符d的使用。 #include“stdio.h” #include“conio.h” void main( int numl=123: 1 ong num2=123456; printf("num1=%d,num1=%5d,numl=%-5d,num1=%2d\n", numl,numl,numl,numl); printf("num2=%ld,num2=%8ld,num2=%5ld n", num2,num2,num2); printf("num1=%ld n",numl); getch(); 2024/10/28 11
2024/10/28 11 1.类型转换字符d──以带符号的十进制整数形式输出。 [案例3.2] 类型转换字符d的使用。 #include “stdio.h” #include “conio.h” void main() {int num1=123; long num2=123456; printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n", num1,num1,num1,num1); printf("num2=%ld,num2=%8ld,num2=%5ld\n", num2,num2,num2); printf("num1=%ld\n",num1); getch(); }
程序运行结果如下: numl=123,numl=□☐123,numl=123☐☐,numl=123 num2=123456,num2=☐☐123456,num2=123456 num1=16908411 类型匹配错误, 输出结果是随机的。 (1)格式指示符,必须与输出项的数据类型一致, 否侧会引起输出错误。 (2)对于整数,还可用%0(八进制无符号形式)、 %x(十六进制无符号形式)、%u(十进制无符号形式) 输出。 2024/10/28 12
2024/10/28 12 程序运行结果如下: num1=123,num1=□□123,num1=123□□,num1=123 num2=123456,num2=□□123456,num2=123456 num1=16908411 (1)格式指示符,必须与输出项的数据类型一致, 否则会引起输出错误。 (2)对于整数,还可用%o(八进制无符号形式)、 %x(十六进制无符号形式)、 %u(十进制无符号形式) 输出。 类型匹配错误, 输出结果是随机的
2.类型转换字符一以小数形式输出实数。 案例3.3]类型转换字符的使用。 #include“stdio.h include“conio.h” void main() {float f=123.456; doubled1.d2: d1=1111111111111.111111111; d2=2222222222222.222222222: printf("%f,%12f,%12.2f,%-12.2f,%.2fn",£f£f,f); printf("d1 d2=%fn",dl d2); getch(); 2024/10/28 13
2024/10/28 13 2.类型转换字符f──以小数形式输出实数。 [案例3.3] 类型转换字符f的使用。 #include “stdio.h” #include “conio.h” void main( ) { float f = 123.456; doubled1,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); getch(); }
程序运行结果如下: 123.456001,☐☐123.456001,☐☐☐☐☐☐123.46, 123.46☐☐☐☐☐☐,123.46 d1+d2=3333333333333.333010 提示:对于实数 也可使用%e,以标准指数形式输出; 或使用%g,让系统根据数值的大小,自动选择 %f或%e格式、且不输出无意义的零。 2024/10/28 14
2024/10/28 14 程序运行结果如下: 123.456001,□□123.456001,□□□□□□123.46, 123.46□□□□□□,123.46 d1+d2=3333333333333.333010 提示:对于实数 也可使用%e,以标准指数形式输出; 或使用%g,让系统根据数值的大小,自动选择 %f或%e格式、且不输出无意义的零