129750454899531250CA上机指导书()_第1页
129750454899531250CA上机指导书()_第2页
129750454899531250CA上机指导书()_第3页
129750454899531250CA上机指导书()_第4页
129750454899531250CA上机指导书()_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c语言程序设计a实验指导书张吴波 编史旅华 审计算机实验教学示范中心2012年2月目录上机实验要求1实验一 熟悉c语言的运行环境2一、实验目的2二、实验要求2三、实验内容2实验二 简单程序设计8一、实验目的8二、实验要求8三、预习内容8四、实验内容10五、附加题11实验三 选择程序设计12一、实验目的12二、实验要求12三、预习内容12四、实验内容14五、附加题15实验四 循环程序设计16一、实验目的16二、实验要求16三、预习内容16四、实验内容18五、附加题20实验五 数组程序设计21一、实验目的21二、实验要求21三、预习内容21四、实验内容23五、附加题25实验六 函数程序设计26一、

2、实验目的26二、实验要求26三、预习内容26四、实验内容28五、附加题30实验七 指针程序设计31一、实验目的31二、实验要求31三、预习内容31四、实验内容33五、附加题35实验八 结构体程序设计36一、实验目的36二、实验要求36三、预习内容36四、实验内容38五、附加题40实验九 文件程序设计41一、实验目的41二、实验要求41三、预习内容41四、实验内容43五、附加题45实验十 综合程序设计实验47一、实验目的47二、实验要求47三、实验内容47实验十一 综合程序设计实验48一、实验目的48二、实验要求48三、实验内容48vc6.0调试程序49vc6.0编译常见错误52第一部分 编译错

3、误52第二部分 链接错误54上机实验要求上机实验一般经历上机前的准备(预习并且编程)、上机调试运行和实验后的总结三个步骤。1. 上机前的准备根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 上机前没有充分的准备,到上机时临时拼凑一个错误百出的程序,宝贵的上机时间白白浪费了;如果抄写或复制一个别人编写的程序,到头来自己一无所获。2. 上机输入和编辑程序,并调试运行程序首先调用c语言集成开发环境,输入并编辑事先准备好的源程序

4、;然后调用编译程序对源程序进行编译,查找语法错误,若存在语法错误,重新进入编辑环境,改正后再进行编译,直到通过编译,得到目标程序(扩展名为obj)。下一步是调用连接程序,产生可执行程序(扩展名为exe)。使用预先准备的测试数据运行程序,观察是否得到预期的正确结果。若有问题,则仔细调试,排除各种错误,直到得到正确结果。在调试过程中,要充分利用c语言集成开发环境提供的调试手段和工具,例如单步跟踪、设置断点、监视变量值的变化等。整个过程应自己独立完成。学会独立思考,勤于分析,通过自己实践得到的经验用起来更加得心应手。3. 整理上机实验结果,写出实验总结实验结束后,要整理实验结果并认真分析和总结,写出

5、实验总结。实验总结一般包括如下内容:程序编写过程中碰到的问题,以及解决的思路,程序运行输入的数据以及其运行的结果,在实验过程的心得体会。本实验指导书中对部分内容的要求说明如下: 预习内容:本部分内容是用于帮助学生验证、加深理解教师上课内容,必须在上机实验前预习完成,并且认真思考,不能在实验课中作。 实验内容:上机实验前要求必须课前预习,预习时要求画出程序的流程图,写出相应的代码。并在上机实验课时调试运行,正确后上传实验系统。 附加题:实验完成后学有能力的同学自己完成。实验一 熟悉c语言的运行环境一、 实验目的1. 熟悉c语言运行环境。2. 掌握语言程序的书写格式和语言程序的结构。3. 掌握c语

