正在加载图片...
2.12指出下列内容哪些是C语言的整型常量,哪些是实型常量,哪些两者都不是。 E-4A423 OxABCL 32E31087 KL 0x12.511E 056L 0 答:整型常量:1E-4087056L 实型常量:.32E310123..0 2.13在你的机器上运行下面的程序,分析它的输出结果,解析其原因 #includestdio. int mainO int n =10 while(n>0) /*当n>0时输出n的值*/ printf("n =%d\n, n n*n) 答:在 Turbo C下运行后输出结果是: n=100 n=10000 可见,由于程序中用n*n不断地改变了整型变量n的值,使得当n的值超出了n的表示 范围时,其值被“反卷”为负数,从而结束程序。由此可见,整型数超出表示范围时,该编 译器并不视为错误 2.14在你的机器上运行下面的程序,分析它的输出结果,解释其原因 #include<stdio. h> int maino float x =10.0 while (x>0) 答:在 Turbo C下运行后输出结果是: X=1e+08 Floating point error: Overflow. 可见,由于程序中用x*x不断地改变了实型变量x的值,使得当x的值超出了x的表示 范围时,报告错误,从而结束程序。由此可见,实型数超出表示范围时,该编译器视为错误, 并且非正常终止程序运行。 2.15分析下列程序的输出结果 #include<stdio. h> int maino char ch =A printf(" char(%c)=%c, A=%c\n", ch, ch, 'A')2.12 指出下列内容哪些是 C 语言的整型常量,哪些是实型常量,哪些两者都不是。 1E-4 A423 -E-31 0xABCL .32E31 087 0xL 0x12.5 11E 056L 0123. .0 答:整型常量:1E-4 087 056L 实型常量:.32E31 0123. .0 2.13 在你的机器上运行下面的程序,分析它的输出结果,解析其原因。 #include<stdio.h> int main() { int n = 10; while(n>0) /* 当 n>0 时输出 n 的值 */ printf("n = %d\n",n = n*n); } 答:在 Turbo C 下运行后输出结果是: n = 100 n = 10000 n = -7936 可见,由于程序中用 n*n 不断地改变了整型变量 n 的值,使得当 n 的值超出了 n 的表示 范围时,其值被“反卷”为负数,从而结束程序。由此可见,整型数超出表示范围时,该编 译器并不视为错误。 2.14 在你的机器上运行下面的程序,分析它的输出结果,解释其原因。 #include<stdio.h> int main() { float x = 10.0; while (x>0) printf("x = %g\n",x=x*x); } 答:在 Turbo C 下运行后输出结果是: x = 100 x = 10000 x = 1e+08 x = 1e+16 x = 1e+32 Floating point error:Overflow. 可见,由于程序中用 x*x 不断地改变了实型变量 x 的值,使得当 x 的值超出了 x 的表示 范围时,报告错误,从而结束程序。由此可见,实型数超出表示范围时,该编译器视为错误, 并且非正常终止程序运行。 2.15 分析下列程序的输出结果: #include<stdio.h> int main() { char ch = 'A'; printf("char(%c) = %c, A = %c\n",ch,ch,'A');
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有