620计算机实验报告1.docx
《620计算机实验报告1.docx》由会员分享,可在线阅读,更多相关《620计算机实验报告1.docx(33页珍藏版)》请在冰豆网上搜索。
620计算机实验报告1
实验指导
实验一VisualC++开发环境使用
大气科学专业实验日期4月18日姓名:
学号
1.实验目的
(1)熟悉VisualC++集成开发环境。
(2)掌握C语言程序的书写格式和C语言程序的结构。
(3)掌握C语言上机步骤,了解C程序的运行方法。
(4)能够熟练地掌握C语言程序的调试方法和步骤
2.实验内容
输入如下程序,实现两个数的乘积。
#include;
intmain()
{
x=10,y=20
p=prodct(x,t)
printf("Theproductis:
",p)
intprodct(inta,intb)
intc
c=a*b
returnc
}
(1)在编辑状态下照原样键入上述程序。
(2)编译并运行上述程序,记下所给出的出错信息。
(3)再编译执行纠错后的程序。
如还有错误,再编辑改正,直到不出现语法错误为止。
3.分析与讨论
(1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。
分析讨论成功或失败的原因。
(2)总结C程序的结构和书写规则。
实验心得:
通过本次实验,我了解到C语言的特点,初步认识程序设计方法和程序设计一般步骤,掌握C语言程序编译、链接和运行过程,为我进一步学好C语言打下了基础。
实验二数据类型、运算符和表达式
大气科学专业实验日期4月25日姓名:
刘园园学号327
1.实验目的
(1)理解常用运行符的功能、优先级和结合性。
(2)熟练掌握算术表达式的求值规则。
(3)熟练使用赋值表达式。
(4)理解自加、自减运算符和逗号运算符
(5)掌握关系表达式和逻辑表达式的求值
2.实验内容
(1)整数相除
#include<>
intmain()
{
inta=5,b=7,c=100,d,e,f;
d=a/b*c;
e=a*c/b;
f=c/b*a;
printf("d=%d,e=%d,f=%d\n",d,e,f);
return0;
}
(2)自加、自减运算
#include<>
intmain()
{
inta=5,b=8;
printf("a++=%d\n",a++);
printf("a=%d\n",a);
printf("++b=%d\n",++b);
printf("b=%d\n",b);
return0;
}
(3)关系运算和逻辑运算
#include<>
intmain()
{
inta=5,b=8,c=8;
printf("%d,%d,%d,%d\n",a==b&&a==c,a!
=b&&a!
=c,a>=b&&a>=c,a<=b&&a<=c);
printf("%d,%d\n",a<=b||a>=c,a==b||b==c);
printf("%d,%d,%d,%d\n",!
(a==b),!
(a>=b),!
(a>=c),!
(a<=b));
return0;
}
(1)在编辑状态下输入上述程序。
(2)编译并运行上述程序。
3.分析与讨论
(1)整数相除有什么危险应如何避免这种危险
(2)分析a++和++a的区别。
(3)条件表达式和逻辑表达式的意义是什么,它们取值如何
(4)如何比较两个浮点数相等为什么
实验心得:
1.理解了C语言的基本数据类型(占用内存、数据范围)
2.掌握了变量定义的方法
3.掌握了常用的运算符的使用(功能、运算对象数目、优先级和结合性)
4.掌握了混合运算的数据转换方法
为后面进一步学习C语言及其相关的运算储备了知识。
实验三格式化输入输出函数的使用
大气科学专业实验日期5月2日姓名:
刘园园学号327
1.实验目的
(1)掌握格式字符使用的方法。
(2)掌握printf()进行格式化输出的方法。
(3)掌握scanf()进行格式化输入的方法。
2.实验内容
(1)输入如下程序,观察运行结果
#include<>
intmain()
{
intx=1234;
floatf=;
doublem=;
charch='a';
chara[]="Hello,world!
";
inty=3,z=4;
printf("%d%d\n",y,z);
printf("y=%d,z=%d\n",y,z);
printf("%8d,%2d\n",x,x);
printf("%f,%8f,%,%.2f,%.2e\n",f,f,f,f,f);
printf("%lf\n",m);
printf("%3c\n",ch);
printf("%s\n%15s\n%\n%\n%.3s\n",a,a,a,a,a);
return0;
}
(2)输入下面程序,观察调试信息
#include<>
intmain()
{doublex,y;
charc1,c2,c3;
inta1,a2,a3;
scanf("%d%d%d",a1,a2,a3);
printf("%d,%d,%d\n",a1,a2,a3);
scanf("%c%c%c",&c1,&c2,&c3);
printf("%c%c%c\n",c1,c2,c3);
scanf("%f,%lf",&x,&y);
printf("%f,%lf\n",x,y);
return0;﹤
}
(1)在VC++集成开发环境中输入上述程序,观察调试结果。
(2)如果有错误,请修改程序中的错误。
3.分析与讨论
(1)分析程序错误及运行结果错误的原因。
(2)总结printf()中可使用的各种格式字符。
(3)总结转移字符的使用和功能。
实验心得:
在这个实验中,我掌握了输入输出函数的用法,明白它不是语句,而是函数以及控制字符串的类型等,为进一步学习后面的知识有了一定了解,慢慢读懂程序。
实验四分支结构程序设计
大气科学专业实验日期5月9日姓名:
刘园园学号327
1.实验目的
(1)了解条件与程序流程的关系
(2)了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。
(3)掌握if语句和ifelse语句的用法
(4)掌握switch语句的用法
2.实验内容
1.从键盘上输入三个数,让它们代表三条线段的长度,请写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的C程序。
请分别设计下列数据对自己的程序进行测试:
(1)找出各条语句中的错误。
(2)找出各分支中的错误。
(3)找出各条件中的错误。
(4)找出各种条件组合中的错误。
(5)找出各条路径中的错误。
2.用scanf函数输入一个百分制成绩(整型量),要求输出成绩等级A,B,C,D,E。
其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
具体要求如下:
(1)用if语句实现分支或switch分支。
(2)在输入百分制成绩前要有提示。
(3)在输入百分制成绩后,要判断该成绩的合理性,对于不合理的成绩(即大于100分或小于0分)应输出出错信息。
(4)在输出结果中应包括百分制成绩与成绩等级,并要有文字说明。
(5)分别输入百分制成绩:
-90,100,90,85,70,60,45,101,运行该程序。
3.编程找出5个整数中的最大数和最小数,并输出找到的最大数和最小数。
3.分析与讨论
(1)总结分支程序设计的方法。
(2)复合语句的使用。
(3)switch语句的注意事项。
实验心得:
在这个实验中,我掌握了分支结构的程序设计,理解了分支语句的嵌套以及break在分支语句中的作用,了解了三种基本结构之一。
实验五循环结构程序设计
大气科学专业实验日期5月16日姓名:
刘园园学号327
1.实验目的
(1)掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。
(2)了解条件型循环结构的基本测试方法。
(3)掌握如何正确地控制计数型循环结构的次数。
(4)了解对计数型循环结构进行测试的基本方法。
(5)了解在嵌套循环结构中,提高程序效率的方法。
2.实验内容
(1)输入一个正整数,并将其颠倒过来。
如12345对应为54321。
(2)将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t中,高位仍在高位,低位仍在低位,例如:
s=时,t中的数为:
8642。
#include<>
#include<>
intmain()
{
longinta,b,c=0;
scanf("%d",&a);
if(a<=0)
{
printf("wrong\n");
exit(0);
}
while(a!
=0)
{
b=a%10;
if(b%2==1)
{
b=0;
exit(0);
}
c=c*10+b;
a=a/10;
}
printf("反位数为:
%d\n",&c);
return0;
}(待修改)
(3)判断101~200之间有多少个素数。
(4)编写程序,输出杨辉三角
。
3.分析与讨论
(1)总结条件循环结构的一般方法。
(2)如何测试计数型循环结构的控制表达式中的错误
(3)从实验中你得到了哪些提高嵌套循环程序效率的启示
实验心得:
1.三种循环型while,do…while,for语句各种运行方法
2.循环语句的嵌套的执行流程
因此,学好三大基本结构中的复杂的循环结构,为学好C语言打下了基础。
实验六函数
大气科学专业实验日期5月23日姓名:
刘园园学号327
1.实验目的
(1)掌握C语言函数定义及调用的规则。
(2)理解参数传递的过程。
(3)掌握函数返回值的大小和类型确定的方法。
(4)理解变量的作用范围
2.实验内容
(1)上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。
#include<>
intmain()
{
intx,y;
printf("%d\n",sum(x+y));
intsum(a,b)
{
inta,b;
return(a+b);
}
return0;
}
未声明变量类型,未声明外部函数
(2)编写一个程序,输入系数a、b、c,求一元二次方程
的根,包括主函数和如下函数。
判断a是否为零。
计算判别式
计算根。
输出根。
#include<>
#include<>
intmain()
{
doublea,b,c,delta,x1,x2,p,q;
scanf("%d,%d,%d",&a,&b,&c);
if(a==0)
printf("不是一元二次方程\n");
else
{
delta=b*b-4*a*c;
if(delta==0)
{
printf("有两个相等的实数根\n");
x1=-b/(2*a);
x2=x1;
printf("%.2lf,%.2lf\n",x1,x2);
}
elseif(delta>0)
{
printf("两个不等的实数根\n");
x1=-b/(2*a)+sqrt(delta)/(2*a);
x2=-b/(2*a)-sqrt(delta)/(2*a);
p