《C语言高级应用》实验指导书_c语言程序实验指导书
《C语言高级应用》实验指导书由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言程序实验指导书”。
C语言高级应用
实验指导书
电子与计算机科学技术学院 实验一 顺序、选择及循环结构程序设计
一、实验目的1.熟悉C语言编程环境 2.掌握输入输出函数的使用
3.掌握if语句和switch语句的使用
4.掌握for语句、while语句和do-while语句的使用 5.通过练习掌握顺序、选择及循环结构程序设计方法
二、实验环境
1.计算机
2.Turbo C集成环境
三、实验说明
1.首先应熟悉Turbo C运行环境,正确操作 2.自主编写程序,必要时参考相关资料
3.实验前应画出流程图并写出程序大致框架或完整的程序代码 4.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)求解方程ax2+bx+c=0。
(2)打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)进入Turbo C集成环境。(3)编辑源程序并进行保存。
(4)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。
(5)执行程序,并检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:
打印水仙花数时,要分别求出三位数的个位数、十位数和百位数,试问:除了你所用的的方法外,是否还有其它方法?请写出。
实验二 数组的应用
一、实验目的1.通过实验理解掌握数组的基本概念
2.熟悉数组的定义、数组元素初始化、数组元素引用 3.理解字符数组的基本概念、基本操作和应用 4.能利用数组解决简单的应用问题
二、实验环境
1.计算机
2.Turbo C集成环境
三、实验说明
1.首先应熟悉Turbo C运行环境,正确操作 2.自主编写程序,必要时参考相关资料
3.实验前应画出流程图并写出程序大致框架或完整的程序代码 4.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)将一个数组中的值按逆序重新存放。
(2)编一程序,将两个字符串连接起来,不要用strcat函数。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)进入Turbo C集成环境。(3)编辑源程序并进行保存。(4)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。
(5)执行程序,并检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:
(1)在字符串常量中,其结束符‘ ’要占一个字节的内存空间,在计算字符串长度时,是否也包括了字符串结束符?
(2)在对字符数组进行输入时,可以用scanf函数,也可以用gets函数,若定义了一字符数组,从键盘输入了以下内容:You are my student。试问:用scanf函数和gets函数得到的结果一样吗?请分别指出。
实验三 结构体及其应用
一、实验目的1.理解结构体的基本概念 2.掌握结构体类型的定义方法
3.掌握结构体变量的定义、初始化和引用 4.理解结构体数组的定义、初始化和引用 5.通过实验熟悉结构体及结构体数组的应用
二、实验环境
1.计算机
2.Turbo C集成环境
三、实验说明
1.熟练操作Turbo C运行环境
2.自主编写程序,必要时参考相关资料 3.充分理解结构体的应用及编程技巧
4.实验前应画出流程图并写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,求出每个学生3门课的平均成绩,并输出最高分的学生的数据(包括学号、姓名、3门课的成绩、平均成绩)。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)进入Turbo C集成环境。(3)编辑源程序并进行保存。
(4)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。
(5)执行程序,并检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:
假如你所定义的结构体类型名为:STUDENT,试问:sizeof(STUDENT)的值是多少?
实验四
函数的应用
一、实验目的1.理解函数的基本概念
2.掌握函数的定义、调用方法及参数传递方式 3.理解变量的作用域和变量的存储类别 4.通过实验掌握函数的使用
二、实验环境
1.计算机
2.Turbo C集成环境
三、实验说明
1.熟练操作Turbo C运行环境
2.自主编写程序,必要时参考相关资料 3.充分理解函数的应用及编程技巧
4.实验前应画出流程图并写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)写一个判素数的函数,在主函数中输入一个整数,输出是否是素数的信息。(2)写一函数,使给定的一个二维数组(3×3)转置。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)进入Turbo C集成环境。(3)编辑源程序并进行保存。
(4)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。
(5)执行程序,并检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:
如果一个函数的定义如下所示: void hello(){ „„ return;} 请说明其中return语句的作用。其中的return语句可以省略吗?
实验五
指针及其操作
一、实验目的1.通过实验进一步掌握指针的概念
2.理解指针的定义和简单指针变量的使用方法
二、实验环境
1.计算机
2.Turbo C集成环境
三、实验说明
1.熟练操作Turbo C运行环境
2.自主编写程序,必要时参考相关资料 3.充分理解指针的使用及编程技巧
4.实验前应画出流程图并写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
输入4个整数,按由小到大的顺序输出,使用指针进行处理。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)进入Turbo C集成环境。(3)编辑源程序并进行保存。
(4)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。(5)执行程序,并检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题: 请说明以下程序段存在的问题,并改正。int a,*p;scanf(“%d”,p);
实验六
数组的指针操作
一、实验目的1.理解数组的指针和指向数组的指针变量 2.理解指针变量作为函数参数时的参数传递方式
二、实验环境
1.计算机
2.Turbo C集成环境
三、实验说明
1.熟练操作Turbo C运行环境
2.自主编写程序,必要时参考相关资料 3.充分理解数组指针的使用及编程技巧
4.实验前应画出流程图并写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数实现:① 输入10个数;②进行处理;③输出10个数(2)将n个整数的前面各数向后移m 个位置,最后m 个数变成最前面m个数。在主函数中输入n个整数和输出调整后的n个数。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)进入Turbo C集成环境。(3)编辑源程序并进行保存。
(4)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。
(5)执行程序,并检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:
int *p, a[10]={0,1,2,3,4,5,6,7,8,9};p=a;试问:如果数组a的首地址为:0x1000,&a[3]与p+3的值分别是多少?*p+3与*(p+3)的值分别是多少?
实验七
结构体的指针操作
一、实验目的1.理解结构的指针和指向结构的指针变量及链表的基本概念 2.理解链表的基本操作
二、实验环境
1.计算机
2.Turbo C集成环境
三、实验说明
1.熟练操作Turbo C运行环境
2.自主编写程序,必要时参考相关资料 3.充分理解结构的指针的使用及编程技巧
4.实验前应画出流程图并写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中有年龄等于此年龄的结点,则将此结点删除,否则新建一结点,插入到链表末尾。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)进入Turbo C集成环境。(3)编辑源程序并进行保存。(4)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。
(5)执行程序,并检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:
在建立链表时,要用到malloc函数来开辟内存空间,例如: p=(struct student *)malloc(sizeof(struct student));试问:为什么要在malloc函数前加(struct student *),去掉其中的*号可以吗?并说明原因。
实验八
文件的基本操作与应用
一、实验目的1.理解文件及文件指针的概念
2.学会使用打开、关闭、读、写等文件操作函数 3.学会创建自己需要的文件格式
二、实验环境
1.计算机
2.Turbo C集成环境
三、实验说明
1.熟练操作Turbo C运行环境
2.自主编写程序,必要时参考相关资料 3.充分理解文件的基本操作及编程技巧
4.实验前应画出流程图并写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
编程实现以下内容:
(1)建立一数据文件,该数据文件包括文件头:0X146F,0X1234;
(2)一个班有5个学生,每个学生包括:学号、姓名和三门课成绩,从键盘输入5个学生的信息,并保存到该数据文件;
(3)从文件中读出5个学生的信息,计算平均成绩;
(4)把5个学生的所有信息(包括平均成绩)输出到数据文件。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)进入Turbo C集成环境。(3)编辑源程序并进行保存。
(4)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。
(5)执行程序,并检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:
为什么在对文件操作结束后,要用fclose函数关闭文件?
实验九
串口通信的简单应用
一、实验目的1.理解串口的操作方式和模式控制方式 2.理解串口数据通信的实现过程 3.能够编写简单的串口通信程序
二、实验器材
1.计算机
2.DB_9串口插头两个,导线若干
三、实验说明
1.自主编写程序,必要时参考相关资料 2.充分理解串口的基本操作 3.理解串口通讯的基本过程
4.实验前应画出流程图并写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
将两台计算机的COM口相连,一个作为接收端,另一个作为发送端,编程实现两台计算机之间的简单通信。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)将两台计算机的COM口连接好。(3)进入Turbo C集成环境。(4)编辑源程序并进行保存。(5)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。
(6)执行程序,并检查程序输出结果。
五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:
两台计算机在通过串口进行串行通信时,它们的串口参数(如波特率)可以设置为不一样吗?
实验十
并口通信的简单应用
一、实验目的1.理解并口的操作方式
2.理解并口寄存器的含义和并口读写时序
3.能够针对简单的应用问题,编写简单的并口通信程序
二、实验器材
1.计算机
2.实验电路板(包括并行接口、数模转换器DAC0832、运算放大器LM741、电阻、电容等),DB_25并口插头一个,导线若干 3.示波器、微机—II型电源各一套
三、实验说明
1.自主编写程序,必要时参考相关资料 2.充分理解并口的基本操作 3.理解并口通讯的基本过程
4.实验前应画出流程图并写出程序大致框架或完整的程序代码 5.实验学时:2学时
四、实验内容和步骤
1.实验内容
通过计算机并口向数模转换器发送数据,实现D/A转换。2.实验步骤
(1)分析实验内容,画出流程图并写出程序大致框架或完整的程序代码。(2)把实验电路板与计算机并口、示波器、电源(此时电源关闭)连接好。(3)进入Turbo C集成环境。(4)编辑源程序并进行保存。
(5)编译源程序,若有错误,修改错误后再次进行编译和连接,如此反复进行到不显示出错为止。
(6)打开电源,执行程序,通过示波器观察D/A转换器和运算放大器输出的波形。
(7)如发现波形输出有问题,若是程序有问题,关闭电源,修改程序并保存,重复步骤(5),(6),(7),直到输出正确的波形为止。若是电路有问题,请查找原因,或更换实验板,验证程序的正确性。
五、实验报告要求
1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:
计算机并口的基地址有哪些?若要改变并口的基地址,应如何操作?