(一)改错题
1.输出带框文字:在屏幕上输出以下3行信息。
源程序
错误信息1:
错误原因:stdio拼写错误。
改正方法:将stido改成stdio,即:
错误信息2:
错误原因:引号不完整。
改正方法:在\n后面输入一个英文半角的关引号,即
错误信息3:
错误原因:第二行printf结束没有分号。
改正方法:第二行printf结束时在末尾加上分号,即
错误信息4:
错误原因:mian主函数错误。
改正方法:将mian改成main,即
2.计算某个数x的平方赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。注意不要删除源程序中的任何注释。
输入输出示例(假设x的值为3)
源程序
错误信息1:
错误原因:开头文件输入错误。
改正方法:在stdio后加.h ,即
错误信息2:
错误原因:注释格式错误。
改正方法:在“输出”后加*/,即
(二)学习总结
1.⑴int
#include <stdio.h>
int main()
{
printf("int: %d字节\n",sizeof(int));
return 0;
}
结果如图:
⑵long
#include <stdio.h>
int main()
{
printf("long: %d字节\n",sizeof(long));
return 0;
}
结果如图:
⑶float
#include <stdio.h>
int main()
{
printf("float: %d字节\n",sizeof(float));
return 0;
}
结果如图:
⑷double
#include <stdio.h>
int main()
{
printf("double: %d字节\n",sizeof(double));
return 0;
}
结果如图:
2.⑴
#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,结果是什么?为什么?
#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;
}
结果:
原因:整数的值如果超过它的最大值,将发生溢出,即整数溢出。当达到最大值时,它将溢出到起始点(即最小值)。
⑶修改程序输出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;
}
结果:
原因:整数的值如果超过它的最小值,将发生溢出,即整数溢出。当达到最小值时,它将溢出到终点(即最大值)。
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.对本章其他你认为需要进行总结的内容进行总结。
在编写程序时要注意开头的主函数main不要写成mian,在写程序时要先思考一下流程图,写程序过程中要用英文半角进行编写,每一行结束时要用分号结尾。
(三)实验总结
1.厘米换算英尺英寸
⑴题目
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
⑵流程图
⑶源代码
#include <stdio.h>
int main(void)
{
int cm,foot,inch;
double m,A;
scanf("%d",&cm);
m=cm/100.0;
foot=m/0.3084;
A=m/0.3084;
inch=(A-foot)*12;
printf ("%d %d",foot,inch);
return 0;
}
⑷测试数据及运行结果
问题1 :输出结果总是不对。
原因:没看清米和厘米的换算。
2.A乘以B
⑴题目
看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
⑵流程图
⑶源代码
#include <stdio.h>
int main(void)
{
int A,B,C;
scanf ("%d %d",&A,&B);
C=A*B;
printf ("%d",C);
return 0;
}
⑷测试数据及运行结果
⑸实验分析
没有问题
3.整数四则运算
⑴题目
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
⑵流程图
⑶源代码
#include <stdio.h>
int main(void)
{
int A,B,C,D,E,Q;
scanf ("%d %d",&A,&B);
C=A+B;
D=A-B;
E=A*B;
Q=A/B;
printf("%d + %d = %d\n",A,B,C);
printf("%d - %d = %d\n",A,B,D);
printf("%d * %d = %d\n",A,B,E);
printf("%d / %d = %d\n",A,B,Q);
return 0;
}
⑷测试数据及运行结果
⑸实验分析
问题1:流程图输出错误
原因:引号里面和引号外面的弄反。
4.整数152的各位数字
⑴题目
本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。
⑵流程图
⑶源代码
#include <stdio.h>
int main(void)
{
int B,C,D;
const int A=152;
B=A%10;
C=A/10%10;
D=A/100;
printf("152 = %d + %d*10 + %d*100",B,C,D);
return 0;
}
⑷测试数据及运行结果
⑸实验分析
没问题。
(四)PTA提交列表