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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序设计课程实验指导书.docx

1、C语言程序设计课程实验指导书语言程序设计课程实验指导书第一部分前言一、实验的目的学习程序设计课程不能满足于“懂得了”,满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即独立编写源程序、独立上机调试、独立运行程序和分析结果。上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编写的程序的正确与否。程序设计课程上机实验的目的是:1加深对讲授内容的理解,尤其是一些语法规定。通过实验来掌握语法规则是行之有效的方法。2熟悉所用的操作系统。3学会上机调试程序。通过反复调试程序掌握根据出错信息修改程序的方法。4通过调试完善程序。二、实验前的准备工作1了解所用的计算机系统(包括编译系统

2、)的性能和使用方法。2复习和掌握与本实验有关的教学内容。3准备好上机所需的程序,切忌不编程或抄别人的程序去上机。4对程序中出现的问题应事先估计,对程序中自己有疑问的地方应先作上记号,以便上机时给予注意。5准备好调试程序和运行程序所需的数据。三、实验的步骤上机实验应一人一组,独立实验。上机过程中出现的问题,除了是系统的问题以外,不要轻易举手问老师。尤其对“出错信息”,应善于分析判断,找出出错的行,然后检查该行或其上一行。上机实验一般应包括以下几个步骤:1双击桌面Visual C+快捷方式进入Visual C+,或通过执行“开始=程序=Microsoft Visual Studio = Micro

3、soft Visual C+6.0”或执行文件C:Program FilesMicrosoft Visual StudioCOMMONMSDev98Bin。2单击“文件”菜单的“新建”命令。3在打开的“新建”对话框中选择“文件”标签。4选择C+ Source File,选择文件保存位置,然后在文件输入栏中输入文件名。如图所示:5输入源程序。6编译程序:按“Ctrl+F7”或通过“编译”菜单中的“编译”命令,或使用工具栏中的相应工具进行编译编译连接运行若程序有错则找到出错行修改程序。7连接:若程序没有语法错误,则可按功能键或执行“编译”菜单中的“构件”命令或通过工具栏中的相关工具(编译工具右边工

4、具),进行连接生成可执行文件。8运行程序:按组合键“Ctrl+F5”,或通过“编译”菜单中的执行命令,或通过工具栏中的“!”工具运行程序。四、写好实验报告实验报告应包括以下内容:1实验目的。2实验内容。3程序清单。4运行结果。5对运行结果的分析,以及本次调试程序所取得的经验。五、实验任务与时间安排实验序号实验内容拟实验时间实验形式1C程序的运行环境及运行一个C程序2验证性2数据类型、运算符和表达式2验证性3最简单的C程序设计2验证性4选择结构程序设计2验证性5循环控制4验证性6数组4验证性7函数2验证性8编译预处理2验证性9指针2验证性10结构体、共用体6设计性11位运算2验证性12文件2验证

5、性六、教材C程序设计(第三版)潭浩强著清华大学出版社第二部分实验内容实验一程序的运行环境和运行一个程序的方法一、实验目的1了解所用的计算机系统。2了解在该系统上如何进行编辑、编译、连接和运行一个程序。3通过运行简单的程序了解程序的特点。二、实验内容和步骤熟悉所用的系统。了解Windows资源管理器的使用方法:文件的查看、复制、运行等方法,Visual C+所在目录,文本文件的建立方法。2进入Visual C+,并新建一个C+源程序文件。3熟悉Visual C+的集成环境,了解各菜单项有哪些子菜单。4输入下面的程序(教材中的例.),注意区分大小写。#includevoid main()print

6、f(This is a C program.n);编译并运行程序。5关闭工作区,新建一个程序,然后对教材中的例.重复中的操作(即只将程序改为例中的程序,其它操作步骤相同)。6关闭工作区,新建一个程序,然后输入并运行一个需要在运行时输入数据的程序#includevoid main()int a,b,c;int max(int x,int y);printf(input a and b:);scanf(%d,%d,&a,&b);c=max(a,b);printf(nmax=%d,c);int max(int x,int y)int z;if(xy) z=x;else z=y;return(z);(

