第三章 数据和C
编程练习:
- 通过实验的方法(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的的情况。
#include <stdio.h> int main(void) { /* 16位短整形 */ short int a = 32767; printf("a + 1 = %d\n", (short)(a + 1)); /* 32位整形 */ int b = 2147483647; printf("b + 1 = %d\n", b + 1); unsigned int c = 4294967295; printf("c + 1 = %u\n", c + 1); float x = 3.4e38; printf("x = %f\n", x); x = x + 0.01e38; printf("x = %f\n", x); float y = -3.4e38; printf("y = %f\n", y); y = y - 0.01e38; printf("y = %f\n", y); return 0; }
2.编写一个程序,要求输入一个ASCII码值(如 66),然后输出相应的字符
#include <stdio.h> int main(void) { int a; printf("请输入ASCII码值: "); scanf("%d", &a); printf("ASCCII码中%d对应的字字符是:%c\n", a, a); return 0; }
3.编写一个程序,发出警报,并打印下列文字:
Startled by the sudden sound, Sally shouted."By the Great Pumpkin, what was that!"
#include <stdio.h> int main(void) { int a; printf("%c",7); printf("Startled by the sudden sound, Sally shouted."); printf(" \"By the Great Pumpkin, what was that! \"\n/"); return 0; }
4.编写一个程序,读入一个浮点数,并分别以小数形式和指点数形式打印,输出应如同下面格式(实际显示的指数位数也许因系统而不同):
The input is 21.290000 or 2.129000E+001.
#include <stdio.h> int main(void) { float number; printf("Enter a floating-point value: "); scanf("%f", &number); printf("The input is %f or %e.\n", number, number); return 0; }
5.一年约有3.156*10^7s。编写一个程序,要求输入您的年龄,然后显示年龄合多少秒。
#include <stdio.h> int main(void) { float g = 3.156e+7; int age; printf("请输入你的年龄:\n"); scanf("%d", &age); printf("哇噻,您知道吗你来这个世上已有%f秒。\n", (float)age * g); return 0; }
6.一个水分子的质量约为3.0*10^-23g,1夸脱水大约有950g.编写一个程序,要求输入淡水的夸脱数,然后显示这么多水中包含多少水分子。
#include <stdio.h> int main(void) { float quality = 3.0e-23; float g = 950; float quart; printf("请输入水的容量以夸脱为单位:\n"); scanf("%f", &quart); printf("%f 夸脱的水中约有 %e 个水分子。\n", quart, quart*g / quality); return 0; }
7.1英寸等于2.54cm。编写一个程序 ,要求输入您的身高(以英寸为单位),然后显示该身高值等于多少厘米。如果您愿意,也可以要求以厘米为单位输入身高,然后以英寸为单位进行显示。
#include <stdio.h> int main(void) { float height_c; float height_e; float g = 2.54; printf("请输入你的身高,以厘米为单位:\n"); scanf("%f", &height_c); height_e = height_c / g; printf("你的身高转换为英寸为:%f。\n", height_e); printf("请输入你的身高,以英寸为单位:\n"); scanf("%f", &height_e); height_c = height_e * g; printf("你的身高转换为厘米为:%f。\n", height_c); return 0; }
时间: 2024-12-28 17:31:39