C语言程序设计实验讲义.doc

上传人:叶*** 文档编号:35079216 上传时间:2022-08-20 格式:DOC 页数:36 大小:92.50KB
返回 下载 相关 举报
C语言程序设计实验讲义.doc_第1页
第1页 / 共36页
C语言程序设计实验讲义.doc_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《C语言程序设计实验讲义.doc》由会员分享,可在线阅读,更多相关《C语言程序设计实验讲义.doc(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C语言程序设计实验指导书第 36 页目录说 明3实验一(一) C语言程序初步4实验一(二)数据类型、运算符与表达式11实验二(二) 输入与输出13实验三 选择结构15实验四(一) 条件型循环结构18实验四(二) 记数型循环结构19实验五 数组一20实验六 数组二21实验七 函数(一)22实验八 函数(二)23实验九 指针的概念、指针的运算以与指针与数组25实验十(一) 结构体26实验十(二) 文件28说 明C程序设计同其他程序设计一样,使实践性很强的课程。除了要听好课,多看课外书外,还需大量的上机实践才能更好地理解与掌握所学到的内容。一般来说,上机与讲课时间之比应不少于1:1。但由于目前各校安

2、排的教学时数限制,课内时间将更多的精力用于讲课上,课内安排的上机时间相对较少,学生不要因此对上机的重要性有所误解。学生应在课外再花一定的时间进行C语言的上机实践,这样才能学好该门课。上机实验的目的有以下几个方面:验证所编写的程序的正确性。进一步理解教材与课堂授课中介绍的内容熟练地掌握C程序开发环境的使用,为今后开发大型软件打好基础。学习与掌握一般程序的调试与测试方法。上机前应充分做好以下准备工作:复习与掌握与本次实验有关的教学内容。根据本次实验的内容,在纸上编写好准备上机调试的程序,并初步检查无误。准备好对程序进行测试的数据。对每种测试数据,给出预期的程序运行结果。预习实验步骤,对实验步骤中提

3、出的一些问题进行思考。上机实验后,应与时写出实验报告,实验报告应包括以下内容:实验目的与内容。程序说明,包括程序结构、各模块的算法。打印出的调试正确的源程序。打印出的程序运行记录(包括对不同测试数据的运行结果)。针对实验步骤中提出的问题,写出解决办法与对运行结果的分析。实验一(一) c语言程序初步一、实验目的(1)了解与使用 Visual C+ 6.0(简称 VC)集成开发环境。 (2)熟悉 VC 的控制台应用程序的开发、调试步骤与方法。 (3)掌握 C 程序的编辑、编译、链接与运行过程。(4)了解项目、文件、工作区等基本概念。(5)能理解常见错误的提示信息,并根据提示进行改错。二、C 语言的

4、相关知识点2.1 C 语言的组成特点:(1)C 语言的基本构成要素是函数,程序的入口点是主函数。程序从主函数的第一条 语句开始执行,主函数的最后一条语句执行完毕,程序执行结束。(2)程序是处理数据的,所以一般的程序都会有输入输出语句。C 语言的输入输出是 以库函数的形式给出的。基本的输入输出函数是 scanf 与 printf。(3)C 语言库函数的原型说明都是放在相关的头文件中的,函数 scanf 与 printf 放在 stdio.h 文件中。2.2 C 语言上机开发程序过程 现在我们暂时不考虑怎么样设计一个程序。假设我们已经在纸上或头脑里编写出了一 个 C 语言程序,那么如何上机实践将我

5、们的想法或者在纸上编写的程序变成可执行的程序, 以验证我们所编写的程序是否正确呢?这是初学 C 语言时必须解决的问题。这个过程可以 用图 1-1 来说明。图 1-1 C 语言上机实践过程1编辑、修改源程序首先我们需要一个编辑器以编辑或者修改源程序。理论上讲,任何一个文本处理器都 可以作为源程序编辑器,最简单的编辑器就是 Windows 操作系统的记事本程序。当然现在 大多数 C 语言集成开发环境都自带编辑器。这一步的输出结果是源程序文件(例如)。 C 语言的源程序文件一般以.c 作为扩展名。2将源程序编译成二进制文件源程序编辑完成后,这一步使用编译器编译源程序。编译器完成以下两方面的任务。 (

6、1)检查源程序语法。如果源程序中存在语法错误,那么编译器会给出语法错误的相 关提示信息。不同的编译器给出的语法错误信息的详细程度不同。但即使最简单的编译器, 也会给出语法错误所在的行号。更高级的编译器还会给出语法错误具体信息,例如变量未定义、括号不匹配等。 (2)编译生成目标文件。如果源程序已经没有语法错误,那么用编译器将源程序编译成二进制代码文件,实质上就是将 C 语言语句翻译成对应的二进制机器指令,将这些二进 制机器指令保存到一个文件中,这样的文件称为目标文件(例如)。3构建可执行程序在第 2 步生成的目标文件尽管是机器指令,但是一般情况下还不能直接运行,必须使 用连接器将目标文件构建成可

7、执行程序,这个过程也称为连接过程。连接器完成下面几个 任务:(1)绝大多数的 C 语言程序都需要标准库函数支持,所有的标准库函数都已经被编译 成二进制代码,并且存放在一个库文件之中。所以必须将库文件与目标文件合并在一起(链 接)才能构成独立的可执行文件。 如果某些函数在本程序中没有实现,在库函数中也没有 实现,那么连接器也会报错。(2)不同的操作系统,其可执行文件的格式不一样。必须将目标文件转换成操作系统 能认识的可执行文件格式。需要说明的是,现代的集成开发环境一般都将编辑器、编译器与连接器集成在一起, 我们上机时能够明确“看见”的只有源程序编辑器(实际上是编辑窗口),而编译器与连接 器在后台

8、工作,不需要我们手动调用,只需要按一两个按钮或者快捷键即可。详细情况见 本章后面的实验范例。2.3 集成开发环境介绍 集成开发环境(Intergrated Development Environment,IDE)可以给程序员提供很大的 帮助。大多数的 IDE 包含编辑器、编译器、链接器、调试器这四个组件。程序员使用 IDE 的主要原因是开发应用程序的各个组成部分之间可方便地进行切换。 一般一个特定的 IDE 负责处理一种编程语言,但也有一些支持多种编程语言的 IDE,例如NetBeans、Microsoft Visual Studio、MyEclipse、WinDev 与 Xcode 等。ID

9、E 的宗旨是提供一个强大与易于使用的用于创作、修改、编译、部署、调试软件, 并增加开发人员的软件生产效率的环境。目前用得最多的 C/C+集成开发环境有下面几种:(1)微软公司的 Visual C+系列:Visual C+是微软 Visual Studio 套件的一个组成部 分,可以独立安装。作为初学者,比较适用的是,Visual C+ 6.0 是微软 1998 年发布的 Visual studio 6.0 套件的一部分,是基于 Windows 平台的 C/C+语言开发工具。它 不仅支持 C+语言的编程,也兼容 C 语言的编程。尽管微软公司后续又发布了多个 Visual Studio 套件(如

10、2003 版、2005 版、2008 版与2010 版),但是作为初学者,Visual C+ 6.0 最合适。微软 Visual Studio 套件只能用在 Windows 操作系统下,也就是说,只能开发 Windows应用程序,不能开发其他操作系统的应用程序。(2)Codeblocks。Code:Blocks (codeblocks)是一个开源、免费、跨平台的 C/C+集成开 发环境。官方网站上称其能满足最苛刻的用户需求。其功能比较强大,可以扩展插件,有 插件向导功能,可以方便地创建自己的插件。Code:Blocks 是用 C+编写的(用 wxWidgets 库),捆绑了 MinGW 编译器

11、。Codeblocks 集成开发环境是跨操作系统平台的,因此 Codeblocks 既可以开发 Windows应用程序,也可以开发 UNIX(Linux)系统的应用程序。(3)PellsC。PellsC 是一个小巧的 C/C+集成开发环境。其特点是界面与 VC+ 6.0 相似,快捷键与 VC+ 6.0 完全相同,可以作为 VC+ 6.0 的替代品。三实验内容Visual C+ 6.0 集成环境的使用。1问题描述使用 Visual C+ 6.0 集成环境编辑、编译并运行下面的示例程序:#include int main(void) printf(My name is 名字 !n); /* 名字=

12、真名*/printf(This is my first C program!n);return 0;说明:本题要求完成一个字符串的输出,并且是“依葫芦画瓢”!2实验步骤(1)首先建立一个存放 C 语言源程序的文件夹。本例中,我们在 F 盘的文件夹 Meshwork 下创建一个子文件夹 C_E。后续实验的所有文件都放在这个文件夹下。本书所 有实验文件夹的完整的路径是:F:MeshworkC_E。(2)启动 VC+ 6.0 开发环境。选择菜单“开始”“程序” ,得到 Visual C+ 6.0 启动后的用户界面,如图 1-2 所示。图 1-2 Visual C+ 6.0 用户界面 注:建议大家养成

13、一个好习惯,每次实验前建立一个自己的独立文件夹。 (3)创建新项目。 单击菜单 FileNew,显示 New 对话框,如图 1-3 所示。图 1-3 “新建”对话框 在左边标签栏中,选中 Project 标签,然后在标签下面的列表栏中选择 Win32 Console Application(Win32 控制台应用程序)。在右边的 Project name 输入框中输入一个项目名,本 例输入“ep3_1”。在 Location 位置框中,单击 按钮,选择项目所在的路径,这里我们选 择在第(1)步中建立的文件夹路径 F:MeshworkMy_CP,单击“确定”按钮。 在“Win32 Consol

14、Application-Step 1 of 1”对话框中选择 An empty project 单选项。 然后单击“完成”按钮,如图 1-4 所示。图 1-4 Win32 Consol Application-Step 1 of 1 对话框 “控制台应用程序”是一种在 DOS 窗口中运行的基于字符界面的程序。由于这种类型的应用程序比纯 Windows 界面程序简单,这样使得我们可以将精力先投入到学习使用 C 编程语言,而不需要把过多的精 力投入到学习复杂的 Windows 界面编程中去。 (4)建立 C 语言源程序文件。 单击菜单 FileNew,显示 New 对话框,选择 Files 标签,

15、如图 1-5 所示。在列表 栏中,选择 C+ Source File,然后在右边的 File 输入框中输入源程序的文件名。图 1-5 “新建”窗口 单击“确定”按钮,则创建完成了一个源程序文件,并出现编辑窗口,如图 1-6 所示。 图 1-6 C+源程序编辑窗口 在“源程序编辑”窗口下编辑 C 源程序,如图 1-7 所示。图 1-7 编辑 C 源程序(5)编译链接与运行源程序。 选择菜单项 Build,出现“compile ep3_1.c”菜单项,这时系统开始对当前的源程序 进行编译,在编译过程中,将所发现的错误显示在屏幕下方的 Build 窗口中(如图 1-8 所示)。 所显示的错误信息中指

16、出该错误所在行号与该错误的性质。用户可根据这些错误信息定位、 修改程序错误。图 1-8 “编译”窗口 编译无错误后,可进行链接生成可执行文件(.exe),这时选择 Build 下拉菜单中的 “build e3_1.exe”选项。Build 窗口出现如图 1-9 所示的信息说明编译链接成功,并生成以 源文件名为名字的可执行文件()。 图1-9 编译链接信息 运行可执行文件的方法是选择 Build 菜单项中的“Execute ep3_1.exe”选项。这时, 运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中,如图 1-10 所示。 图 1-10 运行 C 程序结果(6)关闭与打

17、开工作区。单击菜单“文件”“关闭工作区”,关闭工作区。单击菜单 “文件”“打开工作区”,在弹出的对话框中选定“F:meshworkmy_cpep3_1 ep3_1.dsw”, 单击“打开”按钮,则可打开工作区,对已建立的项目文件进行修改。四实验要求与总结1.对上述实验进行总结,将自己在这次实验中所学到的C语言程序上机操作方法与步骤写在实验报告中。2.如果只是开发控制台应用程序,可以采用更简单的方法与步骤(假设我们新建的程序文件名是)。 在存放程序的文件夹下新建文本文件; 用鼠标双击 xx.c 文件,自动打开 VC+开发平台; 编辑程序语句; 编译程序(按快捷工具栏的编译按钮或者快捷键 Ctrl

18、+F7),自动建立项目文件。3. 整理上机步骤,总结经验与体会。4. 完成实验报告与上交程序。 实验一(二)数据类型、运算符与表达式一实验目的1. 掌握一个C语言源程序的完整结构2. 掌握C语言数据类型,熟悉如何定义一个整型、字符型与实型的变量以与对它们赋值的方法。3. 能对变量正确赋值,掌握不同的类型数据之间赋值的规律4. 学会使用C的有关算术运算符,以与包含这些运算符的表达式,特别是自加(+ +)与自减( )运算符的使用。5. 掌握对运算符与表达式的正确使用6. 进一步熟悉C程序的编辑、编译、连接与运行的过程。7. 熟悉对程序的调试过程二. 预习知识1. 一个C语言源程序程序的结构2. 各

19、种不同类型变量的定义方式3. 赋值的相关知识4. 各种运算的优先级与结合方式5. 有关表达式的相关知识三实验内容 、下面的程序试图计算由键盘输入的任意两个整数的平均值:include int main(void)int x,y,a;scanf(“%x,%y,&x,&y);a=(x+y)/2;printf(“The average is :”a);return 0;调试无语法错误后,分别使用下列测试用例对上述程序进行测试:(),(), (),(),(),(),(),(),(),(),(1)、分析上述哪几组测试用例较好?通过测试,你发现程序有什么错误了吗?若有错误,请指出错误原因。()、操作符si

20、zeof 用以测试一个数据或类型所占用的存储空间的字节数。请编写一个程序,测试各基本数据类型所占用的存储空间大小。2、输入以下程序include int main(void)int j,k,m,n;k=8;j=10;m=k+;n=+j;printf(“%d,%d,%d,%d”,k,j,m,n);return 0;(1)、运行程序,观察结果。(2)、分析+在变量之前与在变量之后的不同点?3、编写一个语言程序,测试下列各表达式i , ji + 1,j + 1i + + ,j + + + i, + + ji + + + + + j+ + i + + + + + j + +要求在各表达式中i 与j都分

21、别有相同的初值。在实验中注意下列问题:() 哪些表达式是错误的?为什么?() 理解,i,i的意义与优先级别。四实验要求与总结 1. 结合上课内容,对上述程序先阅读,然后上机并调试程序,并对实验结果写出你自己的分析结论。2. 整理上机步骤,总结经验与体会。3. 完成实验报告与上交程序。 实验二(一) 输入与输出一实验目的1. 掌握scanf()、printf()、getchar()、putchar()函数的使用方法。2. 能使用“n”等转义字符,对输出的结果进行控制。3. 掌握C语言中使用最多的一种语句赋值语句的使用方法。 4. 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 5.

22、 了解程序编写的步骤6. 掌握根据程序要求确定算法的方法7. 掌握简单顺序结构程序的设计方法二. 预习知识1. Scanf()、printf()、getchar()、putchar()函数的功能与格式。2. 顺序结构程序的基本结构与执行3. 算法的描述与编写三实验内容 (1) 掌握各种格式转换符的正确使用方法 输入程序 include int main(void) int a,b; float d,e; char c1,c2; double f,g; long m,n; unsigned int p,q; a=16;b=62; c1=a;c2=b; d=3.56;e=-6.87; f=3157

23、.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf(a=%d,b=%dnc1=%c,c2=%cnd=%,e=%n,a,b,c1,c2,d,e); printf(f=%,g=%nm=%ld,n=%ldmp=%u,q=%un,f,g,m,n,p,q); return 0; 运行此程序并分析结果。 在此基础上,修改程序的第813行: a=61;b=62; c1=a;c2=b; f=3157.890121;g=0.123456789; d=f;e=g; p=a=m=50000;q=b=n=-60000; 运行程序,分析结果。

24、 改用scanf函数输入数据而不用赋值语句,scanf函数如下: scanf(%d,%d,%c,%c,%f,%f,%lf,%lf%ld,%ld,%u,%u,&a,&b,&cl,&c2,&d,&e,&m,&n,&p,&q); 输入的数据如下: 61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000 (说明:lf与ld格式符分别用于输入double型与long型数据)分析运行结果。 在的基础上将printf语句改为: printf(a=%d,b=%dnc1=%c,c2=%cnd=%,e=%n,a,b,c1,c2,d

25、,e); printf(f=%f,g=%fnml=%d,n=%d,np =%d,q=%dn,f,g,m,n,p,q); 运行程序。 将p、q改用%o格式符输出。 将scanf函数中的%lf与%ld改为%f与%d,运行程序并观察分析结果。 (2) 编写程序 设圆半径 =1.5,圆柱高 =3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字。 (3) 编程序,用getchar函数读入两个字符给cl、c2,然后分别用putchar函数与scanf函数输出这两个字符。 上机运行程序,比较用printf与putchar函数输出字

26、符的特点。四实验要求与总结 1. 结合上课内容,对上述程序先阅读,然后上机并调试程序,并对实验结果写出你自己的分析结论。2. 整理上机步骤,总结经验与体会。3. 完成实验报告与上交程序。实验三 选择结构一实验目的1. 了解C语言表示逻辑量的方法(以O代表“假”,以非O代表“真”)。 2. 学会正确使用逻辑运算符与逻辑表达式。 3. 熟练掌握if语句与switch语句。 4. 结合程序掌握一些简单算法。5. 进一步巩固前面实验成果 6. 学习调试程序。二. 预习知识1. if、switch语句的用途与格式规范2. if语句与switch语句之间的转换3. break语句的用途三. 注意事项(1)

27、对于if语句 if结构:根据一定条件选择执行一条(或一组)语句。 if-else 结构: 根据一定条件从两条(或两组)语句选择执行一条(或一组)语句。 if-else if-else 结构 根据一定条件从多条(或多组)语句中选择执行一条(或一组)语句。 if语句的嵌套 注意if与else的配对问题,else总是与它前面最近的if语句配对(2)带break语句的switch语句 使用break语句可以结束当前的switch结构,从而保证在switch结构中,一旦有一个条件满足,执行相应的语句组后将退出 分支结构,不再执行其他语句组,真正实现“多选一”的分支选择功能(3)If语句与switch语句

28、的转换 进行转换时要把握与处理好if语句中的条件表达式与switch语句常量表达式之间的关系。四实验内容 、题目有如下程序段:if (a1&b= =0) x=x/a;if(a=2|x1) x=x+1;要求完善上面的程序,并增加一些输入语句与输出语句,以便使上述程序能在不同的a,b与x 值下运行,并且能观察程序流程经过(覆盖)了哪些语句、哪些分支与哪些路径。()、实验步骤记下分别使用下列各组数据运行时的操作流程。() a=1,b=1,x=1;() a=1,b=1,x=2;() a=3,b=0,x=1;() a=2,b=1,x=4;() a=2,b=1,x=1;() a=1,b=0,x=2;()

29、a=2,b=1,x=1;() a=3,b=0,x=2。2、编写调试程序实现如下功能已知三个数a,b,c,找出最大值放于max中。分析:由已知可得在变量定义时定义四个变量a,b,c 与max,a,b,c 是任意输入的三个数,max是用来存放结果最大值的。第一次比较a 与b,把大数存入max中,因a,b都可能是大值,所以用if语句中ifelse 形式。第二次比较max与c,把最大数存入max中,用if语句的第一种形式if形式。Max即为a,b,c中的最大值。3、编写调试程序实现如下功能输入某学生的成绩,经处理后给出学生的等级,等级分类如下:90 分以上(包括90): A80至90 分(包括80):

30、B70至80 分(包括70):C60至70 分(包括60):D60 分以下: E方法一:(用if嵌套)分析:由题意知如果某学生成绩在90分以上,等级为A;否则,如果成绩大于80 分,等级为B;否则,如果成绩大于70 分,等级为C;否则,如果成绩大于60分为D;否则,如果成绩小于60 分,等级为E;但当我们输入成绩时也可能输错,出现小于0 或大于100,这时也要做处理,输出出错信息。因此,再用if 嵌套前,应先判断输入的成绩是否在0100 之间。方法二:用switch语句分析:switch 语句是用于处理多分支的语句。注意,case后的表达式必须是一个常量表达式,所以在以用switch 语句之前

31、,必须把0100 之间的成绩分别化成相关的常量。所有A(除100 以外),B,C,D 类的成绩的共同特点是十位数相同,此外都是E 类。则由此可得把score除十取整,化为相应的常数。五实验要求与总结 1. 结合上课内容,对上述程序先阅读,然后上机并调试程序,并对实验结果写出你自己的分析结论。2. 整理上机步骤,总结经验与体会。3. 完成实验报告与上交程序。实验四(一) 条件型循环结构一实验目的1. 理解循环结构的概念2. 掌握对while、do while 语句的使用3. 掌握while与do while 语句之间的异同点二. 预习知识1. while与do while语句构成的循环2. Wh

32、ile与do while语句构成的循环的比较3. 应用while与do while语句解决一些实际应用问题三. 实验内容编程序并上机调试运行。1 分别用while语句、do-while语句编写程序,计算e1+1/1!+1/2!+.+1/n! 实验步骤与要求: (1) 用单重循环编写程序 (2) 使误差小于给定的,设=10-5 (3) 除了输出e以外,同时还要输出总的项数n2. 火柴棍游戏假设有21根火柴棍,两人轮流拿取,每次可以取1-4根,不能多拿,也不能少拿。谁拿最后一根,谁就认输。提示:电脑每次拿的火柴棍的数目是5减去你上轮哪的数目实验步骤与要求: (1) 你拿的火柴棍数目不在1-4应提示

33、重新拿。(2) 分别用while语句、do-while语句编写程序四实验要求与总结 1. 结合上课内容,对上述程序先阅读,然后上机并调试程序,并对实验结果写出你自己的分析结论。2. 整理上机步骤,总结经验与体会。3. 完成实验报告与上交程序。实验四(二) 记数型循环结构一实验目的1. 掌握对for 语句与其特殊形式的使用2. 掌握for语句与while语句之间的转换3. 掌握循环的嵌套4. 学会调试程序二. 预习知识1. for语句构成的循环与其特殊形式2. for与while语句之间的转换3. 循环的嵌套的用法三. 实验内容编程序并上机调试运行。1 编写程序实现输入整数n,输出如下所示由数字

34、组成的菱形。(图中n=5) 11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 112. 体育彩票采用整数1、2、3、36表示36种体育运动,一张彩票可以选择7 种运动。编写程序,选择一张彩票的号码,使这张彩票的7个号码之与是105且相邻两个号码之差按顺序依次是1、2、3、4、5、6。例如第一个号码是1,则后续号码应是2、4、7、11、16、22。四实验要求与总结 1. 结合上课内容,对上述程序先阅读,然后上机并调试程序,并对实验结果写出你自己的分析结论。2. 整理上机步骤,总结经验与体会。3. 完成实验

35、报告与上交程序。实验五 数组一一、实验目的:1.掌握数组的定义、赋值与输入输出方法3.进一步熟悉Tc环境,学习TC环境调试数组二.实验内容(1)已知一个有10个元素的数组,请排序。(2)今输入一个数,要求按原来排序的规律将它插入数组中。方法一:选择法排序首先找出值最小的数,然后把这个数与第一个数交换,这样值最小的数就放到了第一个位置;然后,在从剩下的数中找值最小的,把它与第二个数互换,使得第二小的数放在第二个位置上。以此类推,直到所有的值从小到大的顺序排列为止。方法二:冒泡法排序从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比

36、较后,最大的数已放在最后,第二遍只需考虑(N-1)个数,以此类推直到第(N-1)遍比较后就可以完成排序。2. 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。三实验要求与总结 1. 结合上课内容,对上述程序先阅读,然后上机并调试程序,并对实验结果写出你自己的分析结论。2. 整理上机步骤,总结经验与体会。3. 完成实验报告与上交程序。实验六 数组二一、实验目的:掌握二维数组的定义、初始化,以与二维数组元素的下标法引用与指针法引用。二.

37、实验内容:1.有5名学生,每名学生有语文、数学、物理与外语四门课的考试成绩,编程统计各学生的总分与平均分,以与所有学生各科的总计分与平均分。要求:(1)成绩在程序中初始化,结果以表格的形式输出。 (2)分别用下标法与指针法实现。4阶矩阵的4个最小值按升序存放在主对角线上。要求:(1)矩阵元素从键盘输入。 (2)分别用下标法与指针法实现。三实验要求与总结 1. 结合上课内容,对上述程序先阅读,然后上机并调试程序,并对实验结果写出你自己的分析结论。2. 整理上机步骤,总结经验与体会。3. 完成实验报告与上交程序。实验七 函数(一)一实验目的1掌握函数声明、定义与使用的方法;2掌握形式参数与实在参数

38、之间的对应关系。3掌握函数调用时,形参、实参之间的“值传递”与“地址传递”的区别。4掌握函数递归调用的方法;5 掌握全局变量、局部变量、静态变量的使用方法;二实验内容 1写两个函数,分别求出两个整数的最大公约数与最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。要求:输入程序,上机调试,分别输入三组不同的数据,然后分析运行的结果。2、素数是指除了能被1与自己整除的自然数。所以1不是素数,2是最小的素数。编写一个函数,用以判定一个数是否为素数。方法:在main()函数里接受一个键盘输入的整型数,然后调用该函数,在函数中判断这个数是不是素数。并返回相关的信息给调用函数,然后在ma

39、in()中输出是否为素数的信息。(对返值处理感到困难的同学请直接在被调函数中输出是否为素数的信息)。三实验要求 .结合上课内容,写出程序,并调试程序,要给出测试数据与实验结果。2.整理上机步骤,总结经验与体会。3.完成实验报告与并上交实验程序。实验八 函数(二)一、实验目的:1掌握含多个源文件的程序的编译、联接与调试运行的方法。2学习递归程序设计,掌握递归函数的编写规律。3熟悉TC环境的调试函数程序的方法。二、实验内容:1编写两个函数,其功能分别为:(1)求N个整数的次大值与次小值。(2)求两个整数的最大公约数与最小公倍数。输入10 个整数,调用函数求它们的次大值与次小值,与次大值与次小值的最

40、大公约数与最小公倍数。要求:这两个函数与主函数分属3个文件。求最大公约数与最小公倍数的方法。辗转相除法:两个数相除,若不能整除,则以除数作为被除数,作数作为除数,继续相除,直到余数为0时,当前除数就是最大公约数。而原来两个数的积除以最大公约数的商就是最小公倍数。12812%8 的值为48%4 的值为0则4 为最大公约数,12*8/4为最小公倍数。相减法:两个数中的大数减小数,其差与减数再进行大数减小数,直到差与减数相等为止,此时的差或减数就是最大公约数。而原来两个数的积除以最大公约数所得的就是最小公倍数。12812-8=4 8-4=4则4 为最大公约数,12*8/4为最小公倍数。假定保存主函数

41、的文件名是“”,保存求次大值与次小值函数的文件名是“”保存求最大公约数与最小公倍数函数的文件名是“”。现在再编辑一个文件,它的内容如下:保存这个文件为“”。这是一个项目文件,表示文件中指定的几个源文件是经编译连接后生成一个名为“”的可执行文件。我们要将项目文件名通知TC环境,按+ 键,选择“Project”菜单的“Project name”选项,在“Project name”窗口输入项目文件名。编译系统这时将根据项目文件指出的源文件名分别进行编译,然后把编译后的各目标文件(文件)连接后生成可执行文件。2计算并输出具体要求如下:编制一个函数pq(n),返回n!值。编制主函数,由键盘输入m与n(m

42、nO),调用(1)中的函数计算下列算式值。 在主函数中,输入m与n之前要有提示,并检查输入数据的合理性,对于不合理的输入,应输出出错信息,不再进行计算。在函数pq(n)中也要检查n的合理性,当nO时输出出错信息,不再进行计算。 分别输入(m,n)=(3,-1),(0,0),(8,3),(3,8),(8,8)运行该程序。画出模块pq()的流程图。实验九 指针的概念、指针的运算以与指针与数组一实验目的1. 熟练掌握指针、地址、指针类型、void指针、空指针等概念;2. 熟练掌握指针变量的定义与初始化、指针的间接访问、指针的加减运算与指针表达式;3. 会使用数组的指针与指向的指针变量;4. 会使用字

43、符串的指针与指向字符串的指针变量二实验内容1.编写程序,使之具有如下功能:任意输入两个数,调用两个函数分别求:(1)两个数的与。(2)两个数交换值。要求用函数指针调用这两个函数,结果在主函数中输出。2. 编写函数实现计算一元二次方程的两个实根,然后编写主函数调用此函数。要求:在同一个函数内求出方程的两个实根,此函数不准使用全局变量进行数据传递,也不能使用return语句,只能通过指针进行数据传递。三实验要求与总结 1. 结合上课内容,上机并调试程序,并对实验结果写出你自己的分析结论。2. 整理上机步骤,总结经验与体会。3. 完成实验报告与上交程序。实验十(一) 结构体一.实验目的掌握结构体类型

44、变量与结构体数组的定义与使用。学会使用结构体指针变量与结构体指针数组。掌握链表的概念,初步学会对链表进行操作。有一学生情况如下表所示。编制一个C程序,用冒泡法对该学生情况表按成绩(grade)从低到高进行排序。具体要求如下:结构体类型为struct studentint num;char name8; double grade;struct student *next;在程序中,首先输出排序前的学生情况,然后输出排序后的结果, 2链表基本操作。 具体要求如下: 初始时链表为空,即链表的头指针为空。对于上表所示的学生情况表,依次将每个学生的情况作为一个结点插入到单链表的链头(即当前插入的结点将成为第一个结点)。所有学生情况都插入到链表中后,从链头开始,依次输出链表中的各结点值(即每个学生的情况)。可以根据学号删除该学号对应的节点三实验要求与总结 1. 结合上课内容,上机并调试

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 施工组织

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com