6、言上机步骤,了解运行一个c程序的方法。二、 实验要求1. 学习vc的基本操作,编写程序。2. 运行程序并记录运行结果。3. 将源程序保存、上传并撰写本次实验心得体会三、 实验内容1. 了解vc+环境的组成。启动microsoft visual c+ 6.0,熟悉vc+的编程界面。跟大多数的 windows 应用程序一样,vc 最上面是菜单,然后是工具栏,中央是工作区,最下面一行是状态栏。我们现在看到的工作区,左边是 workspace 窗口,右边是灰底的空白窗口。2. 了解工作区(workspace)、工程(project)、文件夹及源文件等概念。 1) vc 是按照工作区(workspace

7、) 来管理项目和代码的。一次必须打开一个 workspace。 2) 一个 workspace 中可以包含一个或者多个工程(project)。 3) 一个工程可以包含一个或者多个逻辑文件夹。 4) 一个文件夹里面可以包含零个或者多个文件。 5) 一个工程至少包含一个源代码文件。 6) 当创建新工程的时候,一个同名的 workspace 同时被创建;该 workspace 只包含一个项目,就是新创建的这个项目。 或者稍稍详细一点说,vc 在管理项目和代码的时候,是按照如下一个树型的结构来组织的: workspace (工作区)n project 1 (工程 1) l heaer files (一

8、个或者多个头文件) l source files (一个或者多个源代码文件) l other files (一个或者多个其他文件) n project 2 (工程 2) l heaer files (一个或者多个头文件) l source files (一个或者多个源代码文件) l other files (一个或者多个其他文件)。3. 编程步骤1) 创建一个新的 c 语言的工程2) 添加一个文件到一个空的工程中3) 编写程序4) 运行程序5) 调试程序具体步骤如下:1) 创建一个新的 c 语言的工程。选择菜单:文件 - 新建. ,选择工程。打开下面窗口:我们看到可以创建许多种类型的工程;并且

9、可以指定工程的名字,和存储位置。 事实上如果要开发简单的 c 语言程序,我们只需要创建一种工程:win32 console application,也就是 windows 32 控制台程序,或者俗称“黑屏”程序。我们进行如下设置: 顺序选项操作说明1工程类型选择“win32 console application”2位置自己先建立的目录3工程名输入自己的工程名位置部分将在原来路径的后面自动加入“工程名”。4完成点击“确定”按钮在这里我们选择第一个选项,也就是默认选项:一个空的工程。然后选择完成。在窗口的左半部分的 workspace 上,我们可以看到有两个 tab 页,classview 和

10、fileview。 classview 页面会显示当前工程中所声明的类、全局变量等;对于写c语言程序来说,这个页面没有什么大的作用。 fileview 页面显示了当前项目中的所有文件。在该工程下面,我们发现了三个预定义的逻辑文件夹,分别是:source files、header files、resource files。在每一个文件夹下面,都没有文件;这是因为此前我们选择的是创建一个空的工程。这三个文件夹是 vc 预先定义的,就编写简单的单一源文件的c程序而言,我们只需要使用 source files 一个文件夹就够了。查看物理文件夹。打开 windows 资源管理器,定位到自己的目录。下面是

11、这些文件和文件夹的简单说明: 文件和文件夹说明文件 11.dsw这是 workspace 描述文件。文件 11.dsp这是 demoquestion 项目配置文件。包括逻辑文件夹在内的关于该项目的所有配置,都保存在此文件中。文件 11.ncb这是 vc 内部使用的一个临时文件。我们不必关心此文件。文件夹 debugdebug 版本的编译输出文件将被保存在该文件夹中。2) 添加一个文件到一个空的工程中。选择菜单:文件 - 新建. 。打开下面窗口: 在 “文件” 页面中,进行如下操作: 顺序选项操作说明1文件类型选择“c+ source file”2文件名输入:11.c注意:11.c 后面的 .c

12、 后缀是必要的。如果是要创建 .cpp 文件,该后缀就可以不写了。 3位置保持默认值,不需要修改。4完成点击“确定”按钮当该 .c 源文件创建后,在左边 workspace 窗口的 “fileview” 页面中,可以看到该新创建的11.c 节点。3) 编写程序a) 输入源代码。请输入以下源代码。b) 编译。我们可以通过菜单或者工具栏按钮进行编译。 如果使用菜单,可以选择:“组建- 编译11.c ctrl+f7”或者直接“组建 - 组件11.exe f7”。如果使用工具栏,请使用鼠标右键单击工具栏的空白处,在弹出的菜单中选中“编译”一项,就可以打开编译工具栏,再使用相应的按钮。 如果编译完全成功

