C语言程序设计第二次作业——顺序结构
(一):改错题
1.输出带框文字:在屏幕上输出以下3行信息。
将源代码写入编译器中:
错误信息1:
错误原因:头文件输入错误
改正方法:d与i换位置
错误信息2:
错误原因:输出语句\n后边缺少"
改正方法:在输出语句\n后加"
错误信息3:
错误原因:第二个printf后边没有加分号
改正方法:在第二个printf后加分号
错误信息4:
错误原因:错将main写成了mian
改正方法:将mian改成main
2.计算某个数x的平方赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。注意不要删除源程序中的任何注释。
输入输出示例(假设x的值为3)
输入源程序:
错误信息1:
错误原因:头文件缺少符号和字母
改正方法:将stdio改成stdio.h
错误信息2:
错误原因:输入了三个%d,却只有一个X与之对应
改正方法:在x之前加上y,x
错误信息3:
错误原因:不符合此格式
改正方法:在输出后边加上*/
错误信息4:
错误原因:同上错误信息2
改正方法:在y的前边加上x,x
(二)学习总结
1.不 同的数据类型,在计算机中所占内存大小是不一样的,C语言提供了sizeof运算符,可以获取数据字节数。其基本语法如下:
(1).int类型数据所占的字节大小
源程序
#include <stdio.h>
int main()
{
printf("int: %d字节\n",sizeof(int));
return 0;
}
运行结果:
(2)long类型数据所占的字节大小
源程序
#include <stdio.h>
int main()
{
printf("long: %d字节\n",sizeof(long));
return 0;
}
运行结果:
(3)float类型数据所占的字节大小
源程序
#include <stdio.h>
int main()
{
printf("float: %d字节\n",sizeof(float));
return 0;
}
运行结果:
(4)double类型数据所占的字节大小
源程序
#include <stdio.h>
int main()
{
printf("double: %d字节\n",sizeof(double));
return 0;
}
运行结果:
2.在C语言中,在头文件limits.h中,有关于各种基本数据类型的最大以及最小值的宏定义。例如,int型的最大值为INT_MAX,最小值为INT_MIN。运行下列程序,看一下结果是什么?
(1).int型的最大值为INT_MAX,最小值为INT_MIN。运行下列程序,看一下结果是什么?
(2)修改程序,输出i+1,结果是什么?为什么?
int类型最大值max=-2147483647超过它的最大值,将发生溢出,即整数溢出。整数i就像一个汽车里程指示表,当达到最大值时,它将溢出到起始点(即最小值)。
(3)修改程序输出j-1,结果是什么?为什么?
int类型最小值为2147483648,j-1后整数的值小于它的最小值,当达到最小值时,它将溢出变成最大值。
3.运行下面的程序,输入100 144 64,看看运行结果是什么?为什么?
原因:%o表示八进制整数的格式化形式;%d表示十进制整数的格式化形式;%x表示十六进制整数的格式化形式。输入的是十进制,八进制,和十六进制 但结果输出的都是十进制。
输入的144是八进制数,输出的是十进制数,所以是100;输入的64是十六进制数,输出的是十进制数,所以是100。
4.对本章其他你认为需要进行总结的内容进行总结。
总结:理解变量名与变量值
,正确理解流程图,掌握如何用格式化输入函数scanf输入整型数据和实型数据
掌握如何用格式化输出函数printf输出整型数据和实型数据
在c++中可以找出自己的编译错误,要正确输入格式比如头文件等。并且要有很好的态度去应对问题。
(三)实验总结
1..求整数平均值
(1)题目
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。
输入样例:
1 2 3 4
输出样例:1.求整数平均值
Sum = 10; Average = 2.5
(2)流程图
(3)源代码
#include <stdio.h>
int main(void)
{
int Sum,a,b,c,d;
double Average;
scanf("%d %d %d %d",&a,&b,&c,&d);
Sum=a+b+c+d;
Average=Sum/4.0;
printf("Sum = %d; Average = %.1f",Sum,Average);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:平均数的输出结果为2
原因:一开始写成了Average=Sum/4
解决办法:将其改成Average=Sum/4.0
3.是不是太胖了
(1)题目
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)
(2)流程图
(3)源代码
#include<stdio.h>
int main()
{
double G;
int H;
scanf("%d",&H);
G=(H-100)*0.9*2;
printf("%.1f",G);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:没问题
5计算物体自由下落的距离
(1)题目:一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒2
(2)流程图
(3)源代码
#include<stdio.h>
int main()
{
double height;
int g,t;
g=10,t=3;
height = (1.0/2)*g*t*t;
printf("height = %.2f",height);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:输出结果为0
原因:uploading-image-782987.png
解决办法:uploading-image-860006.png
在1的后边加上.0
9逆序的三位数
(1)题目:程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
(2)流程图:
(3)源代码
#include<stdio.h>
int main()
{
int a,b,c,A,B;
scanf("%d",&A);
a=A/100;
b=A%100/10;
c=A%10;
B=a+b*10+c*100;
printf("%d",B);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:不知道逆序数该怎么办
原因:对求余,取整没有概念,导致思路不清晰。
解决办法:复习老师所讲的课件。
(四)PTA提交列表
顺序结构(1)
顺序结构(2)