您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 《高级语言程序设计》-实验指导书
高级语言程序设计(C语言程序设计)上机实验指导书南昌理工学院计算机系-1-目录上机实验总的目的和要求-----------------------------------------------2实验一C语言基础----------------------------------------------------3实验二简单条件判断------------------------------------------------4实验三多路分支switch语句-------------------------------------5实验四for循环语句--------------------------------------------------7实验五循环嵌套与一维数组----------------------------------------9实验六函数定义与调用---------------------------------------------10实验七指针变量作为函数实(形)参---------------------------12实验八指向结构体的指针------------------------------------------14-2-上机实验总的目的和要求学习C语言程序设计课程必须重视实践环节。即独立编写程序,独立上机调试程序。上机的目的,绝不仅是为了验证教材和上课的内容或者验证自己所编的程序正确与否。学习程序设计,上机实验的目的应该说是:(1)加深对讲授内容的理解,尤其是一些语法规定,通过多次上机,就能自然地、熟练地掌握。(2)熟悉所用的计算机系统的操作方法,了解和熟悉C语言程序开发的环境。(3)学会上机调试程序,培养对程序的纠错能力。善于发现程序中的错误,并能很快的排除这些错误。上机实验一般包括以下几个步骤:(1)准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。对程序中存在的问题,应做出记号,切记不能事先不编程序或临时抄别人程序去上机。(2)上机输入和调试自己的程序。应该一人一机,独立上机。上机过程中出现的问题,除了系统问题以外,应该自己调试,独立处理。(3)上机结束后,应整理出实验报告,实验报告应包括以下内容:a、题目。b、程序清单(计算机打印出的程序清单)。c、运行结果(必须是上面程序清单所对应打印输出的结果)。d、对运行情况所做的分析以及本次调试程序所取得的经验。如果程序未能通过,应分析其原因。下面的每一次实验都对应教材中的相应内容。上机时间为每次2小时。-3-实验一:C语言基础一、实验题目:已知一梯形,其上底为12.3,下底为21.6,高为5,求其面积。(数据要输入,结果要输出,要用已学的程序结构、语句和运算规则编写本程序。)二、实验目的根据所学C语言关于基本类型变量,加、减、乘、除等基本运算符的定义与使用规则,输入/输出函数调用语句的使用格式,进行相应程序设计训练,巩固已学的基本知识。三、实验内容1、标识符的定义规则和表达式的组成2、数据类型及定义变量的作用,掌握定义变量的方法3、输入/输出函数调用语句的使用4、C语言程序的一般描述格式四、实验步骤1、按C语言应用程序的固定框架编程。2、按要求分别定义四个float类型变量s、x、g、m,分别代表上底、下底、高和面积。利用输入函数调用语句分别输入相关数据,并进行相应运算。3、使用输出函数调用语句输出面积值。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰六、实验结果:#includestdio.hintmain(){floats,x,g,m;scanf(s=%f,x=%f,g=%f,&s,&x,&g);m=(s+x)*g/2;printf(m=%f\n,m);return0;}七、实验心得:-4-实验二:简单条件判断一、实验题目:随机算出任意两个圆面积的值s1、s2;假如s1s2,则按先s1后s2的顺序从小到大输出两个面积值;假如s1s2,则将大面积值放入s1后输出;假如s1=s2,则将s2的值输出。(数据要输入时要有提示,要用已学的条件判断结构编写本程序,要看清题目的要求此题有多种编法。)二、实验目的根据所学C语言关于条件判断结构的使用规则、输入/输出函数调用语句的使用格式,进行相应程序设计训练,可以有多种编法,进行算法比较,巩固已学的基本知识。三、实验内容1、编写输入函数调用语句及相应提示形式2、描述符号常量PI的数值3、编写条件判断结构语句(注意条件嵌套和复合语句的用法)4、根据对面积的不同判断进行不同的输出处理。根据不同的输出结果,编写输出函数调用语句及相应提示形式5、继续巩固C语言程序一般描述格式四、实验步骤1、按C语言应用程序的固定框架编程。2、按要求定义一个int类型变量a。利用输入函数调用语句分别输入相关数据。3、使用条件判断if或if…else格式进行判断处理编程。4、使用输出函数调用语句输出相关值或信息。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰六、实验结果:#includestdio.h#definePI3.14fintmain()-5-{floatr1,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=%fs2=%f\n,s1,s2);}elseif(s1s2){s1=s2;printf(最面积大值:s1=%f\n,s1);}elseprintf(相同面积值:s2=%f\n,s2);return0;}七、实验心得:实验三:多路分支switch语句一、实验题目:运输公司的运费计算,路程越远,吨公里运费越低。根据下表计算出具体单价、货重、路程距离的运费。路程范围(公里)折扣路程<250无250≤路程<5002%500≤路程<10005%1000≤路程<20008%2000≤路程<300010%3000≤路程15%二、实验目的根据所学C语言关于条件判断、多路分支结构的switch语句使用规则,进行相应程序设计训练,熟悉和掌握switch语句相关的使用技巧,巩固已学的基本知识。三、实验内容1、编写输入函数调用语句及相应提示形式-6-2、编写条件判断结构语句,确定switch语句分支标号3、根据标号的设置,进行不同路程计算折扣4、计算具体运费四、实验步骤1、按要求定义float类型变量,运费基价p、货重w、路程s、折扣d。2、使用输入函数调用语句,进行运费基价p、货重w、路程s信息输入。3、根据折扣表中公里为250的倍数这一特征,确定每250设置一switch语句分支标号。4、根据p×w×s×(1-d)公式计算运费。5、使用输出函数调用语句输出相关值或信息。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰六、实验结果:#includestdio.hintmain(){intc,s;floatp,w,d,f;printf(pleaseenterprice,weight,discount:);scanf(%f,%f,%d,&p,&w,&s);if(s=3000)c=12;elsec=s/250;switch(c){case0:d=0;break;case1:d=2;break;case2:case3:d=5;break;case4:case5:case6:case7:d=8;break;case8:case9:case10:case11:d=10;break;case12:d=15;break;}{-7-f=p*w*s*(1-d/100);printf(freigh=%10.2f\n,f);return0;}七、实验心得:实验四:for循环语句一、实验题目:在给定学生人数的情况下,逐次输入每个学生的成绩。若成绩<60,则输出“不及格”;若60≤成绩<70,则输出“及格”;若70≤成绩<80,则输出“良好”;若80≤成绩,则输出“优秀”。要求输出各档次成绩所占学生的比率和全部成绩的平均分(0<学生人数≤60)。二、实验目的根据所学C语言关于循环、条件判断结构的使用规则、输入/输出函数调用语句的使用格式,进行相应程序设计训练,可以有多种编法,进行算法比较,巩固已学的基本知识。三、实验内容1、选择合适的语句形式,确定学生的人数(0<人数≤60)2、编写循环结构语句(对所有学生的成绩进行循环处理)3、编写条件判断结构语句,根据输入的成绩,输出“不及格”、“及格”、“良好”、“优秀”。4、进行各档次成绩所占学生的比率和全部成绩的平均分的计算,并且输出。四、实验步骤1、设计while语句,进行学生人数的输入及合理性检查。2、设计for语句,进行对学生成绩的循环性处理。3、使用多路分支判断switch…case语句格式进行分支判断处理编程。4、使用输出函数调用语句输出对各档次成绩的评价。5、选择合适的语句形式进行各档次成绩所占学生的比率和全部成绩的平均分的计算。6、输出函数调用语句输出相关的计算结果。五、实验要求:1、在规定的实验时间内所编程序能得出正确结果,完成实验任务2、所编程序必须具备实现“实验题目”中要求的各程序功能要素3、所编程序必须语句正确、速写规范、逻辑清晰-8-六、实验结果:#includestdio.hintmain(){inta=1,b,i,j,s1=0,s2=0,s3=0,s4=0;floatx=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(输入成绩:);scanf(%d,&a);if(a0||a100)j=0;else{b=a/10-5;x=x+a;if(b=0)b=0;switch(b){case0:s1++;printf(不及格!);break;case1:s2++;printf(及格!);break;case2:s3++;printf(良好!);break;case3:case4:s4++;printf(优秀!);break;}}}printf(\n);printf(学生人数:%d\n,j);a=s1*100/j;printf(不及格率:%d\n,a);a=s2*100/j;printf(及格率:%d\n,a);a=s3*100/j;printf(良好率:%d\n,a);-9-a=s4*100/j;printf(优秀率:%d\n,a);x=x/j;printf(平均成绩:%f\n,x);return0;}七、实验心得:实验五:循环嵌套与一维数组一、实验题目:实现“冒泡”排序。在定义一维数组、长度为10的情况下,逐次输入每个数组元素的值。采用每次将相邻的前一个元素与后一个元素比较。如果前一个元素比后一个元素大,则两两相换。如此,将全数组比较完第1次后就会选出本次的最大值,且存放在数组的底部。长度为10的数组需要比较、选择10次,最终使整个数组的元素值以从小到大的次序摆放,并将该数组值输出。二、实验目的根据所学C语言关于循环、循环嵌套结构的使用规则,进行“冒泡”排序的相应程序设计训练,巩固已学的基本知识。三、实验内容1、定义长度为10的一维数组、编写循环结构语句(逐次输入每个数组元素的值)2、编写循环结构语句(对长度为10的一维数组元素选出本次最大值进行循环处理)3、编写循环结构语句(对长度为10
本文标题:《高级语言程序设计》-实验指导书
链接地址:https://www.777doc.com/doc-3734666 .html