使用程序设计实验指导书.docx
- 文档编号:25425438
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:13
- 大小:22.58KB
使用程序设计实验指导书.docx
《使用程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《使用程序设计实验指导书.docx(13页珍藏版)》请在冰豆网上搜索。
使用程序设计实验指导书
《应用程序设计C》实验指导书
课程编号:
课程名称:
应用程序设计C/AppliedProgramDesignC
实验学时:
20
适应专业:
信息管理与信息系统
承担实验室:
管理学院实验中心
一、实验目的和任务
1.实验教学的目的
通过实验课程的学习,掌握和消化C语言中的基本内容,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用C语言编写并调试软件的能力,为培养有较强软件开发能力的计算机本科生打下良好基础。
2.实验教学的要求
通过实验课程的学习,掌握和消化C语言中的基本知识、各种语句及程序控制结构,熟练掌握C语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用C语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。
二、实验项目及学时分配
序
号
实验项目名称
实验学时
实验类型
开出要求
1
程序设计初步
2
验证
必做
2
控制语句
4
验证
必做
3
数组
4
验证
必做
4
函数
4
验证
必做
5
指针与结构体
6
综合
必做
三、参考资料
《C程序设计题解与上机指导(第二版)》,主编:
谭浩强,出版社:
清华大学出版社,出版或修订时间:
2000年9月第2版。
《C语言编程常见问题解答》,主编:
PaulS.R.Chisholm等,翻译:
张芳妮,吕波,出版社:
清华大学出版社,出版或修订时间:
1996年12月第1版
四、单项实验的内容和要求(包括实验所用的主要仪器设备,实验所需主要耗材)
实验一 程序设计初步
1.实验目的与意义
1.掌握启动与退出TC的方法。
通过实验掌握TC各菜单项的功能。
2.掌握建立、编辑和运行一个简单C语言程序的全过程。
3.掌握基本输入输出函数的用法
4.了解算法在程序设计中的应用
5.了解单步跟踪调试的方法。
2.基本原理和方法
在TurboC集成化开发环境中输入源程序,源程序经过“编译程序”编译成为目标程序,目标程序与库函数连接,形成的完整的可在操作系统下独立执行的程序称为可执行程序。
3.主要仪器设备及耗材
计算机设备,软件TurboC2.0或TurboC ForWindows.
4.实验方案或技术路线
在TurboC集成化开发环境中,完成几个C语言程序。
输入与编辑源程序->编译源程序,产生目标代码->连接各个目标代码、库函数,产生可执行程序->运行程序。
5.实验内容及步骤
1.在机器中找到TC子目录,(如果在桌面上内没有,运用“查找”设法找到),进入TC子目录,找到文件tc.exe,运行该文件,就可进入tC的编辑环境。
2.进入编辑环境后,占据屏幕大部分的是编辑窗口。
按下Alt+F键,激活File菜单(同理激活其它菜单),选中New命令,在这里可以编辑我们的源程序。
大家可照下面的程序输入,然后自己调试,看能否运行成功:
例1
#include
voidmain()
{
printf(“Thisisaprogram.\n”);
}
3.将上述源程序输入后,就开始调试阶段的工作了。
激活Compile菜单,选中Compile命令(或直接按Ctrl+F9)进行编译,这里的主要任务是检查源程序有无语法错误。
一个程序能运行的前提是没有语法错误。
如果出现错误,大家可根据系统提示查错。
常见的错误有:
漏掉词法符号:
如逗号、双引号、花括号不匹配(括号或多或少)等;
关键字写错:
如把main写成mian;
数据类型定义前后不一致;
另外,还有一种情况可导致文件调试通不过:
文件路径不对——这常常是初学者最不注意的地方。
由于在程序中经常用到库函数,这些库函数有的还被包含在一些头文件中,为了让编译程序知道这些库函数的确切位置,必须告诉系统它们的路径,因此在运行之前,还有一项工作必须要做,即修改路径。
你必须知道include和lib的正确位置,一般情况下,它们在tC目录下。
例如:
若tC在D盘根目录下,则修改过程如下:
(不同机房的情况可能不同)
激活options菜单,选中directiories命令,弹出一个对话框,填写如下:
IncludeDirectiories中写:
D:
\tC\INCLUDE
libraryDirectiories中写:
D:
\tC\LIB
后面还有两个路径,可根据自己的实际需要填写,如可写成:
OutputDirectiories中写:
e:
SourceDirectiories中写:
e:
通过上述修改,看看你的程序是否能够通过。
如果你的程序还有语法错误,那你要好好检查一下了。
如果没有语法错误,那么你可以运行看一下你的编程结果了。
方法如下:
运行:
激活Run菜单,选择Run命令,(或直接按Ctrl+F9)运行后又会回到编辑窗口,运行结果在MS_DOS窗口下。
查看结果:
激活Windows窗口,选择UserScreen命令,(或直接按Alt+F5),你可以看到屏幕上显示:
Thisisaprogram.
恭喜你,运行成功!
4.如果你想把这个程序保留下来(万一时间不够需要继续调试也应保留),激活File菜单,选中Save命令,然后告诉相应的地址和文件名就可。
这里File菜单中很多命令都与Word中的用法是类似的,如存盘命令等。
不仅C编译程序如此,很多Windows的应用程序也如此,这样应用程序之间有一定的兼容性,不至于用户在学完一种应用程序后,记熟了一套常用命令,换了另一种环境后,又要记另外一套命令。
这样其实是为了方便用户。
在今后的编程中,我们需要记住的一条编程原则是:
尽量方便用户,也就是俗话说:
“方便留给别人,困难留给自己。
”
例2互换变量的值
#include
voidmain()
{
inta,b,temp;
a=3;
b=4;
/*下面的程序将要借助变量temp,将a、b的值互换*/
temp=a;/*将a的值存储起来*/
a=b;/*将b的值转到a中,实现b向a转换*/
b=temp;/*将记录a原始值的变量temp,赋值给b,实现a向b转换*/
printf(“a=%d,b=%d”,a,b);
}
程序运行结果:
a=4,b=3
5.单步跟踪:
大家将上述程序敲入机器后,可以尝试单步跟踪,一步一步来查看计算机的运行状态,看看计算机是否按照我们的预想在运行,一旦出现逻辑错误,可以通过单步跟踪发现问题所在。
方法如下:
激活Run菜单,选择StepOver命令,或直接按下F8键,进入单步跟踪状态,这时屏幕在主程序的第一句voidmain()处,出现一个宝石蓝的光带,表明现在计算机将按程序的逻辑一条一条执行下去,不断按下F8键,将执行下一条语句,例如当按到b=4时,表明程序已经执行了a=3将要执行b=4,那么我们来看看计算机是不是真把3赋值给a了呢?
激活Debug菜单,选择Evaluate\Modify命令,或直接按下Ctrl+F4键,在出现的对话框中填入待查变量,按下Evaluate按钮即可,见下图:
可见计算机确实执行了a=3,如我们的预期,看来这一步没有问题,其他情况可以类似检查。
例3:
求1+2+3+4+5+……+100累加和
#include
voidmain()
{
inti,sum;
for(i=1;i<=100;i++)
sum=sum+i;
printf(“sum=%d”,sum);
}
原理:
本题中可能有些语句大家一时看不懂,但这个小程序只是为了向大家说明让计算机解题时该如何表达,算法分析大家可以参见课本14页的说明。
有的同学可能认为从1加到100,口算就可以了,为什么还要费事编程呢?
这是因为当数据量较小时,我们当然可以口算,但遇到的许多实际问题却是难于口算的,这样当我们把计算方法教给计算机后,剩下计算的问题就让计算机来算好了。
6.通过上述分析,大家对算法在计算机中的作用就有了一些认识,今后的编程中我们将时时考虑算法。
这一点大家将会在今后的学习中慢慢体会。
同时,希望大家能用单步跟踪的方式来解决一些逻辑问题。
实验二 控制语句
1.实验目的与意义
1.掌握表达式、赋值语句的正确书写规则。
2.掌握if、switch语句的具体用法。
3.注意if_else语句嵌套中的匹配关系。
4.掌握多分支条件语句的用法。
5.掌握for语句的用法。
6.掌握while语句的用法。
7.掌握break、continue的用法。
8.掌握如何控制循环条件,防止死循环或不循环。
9.掌握一些经典算法。
2.基本原理和方法
通过条件选择结构或者多分之选择结构完成特定程序代码的执行,通过循环结构完成特定代码段的重复执行,从而满足实现程序算法的要求。
3.主要仪器设备及耗材
计算机设备,软件TurboC2.0或TurboC ForWindows。
4.实验方案或技术路线
在TurboC集成化开发环境中,通过特定的算法结构和程序结构完成指定程序的编制、调试和执行,并通过观测程序输出结果验证程序的正确性。
5.实验内容及步骤
编写下面C语言程序(由任课教师指定题目),在计算机上完成程序输入、编译、连接、运行。
1.有3个整数a、b、c,由键盘输入,并输出其中最大的数。
2.给一个不多于5位的正整数,要求:
1)求出它是几位数;2)分别打印出每一位数字;3)按逆序打印出各位数字,例如原数为321,应输出123。
【提示】此题在编程时,要注意当数据超出基本整型范围时,对数据类型的定义应适当扩大范围。
实验指导教师要对边界值进行检查。
3.输入4个整数,要求按由小到大的顺序输出。
4.求Fibonacci数列的算法,求该数列前20项之和。
5.求1~100之间的素数之和。
6.输入两个正整数m和n,求其最大公约数和最小公倍数。
7.输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。
8.求1!
+2!
+3!
+……+20!
9.有一分数序列:
21,32,53,85,138,2113
求出这个数列的前20项之和。
9.(120页,6.12)用牛顿迭代法求下面方程在1.5附近的根。
2x3-4x2+3x-6=0
实验三 数组
1.实验目的与意义
1.掌握数组的基本操作(数组声明、数组初始化、数组输出、求数组中最大、小元素及下标、求和平均值等)。
2.重点掌握一维数组两种排序方法。
3.重点掌握一维数组查找、插入算法。
4.用二维数组实现矩阵的有关方法算法。
2.基本原理和方法
数组是具有相同数据类型的数据的有序的集合。
通过对数组元素的引用完成对特定数据的操作,再结合相关的分支结构和循环结构,实现特定的算法,从而完成排序、查找、插入和矩阵运算的程序编制。
3.主要仪器设备及耗材
计算机设备,软件TurboC2.0或TurboC ForWindows.
4.实验方案或技术路线
在TurboC集成化开发环境中,通过对数组的定义、赋值和特定的算法结构和程序结构完成指定程序的编制、调试和执行,并通过观测程序输出结果验证程序的正确性。
5.实验内容及步骤
编写下面C语言程序(由任课教师指定题目),在计算机上完成程序输入、编译、连接、运行。
1.随机产生10个正整数,求最大值、最小值、平均值,并显示整个数组的值和结果。
2.输入整数n,显示出n行的扬辉三角形。
3.将下列无序数:
20,15,100,50,98,78,6,72
⑴按从小到大的顺序排列成有序数
⑵在其中查找关键字为50的元素,如果有,显示查找到的信息,并指明在其中第几个位置;如果没有,要提示用户没有的信息。
⑶在其中查找关键字为80的元素,如果有,显示查找到的信息,并指明在其中第几个位置;如果没有,要提示用户没有的信息。
⑷将上述关键字80插入到排序好的数组中去,并不改变原来的升序顺序。
4.用筛法求100之内的素数。
5.用选择法对10个整数排序。
6.求一个3*3矩阵对角线元素之和。
7.已有一个排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中。
8.将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1;要求改为1,4,5,6,8。
实验四 函数
1.实验目的与意义
1.熟悉常用库函数。
2.学习自定义函数的用法。
3.体会自定义函数在程序中的意义。
4.体会存储类型的意义及其对变量生存期和初始化的影响。
2.基本原理和方法
C语言的函数是子程序的总称,包括函数和过程。
C语言函数可以分为库函数、用户自定义函数。
库函数由系统提供,程序员只需要使用(调用),用户自定义函数需要程序员自己编制。
C语言程序可以包含一个main函数,也可以包含一个main函数和若干个其它函数。
通过函数调用实现功能模块的调用,从而实现结构化程序设计。
3.主要仪器设备及耗材
计算机设备,软件TurboC2.0或TurboC ForWindows.
4.实验方案或技术路线
在TurboC集成化开发环境中,通过在main函数中调用完成特定功能的函数来实现指定程序的编制、调试和执行,并通过观测程序输出结果验证程序的正确性。
5.实验内容及步骤
编写下面C语言程序(由任课教师指定题目),在计算机上完成程序输入、编译、连接、运行。
1.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。
2.求方程ax2+bx+c=0的根,用3个函数分别求当b2-4ac大于0、等于0和小于时的根并输出结果,从主函数a、b、c的值。
3.写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。
4.写一个函数,使给定的一个二维数组(3*3)转置,即行列互换。
5.写一个函数,用“起泡法”对输入的10个字符按由小到大顺序排列。
6.用递归法将一个n转换成字符串。
例如,输入483,应输出字符串“483”。
n的位数不确定,可以是任意位数的整数。
7.写一个函数,输入一个十六进制数,输出相应的十进制数。
实验五 指针与结构体
1.实验目的与意义
1.掌握指针的定义并灵活掌握指针运算符的用法。
2.掌握指针与数组的关系。
3.能够理解应用结构体指针,实现单链表的插入、删除算法。
2.基本原理和方法
指针就是“内存单元的地址”。
指针指向一个内存单元,变量的指针就是“变量的地址”。
变量的指针指向一个变量对应的内存单元,指针变量就是地址变量。
地址(指针)也是数据,可以保存在一个变量中。
保存地址(指针)数据的变量称为指针变量。
指针使用灵活、方便,并可以使程序简洁、高效、紧凑。
3.主要仪器设备及耗材
计算机设备,软件TurboC2.0或TurboC ForWindows.
4.实验方案或技术路线
通过在程序中对指针的定义、赋值和引用从而完成对特定的物理内存地址中特定数据的引用,结合特定的算法和程序结构完成指定程序的编制、调试和执行,并通过观测程序输出结果验证程序设计的正确性。
5.实验内容及步骤
编写下面C语言程序(由任课教师指定题目),在计算机上完成程序输入、编译、连接、运行,并且完成实验报告的撰写。
1.输入个字符串,按由小到大的顺序输出。
2.输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个对换。
写3个函数:
①输入10个数②进行处理③输出10个数。
3.写一个函数,求一个字符串的长度。
在main函数中输入字符串,并输出其长度。
4.在主函数中输入10个等长的字符串。
用另一函数对它们进行排序。
然后在主函数输出这10个已经排好序的字符串。
5.对年龄在19岁以下(含19岁)同学的成绩增加10分。
数据定义参考:
structstudent
{
intnum;
charname[20];
charsex;
intage;
floatscore;
};
6.学校的人员数据管理,教师的数据包括:
编号、姓名、性别、职务。
学生的数据包括:
编号、姓名、性别、班号。
如果将两种数据放在同一个表格中,那么有一栏,对于教师登记教师的“职务”,对于学生则登记学生的“班号”(对于同一人员不可能同时出现)。
写出类型定义,并编写输入信息,输出信息的程序代码。
数据定义参考:
structperson/*结构体类型定义*/
{
longnum;charname[20];charsex;charjob;/*人员标志:
s-学生,t-教师*/
union/*匿名联合体类型定义,并定义联合体变量category作为外层结构体的成员*/
{
intclass;position[20];
}category;
};
执笔:
余珍文
日期:
2006.12
审阅:
张浩
日期:
2006.12
审定:
刁兆峰
日期:
2006.12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 程序设计 实验 指导书