好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言程序设计实验指导2013上和习题(湖南师范大学).doc

60页
  • 卖家[上传人]:m****
  • 文档编号:441019720
  • 上传时间:2022-11-23
  • 文档格式:DOC
  • 文档大小:1,003.76KB
  • / 60 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • C程序设计实验指导2013年春季实验一:C程序集成开发环境熟悉 5一、实验目标: 5二、实验重点: 5三、实验难点: 5四、上机操作: 5五、作业: 14实验二:数据类型 15一、实验目标: 15二、实验重点: 15三、实验难点: 15四、上机操作: 15五、作业: 16实验三:控制结构(一) 17一、实验目标: 17二、实验重点: 17三、实验难点: 17四、上机操作: 17五、作业: 18实验四:控制结构(二) 19一、实验目标: 19二、实验重点: 19三、实验难点: 19四、上机操作: 19五、作业: 21实验五:运算符和表达式 21一、实验目标: 21二、实验重点: 22三、实验难点: 22四、上机操作: 22五、作业: 23实验六:数 组 24一、实验目标: 24二、实验重点: 24三、实验难点: 24四、上机操作: 24五、上机作业: 26实验七:字符串 27一、内容及目标: 27二、实验重点: 27三、实验难点: 27四、上机操作: 27六、上机作业: 28实验八:函 数 29一、实验目标: 29二、实验重点: 29三、实验难点: 30四、上机操作: 30六、作业: 31实验九:变量类别与编译预处理 32一、内容及目标: 32二、实验重点 32三、实验难点: 32四、上机操作: 32五、作业: 35实验十:指针(一) 36一、内容及目标: 36二、实验重点 36三、实验难点: 36四、上机操作: 36五、上机作业: 38实验十一:指针(二) 38一、内容及目标: 38二、实验重点 38三、实验难点: 39四、上机操作: 39实验十二:指针(三) 41一、内容及目标: 41二、实验重点 41三、实验难点: 41四、上机操作: 41五、上机作业: 42实验十三:指针(四) 43一、内容及目标: 43二、实验重点 43三、实验难点: 43四、上机操作: 43六、上机作业: 44实验十四:结构体、共用体和枚举类型 45一、内容及目标: 45二、实验重点: 45三、实验难点: 45四、上机操作 : 45五、作业: 47实验十五:数据结构及算法(链表)选做实验 47一、实验目标 47二、实验重点 47三、实验难点 47五、上机操作: 48五、作业: 49实验十六:数据结构及算法(对列、堆栈)选做实验 49一、内容及目标: 49二、实验重点 50三、实验难点 50四、上机操作: 50实验十七:文件处理 52一、内容及目标: 52二、实验重点 52三、实验难点 52四、上机操作: 52附录一: 55附录二: 57附录三: 58引 言本课程的教学目的在于使学生通过实验C程序设计的基本语言知识(数据类型、控制结构、语法规则等)和基本编程技术(程序分析、算法与编程、常用程序模块等),对面向过程的高级语言程序设计技术有比较完整的理解,并形成程序设计的初步能力,能自己分析问题,按模块化程序设计的要求,编写结构完整、具有一定难度的控制和出错处理功能、由多个功能模块组合形成的小型程序。

      本实验指导书是根据2005年出版发行的《C程序设计》教材,结合专业特点编写在实验题型方面进行了较大改进除了传统的编程设计题之外,增加了源程序改错题,源程序完善、修改、替换题,程序的调试跟踪题等,目的是培养学生在C语言程序设计方面的实际编程动手能力即:培养学生跟踪程序,设置断点,调试程序的能力;排除程序中语法、逻辑方面错误与故障的能力;养成细致、周密、严谨的编程作风源程序改错题先给出一些含有典型,常见错误的源程序,让学生通过编译或运行发现错误,并加以改正,从而纠正初学者易犯的常见错误源程序修改替换题也是先给出源程序,然后要求学生按要求编写修改替换原来程序中的部分代码如:用if语句和goto语句替换while循环,用switch语句替换多个if语句,用while循环替换for循环等使学生掌握同一种算法的多种不同实现跟踪调试结果填空题先给出源程序,要求学生填写程序运行过程中的某些中间结果强迫学生用断点设置、单步跟踪等调试程序,观察并填写相应的中间结果编程设计题只给出题目,要求学生完成从源程序的编程、编辑、修改,编译产生目标代码,链接产生可执行文件,运行程序得到正确结果的全部环节要求预先编写程序,上机实验从源程序的编辑开始。

      考虑学生上机实验的完成进度差别较大,因此每个实验安排3个题目,前2个必做,后一个供速度快的同学选做3个题目的难度依次为易、中、较难C语言程序设计的上机实验是进一步深刻了解C语言的语法、语义,掌握用C语言进行初步程序设计所需要的方法和技能的一个重要环节优秀的程序员毫无例外的都是在机器上“摸爬滚打”出来的C语言的创始人Dennis M. Ritchie是如此,C++的创始人Bjarne Stroustrup也是如此这些语言大师们都是在机器上使用现行语言遇到巨大障碍的情况下才产生了发明新的计算机语言灵感和动力Dennis M. Ritchi直到上世纪90年代还在它的386机器上编程因此作为C语言的初学者一定要要重视实验学习C语言与学习和使用任何一门其它程序设计语言一样首先要理解程序设计语言的语法和语义;然后通过上机熟悉该语言集成开发环境,掌握编辑、修改、编译、链接、跟踪、调试程序等方面的技巧最后还要熟悉语言编译系统提供的库函数或类库,以便快速实现程序的设计与开发上机实验就是学习和掌握上面三个环节的重要途径预则立,不预则废”上机实验前一定要预先编好有关程序,把上机的重点放到程序的编辑、修改、编译、链接、跟踪、调试程序方面来。

      放到观察程序运行过程中的中间结果和运行完毕后的运行结果方面来最终使自己的大脑变成一台“计算机”,能够在脑袋中运行自己的程序,判断各种情况下程序的走向等等从而提高上机的效率和程序设计的准确性优秀的程序员往往不轻易“出手”,但出手往往令人拍案叫绝!因此,“预”是培养编程者养成一种深思熟虑的好的编程习惯实验一 C程序集成开发环境熟悉一、实验目的掌握在Visual C++ 6.0集成开发环境下怎样编辑、编译、连接、执行、修改和调试C语言程序二、实验内容1.进入可视化的C++ 6.0集成开发环境⑴启动计算机,进入窗口环境操作界面⑵鼠标依次点击“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0” 启动VC6.0集成开发环境此处输入源程序文件名单击此处来修改文件保存位置⑶选择“文件”(File)菜单中的“新建”(New)命令, 在新建 图1对话框中,选择“文件”选项卡,再选择“C++ Source File”类型,按图示操作后单击对话框中的“确定”按钮见图1)⑷ 接着就会出现如图2所示的VC界面。

      ⑸ 在编辑窗口中,输入如下内容:图2#include "stdio.h"//以上行对于本书中的例子没有给出望同学们对于所有的//程序都保留这样一行main( ) { printf("Hello!这是我的First C程序.\n"); } ⑹选择“编译”菜单中的“ 编译 my_c1.cpp” 命令,并在出现的对话框中选择“是(Y)”结果如图3编译信息窗 图3⑺选择“编译”菜单中的“构件my_c1.exe”命令,构建可执行程序my_c1.exe,再选择“编译”菜单中的“!执行my_c1.exe” 命令 在出现的对话框中选择“是(Y)”,结果屏幕如图4所示图4图中的黑色窗口为运行结果窗口按任意键就可返回编辑界面⑻修改上述程序,将printf行括号中的双引号去掉左边的,重复⑹,可以看到图5其中的编译信息窗显示:鼠标点击滚动条,查看错误信息图5my_c1.obj - 16 error(s), 1 warning(s)当前错误所在的位置指示可以看到由于一个双引号的漏写,导致出现16个语法错误,而实际上的错误只有一个,这是C编译器的特点,当它遇到错误时,会做出一些判断或推测,有时这种推测判断正确,有时也会错误。

      了解这一特点后,希望同学们在上机时,先去修改第一个错误,一般可以在修改一个错误后立即重新编译,这样可以快速减少错误的数目下面请同学们用鼠标点击滚动条上的滑块,查看第一条错误信息,并用鼠标双击第一个错误信息图6),错误所在的文件及行号错误的解释图6可以看到,C编译器将Hello理解为了标识符,而前面又没有对Hello的说明,所以认为它是未声明的标识符(undeclared identifier),这个错误在初学者的程序里非常多见,希望同学们记住它 将双引号加上再重新编译,就可恢复为无错误了⑼修改上述程序,在#include “stdio.h”这一行的最左边加两个“/”,即使得这一行成为注释(显示为绿色),重复⑹,可以看到图7所示的错误图7相信同学们对其中的错误说明不难理解了,C编译器说printf是未声明的标识符原因是printf不是C语言的基本部分,它是定义在“stdio.h”中,这也就是我们为什么在前面说要在自己的程序前部加#include “stdio.h”的原因⑽请先选择“文件”菜单的“关闭工作区”命令,再按上面的步骤(3)~(5)操作将编辑窗口的程序更换为如下程序文本,依次引入下述错误,每引入一个错误,就对程序进行编译,记录编译器产生的错误信息,写在实验报告里。

      /* 变量使用相关的语法问题 */ #include "stdio.h"void main() { int a=1,b=2,c=3; printf("Some output: %d %d %d\n",a,b,c,c); } ①把第6行变量声明语句的第一个逗号改为分号②把第7行printf()改为print() ③去掉第7行中的第2个双引号 ④把第7行中a,b,c,c改为a,b,c ⑤去掉printf语句末尾的分号 ⑥去掉用于结束的花括号 注意,在引入每一个错误并编译后,开始引入下一个错误前将上一错误再改正2.程序的调试手段作为程序员编写程序,一个难以避免的工作就是对程序的调试调试包括语法方面的,这一般通过编译就可基本解决,比如在上述图3中,细心的同学可能注意到在底部的编译信息窗中,编译报告中说:my_c1.obj - 0 error(s), 1 warning(s),意思是编译过程中没发现错误(0 error(s)),但有一个不合规范的使用(1 warning(s))编程序应最好是达到 0 error和0 warning,但有时无法做到如此完美,只要达到 0 error就可以了。

      若不能做到0 error,将不能产生机器语言程序,因而也就无法执行程序所以同学们在调试自己的程序时,必须是做到经编译后0 error好在编译器对发现的错误都有一个比较正确的修改意见,同学们按意见修改后一般就可消除错误,只是修改意见是英文的,同学们需有一定的专业词汇或者经过一定时间与VC++的接触,就可理解;另一类就是逻辑方面的,这类错误的消除相对麻烦。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.