620计算机实验报告1.docx

上传人:b****5 文档编号:5780777 上传时间:2023-01-01 格式:DOCX 页数:33 大小:1.06MB
下载 相关 举报
620计算机实验报告1.docx_第1页
第1页 / 共33页
620计算机实验报告1.docx_第2页
第2页 / 共33页
620计算机实验报告1.docx_第3页
第3页 / 共33页
620计算机实验报告1.docx_第4页
第4页 / 共33页
620计算机实验报告1.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

620计算机实验报告1.docx

《620计算机实验报告1.docx》由会员分享,可在线阅读,更多相关《620计算机实验报告1.docx(33页珍藏版)》请在冰豆网上搜索。

620计算机实验报告1.docx

620计算机实验报告1

实验指导

实验一VisualC++6.0开发环境使用

大气科学专业实验日期4月18日姓名:

学号

1.实验目的

(1)熟悉VisualC++6.0集成开发环境。

(2)掌握C语言程序的书写格式和C语言程序的结构。

(3)掌握C语言上机步骤,了解C程序的运行方法。

(4)能够熟练地掌握C语言程序的调试方法和步骤

2.实验内容

输入如下程序,实现两个数的乘积。

#include(stdio.h);

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日姓名:

刘园园学号20151301327

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日姓名:

刘园园学号20151301327

1.实验目的

(1)掌握格式字符使用的方法。

(2)掌握printf()进行格式化输出的方法。

(3)掌握scanf()进行格式化输入的方法。

2.实验内容

(1)输入如下程序,观察运行结果

#include

intmain()

{

intx=1234;

floatf=123.456;

doublem=123.456;

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,%8.1f,%.2f,%.2e\n",f,f,f,f,f);

printf("%lf\n",m);

printf("%3c\n",ch);

printf("%s\n%15s\n%10.5s\n%2.5s\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++6.0集成开发环境中输入上述程序,观察调试结果。

(2)如果有错误,请修改程序中的错误。

3.分析与讨论

(1)分析程序错误及运行结果错误的原因。

(2)总结printf()中可使用的各种格式字符。

(3)总结转移字符的使用和功能。

实验心得:

在这个实验中,我掌握了输入输出函数的用法,明白它不是语句,而是函数以及控制字符串的类型等,为进一步学习后面的知识有了一定了解,慢慢读懂程序。

 

实验四分支结构程序设计

大气科学专业实验日期5月9日姓名:

刘园园学号20151301327

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日姓名:

刘园园学号20151301327

1.实验目的

(1)掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。

(2)了解条件型循环结构的基本测试方法。

(3)掌握如何正确地控制计数型循环结构的次数。

(4)了解对计数型循环结构进行测试的基本方法。

(5)了解在嵌套循环结构中,提高程序效率的方法。

2.实验内容

(1)输入一个正整数,并将其颠倒过来。

如12345对应为54321。

(2)将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t中,高位仍在高位,低位仍在低位,例如:

s=87653142时,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日姓名:

刘园园学号20151301327

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);

printf("%.2lf,%.2lf\n",x1,x2);

}

else

{printf("两个不等的复数根\n");

p=-b/(2*a);

q=sqrt(-delta)/(2*a);

printf("%.2lf+%.2lf\n",p,q);

printf("%.2lf-%.2lf\n",p,q);

}

}return0;

}

(3)输入下面程序,分析运行结果

#include

intfunc(int,int);

intmain()

{intk=4,m=1,p1,p2;

p1=func(k,m);

p2=func(k,m);

printf("%d,%d\n",p1,p2);

return0;

}

intfunc(inta,intb)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

3.分析与讨论

(1)针对以上实验内容写出相应的参数传递过程并分析结果。

(2)函数在定义时要注意什么?

(3)讨论静态局部变量的继承性?

实验心得:

C语言是由函数组成的,所以学好函数对C语言非常重要。

1.掌握了函数的声明和定义规范。

2.掌握了函数的形式参数和实际参数的定义和用法。

3.掌握了函数的返回值的大小和类型。

4.掌握了函数的调用方法和参数传递。

5.了解了函数的嵌套调用。

6.掌握了函数的递归调用及其程序规范。

7.了解变量储存类型的基本概念。

8.掌握了局部变量与全局变量的概念。

 

实验七数组及其应用

大气科学专业实验日期5月30日姓名:

刘园园学号20151301327

1.实验目的

(1)掌握数组定义的规则。

(2)掌握C语言数组的基本用法。

(3)掌握数组名作为函数参数传递的方法

2.实验内容

(1)运行下面的C程序,根据运行结果,可以说明什么?

#include

intmain()

{

intnum[5]={1,2,3,4,5};

intii;

for(i=0;i<=5;i++)

printf("%d",num[i]);

return0;

}

(2)为一个冒泡排序程序设计测试用例,并测试之。

(题设答案)#include

main()

{

inta[10],i,j,k;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(j=0;j<10;j++)

for(i=0;i<9;i++)

if(a[i]>a[i+1])

{k=a[i];a[i]=a[i+1];a[i+1]=k;}

for(i=0;i<10;i++)

printf("%d",a[i]);

return0;

}

(3)操作符&用以求一个变量的地址,这在函数scanf中已经使用过了。

现在要你设计一个程序,返回一个3×5的二维数组各元素的地址,并由此说明二维数组中各元素是按什么顺序存储的。

3.分析与讨论

(1)通过实验,分析定义与引用数组的区别。

(2)数组的作用是什么?

(3)数组名作为参数有什么特点?

实验心得:

数组是C语言最常用也最为重要的数据结构。

1.掌握了数组的声明和存放,初始化和数组元素的引用方法。

2.掌握了数组下标的使用方法。

3.了解了多维数组声明和操作。

4.掌握了字符串定义及使用方法。

5.初步理解了排序和查找等基本方法。

 

实验八指针及其应用

大气科学专业实验日期6月6日姓名:

刘园园学号20151301327

1.实验目的

(1)掌握变量的指针及其基本用法。

(2)掌握一维数组的指针及其基本用法。

(3)掌握指针变量作为函数的参数时,参数的传递过程及其用法。

2.实验内容

(1)对以下程序进行运行,并从中了解变量的指针和指针变量的概念。

#include

intmain()

{

inta=5,b=5,*p;

p=&a;

printf("%d,%ud\n",a,p);

*p=8;

printf("%d,%ud\n",a,p);

p=&b;

printf("%d,%ud\n",a,p);

b=10;

printf("%d,%ud\n",a,p);

return0;

}

(2)运行以下程序,观察&a[0],&a[i])和p的变化,然后回答以下问题:

1)序的功能是什么?

2)在开始进入循环体之前,p指向谁?

3)循环每增加一次,p的值(地址)增加多少?

它指向谁?

4)退出循环后,p指向谁?

5)你是否初步掌握了通过指针变搔引用数组元素的方法?

#include

intmain()

{

inti,*p,s=0,a[5]={5,6,7,8,9};

p=a;

for(i=0;i<5;i++,p++)

s+=*p;

printf("s=%d\n",s);

return0;

}

(3)先分析以下程序的运行结果,然后上机验证,并通过此例掌握通过指针变量引用数组元素的各种方法。

#include

intmain()

{

inti,s1=0,s2=0,s3=0,s4=0,*p,a[5]={1,2,3,4,5};

p=a;

for(i=0;i<5;i++)

s1+=p[i];

for(i=0;i<5;i++)

s2+=*(p+i);

for(p=a;p

s3+=*p;

p=a;

for(i=0;i<5;i++)

s4+=*p++;

printf("\ns1=%d,s2=%d,s3=%d,s4=%d",s1,s2,s3,s4);

return0;

}

(4)编写函数,将n个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成:

1)输入10个数;

2)调用此函数进行重排;

3)输出重排后的结果。

3.分析与讨论

(1)指针的定义方法,指针和变量的关系。

int*a;

(2)数组和指针的关系。

数组时连续分配一串单元,数目开始定义的时候就必须固定下来,看起来整洁,但是写的程序是死程序,容易浪费内存

指针存放一个地址值,表示指向某一个单元,可以用指针来索引单元。

数组可以完成栈,堆,树等等的操作,它在编程时候的好处是非常的灵活,在构建思路的时候有很大的灵活性。

实验心得:

指针是重要的部分。

1.掌握了指针的声明和存放,初始化和指针变量的引用方法。

2.掌握了指针做为函数的参数。

3.了解了指向数组的指针。

4.掌握了指向字符串的指针。

5.能在程序运行时应用动态分配预留新的储存空间。

学习指针利于我们更好地利用C语言这门工具,更好地利用这门工具。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1