7、1)运行程序,若程序有错,则修改错误后继续运行程序,当没有错误信息时输入:2,5并按Enter键,查看运行结果。(2)将程序的第三行改为:int a;b;c;然后按F9看结果如何,将其修改为int a,b,c;将子程序max的第3,4行合并为一行,运行程序,看结果是否相同。7运行一个自己编写的程序,程序的功能是输出两行文字。实验二数据类型、运算符和表达式一、实验目的掌握语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。2掌握不同数据类型之间赋值的规律。3学会使用的有关算术运算符,以及包含这些运算符的表达式,特别是自加()和自减()运算符的使用。4进一步熟悉程序的编辑

8、、编译、连接和运行的过程。二、实验内容和步骤输入并运行下面的程序#includevoid main()char c1,c2;c1=a;c2=b;printf(%c %c,c1,c2);()运行此程序()加入下面的一个语句作为“”前的最后一个语句:printf(%d,%dn,c1,c2);()将第行改为:int c1,c2;然后再运行程序,并观察结果是否相同。()将第行改为int c1,c2;将第4,行依次改为:c1=a;c2=b;c1=a;c2=bc1=300;c2=400;每改为一次后运行程序,观察结果。2分析教材第章习题中的程序的运行结果,然后输入该程序并运行,将运行结果与前面分析的结果对

9、比。3输入并运行下面的程序#includevoid main()int a,b;unsigned c,d;long e,f;a=100;b=-100;e=50000;f=32767;c=a;d=b;printf(%d,%dn,a,b);printf(%u,%un,a,b);printf(%u,%un,c,d);c=a=e;d=b=f;printf(%d,%dn,a,b);printf(%u,%un,c,d);请对照程序和运行结果分析:()将一个负整数赋给一个无符号的变量,会得到什么结果。画出它们在内存中的表示形式。()将一个大于32767的长整数赋给一个整型变量,会得到什么结果。画出它们在内存

10、中的表示形式。()将一个长整数赋给无符号的变量,会得到什么结果。画出它们在内存中的表示形式。4输入习题()运行程序,注意i,j,m,n的值。()将第4,5行改为:m=i+;n=+j;再运行。()将程序改为:#includevoid main()int i,j;i=8;j=10;printf(%d,%dn,+i,+j);i=8;j=10;printf(%d,%dn,i+,j+);i=8;j=10;printf(%d,%dn,+i,i);i=8;j=10;printf(%d,%dn,i+,i);运行程序并分析运行结果。5按习题的要求编程并上机运行:要将“China”译成密码,密码规律是:用原来的字

11、母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”,因此,“China”应译为“Glmre”。请编一程序,用赋初值的方法使c、c2、c3、c4、c5这5个变量的值分别为C,h, i,n, a,经过计算,使c、c2、c3、c4、c5分别变为:G,l,m,r,e,并输出.程序提示:main函数算法如下: 定义char型变量 c,c2,c3,c4,c5; 给字符型变量赋值 c1=c1+4;c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4;输出c,c2,c3,c4,c5实验三最简单的程序设计一、实验目的1掌握语言中使用最多的一种语句赋值语句的

12、使用方法。2掌握各种类型数据的输入输出方法,能正确使用各种格式输出符。二、实验内容和步骤掌握各种格式输出符的使用方法。#includevoid main()int a,b;float d,e;char c1,c2;double f,g;long n,m;unsigned p,q;a=61;b=62;c1=a;c2=b;d=; e=;f=3156890121;g=;m=50000;n=-60000;p=32768;q=40000;printf(a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn,a,b,c1,c2,d,e);printf(f=%15.6f,g=%15.1