13、,会显示 “0 error(s), 0 warning(s)”。另外,即便有一些 warning,也可能编译成功。warning 表示该代码应该不会影响程序运行,但是有可能存在潜在的问题,编译器不推荐这么写。 c) 除错 一般情况下,代码在编写过程中可能会发生各种错误。编译器检查出来的错误会被显示在 vc+ 6.0 环境的“组件” 窗口。4) 运行程序我们可以通过菜单或者工具栏按钮进行运行程序。 (运行程序之前要生成exe文件。可以通过“组建 - 组件11.exe f7”完成。菜单:“组件 -执行 11.exe”。编译工具栏:按钮。5) 调试程序其他调试技巧在以后的实验中会逐步体会到。4. 输

14、入并验证运行下述程序1) 分析程序,预测其运行结果,并上机验证。2) 参照上述第1题,编写一个c程序,输出如下信息:*very good!*3) 输入以下程序,编译运行。实验二 简单程序设计一、 实验目的1. 熟悉c语言的表达式、空语句及复合语句。2. 熟悉输入输出函数语句。3. 能设计简单的顺序结构程序。二、 实验要求1. 复习赋值语句和输入输出函数各种格式符的使用。 2. 复习数据类型和运算符的有关概念。3. 编写程序,运行程序并记录运行结果。4. 将源程序保存、上传并撰写本次实验心得体会 三、 预习内容1) 下面的程序试图计算由键盘输入的任意两个整数的平均值。请将下面的程序代码在vc中输

15、入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:整数与整数相除,int 类型变量的存储数的范围)第一组:2 6第二组 2 7第三组 2 -7第四组 4.5 5.5第五组 1234567890000 98765432100002) 下面的程序试图计算从键盘输入的5个数的和,请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:格式控制符的使用)第一组:1 2 3 4 5 第二组 1.1 2.2 3.3 4.4 5.5 第三组 10.001 20.0002 30

16、.00003 40.000004 50.0000005四、 实验内容1) 编程求。 要求a和x从键盘输入,计算当a=5.5,x=2.4时,y的值(提示:y=16.723221)。提示:调用数学库函数,还要在程序中包含math.h头文件。2) 编程:根据本金a、存款年数n和年利率p计算到期利息l。输出要有文字说明,取2位小数。提示:利息公式l=a*(1+p)n-a(当输入本金a=1000,存款年数=2,年利率=0.05时,利息l=102.50)五、 附加题1) 编程从键盘输入两个整数分别给变量a和b,分别写出不借助于其他变量和借助于其他变量的条件下,将变量a和b的值实现交换。2) 设一个正圆台的

17、上底半径r1,下底半径r2,高h。请设计一程序,从键盘输入r1,r2,r3;计算并在显示器上输出该圆台的上底面积s1,下底面积s2,圆台的体积v。【要求】 (1)r1,r2,h用scanf函数输入,且在输入前要有提示; (2)在输出结果时要有文字说明,每个输出值占一行,且小数点后取2位数字。【提示】 (1)圆面积计算公式为 s=r2。其中r为圆半径。 (2)圆台体积计算公式为 v=实验三 选择程序设计一、 实验目的1. 正确理解c语言表示逻辑量的方法。2. 学会正确使用逻辑运算符和逻辑表达式、关系运算符和关系表达式。3. 熟悉并掌握if和switch语句。4. 熟悉选择结构程序中语句的执行过程

18、。二、 实验要求1. 复习关系表达式、逻辑表达式和if 语句、switch语句。2. 学习程序的调试方法。3. 编写程序,运行程序并记录运行结果4. 将源程序保存、上传并撰写本次实验心得体会三、 预习内容1) 下面程序的功能从键盘是从键盘输入两个实数以及二者和,判断使用者是否计算正确。请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:float类型数据的不精确性) 第一组: 1.0 2.0 3.0第二组: 1.1 2.1 3.2第三组: 10.001 20.002 30.0032) 请将下面的程序代码在vc中输

19、入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:switch语句的执行过程,break语句)第一组: 1第二组: 2第三组: 33) 请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:else的匹配规则)第一组: 1 1 1第二组: 1 1 2四、 实验内容1) 编写程序,学生单科成绩按下列标准分等(其中x为每个学生的单科成绩)总成绩 等级英文名称x60 bad60=x80 middle80=x90 good90=x excellent现输入某个学生的单

