(一)改错题
1.输出带框文字:在屏幕上输出以下3行信息。
错误信息1:
错误原因:stdio拼写错误
改正方法:将stido的d和i交换位置
错误信息2:
错误原因:第6行\n后没有引号
改正方法:加引号
错误信息3:
错误原因:第5行括号后没有分号
改正方法:加分号
错误信息4:
错误原因:main拼写错误
改正方法:把i与n换位置
2.计算某个数x的平方赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。注意不要删除源程序中的任何注释。
输入输出示例(假设x的值为3)
错误信息1:
错误原因:stdio后没有.h
改正方法:加.h
错误信息2:
错误原因:输出后注释符不对
改正方法:在输出后填全注释符
(二)学习总结
1.不同的数据类型,在计算机中所占内存大小是不一样的,C语言提供了sizeof运算符,可以获取数据字节数。
利用sizeof运算符编程求出int、long、float和double类型数据所占的字节大小
#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。运行下列程序,看一下结果是什么?修改程序,输出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,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+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;
}
因为输入的一个是十进制一个是八进制还有一个十六进制,输出的都是十进制。
4.对本章其他你认为需要进行总结的内容进行总结。
写程序代码时要注意字母的拼写,不要拼写错误。写输入语句是注意引号的位置,在前面而不是后面,注意是否有取地址符。同时也要记住每句语句结束要加分号,注意缩进。
(三)实验总结
1.厘米换算英尺英寸
(1)题目:
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
(2)流程图
(3)源代码
# include <stdio.h>
int main(void)
{
int cm,foot,inch;
double m ,n;
scanf("%d",&cm);
m=cm/100.0;
n=m/0.3048;
foot=n;
inch=(n-foot)*12;
printf("%d %d",foot,inch);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:Raptor里求的inch和foot结果带有小数
原因:没有向上取整
解决办法:在式子前加floor
2.A乘以B
(1)题目
看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
(2)流程图
(3)源代码
# include <stdio.h>
int main(void)
{
int A,B,Z;
scanf("%d %d",&A,&B);
Z=A*B;
printf("%d",Z);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
比较简单,没有问题。
3.整数四则运算
(1)题目
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
(2)流程图
(3)源代码
# include <stdio.h>
int main(void)
{
int A,B,sum,del,pro,quo;
scanf("%d %d",&A,&B);
sum=A+B;
del=A-B;
pro=A*B;
quo=A/B;
printf("%d + %d = %d\n",A,B,sum);
printf("%d - %d = %d\n",A,B,del);
printf("%d * %d = %d\n",A,B,pro);
printf("%d / %d = %d",A,B,quo);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:Raptor里输出的商带有小数
原因:商没有向上取整
解决办法:在公式前添上floor
4.整数152的各位数字
(1)题目
本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。
(2)流程图
(3)源代码
# include <stdio.h>
int main (void)
{
int a,b,c;
a=152/100;
b=(152-2)/30;
c=152%10;
printf("152 = %d + %d*10 + %d*100",c,b,a);
return 0;
}
(4)测试数据及运行结果
(5)实验分析
这题处理比较顺利,没有问题。
(四)PTA提交列表