C语言程序设计第二次作业——顺序结构
1.输出带框文字:在屏幕上输出以下3行信息。
*************
Welcome
*************
源程序
#include <stido.h>
int mian()
{
printf("*************\n");
printf(" Welcome\n")
printf("*************\n);
return 0;
}
错误信息1:
错误原因:拼写错误。stdio.h
改正方法:stdio.h
错误信息2:
错误原因:没有加分号
改正方法:括号后加;
错误信息3.
错误原因:n后没有加引号
改进方法:n后加“
2.计算某个数x的平方赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。注意不要删除源程序中的任何注释。
输入输出示例(假设x的值为3)
9 = 3 * 3
3 * 3 = 9
源程序
#include <stdio>
int main()
{
int x,y;
y=x*x;
printf("%d = %d * %d", x); /* 输出
printf("d * %d = %d", y);
return 0;
错误信息1:
错误原因:没有.h
改正方法:加.h
错误信息2:
错误原因:缺少变量地址
改正方法:补充对应的变量地址
错误信息3:
错误原因:%后边没有d
改正原因:加d
(二)学习总结
1.不 同的数据类型,在计算机中所占内存大小是不一样的,C语言提供了sizeof运算符,可以获取数据字节数。其基本语法如下:
sizeof(数据类型名称)
或
sizeof(变量名)
利用sizeof运算符编程求出int类型数据所占的字节大小
#include <stdio.h>
int main()
{
printf("int: %d字节\n",sizeof(int));
return 0;
}
结果:
#include <stdio.h>
int main()
{
printf("long: %d字节\n",sizeof(long));
return 0;
}
结果:
#include <stdio.h>
int main()
{
printf("float: %d字节\n",sizeof(float));
return 0;
}
结果:
#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;
}
结果:
修改程序,输出i+1,结果是什么?为什么?
整数的值如果超过它的最大值,将发生溢出,即整数溢出。整数i就像一个汽车里程指示表,当达到最大值时,它将溢出到起始点(即最小值)。
修改程序输出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+1,j);
return 0;
}
结果:
原因:原因:此时的值超过了最大值整数的值,将发生溢出
#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;
}
结果:
原因:此时的值低于最大值整数的值,将发生溢出
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;
}
结果:
原因:输入的%o%x无效
4.对本章其他你认为需要进行总结的内容进行总结。
本章有好多知识点我没有掌握好,以后应加紧学习 加紧预习,对于记性差的我以后应该更加努力,有好多符号还有字母不清楚,应抓紧查清楚并记住。
(三)实验总结
本次实验总结,学号末位数是单数的同学完成顺序结构(2)中的1、3、5、9题,学号末位数是双数的同学完成顺序结构(2)中的2、4、7、8题。
1.(1)厘米换算英尺英寸
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
(2)流程图
(3)源代码
# include <stdio.h>
int main(void)
{
int cm,foot,inch;
scanf("%d",&cm);
foot = cm/100.0/0.3048;
inch = (cm/100.0/0.3048-foot)*12;
printf("%d %d",foot,inch);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题一:有小数并且没有正确答案
原因:计算公式错误以及floor的使用不清楚
解决办法:使用正确公式并且加上fioor
-
(1)A乘以B
看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
(2)流程图
(3)源代码include <stdio.h>
int main(void)
{
int A,B,C;
scanf("%d %d",&A,&B);
C = A*B;
printf("%d",C);return 0; }
(4)测试数据及运行结果
(5)实验分析
没有问题
3.(1)整数四则运算
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
(2)流程图
(3)源代码
# include <stdio.h>
int main(void)
{
int A,B,a,b,c,d;
scanf("%d %d",&A,&B);
a = A + B;
b = A - B;
c = A * B;
d = A / B;
printf("%d + %d = %d\n",A,B,a);
printf("%d - %d = %d\n",A,B,b);
printf("%d * %d = %d\n",A,B,c);
printf("%d / %d = %d\n",A,B,d);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
没问题
4.(1)整数152的各位数字,本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。
(2)流程图
(3)源代码
# include <stdio.h>
int main(void)
{
int A,x,y,z;
A=152;
z=A % 10;
x=A / 100;
y=A / 10 % 10;
printf("152 = %d + %d*10 + %d*100",z,y,x);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
没问题。
(四)PTA提交列表
顺序结构(1)提交列表
顺序结构(2)提交列表