欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言程序设计实习指导及报告.docx

    • 资源ID:4259487       资源大小:443.55KB        全文页数:36页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计实习指导及报告.docx

    1、C语言程序设计实习指导及报告C语言程序设计实习指导C语言课组编写 西北农林科技大学信息工程学院2010年2月前 言程序设计是实践性很强的课程,实习的目的是为了巩固所学知识,培养、提高实际动手能力和严肃认真的科学工作态度,而程序设计是创造性的劳动,因此需要编程人员全身心地投入,充分发挥主观能动性,认真做好每一次实习。每道题没有唯一解,只要掌握了基本的方法和技巧,加上自己创造性的工作,就一定能够编写出各种各样的好程序。任何程序最终都必须在计算机上运行,以检验程序的正确与否。因此在学习程序设计中,一定要重视上机实践环节,通过上机加深理解C语言的有关概念,巩固理论知识,另一方面培养调试程序的能力与技巧

    2、。为了加强基础知识和语言主干结构的学习,深刻理解和掌握教材内容,减少实习时的盲目性,特编写本实习指导书。为方便内容组织,每个实习由实习目的、实习内容及讲解、注意事项等几部分组成。下面对每次实习提几点具体要求:(1) 实习前应进行充分的准备,做到心中有数。要弄懂教材中的相关知识和例题,深刻理解教材中涉及到的知识点及程序设计方法,根据实习要求,对题目进行分析,选择适当的算法、事先编写好程序。上机前一定要仔细检查程序(称为静态调试),直到找不出错误(包括语法错误和逻辑错误)为止。分析可能遇到的问题及解决的办法。准备几组测试程序的数据、写出预期的结果,以便发现程序中可能存在的错误。(2) 在实习中,应

    3、该对编写好的程序使用预先准备好的测试数据运行程序,观察是否能得到预期的结果(称为动态调试)。对于实习中出现的问题进行仔细的分析,找出解决办法,调试程序排除各种错误,直到得到正确结果。对运行结果要做好记录,为写实习报告做好准备。调试过程中,要充分利用系统提供的各种调试手段和工具,例如:单步跟踪、设置断点、观察变量值等。对出现的错误要善于思考,勤于分析,尽量自己动手解决问题,逐渐提高自主分析问题和解决问题的能力。(3) 实习结束后,要整理实习结果,并应根据问题、解决办法和运行结果,对本次实习及时进行认真分析和总结,撰写出实习报告并提交到电子作业管理系统。以这种方式提交实习报告书还处于尝试阶段,限于

    4、作者水平,其中疏漏在所难免,敬请各位老师和同学批评指正。联系地址:Email:hl或Email:cy 。作者2010年2月目 录实习一 C语言概述 - 1 -实习二 顺序结构 - 9 -实习三 选择结构 错误!未定义书签。实习四 循环结构程序设计 - 15 -实习五 数 组 - 17 -实习六 指 针 - 23 -实习七 函数调用 - 26 -实习八 结构体、联合体及位运算 - 29 -实习九 文件操作 - 31 -实习一 C语言编程环境及简单程序设计一、实习目的 熟悉C语言集成开发环境的使用方法,学会独立使用该系统; 通过编写简单的程序,掌握C语言源程序的编辑、编译、连接、调试和运行过程;

    5、通过编写、运行简单的C语言源程序,学习程序编写方法,了解C源程序的特点; 理解C语言数据的类型、取值范围、定义和使用方法; 掌握各种运算符、表达式的基本概念、使用方法,以及各种运算符的优先级及结合方向; 掌握各种类型数据的输入/输出方法,能正确使用各种格式转换符和控制符。二、实习要求 实习前认真复习第1、2章内容,尤其是P17的1.4 C程序的开发步骤; 对实习内容中给定的题目上机前先进行程序的编写和数据的准备; 学会使用上机环境; 上机编辑、调试、运行程序,保存最终程序到自己的文件夹中。注意:当本次作业全部完成后,提交到信息学院作业管理系统中任课教师的名下。三、Visual C+6.0运行环

    6、境介绍Visual C+6.0是运行于Windows环境下的交互式可视化集成开发环境,有中、英文两种版本,使用方法相同,即可在该环境中编辑程序、也可编译连接运行程序,此处仅介绍中文环境下的使用方法。 安装 使用前必须先在所使用的机器上安装Visual C+6.0运行环境系统。该系统软件放在一张光盘上,只要根据提示便可以轻松安装,此处不做详细介绍。实习机房机器上已安装,可供使用。 启动 一般安装后便在桌面上创建了快捷方式图标 。首次启动Visual C+6.0,只要双击此图标即可; 也可通过开始菜单所有程序Microsoft Visual Studio 6.0Microsoft Visual C

    7、+6.0启动Visual C+6.0; 直接双击C语言源程序,即名为.c或.cpp的文件,也可启动Visual C+6.0并显示程序。 运行环境介绍Visual C+6.0启动后,界面如图1所示。可见VC(Visual C+6.0的简称)的主界面由标题栏、菜单栏、工具栏、编辑窗口、信息提示窗口、工作区窗口及其切换按钮等组成。 标题栏 用于显示应用程序名和当前打开的文件名,在上图中为exam1-1.c 创天中文VC+。若文件名后带有“*”号,表示修改后的内容尚未存盘,提示用户及时保存更新的内容。 菜单栏 列出了VC提供的各种命令,用法与Word相同。其中:文件 用来对文件和项目进行管埋,如创建新

    8、文件和项目、打开己有的文件和项目、保存文件和项目;关闭文件和项目等。其中打开、保存、关闭工作区是一个新的概念,因为VC中为源程序建立了一个工作区,当再次新建一个C程序时,必须要关闭上一个程序已打开的工作区,否则会出错。编辑 对文件进行各种编辑操作,如剪切、粘贴、插入、删除、复制、全部选择、查找、定位等。查看 用于改变窗口和工具栏的显示方式,如建立类向导、全屏幕显示、工作区、输出、激活调试时所用的各个窗口、属性等。插入 创建、添加项目和资源,如新建类、插入新的资源、插入新的ATL对象等。工程 设置与工程相关的源文件、库函数,如添加工程、设置活动工程、来源控制、插入工程到工作区等。编译 对应用程序

    9、进行编译、连接和执行,如编译、构件、重建全部、批构件、开始调试等。工具 选择或制定开发环境中的一些实用工具,以激活各个调试窗口,改变各个窗口的显示模式等。窗口 对窗口进行各种设置。帮助 显示各种帮助信息。 工具栏 提供常用工具,方便编辑、保存、编译运行程序。分为以下三个部分。 常用工具栏 新建文件打开文件保存当前文件保存所有打开的文件剪切选定内容复制选定内容粘贴复制内容撤销上次操作恢复被撤销的操作打开关闭工作区窗口打开关闭信息提示窗口文件窗口操作在指定的多个文件中查找字符串指定要查找的字符串,按Enter键进行查找在当前文件中查找指定的字符串 编译运行工具栏编译编译及连接中断编译连接运行调试运

    10、行设置取消断点 WizardBar工具栏 包含一些快速使用Class Wizard的工具,此处从略。 工作区窗口用目录树的方式显示工程文件的组织结构形式。与Windows的资源管理器类似,可以通过点击“+”或“-”号,来展开或折叠下级结构。通过点击切换工作区按钮,可改变显示方式。 Class View标签 用于显示当前打开的项目所包含的类、函数和变量定义等信息。 File View标签 用于显示当前打开的项目所包含的各种文件信息,包括:源文件、头文件、资源文件等。 编辑窗口为用户提供的编辑源文件的区域,用法与Word完全相同,此处不再赘述。 信息提示窗口用于显示编译、连接、运行时,系统产生的各

    11、种提示信息,包括当前状态信息、各种错误信息、警告信息等;调试信息和查找的结果也在此处显示。阅读这些信息可帮助用户查找错误。 状态栏用于显示当前操作的状态、注释、光标所的行和列的在位置。 编辑、编译、连接和运行程序 此工作当VC启动完成,在主界面中即可开始进行。 直接建立源文件 选菜单“文件”“新建”,弹出图2所示界面; 选“文件”标签“C+ Source File”; 在文件框中输入要建立的文件的名字,如图2中的exam1-1.c; 在目录框中选择所建文件存放的位置,如图中的D:2009-2010-2C。该目录必须已存在,否则会有提示信息; 单击“确定”按钮,在弹出的图1所示界面的编辑窗口中,

    12、即可进行源文件的编辑。 打开已存在的C源程序文件 选菜单“文件”“打开”,或单击快捷按钮 ,弹出图3所示打开文件界面; 用与在Windows中相同的方法,打开自己选定的文件到图1所示的VC环境中,然后进行编辑、修改; 当编辑、修改完毕后,就可以原名保存或另存为其它名字的文件了。 保存/另存文件 输入或修改完毕,单击菜单“文件”“保存”,或单击快捷按钮 ,即可以前面确定的位置、文件名或原文件名保存文件; 若想改变文件名或文件的存放位置,则应选文件另存为,根据提示另保存文件。 编译、连接C程序 编译进行编译的方法有三种:方法一:按Ctrl+F7组合键方法二:单击工具栏的按钮 方法三:选择菜单“编译

    13、”执行编译后,信息提示窗口中显示出编译的结果信息,指出源程序中是否存在语法错误,如图4所示。如:*.obj - error(s), warning(s)其中:“*.obj”是所产生的目标文件名,“*”代表具体的文件名,如图4中的exam1-1;“ error(s)”指明发现的致命语法错误,“”是错误具体个数。若无错误即为0;“ warning(s)”对可能的潜在性错误发出警告,“”是具体个数。若无即为0。如果有错误,还会在该窗口中逐一显示出具体的错误类型及位置,只要双击某错误行,便可直接指向编辑窗口中错误所在行,以方便查看和改正错误。然后再编译。直到源程序中没有任何语法错误,即error型错误

    14、,表示编译成功,已正确生成目标文件,即.obj文件,接着就可以进行连接了。建议:对有多个错误的情况,要分析错误提示,根据前后语句找出出错原因,再进行修改,且最好从第一个错误开始修改,因为前面的错误可能会连带后面也出错;最好每改正一个错误,就编译一次,这样能够有效地消除连带错误。 连接目标文件生成后,就要把目标程序与系统中的库函数连接起来,生成可执行文件,即.exe文件。进行连接的方法也有三种:方法一:按F7键方法二:单击工具栏的按钮方法三:选择菜单“编译”与编译类似,连接的结果也会在信息提示窗口中显示,如图5所示。若有错误提示,必须改正后重新再进行编译、连接,直到生成没有错误的可执行文件。错误

    15、多一般是因为函数名不正确,或包含命令不对,如头文件的位置不正确等。 编译+连接编译和连接操作也可一次完成。如果尚未进行编译就直接选择执行连接,系统将会先进行编译,若成功后再自动进行连接。 运行运行可执行文件的方法也有三种:方法一:按Ctrl+F5组合键方法二:单击工具栏的按钮方法三:选择菜单“编译”若程序能够正常运行,系统会在VC界面上弹出一个命令行方式的用户窗口,如果需要的话用户可以通过这个窗口给程序输入数据,而程序运行的结果也是显示在这个界面上的。如对图1中所示的程序,运行的结果如图6所示。其中的“Press any key to continue”是系统提示信息,只要根据该提示按任意键,

    16、便可返回编辑界面。 关闭程序工作区当一个程序调试、运行完毕后,必须先关闭当前程序的工作区,才可进行下一个程序的工作,否则可能会出现意想不到的错误。关闭工作区可选菜单“文件”“关闭工作区”来实现。 退出VC系统环境可选菜单“文件”“退出”,其它退出方法与Windows其它应用程序相同。四、实习内容 创建文件夹在自己实习机器的C上盘以自己的姓名创建一个文件夹,以便将实习内容保存在自己的文件夹中,你建立的文件夹名为: 。 学习VC+6.0集成开发环境的使用方法,掌握建立、打开、保存、运行一个C源程序的操作方法,注意完成以下内容 输入教材P3【例1-1】的源代码后,以文件名exam1-1.c保存。 通

    17、过资源管理器查看你自己的文件夹,此时其中有 1 个文件。 编译源代码(快捷键为CTRL+F7)后,通过资源管理器查看你的文件夹,发现除源程序文件外,多了 3 个文件和 1 个文件夹,多出的文件夹名为: Debug 。 连接程序(快捷键为F7),结束后查看新增加的文件夹中在第(3)步的基础上又多出了 3 个文件。其中最重要的是结果文件,其扩展名为EXE。 选菜单“文件”“关闭工作区”命令结束当程序,为新建下一个C源程序做准备。 实习中的有关约定为便于管理,本实习中特作以下有关约定。 电子实习报告的命名凡提交的电子实习报告,均以姓名+实习号命名。如张三同学提交实习一的电子实习报告,则命名为:张三1

    18、,依此类推实习五的即为:张三5 提交作业题的命名 例题验证 以exam+章号+题号命名。如第一章的例1,则写为:exam1-1.c 作业题 以zy+章号+题号命名。如对P18第一章的作业程序设计题1中的第2题,则写为:zy1-2.c 作业题一题多解 则以zy+章号+题号+序号命名。如第一章的P18的程序设计题1中的第2题的第2种解法,则写为:zy1-2-2.c 附加题 则以fj+章号+题号命名。如第一章的第1个附加题,则写为:fj1-1.c 附加题一题有多解 则以fj+章号+题号+序号命名。如第一章的第1个附加题的第2种解法,则写为:fj1-1-2.c 按要求完成P18程序设计题1中的第2、第

    19、5题 对第2题的提示该题要求在屏幕上输出“Happy New Year!”,仿照教材P3【例1-1】即可完成。 对第5题的分析 该题要求从键盘输入任意两个数。由教材可知,在C程序中数据要存在变量中,以后才可以多次使用。又因未限定数据类型,为扩大适用范围,此处定义两个实型变量a和b来接受从键盘输入的数据,可用语句:float a,b; 要求保存计算的和、差、积、商,可设定四个变量来存放。为扩大适用范围此处定义四个实型变量h、c、j和s来保存计算的结果,可用语句:double h,c,j,s; 接受从键盘输入的实型数据,可用语句:scanf(%f%f,&a,&b); 计算可用四个赋值语句完成:h=

    20、a+b;c=a-b;j=a*b;s=a/b; 最后结果的输出可用输出语句:printf(和=%f,差=%f,积=%f,商=%f n,h,c,j,s);其实,本题可以参考P11代码1-5(b)来完成。 按要求完成P52程序设计题2中的第1、第3、第4题 对第1题的分析 根据题意需要定义存放梯形上底、下底、高和面积的实型变量为:float sd,xd,h,area; 求梯形面积的公式为:面积=(上底+下底)高/2,即area=(sd+xd)*h/2; 为使程序具有通用性,可先从键盘输入上底、下底和高的值,然后再计算面积; 计算出的面积值一定要输出,才能看到计算结果。 对第3题的分析 输入任意一个字

    21、符,需定义一个字符变量:char c; 在C语言中,字符型变量的值即可用字符形式也可以整数形式输出。当以字符形式输出时输出的是原字符,而以整数形式输出时输出的就是该字符的ASCII码值了。所以使用的输出语句可为:printf(字符为:%c, ASCII码值为:%d n, c,c); 输出字符也可用putchar(c); 对第4题的分析 仔细阅读教材P36的2.4.8节的内容; 可通过逐个输出sizeof函数的值完成该题。如:printf(整型占 %d 字节 n,sizeof(int);五、注意事项1. 上机实习前一定要认真阅读教材相关内容,结合实习步骤整理出实习涉及的内容。从本次实习开始大家应

    22、该明白,上机实习的目的有两个,其一是加深对知识点的理解;其二是验证自己学习过程中的一些疑问。对于教材中的内容、例题,如果已经理解的可以跳过,对于有疑问的才需要上机调试验证。2. 对程序的可靠性要进行多方面的测试,有时要和别的程序对比运行结果,甚至要用手算。3. C语言程序编写及上机调试步骤: 先根据题意决定算法,并用笔在纸上画出程序流程图; 根据流程图编写源程序代码,经人工检查无误后才能上机。对自己有疑问的地方,应事先作好标记,以便上机时给予注意。初学时切忌不编程序或抄袭别人的程序,应养成良好的习惯和严谨的科学作风; 准备好测试数据,写出预期结果(必要时应准备多组测试数据); 将源程序代码输入

    23、计算机; 再次检查程序有无错误(包括语法错误和逻辑错误); 运行和调试。进行编译和连接,仔细分析编译信息,如有错误应找出原因并记录,然后改正、再进行编译和连接,直到输出结果正确为止。对出现的问题应仔细分析,一般应尽量独立处理,尤其是对“出错信息”,应学会自己分析判断,不要轻易问他人,这是学会调试程序的良方; 程序调试过程中,应记录出现的各种状况、解决的方法,为撰写实习报告作好准备。程序运行通过后,应将结果与事先的预期结果进行对比分析; 对于教材上的例题输入运行后,自己可以再修改、调试,例如:故意改成错的,然后分析其编译和运行情况; 将每次实习的所有内容调试好后,仅保留扩展名为“.c”和“.ex

    24、e”的文件,将其它文件全部删除,经压缩后保存在自己的邮箱中或提交给老师。实习二 分支结构程序设计一、 实习目的1掌握C语言的六种关系运算符和三种逻辑运算符的使用方法;2了解C语言表示逻辑量的方法(以“0”代表“假”,以1或非“0”代表“真”);3深刻理解选择结构,熟练掌握和应用if语句的三种基本形式和嵌套形式;4掌握switch语句的规则、功能与特点,能准确构造表达式;5通过上机,理解选择结构程序中常见的语法及逻辑错误,掌握基本的程序调试技术。二、程序调试方法介绍程序编译、连接通过,即可执行,这说明程序无语法错误,但不能确定程序执行的结果是否正确。若程序执行结果与要求不符,则说明程序存在算法上

    25、的问题,这类错误称为逻辑错误。 逻辑错误的判断、定位、修改,往往要比通过编译检查语法错误困难得多,不仅依赖于程序设计者对算法的理解以及编程的经验,还需借助于必要的手段,这一点对于初学者显得尤为重要。C语言的环境都或多或少地提供了必要的调试工具,在此简单介绍几种常用的调试方法和手段。 添加输出语句输出语句的作用是输出程序的最终结果,对于中间的执行结果是不必输出的,但是在程序的调试过程中,输出一些中间结果对于错误的判断是十分有益的。因此可以在程序执行的中间增加一些输出语句,以检测程序执行过程中的问题,这也是调试的重要手段。下面通过例题,说明其基本使用方法。例1-1 求1-5的累加和,即S=1+2+

    26、3+4+5。若程序代码如下:#includevoid main(void) int i,s; for(i=1;i=5;i+) /*循环取五个数*/ s=s+i; /*五个数累加*/ printf(1+2+3+4+5=%dn,s); /*输出累加结果*/在VC+6.0环境下,输入源程序,编译连接无语法错误,经执行后其结果如图7所示。从图7可以看出,虽然程序没有语法错误,但执行结果明显是错误的,5个正数的累加和绝对不可能为负数。问题出在哪里?为了定位错误,可以在循环的累加过程中加入输出语句,输出每次累加前变量s的值,则可将代码改为:#includevoid main(void) int i,s;

    27、for(i=1;i=5;i+) /*循环取五个数*/ printf(s=%dn,s); /*输出每次累加前变量s的值*/ s=s+i; /*五个数累加*/ printf(1+2+3+4+5=%dn,s); /*输出累加结果*/执行结果如图8所示。可见,在循环中s的值按i的变化递增,即累加是正确的。但第一次没有累加之前s的值就是-858993460而不是0,这就意味着产生错误的原因是在循环之前,没有为s赋初值0。因此,将s=0;语句加在for循环前,然后注释或删除掉增加的输出语句后的程序如下。再次编译、执行程序,结果如图9所示,正确无误。#includevoid main(void) int i

    28、,s; s=0; /*为s赋初值*/ for(i=1;i=5;i+) /*循环取五个数*/ s=s+i; /*五个数累加*/ printf(1+2+3+4+5=%dn,s); /*输出累加结果*/ 建议: 在程序代码的适当位置增加输出语旬,可以暴露程序存在的问题。 分支中必须设计多组测试数据,对临界值以及每一种分支的情况进行测试,以发现漏洞。 循环中必须设计多组测试数据,对循环的边界状态进行测试,以发现漏洞。 单步执行单步执行是编程环境常备的一种调试工具,它是指每执行一条语句后即暂时停止,以方便用户观察程序的执行情况,然后再启动执行下一条语旬,如此一步一步地执行程序。这样可以观察程序中每条语句

    29、的执行过程和执行结果,便于在调试中发现问题。下面通过例题,说明VC+6.0下单步执行的基本使用方法。例1-2 求级数 。若程序代码如下:#includevoid main(void) float s; int i; s=0; /*为s赋初值*/ for(i=1;i=5;i+) /*循环取五个数*/ s=s+1/i; /*五个数累加*/ printf(1+1/2+1/3+1/4+1/5=%7.2fn,s); /*输出累加结果*/编译连接无语法错误,经执行其结果如图10所示,输出结果为1.00,显然是错误的。由于s有初值、i在每次循环中也能取得正确的值,可计算结果却有误,原因可能是累加的过程产生了错误。下面通过单步执行功能观察执行中的具体情况。 进入单步执行状态 按F11(选菜单“编译”“开始调试”“Step Into”)或按F10键如图11所示,进入单步执行状态,如图12所示。其中Debug菜单提供了三种调试方式,含义及说明见表1。表1 单步执行时的快捷按钮、快捷键及单步方式,退出方法单步执行方式快捷按钮快捷键执行方式含义Step IntoF11将进入调用的函数中单步执


    注意事项

    本文(C语言程序设计实习指导及报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开