20、科成绩,请输出他的等级标准。2) 编写程序在屏幕上显示如下的菜单,并从键盘输入一个整数,如果数字在1-4的范围内,则输出这个数字后的文字。如果不在0-4的范围内则输出:输入错误。例如,输入2 输出:加法;输入4 输出:除法。五、 附加题1) 编写程序,输入a,b,c三个整数,输出其中值居中的那个数及其值。例如输入12,40,23,输出值居中的那个数是c,其值为232) 从键盘输入一个年份和月份,输出该月有多少天(考虑闰年)。实验四 循环程序设计一、 实验目的1. 熟悉并掌握while语句,do-while语句和for语句实现循环的方法。2. 掌握程序设计中循环的常用各种算法,例如穷举法、迭代法

21、等。3. 理解循环结构程序中语句的执行过程。二、 实验要求1. 复习for、while 、do-while语句和continue、break语句。2. 在程序调试中,要实现准备充分的测试用例,学会单步调试程序的技巧。3. 编写程序,运行程序并记录运行结果。注意程序的书写格式。4. 将源程序保存、上传并撰写本次实验心得体会三、 预习内容1) 下面程序的功能从键盘是从键盘输入一个正整数,输出它的阶乘。请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:int 类型变量的存储范围;正确输入数据的方法)第一组: 5第二组

22、: 10第二组: 202) 请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:break和continue语句的语法规则;循环条件中1的意义)第一组: 1 -2 3 4 5 0 6 7第二组: 0 1 2 3 4 5 -6 7四、 实验内容1) 在屏幕上显示如下的菜单,程序功能是当从键盘输入一个整数时,对其判断,如果数字在1-4的范围内,则从键盘输入两个数,完成相应的运算后输出其结果。如果不在0-4的范围内则输出:输入错误。例如输入2,提示输入两个数,输出这两个数的差。计算完后再输出“是否继续(y/n)?”,如

23、果输入y,则继续显示菜单,提示输入运算代码进行计算。提示,程序实现步骤如下:1、输出如图的菜单2、从键盘输入一个整数3、对输入的数进行判断:如果等于1,提示输入两个数,输出二者的和,执行第4步。如果等于2,提示输入两个数,输出二者的差,执行第4步。如果等于3,提示输入两个数,输出二者的积,执行第4步。如果等于4,提示输入两个数,输出二者的商,执行第4步。如果等于0,执行第7步4、输出:是否继续(y/n)5、从键盘输入一个字符6、对输入的数进行判断: 如果等于字符y,清除屏幕上的内容,执行第1步 如果等于字符n,执行第7步7、结束程序流程图代码2) 编写程序,计算。要求:a) 使最后一项 的值小

24、于等于给定的即可结束运算,的值从键盘输入(提示:例如,从键盘输入0.00001时,e=2.718279)流程图代码五、 附加题1) 编写程序输出500以内最大的10个素数及其之和。 2) 编写程序完成如下功能,输入一个字母,输出由这个字母决定其高度的字符“金字塔”。例如输入小写字母d,则输出左边的图形,如输入大写字母d,则输出右边图形。aa b aa b c b aa b c d c b aaa b aa b c b aa b c d c b aaa b aa b c b aa b c d c b aaa b aa b c b aa b c d c b a 实验五 数组程序设计一、 实验目的1

25、. 掌握数组声明、数组初始化赋值、数组元素引用和数组输入输出的使用。2. 掌握字符数组和字符串函数的使用。3. 了解一些与数组相关的非数值计算方法,如查找、插入、删除和排序等。二、 实验要求1. 复习数组的定义、数组的输入输出和常用的字符串函数。2. 在程序调试中,要实现准备充分的测试用例。3. 编写程序,运行程序并记录运行结果。注意程序的书写格式。4. 将源程序保存、上传并撰写本次实验心得体会三、 预习内容1) 请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:变量在内存中的分布,数组越界问题)第一组: 1

