《C Primer Plus》(第六版)答案(3.11)

《C Primer Plus》(第六版)答案(3.11)为使用 C Primer Plus 学习 C 的初学者准备的 通过测试 编写有问题的程序 观察系统如何处理整数上溢 浮点数上溢和浮点数下溢的情况 include stdio h int main int argc char const argv 32 位的有符号整型的上界是 2 32 1 stdio h

大家好,我是讯享网,很高兴认识大家。

为使用《C Primer Plus》学习C的初学者准备的。


讯享网

  1. 通过测试(编写有问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。
#include <stdio.h> int main(int argc, char const argv) { /*32位的有符号整型的上界是2^32-1() 再加一就溢出了(想要深入了解可以看看计算机组成原理)*/ int a = ; a = a + 1; printf("%d\n", a); /*10e100次方上溢 0.00000000012下溢*/ float b = 10e100; printf("%f", b); b = 0.00000000012; printf(" %f", b); return 0; } 

讯享网
  1. 编写一个程序,要求提示输入ASCII码,然后打印输入的字符。
讯享网#include <stdio.h> int main(int argc, char const argv) { char c; printf("Input a number:"); scanf("%d", &c); //%c表示字符格式输出 printf("%d in ASCII is %c.", c, c); return 0; } 
  1. 编写一个程序,发出一声警报。然后打印下面的文本。
    文本图片
#include <stdio.h> int main(int argc, char const argv) { /*转义字符\a代表警报*/ printf("\a"); printf("Started by the sudden sound, Sally shouted,\n"); /*想要输出"得使用转义字符*/ printf("\"By the Great Pumpkin, what was that!\""); return 0; } 
  1. 编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式。然后,如果系统支持,再打印成p计数法(十六进制计数法)。按以下格式输出(实际显示指数位数可能因系统而异)。
    输出格式
讯享网#include <stdio.h> int main(int argc, char const argv) { float f; printf("Enter a float-point value:"); scanf("%f", &f); printf("fixed-point notation:%f\n", f); printf("exponential notation:%e\n", f); printf("p notation:%a\n", f); return 0; } 
  1. 一年大约有3.156*107秒。编写一个程序,提示用户输出年龄,然后输出对应的秒数。
#include <stdio.h> int main(int argc, char const argv) { /*用float可能会溢出(我没多想,你可以试试)*/ double d = 3.165e7; int age; printf("Input your age:"); scanf("%d", &age); /*整型和浮点型进行运算会自动转成浮点型*/ printf("The result is %.0lfs.", age*d); return 0; } 
  1. 1个水分子的质量约为3.0*10-23克。1夸脱水大约是950克。编写一个程序,提示用户输入水的夸脱数,并显示水分子的数量。
讯享网#include <stdio.h> int main(int argc, char const argv) { double d = 3.0e-23; double a; printf("输入水的夸脱数:"); scanf("%lf", &a); printf("%lf夸脱水中水分子的数量是:%.0lf", a, (a*950)/d); return 0; } 
  1. 1英寸相当于2.54厘米。编写一个程序,提示用户输入身高(英寸),然后以厘米为单位显示身高。
#include <stdio.h> int main(int argc, char const argv) { float f; printf("输入身高(英寸):"); scanf("%f", &f); printf("你的身高是%.2f(cm)", f*2.54); return 0; } 
  1. 在美国的体积测量系统中,1品脱等于2杯,一杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。编写一个程序,提示用户输入杯数,并以品脱、盎司、汤勺、茶勺显示等价容量。
讯享网#include <stdio.h> int main(int argc, char const argv) { float f; printf("输入杯数:"); scanf("%f", &f); float pint = f / 2;//品脱 float ounce = f * 8;//盎司 float spoon = ounce * 2;//汤勺 float s = spoon * 3;//药勺 不知道英文是什么 就这样命名吧 printf("品脱:%.1f 盎司:%.1f 汤勺:%.1f 药勺:%.1f", pint, ounce, spoon, s); return 0; } 
小讯
上一篇 2025-01-18 14:49
下一篇 2025-03-03 12:48

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/128765.html