《计算机编程》实验报告
实验名称: 用C语言编写简单程序 指导教师: 王红 学 号: 191543513 姓 名: 黄彦章 完成日期: 2020.3.13
一、实验目的
1 、掌握算术表达式和赋值表达式的使用。 2 、掌握基本输出函数的使用。 3 能够编程实现简单的数据处理。
4、理解编译错误信息的含义,掌握简单C程序的查错方法。
二、实验内容(要求按照老师布置的实验内容按照以下要求撰写实验报告) [实验题目1]
1、#include
int main() {
double x; scanf(\
if(x==0) printf(\ else
printf(\}
2、实验结果如图所示
3、一开始if 的括号中只有一个等号,即把赋值与等于的概念混淆了,导致了编译错误;然后在解题的过程中审题不仔细,忘了保留一位小数.
4、通过完成这道题,我认识到做题过程中审清题干的要求是非常重要的,同时也要认真辨析不同概念之间的差异。 [实验题目2]
1、#include
int money;
float rate,interest,year;
scanf(\,&money,&year,&rate);
interest = money*pow((1+rate),year)-money; printf(\,interest) return 0; }
2、实验结果如图二所示
3、第一次提交后,系统显示格式错误,并且注明了年不是整数,当时感到有些懵,因为我认为利率是按年计算的,而在浏览了群内同学们对这题的讨论之后,我意识到实际上存钱并不是一整年一整年存的,年是可以有小数点的,所以必须要把年这个变量设为float。 4、通过这一次实验,让我想到了一句老话“众人拾柴火焰高”,只有参与到课堂答疑中才能学到一些课本上没有的东西,从而扩宽知识面 [实验题目3]
1、#include
int fahr,lower,upper; double celsius;
scanf(\,&lower,&upper); if(upper
printf(\); } else
printf(\);
for (fahr = lower;fahr <= upper;fahr = fahr+2) {
celsius = 5.0/9.0*(fahr-32);
printf(\,fahr,celsius); }
return 0; }
2、实验结果如图3、图4所示
3、提交过后,系统显示部分正确,错误名是非法数据,但既然是非法数据,为什么没有出现格式错误呢?带着这样的问题,我把代码放到了Dev-c++中编译运行,结果在输入“40 30”后输出了“fahr Celsius”的结果,照理来说,错误应该是出现在if语句,因为既然是输出的结果有误,那肯定与条件有关系。果然在if语句中发现了问题,错把“或”写成了“且”,这样我就理解了非法数据错误指的是“Invalid”的条件出错了。
4、通过这次实验,我认识到“实践出真知“,只有将程序放到编程软件中运行,才能发现问题。 [实验题目4]
1、#include
int N, NF; scanf(\ NF = Factorial(N);
if (NF) printf(\ else printf(\ return 0; }
#include
int Factorial(const int N) {
int x;
if(N==0 || N==1) x=1;
if(N>1) x=Factorial(N-1)*N;