26、2 3 4 5 6第二组: 10 20 30 40 50 602) 请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:变量在内存中的分布,数组越界问题)第一组: abcde abc第二组: abcdefg abcde第三组:abcdefg abcdefghi四、 实验内容1) 编制一程序,从键盘输入一个10进制的整数x和需要转换的进制n,输出x对应的n进制的数。例如,从键盘输入20和8,在数组b中应该是2 4 实现步骤:1、定义一个data数组和index变量2、将数组data中的所有元素和index置为03、

27、如果x大于0,执行第4步,否则执行第7步4、将x除以n的余数放在data的第index个元素中5、index加16、执行第三步7、逆向输出数组data中的值流程图代码2) 编制一程序,从键盘输入一串单词,输出其中最长的单词。 流程图代码五、 附加题1) 从键盘输入一个字符串,删除其中的字母a后输出。例如,输入字符串“abcaca”,输出bcc2) 使用二维数组打印如下图形0 0 0 100 0 9 80 7 6 5 4 3 2 1 实验六 函数程序设计一、 实验目的1. 掌握定义函数的方法及函数的调用过程(函数的调用格式、调用方式及被调用函数的使用说明);2. 掌握函数实参与形参的对应关系以及

28、“值传递”的方式;3. 掌握函数的嵌套调用方法。4. 掌握全局静态变量和局部动态变量的概念和使用方法;二、 实验要求1. 复习函数的定义、调用和宏定义。2. 在程序调试中,要实现准备充分的测试用例。3. 编写程序,运行程序并记录运行结果。注意程序的书写格式。4. 将源程序保存、上传并撰写本次实验心得体会三、 预习内容1) 请将下面的程序代码在vc中输入,并编译运行。写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:全局变量的使用)2) 请将下面的程序代码在vc中输入,并编译运行。写出其程序运行的结果,并思考为什么会出现相应的结果?(注意知识点:静态变量的使用)四、 实验内容1)

29、 使用结构化程序设计的方法,计算并输出 的值要求:1、定义函数long fact(long n),该函数的功能是返回参数n的阶乘2、在主函数中调用fact函数,计算并输出s的值3、主函数中要求对m,n的合法性进行判断。4、分别划出main函数和fact函数的流程图流程图代码2) 若正整数a的所有因子(包括1但不包括自身,下同)之和为b,而b的因子之和为a,则称a和b为一对亲密数。例如,6的因子之和为1+2+3=6,因此6与6为一对亲密数(即6自身构成一对亲密数);又如,220的因子之和为l+2+4+5+10+11+20+22+44+55+110=284,而284的因子之和为1+2+4+71+1

30、42=220,因此,220与284为一对亲密数。编写程序,求500以内的所有亲密数对,如下图所示。要求:1、定义函数int sumfact(int n),该函数的功能是返回参数n的因子的和2、在主函数中调用sumfact函数,输出500以内的亲密数3、分别划出main函数和sumfact函数的流程图流程图代码五、 附加题1) 已知,使用结构化程序设计的方法编写程序,求s(x)后面的20项的和,x从键盘输入。(当x=1时,s=0.746824)。要求:1、定义函数long fact(long n),返回参数n的阶乘2、定义函数double power(double x,int n),返回参数x的

31、n次方3、在主函数中调用上述函数计算s的值并输出2) 使用结构化程序设计的方法计算输出两个正整数的最大公约数和最小公倍数要求:1、 定义函数int hcf(int m,int n)返回参数m和n的最大公约数2、 定义函数int lcd(int m,int n,int h),返回参数m,n的最小公倍数,其中h是m和n的最大公约数。在主函数中调用上述函数实验七 指针程序设计一、 实验目的1. 掌握指针变量的定义与引用。2. 掌握指针与变量、指针与数组的关系。 3. 掌握用数组指针作为函数参数的方法。4. 正确使用指针操作数组元素。二、 实验要求1. 复习指针的定义、引用和指针与数组的关系。2. 在

32、程序调试中,要实现准备充分的测试用例。3. 编写程序,运行程序并记录运行结果。注意程序的书写格式。4. 将源程序保存、上传并撰写本次实验心得体会三、 预习内容1) 请将下面的程序代码在vc中输入,并编译运行。写出其程序运行的结果,并思考为什么会出现相应的结果?.(注意知识点:通过指针作为参数,修改主调函数中的变量)2) 请将下面的程序代码在vc中输入,并编译运行。写出其程序运行的结果,并思考为什么会出现相应的结果?. (注意知识点:使用指针通过一重循环遍历二维数组)四、 实验内容1) 程序要求从键盘输入最多30个成绩,统计输出其中不及格的人数(成绩=90的为及格)。主函数的代码已经给出,函数v

