(一)改错题
1.错误信息1:
错误原因:stido拼写错误
改正方法:应该将stido改为stdio
错误信息2:
错误原因:基础错误mian
改正方法:将mian改为main
错误信息3:
错误原因:第二个输出后没有;
改正方法:在第二个输出最后加上;
错误信息4:
错误原因:第三个输出少后面的引号"
改正方法:在括号最后加上"
2.错误信息1:
错误原因:<>中应该有.h
改正方法:在stdio后加上.h
错误信息2:
错误原因:/* 输出应该删去
改正方法:删去/* 输出
错误信息3:
错误原因:输出应该为y,x,x
改正方法:将x改为y,x,x
错误信息4:
错误原因:少了个%
改正方法:将d改为%d
错误原信息5:
错误原因:输出应该为x,x,y
改正方法:将y改为x,x,y
错误信息6:无法运行
错误原因:缺少x的赋值
改正方法:添加x=3
错误信息7:
错误原因:不是两行出现的形式
改正方法:在输出的引号里的末尾处加上\n
(二)学习总结
1(1)
#include <stdio.h>
int main()
{
printf("int: %d字节\n",sizeof(int));
return 0;
}
运行结果:
(2)
#include <stdio.h>
int main()
{
printf("long: %d字节\n",sizeof(long));
return 0;
}
运行结果:
(3)
#include <stdio.h>
int main()
{
printf("float: %d字节\n",sizeof(float));
return 0;
}
运行结果:
(4)
#include <stdio.h>
int main()
{
printf("double: %d字节\n",sizeof(double));
return 0;
}
运行结果:
2.在C语言中,在头文件limits.h中,有关于各种基本数据类型的最大以及最小值的宏定义。例如,int型的最大值为INT_MAX,最小值为INT_MIN。运行下列程序,看一下结果是什么?
修改程序,输出i+1,结果是什么?为什么?
原因:此时的I的值超过了最大值整数的值,将发生溢出,即整数溢出。
修改程序输出j-1,结果是什么?为什么?
原因:此时的j的值低于最大值整数的值,将发生溢出,即整数溢出。
3.运行下面的程序,输入100 144 64,看看运行结果是什么?为什么?
原因:通过网上资料得知“%o”为八进制的整数的输入格式,“%x”为十六进制整数的输入格式。在输出语句中均为十进制整数的输出格式,导致运行结果不符。
4.对本章其他你认为需要进行总结的内容进行总结。
学习C语言首先要细心,比如最基础的main不能写成mian,每一行结尾要;,不能忘记取地址符等等,还有一个经常出现的错误就是中英文的符号,这个错误要是不能避免就要花一段时间去发现自己的错误在哪里,这一点对于我来说很重要。C语言这个道路我们才刚刚启程,我们要面对的挑战还很多,我们应该从这一单元找到学习的技巧,多去查阅资料拓展自己的知识宽度才能在这条道路上更加游刃有余。
(三)实验总结
1.求整数均值
(1)题目
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
(2)流程图
(3)源代码
# include<stdio.h>
int main()
{
int a,b,c,d,Sum;
double Average;
scanf("%d %d %d %d",&a,&b,&c,&d);
Sum=a+b+c+d;
Average = Sum /(double)4;
printf("Sum = %d; Average = %.1f",Sum,Average);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:第一次写的average=sum/4导致输出的是2.0
原因:
正确形式为average=sum/(double)4 average=sum/4格式不对
解决办法:将average=sum/4改成average=sum/(double)4
3.是不是太胖了
(1)题目
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?
(2)流程图
(3)源代码
# include<stdio.h>
int main()
{
int h;
double shijin;
scanf("%d",&h);
shijin=(h-100)*0.9*2;
printf("%.1f",shijin);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:int与double中应该只有double有shijin,第一次写的时候都有
原因:忘记只能在double中才对
解决办法:删去int中的shijin
5.计算物体*下落的距离
(1)题目
一个物体从100米的高空*落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒
2
。
(2)流程图
(3)源代码
# include<stdio.h>
int main()
{
double h;
h=10*3*3/2;
printf("height = %.2f",h);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:
原因:忘记定义int 换成double
解决办法:将int 换成double
9.逆序的三位数
(1)题目
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
(2)流程图
(3)源代码
# include<stdio.h>
int main()
{
int a,b,c,m;
scanf("%d",&m);
a = m/100;
b = m/10%10;
c = m%10;
if(c==0)
{
if(b==0)
{
printf("%d",a);
}
else
{
printf("%d%d",b,a);
}
}
else
{
printf("%d%d%d",c,b,a);
}
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:在else后面加括号里面写的输出
原因:if,else ,运用不熟练
解决办法:将输出部分放在else下面的大括号里
(四)PTA提交列表
顺序结构(1)提交列表
顺序结构(2)