《C程序设计》指导书.docx
《《C程序设计》指导书.docx》由会员分享,可在线阅读,更多相关《《C程序设计》指导书.docx(11页珍藏版)》请在冰豆网上搜索。
![《C程序设计》指导书.docx](https://file1.bdocx.com/fileroot1/2023-1/12/26969ad0-a9e6-4c46-9e46-b687308e3f80/26969ad0-a9e6-4c46-9e46-b687308e3f801.gif)
《C程序设计》指导书
《C程序设计》实验大纲及其实施计划
课程综述
《C程序设计》是计算机科学与技术(师范类)专业的一门专业基础课,属于专业必修课。
是本专业的多门后续专业课程的先导课。
本课程的教学目的是使学生掌握有关C程序设计的基本概念、基本结构、基本方法与技巧,具备利用C语言进行程序设计的基本素质,拥有用C语言编写程序和上机调试的能力,为本专业有关后续课程的学习打下坚实的基础。
实验设置
总体说明
《C程序设计》是一门实践性很强的课程。
通过实验使学生加深对课堂讲授的概念、语法、算法、编程技术的理解;熟悉C程序设计的开发环境;掌握程序设计和调试的基本技能。
并通过实践激发学生进一步学习的积极性,培养学生的学习兴趣和创新思维。
通过8个实验,使学生经过一定数量的上机训练,了解和掌握C程序设计的环境、程序的数据表示、程序的执行流程控制、程序的整体结构等C程序设计的基本概念和应用技术。
实验名称
(选做实验
后面加*号)
1
C语言编程环境、简单C程序实验
2
选择结构实验
3
循环结构实验
4
数组实验
5
函数实验
6
指针实验
7
结构体实验
8
文件实验
实验占课程总课时、学分比例情况
实验占课程总课时1/2,实验成绩与平时作业合计占课程成绩的30%。
实验资料
存档形式
(纸质/光盘)
光盘
实验1 C语言编程环境、简单C程序实验
实验目的:
熟悉TurboC编程环境,了解和掌握利用该环境对C程序进行编辑、编译和运行的基本方法和步骤。
学习使用C语言的基本类型、基本运算符和表达式,初步掌握各类基本数据的输入输出方法。
实验环境(硬/软件要求):
WindowsXP+VC++6.0
实验内容:
1.VC++6.0启动。
2.初步了解和掌握VC++6.0集成环境的主要功能
3.数据类型、运算符和表达式
4.简单C程序的调试
实验主要步骤:
1.安装VC++6.0,若你所在的计算机上已经安装VC++6.0,则查看并记录其安装的位置。
练习如何进入VC++6.0环境。
2.结合教材第3章习题3.6和习题3.10的练习,学习VC++6.0集成环境的主要功能的使用:
(1)如何新建一个C源程序
(2)如何保存正在编辑的C源程序
(3)如何打开先前保存的C源程序
(4)如何以新的文件名保存正在编辑的C源程序
(5)如何编译C源程序
(6)如何运行编译好了的C程序
(7)退出C语言编程环境。
3.完成教材第3章习题3.6、习题3.10和习题4.6的上机调试。
实验报告主要内容:
1.简要描述VC++6.0的安装过程,若你所在的计算机上已经安装VC++6.0,则记录其安装的位置(盘符和所在目录)。
描述如何启动VC++6.0。
(10分)
2.简要地描述在VC++6.0集成环境下调试C程序的过程(即根据上面“实验主要步骤”第2点中的7个小问题,通过实验逐个记录它们操作过程)(35分)
3.通过调试教材习题3.6、习题3.10、习题4.6的程序,谈谈你对下列概念的理解:
(1)C语言中的变量与常量的主要区别在哪里?
(15分)
(2)C语言表达式与通常的数学式子一样吗?
、C语言表达式的主要功能是什么?
(10分)
(3)你对赋值语句的执行过程是如何理解的?
赋值语句的功能是什么?
(10分)
(4)利用scanf输入数据时要特别注意哪些问题(20分)
实验2 选择结构实验
实验目的:
正确掌握逻辑量、关系表达式、逻辑表达式;熟练掌握if语句和switch语句;结合程序掌握一些简单的算法;学习如何调试C程序。
实验环境(硬/软件要求):
WindowsXP+VC++6.0
实验内容:
要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
1、给定三个数a,b,c,求出其中的最大值。
要求:
(1)使用条件语句if实现。
(2)使用嵌套条件语句if实现。
(3)输入不同的三组数据,验证程序的正确性。
2、输入一个整数,判断它是否能被3整除:
若能被3整除,输出YES,否则输出NO。
要求:
(1)使用if~else语句来实现
(2)调试程序并验证程序的正确性。
3、输入一个字符,如是“a”或“A”,输出“Abort”,如是“r”或“R”输出“Retry”,如是“f”或“F”,输出“Fail”。
否则,给出出错信息。
要求:
(1)用switch语句完成。
(2)调试程序并验证程序的正确性
实验主要步骤:
1.输入源代码。
2.调试程序。
3.输入不同的数据验证程序的正确性。
实验报告主要内容:
1.程序清单(70分)
2.运行结果(15分)
3.谈谈你在使用if或switch语句编写程序和调试程序的过程中一些经验和体会(15分)
实验3 循环结构实验
实验目的:
1.熟练掌握用while语句,do-while语句和for语句实现循环的方法。
2.结合循环程序设计掌握一些简单算法。
3.进一步学习调试程序的方法和技巧。
实验环境(硬/软件要求):
WindowsXP+VC++6.0
实验内容:
要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
1、从键盘上读入一串字符,分别统计其中数字、字母和其他字符出现的次数。
要求:
(1)用while循环完成。
(2)调试程序并验证程序的正确性。
2、计算sin(x)=x-x3/3!
+x5/5!
-x7/7!
+……..直到最后一项的绝对值小于10-7。
要求:
(1)用do---------while完成。
(2)调试程序并验证程序的正确性。
3、输入一个整数,求100以内的整数中能被该整数整除的最大数。
要求:
(1)使用break和for循环完成。
(2)调试程序并验证程序的正确性。
4、输入两个数,输出这两个数之间所有不能被7整除的数。
要求:
(1)使用continue和for循环完成。
(2)调试程序并验证程序的正确性。
5、使用双重循环输出下面图形:
**********
**********
**********
**********
要求:
1、用for循环完成。
2、调试程序并验证程序的正确性。
实验主要步骤:
1.输入源代码。
2.调试程序。
3.输入不同的数据验证程序的正确性。
实验报告主要内容:
1.程序清单(70分)
2.运行结果(15分)
3.谈谈你在使用while、do-while或for语句编写程序和调试程序的过程中一些经验和体会(15分)
实验4 数组实验
实验目的:
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法。
2.掌握字符数组和字符串函数的使用。
3.掌握与数组有关的算法(特别是排序算法)。
实验环境(硬/软件要求):
WindowsXP+VC++6.0
实验内容:
要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
1、输入十个数据,输出其中的最大值。
要求:
(1)用一维数组完成
(2)调试程序并验证程序的正确性。
2、输入某班级30名学生外语考试的个人成绩,并计算它们的平均成绩。
要求:
(1)用一维数组完成
(2)调试程序并验证程序的正确性。
3、求下列两个矩阵的和:
12341357
56789111315
910111217192123
要求:
(1)用二维数组完成
(2)调试程序并验证程序的正确性。
4、编程输出如下图形
*
***
*****
*******
*********
要求:
(1)用字符数组完成
(2)调试程序并验证程序的正确性。
实验主要步骤:
1.输入源代码。
2.调试程序。
3.用scanf函数输入不同的数据验证程序的正确性。
实验报告主要内容:
1.程序清单(60分)
2.分析运行结果(20分)
3.通过编写调试程序谈谈双种循环在二维数组中的应用;在编写程序的过程中你遇到了哪些困难,又是如何解决的。
(20分)
实验5 函数实验
实验目的:
1.掌握定义函数的方法。
2.掌握函数实参与形参的对应关系以及“值传递”的方式。
3.掌握函数的嵌套调用和递归调用的方法。
4.掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。
5.学习对多文件程序的编译和运行。
实验环境(硬/软件要求):
WindowsXP+VC++6.0
实验内容:
要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
1、编写函数isprime(inta)用来判断参数a是否为素数,若是素数,函数返回值为1,否则返回值为0。
要求:
(1)在主函数中调用输出。
(2)调试程序并验证程序的正确性
2、编写函数upper1(ch),若ch为小写字母,转换为大写字母并作为函数值返回。
其他字母不变,用字符@结束输入。
要求:
(1)在主函数中调用
(2)调试程序并验证程序的正确性
3、编写一个程序计算下列函数值
f(x,y)=
其中s(n)=
=p
(1)+p
(2)+……+p(n),p(i)=i!
要求:
(1)为函数p(i)、s(n)、f(x,y)均编写一个用户函数。
x,y由主函数输入。
(2)调试程序并验证程序的正确性
4、编写函数计算输出s(n)的值,其中n由键盘输入。
S(n)=12+22+……+n2
要求:
(1)用递归方法计算s(n);在主函数中调用。
(2)调试程序并验证程序的正确性
提示:
递归计算公式:
s(n)=s(n-1)+n*n,递归结束条件:
s
(1)=1*1=1
实验主要步骤:
1.输入源代码。
2.调试程序。
3.输入不同的数据验证程序的正确性。
实验报告主要内容:
1.程序清单(60分)
2.分析运行结果(20分)
3.通过编写调试程序谈谈你对参数传递、函数的嵌套调用与递归调用的理解;说说函数定义与函数声明的区别;在编写程序的过程中你遇到了那些困难,又是如何解决的。
(20分)
实验6 指针实验
实验目的:
通过实验进一步正确理解指针变量和地址的概念,掌握指针变量的赋值、运算,以及通过指针引用变量的方法;理解数组名与地址值之间的关系,能正确使用字符串指针和指向字符串的指针变量。
实验环境(硬/软件要求):
WindowsXP+VC++6.0
实验内容:
使用指针的方法,事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
1.利用指针编写一个自己的求字符串长度的函数:
intlenth(char*str)
并通过主函数调用、验证lenth()函数。
2.利用指针编写一个函数:
char*substr(char*s,intstart,intcount)
它将字符串s中第start个字符开始的count个字符组成的子字符串作为函数值(若start的值超过了字符串s的长度,则函数值定义为空串;从start到s的末尾的字符不足count个,则以从start到s的末尾的子字符串作为函数值)。
再在main()函数中三次以不同的实际字符串参数调用substr()以验证其正确性。
3.利用指针编写程序,完成对输入的一系列英语单词进行排序(如将10个随意输入的英语单词按字典序排序)后输出。
实验主要步骤:
1.输入源代码。
2.输入数据,调试程序。
3.分析程序的运行结果,检查程序的正确性。
实验报告主要内容:
1.程序清单(60分)
2.分析运行结果(20分)
3.谈谈你在使用指针编写和调试程序的过程中经验和体会(使用指针的优点和技巧;使用指针特别应该注意的地方等)(20分)。
实验7 结构体实验
实验目的:
掌握结构体类型说明和结构体类型变量、数组、指针的定义方法,能够正确引用结构体成员;掌握给结构体变量、数组初始化的方法;理解和掌握结构体数组并应用于实际编程之中。
实验环境(硬/软件要求):
WindowsXP+VC++6.0
实验内容:
要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
1.某实验班有10名学生,每个学生的数据包括学号、姓名及3门课程的成绩。
编写程序完成下列任务:
(1)从键盘输入10个学生的所有基本数据(注意各项数据的类型与输入格式控制,输入时要特别小心不要遗漏或错位,以免全部数据都重新输入)
(2)计算出每个学生3门课程的总成绩
(3)计算出每门课程的全班平均成绩
(4)按以下示意的格式输出计算结果(其中的黑体表示是程序计算出来的,其余数据是键盘输入的,实际输出时不强求黑体):
No.NameScore1Score2Score3Total
0504001Zhang908991270
0504002Li917867236
0504003Wang676078205
………………………………
0504003Zhu685875201
AverageCLASS877981
2.调试程序,验证程序的正确性。
实验主要步骤:
1.输入源代码。
2.输入数据,调试程序。
3.分析程序的运行结果,检查程序的正确性。
实验报告主要内容:
1.程序清单(60分)
2.分析运行结果(20分)
3.谈谈你在使用结构体建立学生基本信息模型、编写程序和调试程序的过程中经验和体会,对这类调试时需要大量数据输入的程序,你有什么可以降低数据输入工作量的想法和建议(20分)。
实验8 文件实验
实验目的:
了解文件的概念,掌握在C语言打开、读写、关闭文件的基本方法和步骤,并能够应用于涉及大量数据输入(或有大量需要保存的数据输出)的程序设计之中。
实验环境(硬/软件要求):
WindowsXP+VC++6.0
实验内容:
要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
1.建立下列学生姓名及4门课程成绩的输入数据文件inData.txt:
zhang90899190
li91786778
wang67607868
tan100999497
lin84675970
2.编写C程序完成下列任务:
(1)从inData.txt读入数据
(2)计算出每个学生的平均成绩
(3)将结果以下列形式输出到文本文件outData.txt中:
NameMathChineseEnglishScienceAverage
zhang9089919090
li9178677879
wang6760786868
tan10099949798
lin8467597070
3.调试程序,验证程序的正确性(查看程序是否已经自动建立了outData.txt;若已经建立,则打开outData.txt,检查输出结果是否符合要求)
实验主要步骤:
1.建立输入数据文件
2.输入源代码,调试程序
3.打开输出文件,检查程序运行的正确性。
实验报告主要内容:
1.输入数据文件inData.txt(5分)
2.程序清单(60分)
3.输出数据文件outData.txt(20分)
3.为什么要使用文件(在哪些情况下适合使用文件)?
使用文件的编程主要步骤如何?
你觉得主要应该注意哪些问题?
(15分)