33、oid count(int score,int *greate,int * unpass,int len)的功能是求出score数组中的不及格人数和优秀人数,分别通过参数greate,unpass返回,参数len说明score数组中存放有效成绩的个数要求:请画出count函数的流程图,将程序代码输入vc,完成count函数,使之可以实现程序的功能。并认真体会main函数中输入数据的方法。流程图代码#include #define len 30void count(int score,int * great,int* unpass,int len);int main()int i,scrlen,

34、n,greatcnt,unpasscnt;printf(请输入成绩个数);scanf(%d,&n);while(nlen)printf(个数不能超过30,重新输入);scanf(%d,&n);for(i=0;in;i+)scanf(%d,&scri);while(scri100)printf(成绩不合法,重新输入);scanf(%d,&scri);count(scr,&greatcnt,&unpasscnt,n);printf(不及格人数:%dn ,unpasscnt);printf(优秀人数%dn,unpasscnt);void count(int s,int * great,int * u

35、npass,int len) 2) 编写函数,int cat_string(char * dst,char * src),它的功能是将src所指向的字符串连接到dst所指向的字符串的后面,返回从src中连接到dst后面的字符的个数。主函数接收从键盘输入的两个字符串,调用cat_string函数将后面的字符串连接到前面的字符串后面,将新字符串输出。要求,画出cat_string函数的流程图,写出程序代码。流程图代码五、 附加题1) 请使用指针的方法编写程序,程序的功能是从键盘输入一个字符串,统计其中单词的个数(单词以空格或者逗号等其它非字母符号分隔。例如,输入his idea was good,

36、 but he got off on the wrong foot when he started doing it,输出17。2) 请使用指针的方法编写程序,程序的功能是从键盘输入一串正整数(以0结束输入),按从大到小的顺序输出,例如输入1 4 6 2 8 7 0 输出 8 7 6 4 2 1 。实验八 结构体程序设计一、 实验目的1、掌握结构变量的基本使用方法2、掌握结构数组的基本使用方法3、掌握结构指针的概念4、掌握链表的概念和基本操作二、 实验要求1. 复习结构体类型以及其变量的定义方法、结构体变量的引用。2. 在程序调试中,要实现准备充分的测试用例。3. 编写程序,运行程序并记录运行

37、结果。注意程序的书写格式。4. 将源程序保存、上传并撰写本次实验心得体会三、 预习内容1) 请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果。(注意知识点:结构体的定义和使用)第一组:左上角坐标1 2 右下角坐标5 6第二组 左上角坐标100 120 右下角坐标 50 782) 请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果。(注意知识点:按照从大到小顺序创建链表)第一组:个数6 右下角坐标 9 4 2 -1 10 20第二组:个数10 右下角坐标 12

38、 9 10 20 25 5 8 2 1 0 四、 实验内容1) 编写程序,定义一个复数的结构体类型,定义两个结构体的变量分别表示两个复数,从键盘输入复数的实部和虚部,输出这两个复数的和。代码2) 已知学生的信息包括姓名、成绩。编写程序从键盘输入5个学生的信息,输出其中成绩最高者的姓名和成绩。流程图代码五、 附加题1) 建立一个链表,结点包括的成员为:职工号、工资。已知有5个职工号和工资为101,2300;103,3000;105,2500;107,4000;109,3600。从键盘输入5个职工的信息,按照如下格式输出。要求:1、定义creat函数,该函数的功能是建立链表2、定义list函数,该

39、函数的功能是输出数据实验九 文件程序设计一、 实验目的1、掌握文件的基本概念2、掌握文本文件的打开和关闭操作3、掌握文本文件的顺序读、写方法二、 实验要求1. 复习文件的概念,打开文件、读写文件的方法。2. 在程序调试中,要实现准备充分的测试用例。3. 编写程序,运行程序并记录运行结果。注意程序的书写格式。4. 将源程序保存、上传并撰写本次实验心得体会三、 预习内容1) 请将下面的程序代码在vc中输入,并编译运行。分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果。(注意知识点:使用fgets读取文件)第一组数据:在程序所在的文件夹下建立test1.txt文件,在文件中