13、2fnm=%ld,n=%ldnp=%u,q=%un,f,g,m,n,p,q);(1)运行此程序并分析运行结果。(2)在此基础上,修改程序的第行:a=61;b=62;c1=a;c2=b;f=3156,890121;g=;d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,分析运行结果。(3)将行改为以下的scanf语句,即用scanf函数接收从键盘输入的数据:scanf(%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u,&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);运行程序(无错误的情况下)输入数据如下:61,

14、62,a,b,,3156,890121,,50000,-60000,32768,400002按习题38的要求编写程序并运行:设圆半径r=,圆柱高h=3,求圆周长、圆面积,圆球表面积、圆球体积、圆柱体体积。用scanf输入数据,输出计算结果,输出时要有文字说明,取小数后2位数字。程序提示:#define PI main算法如下 定义float型变量 r,h,L,s1,s2,v1,v2; 用scanf语句输入圆半径和圆柱高 求圆周长、面积、圆球表面积、圆柱体体积输出圆周长、圆面积、圆球表面积、圆球体体积程序中的用PI代替。3编写程序,用getchar函数读入两个字符给c1,c2,然后分别用putc

15、har函数和printf函数输出这两个字符。实验四选择结构程序设计一、实验目的1了解语言表示逻辑值的方法。2学会正确使用逻辑运算符和逻辑表达式的方法。3熟悉if语句和switch语句。4结合程序掌握一些简单的算法。5学习调试程序的方法。二、实验内容本实验要求编程解决以下问题,然后上机调试运行程序。1用scanf函数输入x的值,求y的值。程序提示:main函数结构如下:定义实型变量x与y使用scanf函数输入x的值if x1 y=xelse if x=90grade=Aelse if score=80grade=Belse if score=70grade=Celse if score=60gr

16、ade=Delse grade=E输出百分制成绩和等级。(2)使用switch语句的main函数结构如下:定义float型变量score,char型变量grade输入百分制成绩赋给scoreswitch(int(score/10)case 10:case 9: grade=A;break;case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;default: grade=E;break;输出百分制成绩和等级3编程实现:输入一个不多于位的正整数,要求:()输出它是几位数,()分别输出每一位数字,()按逆序输出各位数字,

17、如原数为,则应输出。应准备以下测试数据要处理的数为位正整数;要处理的数为位正整数;要处理的数为位正整数;要处理的数为位正整数;要处理的数为位正整数;除此之外,程序还应当对不合法的输出作必要的处理。例如:输入负数;输入的数超过位;程序提示:main函数结构如下:定义long型变量num,int型变量c1,c2,c3,c4,c5输入一个不超过5位的正整数赋给numif num99999 输出:输入的数超过5位else if num0) printf(n%ld是一个5位数n,num); printf(其各位分别为:%1d,%1d,%1d,%1d,%1dn,c1,c2,c3,c4,c5); print

18、f(逆序输出为:%1d%1d%1d%1d%1dn,c5,c4,c3,c2,c1); else if(c20) 是4位数,输出其各位,格式与5位数类似else if(c30) 是3位数,输出其各位,格式与5位数类似else if(c40) 是2位数,输出其各位,格式与5位数类似else if(c50) 是1位数,输出其各位,格式与5位数类似4编程实现:输入个整数,要求按由小到大的顺序输出。得到正确结果后,修改程序使之按由大到小的顺序输出。main函数结构如下:int a,b,c,d,t; 输入4个整数:赋给a,b,c,d; if(ab) 交换a,b if(ac) 交换a,c if(ad) 交换a

19、,d if(bc) 交换b,c if(bd) 交换b,d if(cd) 交换c,d 输出a,b,c,d实验五循环控制一、实验目的熟悉使用while语句,do-while语句和for语句实现循环的方法。掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。二、实验内容上机完成习题:输入两个正整数m和n,求出它们的最大公约数和最小公倍数。输入时,使mn,观察结果是否正确;再输入时使mn,观察结果是否正确;修改程序使对任何的整数都能得到正确的结果。程序提示:main结构如下:int m,n,r,tm,tn; 输入两个正整数赋给m,n tm=m;tn=n; if(m=1e-7)e=e+

