c primer plus--数据和C(第3章)--习题
以前觉得看书不如看视频教程,但随着学习倒发觉视频不如书来得细致,比如打印sizeof()函数时用的%u,以前看视频时老师也只说要用%u,也不太清楚为什么要用这个,只知道记住就得了。虽然视频比较方便,但学着学着就会想知道原理之类的东西,这些天看完本章内容所说此处指unsigned,这才明白缘由。
果然我看书是真的慢(手动狗头)
第三章 数据和C----3.11 编程练习
1.通过试验的方法(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。
(此题在本章的3.4.6小节“四、浮点数的上溢和下溢”中有例,故略过)
2.编写一个程序,要求输入一个ASCII码值(如66),然后输出相应的字符。
1 #include <stdio.h> 2 int main(void) 3 { 4 int asc_num; 5 char asc_sign; 6 printf("Please get a number of ascii: "); 7 scanf("%d", &asc_num); 8 asc_sign = asc_num; 9 printf("%c", asc_sign); 10 return 0; 11 }
3.编写一个程序,发出警报声,并打印下列文字:
Startled by the sudden sound, Sally shouted, "By the Great Pumpkin, what was that ! "
1 #include <stdio.h> 2 int main(void) 3 { 4 printf("\aStartled by the sudden sound, Sally shouted, \"By the Great Pumpkin, what was that! \""); 5 return 0; 6 }
4.编写一个程序,读入一个浮点数,并分别以小数形式和指数形式打印。输出应如同下面格式(实际显示的指数位数也许因系统而不同):
The input is 21.290000 or 2.129000e+001.
1 #include <stdio.h> 2 int main(void) 3 { 4 float float_num; 5 scanf("%f", &float_num); 6 printf("The input is %f or %e .", float_num, float_num); 7 return 0; 8 }
5.一年约有3.156x10^7 s。编写一个程序,要求输入您的年龄,然后显示该年龄合多少秒。
1 #include <stdio.h> 2 int main(void) 3 { 4 int age; 5 float seconds; 6 scanf("%d", &age); 7 seconds = age*3.156e7; 8 printf("%f", seconds); 9 return 0; 10 }
6.1个水分子的质量约为3.0x10^-23 g,1夸脱水大约有950g。编写一个程序,要求输入水的夸脱数,然后显示这么多水中包含多少个水分子。
1 #include <stdio.h> 2 int main(void) 3 { 4 float quart, water_number; 5 int quality_1 =950; 6 double quality_2 = 3.0*10e-23; 7 scanf("%f", &quart); 8 water_number = quart*quality_1/quality_2; 9 printf("%f", water_number); 10 return 0; 11 }
7.1英寸等于2.54 cm。编写一个程序,要求输入您的身高(以英寸为单位),然后显示该身高值等于多少厘米。
如果您愿意,也可以要求以厘米为单位输入身高,然后以英寸为单位进行显示。
方案一:英寸— >厘米
1 #include <stdio.h> 2 int main(void) 3 { 4 float height; 5 float inch = 2.54; 6 float stature; // stature身高 7 printf("Please input your height: "); 8 scanf("%f", &height); 9 stature = height*inch; 10 printf("%f", stature); 11 return 0; 12 }
方案二:厘米— >英寸
1 #include <stdio.h> 2 int main(void) 3 { 4 float height, stature; // height为身高(英寸), stature为身高(厘米) 5 float inch = 2.54; 6 printf("Please input your stature: "); 7 scanf("%f", &stature); 8 height = stature/inch; 9 printf("%f", height); 10 return 0; 11 }

浙公网安备 33010602011771号