c语言第二次作业
(一)改错题
1.输出带框文字:在屏幕上输出以下3行信息。
Welcome
源程序
include <stido.h>
int mian()
{
printf("\n");
printf(" Welcome\n")
printf("\n);
return 0;
}
对源程序进行编译,采用每次修改第一个错误并重新编译的方法,记录每个错误信息、分析错误原因并给出正确的语句。
格式如下:
错误信息1:
错误原因:编译预处理命令拼写错误。
改正方法:#include<stido.h>改为#include<stdio.h>
错误信息2:
错误原因:主函数拼写错误。
改正方法:int mian()改为int main()
错误信息3;
错误原因;第五行没有结束语句。
改正方法:在)后加;结束语句。
错误信息4:
错误原因:浮点错误,第六行缺少引号。
改正方法:在\n后加引号。
2.计算某个数x的平方赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。注意不要删除源程序中的任何注释。
输入输出示例(假设x的值为3)
9 = 3 * 3
3 * 3 = 9
源程序
include
int main()
{
int x,y;
hnjj
y=xx;
printf("%d = %d * %d", x); / 输出 */
printf("d * %d = %d", y);
return 0;
}
错误信息1:
错误原因:编译预处理命令拼写错误。
改正方法:#include
错误信息2:
错误原因:定义了变量,没有输入变量的程序。
改正方法:在 int x,y;的下一行输入x:scanf("%d",&x)。
错误信息3:
错误原因:第八行缺少符号。
改正方法:第八行的d改为%d。
错误信息4:
错误原因:在输出时%d需要与代表的变量对应。
改正方法:加上相对应的需要的变量。
错误信息5:
错误原因:与要求的输出格式不符。
改正方法:在第七行的%d = %d * %d后在"前加\n换行。
(二)学习总结
1.不 同的数据类型,在计算机中所占内存大小是不一样的,C语言提供了sizeof运算符,可以获取数据字节数。其基本语法如下:
sizeof(数据类型名称)
或
sizeof(变量名)
示例:
include <stdio.h>
int main()
{
printf("short: %d字节\n",sizeof(short));
return 0;
}
运行结果:
(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。运行下列程序,看一下结果是什么?
include <stdio.h>
include <limits.h>
int main()
{
int i,j;
i = INT_MAX;
j = INT_MIN;
printf("int类型最大值max = %d\nint类型最小值min = %d\n",i,j);
return 0;
}
运行结果:
(1)修改程序,输出i+1,结果是什么?为什么?
include <stdio.h>
include <limits.h>
int main()
{
int i,j;
i = INT_MAX;
j = INT_MIN;
printf("int类型最大值max = %d\nint类型最小值min = %d\n",i+1,j);
return 0;
}
运行结果:
(2)修改程序输出j-1,结果是什么?为什么?
include <stdio.h>
include <limits.h>
int main()
{
int i,j;
i = INT_MAX;
j = INT_MIN;
printf("int类型最大值max = %d\nint类型最小值min = %d\n",i,j-1);
return 0;
}
运行结果:
原因:整数的值如果超过它的最大值,将发生溢出,即整数溢出。整数i就像一个汽车里程指示表,当达到最大值时,它将溢出到起始点(即最小值)。
3.运行下面的程序,输入100 144 64,看看运行结果是什么?为什么?
include <stdio.h>
int main()
{
int a,b,c;
scanf("%d%o%x",&a,&b,&c);
printf("%d %d %d\n",a,b,c);
return 0;
}
运行结果:
原因:当%x表示输出时,为16进制形式;当%o表示输出时,为8进制形式,所以输入144和64会得到100和100。
4.个人总结:要熟记编程过程中运用到的规定条句,在编写代码的时候需要注意细节。
(三)实验总结
1.
(1)题目 厘米换算英尺英寸
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
(2)流程图

(3)源代码

(4)测试数据及运行结果

(5)实验分析
无问题
2.(1)题目 .A乘以B
给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
(2)流程图

(3)源代码

(4)测试数据及运行结果

(5)实验分析
无问题。
3.(1)题目 整数四则运算
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
(2)流程图

(3)源代码

(4)测试数据及运行结果

(5)实验分析
无问题。
4.(1)题目 整数152的各位数字
本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。
(2)流程图

(3)源代码

(4)测试数据及运行结果

(5)实验分析
无问题。
(四)PTA提交列表
顺序结构(1):


顺序结构(2):


浙公网安备 33010602011771号