40、输入如下内容,程序运行时,输入的文件名为test1.txt第二组数据:在程序所在的文件夹下建立test2.txt文件,在文件中输入如下内容,程序运行时,输入的文件名为test2.txt2) 请将下面的程序代码在vc中输入,在程序所在的文件夹下建立分别建立test3.txt和test4.txt文件,在文件中按照如下格式分别输入数据。(注意知识点:使用fseek函数随机读取)test3.txt文件格式如下图:每个数字之间用一个空格隔开 test4.txt文件格式如下图:每个数字首尾对齐,即每个数字占4个位置(不足补空格)后面跟一个空格,例如5 后应有4个空格,10后面有3个空格,17后面有3个空格

41、。 然后编译运行程序,分别输入如下的几组数据,写出其程序运行的结果,并思考为什么会出现相应的结果。第一组数据:文件名test3.txt 位置:15第二组数据:文件名test3.txt 位置:42第三组数据:文件名test3.txt 位置:69第四组数据:文件名test3.txt 位置:96第五组数据:文件名test4.txt 位置:15第六组数据:文件名test4.txt 位置:42第七组数据:文件名test4.txt 位置:69第八组数据:文件名test4.txt 位置:96第九组数据:文件名test4.txt 位置:123 (请注意显示的第一个数字的变化和最后显示的两个数字)四、 实验内容

42、1) 已知在c盘根目录下有一个文件保存了许多数据,其格式如下编写一个程序,从键盘输入该文件的路径和名称,读取文件的数据,以每行5个的形式显示在屏幕上。并求出其平均值。如上面的文件,则应该输出如下的内容。流程图代码2) 编写程序,从键盘输入一个文件的名称,将1-1000之间的素数保存在该文件中。要求:定义一个函数isprime(int n),函数的功能是判断n是否是素数流程图代码五、 附加题1) 在一个文件中保存许多姓名,其格式如下,每个姓名占一行。编写程序,从键盘输入该文件的文件名和一个姓名,判断该姓名在文件中是否存在。实验十 综合程序设计实验一、 实验目的1. 能综合使用本课程所学习的c语言

43、知识进行较复杂程序的设计2. 熟悉c程序设计中常用算法。3. 熟悉期末考试上机系统。二、 实验要求1. 认真阅读本次实验的目的,了解本次实验要求掌握的内容2. 在程序调试中,要实现准备充分的测试文件。3. 编写程序,运行程序并记录运行结果。注意程序的书写格式。4. 将源程序保存、上传并撰写本次实验心得体会三、 实验内容在一个文件中记录了许多学生的成绩,其格式如下,每个同学占一行,姓名和成绩之间使用空格隔开请编写一个程序,显示如下菜单:程序循环等待从键盘输入。根据输入的数据执行相应的操作,如果输入1,从键盘输入该文件的文件名,按照格式将同学的姓名和成绩读入程序输入2,将读入的同学的信息按照成绩从

44、大到小排序输入3,从键盘输入一个姓名,在显示器上输出其成绩输入4,将按照成绩从大到小排序后的学生信息按照原来的格式保存在新文件中实验十一 综合程序设计实验一、 实验目的1、 熟悉考试环境2、 综合练习编程二、 实验要求1. 复习本课程基础知识2. 完成综合程序设计十的练习3. 练习题库试题三、 实验内容继续完成综合程序设计十的练习练习从题库中抽取的试题vc6.0调试程序调试程序是编写代码的一个非常重要的步骤,当程序编译成功,需要查看程序执行过程以及其变量值的情况,需要启动调试。vc+是一个完全基于windows 的系统,它的调试过程通过鼠标比较容易进行。(1) 程序执行到中途暂停以便观察阶段性