20、t; i+;p=p*i;t=p;输出e的值3编程求1到n中能被3或7整除的数之和。分别用for循环语句和while循环语句完成本题。程序提示:for循环语句的主要算法如下:for(i=1;i=n;i+) if i能被3或7整除sum=sum+iwhile循环语句的主要算法如下:while(i=1;i-)x=2*x+1实验六数组一、实验目的1掌握一维数组与二维数组的定义、赋值及输入输出方法。2掌握字符数组和字符串函数的使用。3掌握与数组有关的算法(特别是排序算法)二、实验内容用选择法对个整数排序(从小到大)。个整数用scanf函数输入。程序提示:方法一:冒泡法。见例方法二:选择法。输入10个整数

21、存放到数组a的a0到a9中输出10个数for(i=0;i10;i+) min=i; for(j=i+1;jaj) min=j; 交换ai与amin 输出排序后的10个数2有个数存放在一个数组中,输入一个数要求用折半查找法找出该数是数组中的第几个元素的值,如果该数不在数组中,则输出无此数,要找的数用scanf函数输入。程序提示:方法一:顺序查找法,即从数组的第一个数开始,将要找的数与数组中的数一一比较,直到找到为止。写出用此方法的程序。方法二:折半查找法,先对数组进行升序排序,每次查找时,只将要找的数与数组中居中的数进行比较,若比居中的数小,再与前一半居中的数比较,否则,与后一半居中的数比较,如

22、此类推,直到找到为止。用循环语句输入15个数调用排序算法对其进行排序while(flag) 输入要查找的数 loca=0; top=0; bott=N-1; if(numberaN-1) loca=-1; while(sign=1&top=0) mid=(bott+top)/2; if(number=amid) loca=mid; printf(找到了,数%d在数组的第%d位、n,number,loca+1); sign=0; else if(numberamid) bott=mid-1; else top=mid+1; if(sign=1|loca=-1) printf(n查无此数n); p

23、rintf(n是否继续查找?(Y/N); scanf(%c,&c);getchar(); printf(n); if(c=N|c=n) flag=0; 3将两个串连接起来,不要用strcat函数。程序提示:分别输入二个串字符 i指向第一个数组的最后一个空数组元素 while(s2j!=0) s1i+=s2j+; s1i=0;输出连接后的字符串4找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。至少准备两组测试数据:()二维数组有鞍点9 80 205 4090 -60 96 1 210 -3 101 89()二维数组没有鞍点 9 80 205 40 90 -

24、60 96 1 210 -3 101 89 45 54 156 7 用scanf函数从键盘输入数组的各元素的值,检查结果是否正确,题目未指定二维数组的行数和列数,程序应能处理任意行数和列数的数组。程序提示:输入矩阵flag2=0;/矩阵中无鞍点 for(i=0;in;i+)/找第i行的鞍点 max=ai0;maxj=0; 用for循环语句找第i行的最大值存放在max中,其下标j保存到maxj中 for(k=0,flag1=1;kakmaxj) flag1=0;/max不是该列的最小元素 if(flag1) printf(n第%d行第%d列的%d是鞍点n,i+,maxj+,max); flag2

25、=1; /endfori if(!flag2) printf(n矩阵中无鞍点n);实验七函数一、实验目的1掌握定义函数的方法。2掌握函数实参及形参的对应关系以及“值传递”方式。3掌握函数的嵌套调用和递归调用的方法。4掌握全局变量和局部变量,动态变量、静态变量的概念和使用方法。5学会对多文件程序的编译和运行。二、实验内容(1为必做,2-5至少选做一个)写出一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。本程序应准备以下测试数据:17,34,2,0,分别输入数据,运行程序并检查结果是否正确。程序提示:求素数函数如下:int prime(int n)if n2 return 0 for(i=2;in/2;i+) if n能被i整除return 0; return 1;main函数中

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

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