高级语言程序设计作业2
高级语言程序设计作业2
- 作业课程:2025高级语言程序设计(福州大学)
- 作业要求:高级语言程序设计第二次作业
- 学号:052406103
- 姓名:叶银珍
作业内容
编写并运行书本第3章3.11 编程练习题目中的第1题~第8题
- 第一题
#include<stdio.h>
#include<float.h>
int main(void){
int a=2147483647; //int的最大取值
float b=FLT_MAX;
float c=FLT_MIN;
printf("%d %d\n",a,a+1); //输出a,a+1观察整数上溢 整数上溢重新从int表示的最小值-2147483647开始计数
printf("%e %e\n",b,b*100.0f); //b*100.0f后浮点数上溢 浮点数上溢显示inf
printf("%e %e\n",c,c/100.0f); //c/100.0f后浮点数下溢 浮点数下溢使输出小于真正c/100的值
}
- 运行&结果

- 第二题
#include <stdio.h>
int main(void){
int ASCII;
printf("请输入一个ASCII值:" );
scanf("%d",&ASCII);
printf("\nASCII值对应字符为:%c",ASCII);
return 0;
}
- 运行&结果

- 第三题
#include<stdio.h>
int main(void){
printf("\a");
printf("Startled by the sudden sound, Sally shouted,\n");
printf("\"By the Great Pumpkin,what was that!\"");
return 0;
}
- 运行&结果

- 第四题
#include<stdio.h>
int main(void){
float a;
printf("Enter a floating-point value: ");
scanf("%f",&a);
printf("fixed-ponit notation: %f\n",a);
printf("exponential notation: %e\n",a);
printf("p notation: %a\n",a);
return 0;
}
- 运行&结果

- 第五题
#include <stdio.h>
#define YEAR 3.156e7
int main(void){
int year;
printf("请输入你的年龄:" );
scanf("%d",&year);
printf("\n你已经过了%e秒",year*YEAR);
return 0;
}
- 运行&结果

- 第六题
#include <stdio.h>
#define M 3e-23
#define QUART 950.0
int main(void){
float Q;
printf("请输入水的夸脱数:" );
scanf("%f",&Q);
printf("\n共有水分子%e个",Q*QUART/M);
return 0;
}
- 运行&结果

- 第七题
#include <stdio.h>
#define INCH 2.54
int main(void){
float h;
printf("请输入身高(in):" );
scanf("%f",&h);
printf("你的身高为:%-6.2fcm",h*INCH);
return 0;
}
- 运行&结果

- 第八题
#include <stdio.h>
int main(void){
int n;
printf("请输入杯数:" );
scanf("%d",&n);
printf("%d杯=%f品脱=%d盎司=%d汤勺=%d茶勺\n",n,n/2.0,n*8,n*16,n*48);
return 0;
}
- 运行&结果

程序清单3.13.53,.83.9结果输出
- 3.1

- 3.2

- 3.3

- 3.4

- 3.5

- 3.8

- 3.9

运行程序代码截图
(1)

(2)

- 改进
最后一行输出不为 0.000053 can be written 5.320000e-05
尝试改变环境再次运行结果如下:

(3)

(4)

(5)
设计一个程序完成以下内容的不同形式输出。
- 按小数形式输出实数:%f 由系统指定宽度(6位小数), %m.nf 指定宽度m,小数位数n,右靠齐, %-m.nf 指定宽度m,小数位数n,左靠齐
- 用于输出字符串:%s 不指定宽度, %-ms 指定宽度,左靠齐, %ms 指定宽度,右靠齐, %m.ns 指定宽度m,只取左端n个字符, 右靠齐, %-m.ns 指定宽度m,只取左端n个字符, 左靠齐。
- 代码
#include <stdio.h>
#define PI 3.1415926
#define X "abcdefghijklmnopqrstuvwxyz"
int main(void){
int m,n;
printf("输入指定宽度m,小数位数n:");
scanf("%d%d",&m,&n);
printf("[%f]\n",PI);
printf("[%*.*f]\n",m,n,PI);
printf("[%-*.*f]\n",m,n,PI);
printf("输入指定宽度m,取字符数n:");
scanf("%d%d",&m,&n);
printf("[%s]\n",X);
printf("[%*s] [%-*s]\n",m,X,m,X);
printf("[%*.*s] [%-*.*s]\n",m,n,X,m,n,X);
return 0;
}
- 运行结果

总结&思考
- 学习了
printf()和scanf()的使用方法,掌握不同数据类型的不同形式输出 - 学习了
float.hlimits.h中明示常量的用法 - 思考根据不同实际问题选取数据不同数据类型

浙公网安备 33010602011771号