45、结果:方法一:使程序执行到光标所在的那一行暂停。在需暂停的行上单击鼠标,定位光标;如下图所示,分别点击菜单“编译”“开始调试”“run to cursor”,或按【ctrl】+【f10】,程序将执行到光标所在行会暂停。如果把光标移动到后面的某个位置,再按【ctrl】+【f10】,程序将从当前的暂停点继续执行到新的光标位置,第二次暂停。程序执行到光标所在行暂停方法二:在需暂停的行上设置断点;在需设置断点的行上单击鼠标,定位光标;按“编译微型条”中最右面的按钮,如下图所示,或按【f9】。调试被设置了断点的行前面会有一个红色圆点标志。与tc 一样,不管是通过光标位置还是断点设置,其所在的程序行必须是

46、程序执行的必经之路,亦即不应该是分支结构中的语句,因为该语句在程序执行中受到条件判断的限制,有可能因条件的不满足而不被执行。这时程序将一直执行到结束或下一个断点为止。(2) 设置需观察的结果变量按照上面的操作,使程序执行到指定位置时暂停,目的是为了查看有关的中间结果。在如下图中,左下角窗口中系统自动显示了有关变量的值,其中value1 和value2 的值分别是3、4,而变量i、sum 的值是一个随机值,如下图,因为他们还未被赋值。图中左侧的箭头表示当前程序暂停的位置。如果还想增加观察变量,可在图中右下角的“name”框中填入相应变量名。观察结果变量(3) 单步执行当程序执行到某个位置时发现结

47、果已经不正确了,说明在此之前肯定有错误存在。如果能确定一小段程序可能有错,先按上面步骤暂停在该小段程序的头一行,再输入若干个查看变量,然后单步执行,即一次执行一行语句,逐行检查下来,看看到底是哪一行造成结果出现错误,从而能确定错误的语句并予以纠正。单步执行按“调试条”中“step over”按钮或【f8】,如下图所示。如果遇到自定义函数调用,想进入函数进行单步执行,可按“step into”按钮或【f11】。当想结束函数的单步执行,可按“step out”按钮或【shift】+【f11】。对不是函数调用的语句来说,【f11】与【f8】作用相同。但一般对系统函数不要使用【f11】。单步调试(4)

48、 断点的使用使用断点也可以使程序暂停。但一旦设置了断点,不管你是否还需要调试程序,每次执行程序都会在断点上暂停。因此调试结束后应取消所定义的断点。方法是先把光标定位在断点所在行,再按“编译微型条”中最右面的按钮或【f9】,该操作是一个开关,按一次是设置,按二次是取消设置。如果有多个断点想全部取消,可执行“编辑”菜单中的“断点”菜单项,屏幕上会显示“breakpoints”窗口,如下图所示,窗口下方列出了所有断点,按“remove all”按钮,将取消所有断点。断点通常用于调试较长的程序,可以避免使用“run to cursor”(运行程序到光标处暂停)或【ctrl】+【f10】功能时,经常要把

49、光标定位到不同的地方。而对于长度为上百行的程序,要寻找某位置并不太方便。如果一个程序设置了多个断点,按一次执行键【ctrl】+【f5】会暂停在第一个断点,再按一次【ctrl】+【f5】会继续执行到第二个断点暂停,依次执行下去。取消所有断点(5) 停止调试使用“debug”菜单的“stop debugging”菜单项,或【shift】+【f5】键可以结束调试,从而回到正常的运行状态。vc6.0编译常见错误第一部分 编译错误1 error c2001: newline in constant编号:c2001直译:在常量中出现了换行。错误分析:(1) 字符串常量、字符常量中是否有换行。(2) 在这句

50、语句中,某个字符串常量的尾部是否漏掉了双引号。(3) 在这语句中,某个字符创常量中是否出现了双引号字符“”,但是没有使用转义符“”。(4) 在这句语句中,某个字符常量的尾部是否漏掉了单引号。(5) 是否在某句语句的尾部,或语句的中间误输入了一个单引号或双引号。2 error c2015: too many characters in constant编号:c2015直译:字符常量中的字符太多了。错误分析:单引号表示字符型常量。一般的,单引号中必须有,也只能有一个字符(使用转义符时,转义符所表示的字符当作一个字符看待),如果单引号中的字符数多于4个,就会引发这个错误。另外,如果语句中某个字符常量缺少右边的单引号,也会引发这个错误,例如:if (x = x | x = y) 值得注意的是,如果单引号中的字符数是2-4个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论