目标:
1.学习C语言调试方法
2.复习C语言基本语法、函数、选择和重复控制语句;
任务1:参考《C语言调试方法》掌握代码的调试和排错技巧.把调试过程出现的问题,写到报告中。
说明:学习编程,必须学会代码的调试和排错,否则寸步难行!
要求:理解调试的目的和调试的技巧,不能盲目和依赖调试.
问题一:调试错误时不容易发现逗号、引号用中文输入打入,以及定义函数和初始值会忘记。在进行函数定义以及调用时,double和float和int之间的转换比较复杂,初始值的类型不对可能得不到正确的结果,以及忘记最后输出时对应的是%lf、%f、%d,"math.h"中的函数都是double型。
问题二:按f10刚调试时到达需要输入变量时出错,无法正常的在输入框中输入数字,最后调试发现是个别现象。
此时需要将w的值改为10或者其它数字才能继续运行程序。
任务2:自行分析和设计一个程序,并在程序中标注每一行代码的含义和目的;;
要求:程序必须涉及到数学函数、自定义函数、选择和重复控制语句.并利用上面的调试方法进行程序排错;
我的程序:
//**************************************
//判断五个点与单位圆的位置关系
//code by iceyung
//**************************************
#include "stdafx.h" //头文件
#define r 1
#include"math.h"
void panduan (float x,float y) //定义函数
{
if((pow(x,2))+pow(y,2)==(pow(r,2.0))) //选择结构
printf("该点在单位圆上\n");
else
if(pow(x,2)+pow(y,2)<=pow(r,2.0))
printf("该点在单位圆内\n");
else
printf("该点在单位圆外\n");
}
void main() //主函数
{
float x,y,i;
for(i=1;i<=5;i++) //五次循环
{
printf("请输入点的坐标x,y\n");
scanf_s("%f%f",&x,&y);
printf("坐标x=%f,y=%f\n",x,y);
panduan(x,y); //调用函数
printf("**************************************\n");
}
}
运行截图为: