ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:21.84KB ,
资源ID:4833506      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4833506.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《高级语言程序设计》实验指导书.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《高级语言程序设计》实验指导书.docx

1、高级语言程序设计实验指导书高级语言程序设计(C语言程序设计)上机实验指导书南昌理工学院计算机系 目 录上机实验总的目的和要求-2实验一 C语言基础-3实验二 简单条件判断- 4实验三 多路分支switch语句- 5实验四 for循环语句-7实验五 循环嵌套与一维数组-9实验六 函数定义与调用-10实验七 指针变量作为函数实(形)参-12实验八 指向结构体的指针-14上机实验总的目的和要求学习C语言程序设计课程必须重视实践环节。即独立编写程序,独立上机调试程序。上机的目的,绝不仅是为了验证教材和上课的内容或者验证自己所编的程序正确与否。学习程序设计,上机实验的目的应该说是:(1)加深对讲授内容的

2、理解,尤其是一些语法规定,通过多次上机,就能自然地、熟练地掌握。(2)熟悉所用的计算机系统的操作方法,了解和熟悉C语言程序开发的环境。(3)学会上机调试程序,培养对程序的纠错能力。善于发现程序中的错误,并能很快的排除这些错误。上机实验一般包括以下几个步骤:(1)准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。对程序中存在的问题,应做出记号,切记不能事先不编程序或临时抄别人程序去上机。(2)上机输入和调试自己的程序。应该一人一机,独立上机。上机过程中出现的问题,除了系统问题以外,应该自己调试,独立处理。(3)上机结束后,应整理出实验报告,实验报告应包括以下内

3、容:a、题目。b、程序清单(计算机打印出的程序清单)。c、运行结果(必须是上面程序清单所对应打印输出的结果)。d、对运行情况所做的分析以及本次调试程序所取得的经验。如果程序未能通过,应分析其原因。下面的每一次实验都对应教材中的相应内容。上机时间为每次2小时。 实验一:C语言基础一、实验题目:已知一梯形,其上底为12.3,下底为21.6,高为5,求其面积。(数据要输入,结果要输出,要用已学的程序结构、语句和运算规则编写本程序。)二、实验目的根据所学C语言关于基本类型变量,加、减、乘、除等基本运算符的定义与使用规则,输入/输出函数调用语句的使用格式,进行相应程序设计训练,巩固已学的基本知识。三、实

4、验内容1、标识符的定义规则和表达式的组成2、数据类型及定义变量的作用,掌握定义变量的方法3、输入/输出函数调用语句的使用4、C语言程序的一般描述格式四、实验步骤1、按C语言应用程序的固定框架编程。2、按要求分别定义四个float类型变量s、x、g、m,分别代表上底、下底、高和面积。利用输入函数调用语句分别输入相关数据,并进行相应运算。3、使用输出函数调用语句输出面积值。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰六、实验结果:#include int main( )

5、 float s,x,g,m; scanf(s=%f,x=%f,g=%f,&s,&x,&g); m=(s+x)*g/2;printf(m=%fn,m); return 0; 七、实验心得:实验二:简单条件判断一、实验题目:随机算出任意两个圆面积的值s1、s2;假如s1s2,则按先s1后s2的顺序从小到大输出两个面积值;假如s1s2,则将大面积值放入s1后输出;假如s1=s2,则将s2的值输出。(数据要输入时要有提示,要用已学的条件判断结构编写本程序,要看清题目的要求此题有多种编法。)二、实验目的根据所学C语言关于条件判断结构的使用规则、输入/输出函数调用语句的使用格式,进行相应程序设计训练,可

6、以有多种编法,进行算法比较,巩固已学的基本知识。三、实验内容1、编写输入函数调用语句及相应提示形式2、描述符号常量PI的数值3、编写条件判断结构语句(注意条件嵌套和复合语句的用法)4、根据对面积的不同判断进行不同的输出处理。根据不同的输出结果,编写输出函数调用语句及相应提示形式5、继续巩固C语言程序一般描述格式四、实验步骤1、按C语言应用程序的固定框架编程。2、按要求定义一个int类型变量a。利用输入函数调用语句分别输入相关数据。3、使用条件判断if或ifelse格式进行判断处理编程。4、使用输出函数调用语句输出相关值或信息。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验

7、任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰六、实验结果:#include #define PI 3.14fint main( ) float r1,r2,s1,s2,t; printf(输入两个半径值:); scanf(%f%f,&r1,&r2); s1=r1*r1*PI; s2=r2*r2*PI; if(s1s2) t=s1;s1=s2;s2=t; printf(面积从小到大输出:s1=%f s2=%f n,s1,s2); else if(s1s2) s1=s2; printf(最面积大值:s1=%fn,s1); else pr

8、intf(相同面积值:s2=%fn,s2); return 0; 七、实验心得:实验三:多路分支switch语句一、实验题目:运输公司的运费计算,路程越远,吨公里运费越低。根据下表计算出具体单价、货重、路程距离的运费。路程范围(公里)折扣路程250 无250路程5002%500路程10005%1000路程20008%2000路程300010%3000路程15%二、实验目的根据所学C语言关于条件判断、多路分支结构的switch语句使用规则,进行相应程序设计训练,熟悉和掌握switch语句相关的使用技巧,巩固已学的基本知识。三、实验内容1、编写输入函数调用语句及相应提示形式2、编写条件判断结构语句

9、,确定switch语句分支标号3、根据标号的设置,进行不同路程计算折扣4、计算具体运费四、实验步骤1、按要求定义float类型变量,运费基价p、货重w、路程s、折扣d。2、使用输入函数调用语句,进行运费基价p、货重w、路程s信息输入。3、根据折扣表中公里为250的倍数这一特征,确定每250设置一switch语句分支标号。4、根据pws(1-d)公式计算运费。5、使用输出函数调用语句输出相关值或信息。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰六、实验结果:#incl

10、udeint main( ) int c,s; float p,w,d,f ; printf(please enter price,weight,discount:); scanf(%f,%f,%d,&p,&w,&s); if(s=3000) c=12; else c=s/250; switch(c) case 0: d=0;break; case 1: d=2;break; case 2: case 3: d=5;break; case 4: case 5: case 6: case 7: d=8;break; case 8: case 9: case 10: case 11: d=10;b

11、reak; case 12: d=15;break; f=p*w*s*(1-d/100); printf(freigh=%10.2fn,f); return 0;七、实验心得:实验四:for循环语句 一、实验题目:在给定学生人数的情况下,逐次输入每个学生的成绩。若成绩60,则输出“不及格”;若60成绩70,则输出“及格”;若70成绩80,则输出“良好”;若80成绩,则输出“优秀”。要求输出各档次成绩所占学生的比率和全部成绩的平均分(0学生人数60)。二、实验目的根据所学C语言关于循环、条件判断结构的使用规则、输入/输出函数调用语句的使用格式,进行相应程序设计训练,可以有多种编法,进行算法比较,

12、巩固已学的基本知识。三、实验内容1、选择合适的语句形式,确定学生的人数(0人数60)2、编写循环结构语句(对所有学生的成绩进行循环处理)3、编写条件判断结构语句,根据输入的成绩,输出“不及格”、“及格”、“良好”、“优秀”。4、进行各档次成绩所占学生的比率和全部成绩的平均分的计算,并且输出。四、实验步骤1、设计while语句,进行学生人数的输入及合理性检查。2、设计for语句,进行对学生成绩的循环性处理。3、使用多路分支判断switchcase语句格式进行分支判断处理编程。4、使用输出函数调用语句输出对各档次成绩的评价。5、选择合适的语句形式进行各档次成绩所占学生的比率和全部成绩的平均分的计算

13、。6、输出函数调用语句输出相关的计算结果。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰六、实验结果:#include int main( ) int a=1,b,i,j, s1=0,s2=0,s3=0,s4=0; float x=0.0; while(a) printf(输入学生人数:); scanf(%d,&j); if(j0 & j=60) a=0 ; printf(n); for(i=1 ;i=j ;i+) printf(n); printf(输入成绩:);

14、scanf(%d,&a); if(a100) j=0 ; else b=a/10-5 ; x=x+a; if(b=0) b=0; switch ( b ) case 0: s1+;printf(不及格!);break; case 1: s2+;printf(及格!); break; case 2: s3+;printf(良好!); break; case 3: case 4: s4+;printf(优秀!); break; printf(n); printf(学生人数:%dn,j); a=s1*100/j;printf(不及格率:%dn, a); a=s2*100/j;printf(及格率:%

15、dn, a); a=s3*100/j;printf(良好率:%dn, a); a=s4*100/j;printf(优秀率:%dn, a); x=x/j; printf(平均成绩:%fn,x); return 0; 七、实验心得:实验五:循环嵌套与一维数组一、实验题目:实现“冒泡”排序。在定义一维数组、长度为10的情况下,逐次输入每个数组元素的值。采用每次将相邻的前一个元素与后一个元素比较。如果前一个元素比后一个元素大,则两两相换。如此,将全数组比较完第1次后就会选出本次的最大值,且存放在数组的底部。长度为10的数组需要比较、选择10次,最终使整个数组的元素值以从小到大的次序摆放,并将该数组值输

16、出。二、实验目的根据所学C语言关于循环、循环嵌套结构的使用规则,进行“冒泡”排序的相应程序设计训练,巩固已学的基本知识。三、实验内容1、定义长度为10的一维数组、编写循环结构语句(逐次输入每个数组元素的值)2、编写循环结构语句(对长度为10的一维数组元素选出本次最大值进行循环处理)3、编写循环结构语句(对长度为10的一维数组元素两两比较进行循环处理)4、输出整个数组的元素值,并将该数组值以从小到大的次序输出。四、实验步骤1、定义一维数组a10、用循环语句逐次输入每个数组元素的值。2、以j为逐次选出的当前最大值记数,并以for语句进行09次循环。3、以i为一维数组元素逐次两两比较进行循环处理的记

17、数,并以for语句进行09-j次循环。5、设置暂存变量t。如果前一个元素比后一个元素大,则利用t进行存储位置的转换。6、对该数组进行“冒泡”排序,使该数组值以从小到大的次序输出。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰六、实验结果:# include int main( ) int a10; int i,j,t; printf(input 10 numbers :n); for (i=0;i10;i+) scanf(%d,&ai); printf(n); for

18、(j=0;j9;j+) for( i=0;iai+1) t=ai;ai=ai+1;ai+1=t ; printf(the sorted numbers : n); for(i=0;i10;i+) printf(%d,ai); printf(n); return 0;七、实验心得:实验六:函数定义与调用 一、实验题目:把“选择排序”程序编成一个自定义函数。即在此函数内为一长度为10的一维数组、元素排序,排序后输出数组内容。函数的形参为数组名(带“ ”)。在主函数内定义一个长度为10的一维数组,并逐次输入每个数组元素的值。在调用“选择排序”函数前先输出数组内容。根据函数类型选择函数调用格式,实参为

19、数组名。调用函数,进行“选择排序”。返回后输出数组内。根据自定义函数的描述位置,进行函数原型说明与否的选择。二、实验目的根据所学C语言关于一维数组、函数定义、函数原型说明、函数调用格式、函数的实(形)参等的使用规则,进行函数的相应程序设计训练,观察、比较三次数组的输出结果,体会函数的“地址传递”与“值传递”的区别与作用,巩固已学的基本知识。三、实验内容1、编写自定义函数的“选择排序”程序。处理长度为10的一维数组,函数的形参为数组名(带“ ”),确定函数类型。2、编写主函数,并在主函数内定义一个长度为10的一维数组,并逐次输入每个数组元素的值。3、根据函数类型选择函数调用格式,并确定实参的数组

20、名。4、根据自定义函数的描述位置,进行函数原型说明与否的选择。四、实验步骤1、把原“选择排序”程序改写成自定义函数sort()。在函数内排序的数组为array ,即函数的形参为数组名array ,排序后输出排序结果数组array 内容。确定函数类型为void。2、在主函数内定义一个长度为10的一维数组a ,并逐次输入每个数组元素的值。选择函数调用格式为语句形式,并确定实参为数组名a。3、在函数调用前和调用后分别在主函数内输出数组a 内容。5、观察、比较三次数组的输出结果,体会函数“地址传递”的作用。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现

21、“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰 六、实验结果:# include int main( ) void sort( int array ,int n); int a 10, i; printf( enter array: n); for(i=0; i10 ;i+) scanf( %d, &ai); sort(a , 10); printf (The sorted array : n); for ( i=0;i10;i+) printf( %d, ai); printf(n); return 0;void sort(int array ,int n)

22、int i, j,k ,t; for ( i=0; in-1;i+) k=i; for( j=i+1; jn; j+) if ( arrayjarray k ) k=j; t=array k; arrayk=arrayi,arrayi=t; 七、实验心得:实验七:指针变量作为函数实(形)参 一、实验题目:把实验六的“冒泡”排序程序改编成一个自定义函数。即在此函数内为一长度为10的一维数组、元素排序,排序后输出数组内容。函数的形参为指向数组名的指针变量型。在主函数内根据函数类型选择函数调用格式,实参为指向数组名的指针变量型。调用函数,进行“冒泡”排序。返回后输出数组内。根据自定义函数的描述位置,

23、进行函数原型说明与否的选择。二、实验目的根据所学C语言关于一维数组、函数定义、函数原型说明、函数调用格式、指向数组名的指针变量作为函数实(形)参等的使用规则,进行函数的相应程序设计训练,观察指针变量作为函数实(形)参的函数运行结果,体会指针变量作为函数参数的作用,巩固已学的基本知识。三、实验内容1、编写自定义函数的“冒泡”排序程序。处理长度为10的一维数组,函数的形参为指向数组名的指针变量型,确定函数类型。2、编写主函数,并在主函数内定义一个长度为10的一维数组,并逐次输入每个数组元素的值。3、根据函数类型选择函数调用格式,并确定实参为指向数组名的指针变量型。4、由于“函数定义”的位置在调用格

24、式之前,所以本题不进行“函数原型说明”。四、实验步骤1、把原“冒泡”排序程序改写成自定义函数sort()。在函数内用指针变量*x指向排序的排序数组*(x+i),即函数的形参为*x,排序后输出排序结果数组*(x+i)内容。确定函数类型为void。2、在主函数内定义一个长度为10的一维数组a 和指针变量*p,并把数组首地址赋给指针变量p,再逐次向p输入每个数组元素的值。选择函数调用格式为语句形式,并确定实参为指针变量*p。3、在主函数内:在函数调用前先输出数组a 内容;在调用后输出由指针变量指向的数组内容。5、观察、比较两次数组的输出结果,体会指针变量作为函数参数的作用。五、实验要求:1、在规定的

25、实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰六、实验结果:#include#define M 10void sort(int *x,int n);int main( ) int i,*p,aM; p=a; printf (输入排序数组元素:n); for(i=0;iM;i+) scanf (%d,p+); for(i=0;iM;i+) printf (%d,ai); p=a; sort(p,M); for(p=a,i=0;iM;i+) printf (%d,*p); p+; printf (

26、n); return 0; void sort(int *x,int n) int i,j,k,t; for(i=0;in-1;i+) k=i; for( j=i+1;j*(x+k) k=j; if(k!=i) t=*(x+i);*(x+i)=*(x+k);*(x+k)=t; 七、实验心得:实验八:指向结构体的指针 一、实验题目:有一批3个学生的信息,信息的内容是姓名name、年龄age和成绩scor。3个学生的基本信息: 李宏、21岁,85分; 赵磊、19岁,89分; 马凡、22岁,87分;要求:1、算出该批学生的平均年龄(可以自动取整)。2、求出该批学生中最好成绩及其姓名。提示:1、算出平

27、均年龄和最好成绩应在其它两个函数中。2、全题都要用“指向结构体的指针”表示,并且要用指向“-”运算符。二、实验目的根据所学C语言关于结构体类型定义、结构体数组定义、指向结构体的指针、用指向结构体的指针变量作为函数实(形)参等的使用规则,进行结构体的相应程序设计训练,观察指向结构体的指针作为函数参数的函数运行结果,体会指向结构体的指针作为函数参数的作用,巩固已学的基本知识。三、实验内容1、编写自定义类型:结构体类型的定义程序。描述两个函数:平均年龄和最好成绩函数,并确定这些函数的形参为指向结构体的指针变量,确定函数类型。2、编写主函数,并在主函数内定义结构体数组,并为长度为3的一维结构体数组赋初始值。3、根据函数类型选择函数调用格式,并确定实参为指向结构体数组的指针变量型。4、“函数定义”的位置要在调用格式之后,所以本题要进行“函数原型说明”。四、实验步骤1、在各函数外定义结构体类型struct stu,并且该结构体有3各分量:char10 name、int age和int scor。2、在主函数内定义结构体数组struct stu s3并为其赋初始值。用p作为指向结构体数组的指针变量,并把结构体数组首地址赋给指针变量p。选择函数调用格式为语句形式,并确定实参为指向结构体数组的指针变量*p。3、用指向结构

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

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