ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:989.17KB ,
资源ID:14515842      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14515842.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

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

C语言程序设计上机指导.docx

1、C语言程序设计上机指导C语言程序设计上机指导2015年3月北京交通大学刘湘黔1. 启动Visual C+ 6.0集成开发环境Visual C+ 6.0是微软公司1998年推出的visual studio系列产品之一,它提供了强大的编译能力以及良好的界面操作性。能够对Windows下的C+程序设计提供完善的编程环境。同时它对网络、数据库等方面的编程也提供相应的环境支持。使用Visual C+ 6.0编制并运行程序也是编辑(把程序代码输入)、编译(成目标程序文件)、连接(成可执行程序文件)、运行(可执行程序文件)四个步骤,其中第一步的编辑工作是最繁杂而又必须细致地由人工在计算机上来完成,其余几个步

2、骤则相对简单,基本上由系统自动完成。确认你所使用的计算机是否已经安装Visual C+6.0,若已经安装,则执行“开始”“程序”“Microsoft Visual Studio” “Visual C+6.0”命令即可启动Visual C+ 6.0,否则,则应先安装Visual C+ 6.0。启动Visual C+ 6.0,进入到它的集成开发环境窗口,其具体窗口式样如图2-1 所示。图1-1 Visual C+ 6.0集成开发环境式样图中所示Visual C+ 6.0的窗口从大体上可分为四部分。上部是菜单和工具条;左边是工作区显示窗口,这里将显示处理过程中与项目相关的各种文件种类等信息;右边是视

3、图区,这里显示和编辑程序文件的操作区;下边是输出窗口区,程序调试过程中,进行编译、链接、运行时输出的相关信息将在此处显示。2创建工程使用Visual C+ 6.0编制并处理C+程序时要创建工程,因此必须先要了解Visual C+ 6.0的工程(有的资料也翻译成项目)的概念,而工程又与工程工作区相关联。实际上,Visual C+ 6.0 是通过工程工作区来组织工程及其各相关元素的,就好像是一个工作间,以后程序所牵扯到的所有的文件、资源等元素都将放入到这一工作间中,从而使得各个工程之间互不干扰,使编程工作更有条理。这种思想反应到实现上就是一个工作区对应于一个独立的文件夹。简单的情况下,一个工作区中

4、用来存放一个工程,代表着某一个要进行处理的程序。如果需要,一个工作区中也可以用来存放多个工程,其中可以包含该工程的子工程或者与其有依赖关系的其他工程。创建工程工作区之后,系统将创建出一个相应的工作区文件,后缀为“.dsw”,用来存放与该工作区相关的信息;另外还将创建出的其他几个相关文件是:工程文件(后缀是“.dsp”)以及选择信息文件(后缀是“.opt”)等。在Windows环境下通过双击工作区文件或工程文件都可以打开相应的工程。Visual C+ 6.0 已经预先为用户准备好了近种不同的工程类型以供选择,选定不同的类型意味着让Visual C+ 6.0系统帮着提前做某些不同的准备以及初始化工

5、作(例如,事先为用户自动生成一个所谓的底层程序框架,并进行某些隐含设置,如隐含位置、预定义常量、输出结果类型等)。工程类型中,其中有一个为“Win32 Console Application”的类型,称之为控制台应用,它是我们首先要掌握的、用来编制运行C+程序方法中最简单的一种。此种类型的程序运行时,将出现并使用一个类似于DOS的窗口,这个类似于DOS的窗口就是控制台,通过它提供对字符模式的各种处理与支持。实际上,用此种类型的工程开发的应用程序是具有字符界面的应用程序。此种类型的工程小巧而简单,并且足以解决并支持本课程中涉及到的面向对象编程内容与技术,使我们把重点放在面向对象思想的理解及程序的

6、设计,而并非界面处理等方面,至于Visual C+ 6.0支持的其他工程类型,我们在今后的学习和工作中遇到再逐渐了解、掌握与使用。创建工程的步骤为:首先,选择“File”“New”“Projects”命令,会弹出如图2-2所示的对话框,从左侧选项中选择“Win32 Console Application”项,在右侧“Location”文本框中填入存放与工程工作区相关的所有文件及其相关信息的文件夹的路径及名称,当然也可通过点击其右部的“”按钮去选择并指定这一文件夹即子目录位置。在 “Project name”文本框中填入工程名,注意,此时Visual C+ 6.0会自动在其下的Location文

7、本框中用该工程名建立一个同名的子目录,随后的工程文件以及其他相关文件都将存放在这个目录下。图1-2 Visual C+ 6.0新建工程对话框然后,单击OK进入下一个对话框,如图2-3所示。图1-3新建控制台工程类型选择对话框从图中可以看到有四种类型的控制台工程可供选择:若选择“An empty project”项将生成一个空的工程,工程内不包括任何东西。若选择“A simple application”项将生成包含一个空的main 函数和一个空的头文件的工程。若选“A Hello World! application”项将生成包含一个有显示出“Hello World!”字符串的输出语句的mai

8、n 函数和一个空的头文件的工程。若选择“An application that supports MFC”项的话,可以利用Visual C+ 6.0所提供的基础类库来进行编程。选择“Finish”,系统自动建立一个基于控制台的工程。建立好工程的Visual C+ 6.0系统界面如图2-4所示。图1-4建立控制台工程后的系统界面补充说明:1、如果在创建工程的时候若选择“A simple application”项,创建的工程中含有两个源文件(proj1.cpp和StdAfx.cpp)和一个头文件(StdAfx.h),并且proj1.cpp源文件中有一个不做任何操作的main函数。其中proj1.

9、cpp是你给源文件起的名字。2、若选“A Hello World! application”项,创建的工程中也含有两个源文件(proj1.cpp和StdAfx.cpp)和一个头文件(StdAfx.h),但proj1.cpp源文件中的main函数有一条输出Hello,World!字符的printf语句。其中proj1.cpp是你给源文件起的名字。3、若选择“An application that supports MFC”项,创建了支持MFC类库(Visual C+ 6.0所提供的基础类库)的工程。MFC类库由微软开发,使用MFC类库可以加快程序开发的速度。3. 编辑源程序工程建好之后,下一步要

10、做的工作就是在工程中建立一个源程序并编辑它。选择时“Project”“Add To Project”“New”命令,打开新建对话框,在“Files”标签下选择“C+ Source File”类型,在右边的“File”文本框中填入源程序的文件名,单击“OK”按钮完成源程序的创建。界面如图2-5所示。图1-5新建源程序的对话框界面建立好源程序后会在Visual C+ 6.0右边的视图区打开并显示该源程序,在这里我们可以键入代码,编辑源程序,如图2-6所示。图1-6编辑源程序的界面4. 编译、连接、运行程序源程序编辑完成后,首先选择执行“Build”菜单中的“Compile”项,对源程序进行编译。若

11、编译中发现错误或警告,将在Output窗口中显示出它们具体的出错或警告信息以及所在的行,可以通过这些信息的提示来修改程序中的错误或警告。编译通过后,可以选择菜单的第二项Build 来进行链接生成可执行程序。在链接中出现的错误也将显示到Output窗口中。最后就可以运行程序,选择Execute项,Visual C+ 6.0将运行已经编好的程序,执行后将出现一个结果界面,如图2-7所示。其中的“press any key to continue”是由系统产生的,使得用户可以浏览输出结果,直到按下了任一个键盘按键时再返回到编辑界面。图1-7程序运行的界面这些编译、生成、执行这些操作也可以通过单击工具

12、条上的相应的命令按钮来快捷的完成。另外,如果源程序编辑后没有编译就单击了“执行”按钮,系统会自动的进行编译、连接和执行操作;如果源程序已经编译过了,即上次运行后没有编辑源程序,这时单击“执行”按钮,系统就不再编译和连接而是直接执行上次生成的可执行程序了。5.打开已存在的项目文件可用两种方法打开已存在的项目文件:(1)选择“File”菜单中的“Open workspace”命令,然后在弹出的对话框中选择要打开的项目文件。()选择“File”菜单中的“Recent workspaces”命令,然后再选择相应的项目文件。特别提醒:在调试一个应用程序时,Visual C+集成环境一次只能打开一个项目文

13、件。当一个程序调试完成后,要开始输入另一个程序时,必须先关闭当前的项目文件,然后为新源程序建立一个新的项目文件。否则将出现不可预测的错误。关闭当前的项目文件的方法是:选择“File”菜单中的“Close workspace”命令。6.退出Visual C+集成环境选择“File”菜单中的“Exit”命令,可以退出集成环境。7. 程序调试实例在开发程序的过程中,需要不断地调试自己的程序,或检查错误,或测试程序的稳定性,这就需要借助调试工具来进行。选择一个好的调试工具并能够熟练地使用它,将会使程序开发变得更加容易,从而大大提高程序开发的效率。目前有许多调试工具,集成在 Visual C+中的调试工

14、具便具有相当强大的功能。下面以一个例子讲解如何调试程序。第一步,编写源代码作为例子,我们编写了一个输出 Hello World 的程序。该程序将连续输出 10 遍该字符串,并且在每一次输出前首先打印一个序号。第二步,打开“编译”工具栏这一步并非是必要的。如果编译工具栏已经打开,或者您决定通过菜单而不是工具来进行操作,并没有必要打开工具栏。菜单命令和工具栏快捷按钮一般是可以替代的。使用鼠标右键单击工具栏的空白处,在弹出的菜单中选中“Build(编译)”一项,就可以打开编译工具栏。在该工具栏中,我们可以选择Debug模式,或者Release模式进行编译。在调试程序的过程中,我们一般选择 Debug

15、 模式。第三步,编译我们可以通过菜单或者工具栏按钮进行编译。如果使用菜单,可以选择: Build - Build DemoQuestion.exe F7 或者: Build - Rebuild All如果使用工具栏,可以选择如下图中的按钮: 如果编译完全成功,会显示 0 error(s), 0 warning(s)。另外,即便有一些 warning,也可能编译成功。Warning 表示该代码可能会影响程序运行,虽然可以运行,但有可能存在潜在的问题,编译器不推荐这么写。第四步,除错一般情况下,代码在编写过程中必然会发生各种错误。编译器检查出来的错误会被显示在 VC 6.0 环境的 Build 窗

16、口。如下图所示,编译器提示:在Question.c的第10行,发生了 C2065 错误,变量 j 从没有被声明就被使用了。我们发现上面的错误是因为误把 i 写成了 j,只要改回来,这个错误就被修改好了。运行程序单击 Build 工具栏中的红色感叹号按钮,就可以运行一个编译好的程序:如果该程序在上一次被编译后又被修改,下面窗口将会弹出,问我们是否要把最新的代码重新编译。我们一般都选择 Yes。随后该程序就会在一个新弹出的窗口中被运行。调试程序 - 设置断点设置断点是跟踪程序实际运行流程的最好方法。在 Debug 模式下,程序可以在断点处停止,我们可以让程序单步执行,来确认程序是否在按照我们所预想

17、的方式在运行。 第一步,设置断点将鼠标停留在要被暂停的那一行,选择工具栏按钮 Insert/Remove Breakpoint (F9),就可以添加一个断点。如果该行已经被设置了断点,那么该断点会被删除。 第二步,开始调试如下图所示,选择菜单 Go (F5),就可以开始调试程序。VC 环境会进入调试模式,并且目标程序会在断点处被暂停。 第三步,单步运行选择菜单或者工具栏的 Step Over (F10) 按钮,可以进行程序单步运行。不断选择 F10,程序会一步一步地被执行。调试程序 - 动态察看变量的值单步调试程序的过程中,我们可以在 Watch 窗口中动态地察看变量的值。 第一种,自动查看在

18、 Variables 子窗口中会自动显示当前运行上下文中的变量的值。 第二种,添加变量到 Watch 列表如果本地变量比较多,自动显示的窗口比较混乱,您可以在 Watch 列表中添加自己想要监控的变量名。例如,下图中我们在 Watch1 子窗口中添加了变量 i:添加结束后,该变量的值会被显示出来。并且随着单步调试的进行,我们会看到变量 i 的值逐渐递增。结束调试要结束调试,可以按 shift+F5 或者选择菜单 Debug|Stop Debugging。当结束调试后,所有调试窗口会自动关闭,Debug 菜单也会自动还原为 Build 菜单。8. VC最常见的VC+编译和链接错误信息 下面是最常

19、见的编译错误信息,供同学们参考。1、 atal error C1010: unexpected end of file while looking for precompiled header directive。寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include stdafx.h)2、fatal error C1083: Cannot open include file: R.h: No such file or directory不能打开包含文件“R.h”:没有这样的文件或目录。3、error C2011: C: class type redefinition类“C

20、”重定义。4、error C2018: unknown character 0xa3不认识的字符0xa3。(一般是汉字或中文标点符号)5、error C2057: expected constant expression希望是常量表达式。(一般出现在switch语句的case分支中)6、error C2065: IDD_MYDIALOG : undeclared identifier“IDD_MYDIALOG”:未声明过的标识符。7、error C2082: redefinition of formal parameter bReset函数参数“bReset”在函数体中重定义。8、error

21、C2143: syntax error: missing : before 句法错误:“”前缺少“;”。9、error C2146: syntax error : missing ; before identifier dc句法错误:在“dc”前丢了“;”。10、error C2196: case value 69 already used值69已经用过。(一般出现在switch语句的case分支中)11、error C2509: OnTimer : member function not declared in CHelloView成员函数“OnTimer”没有在“CHelloView”中声

22、明。12、error C2511: reset: overloaded member function void (int) not found in B重载的函数“void reset(int)”在类“B”中找不到。13、error C2555: B:f1: overriding virtual function differs from A:f1 only by return type or calling convention类B对类A中同名函数f1的重载仅根据返回值或调用约定上的区别。14、error C2660: SetTimer : function does not take 2

23、 parameters“SetTimer”函数不传递2个参数。15、warning C4035: f: no return value“f”的return语句没有返回值。16、warning C4553: = = : operator has no effect; did you intend =?没有效果的运算符“= =”;是否改为“=”?17、warning C4700: local variable bReset used without having been initialized局部变量“bReset”没有初始化就使用。18、error C4716: CMyApp:InitInst

24、ance : must return a value“CMyApp:InitInstance”函数必须返回一个值。19、LINK : fatal error LNK1168: cannot open Debug/P1.exe for writing连接错误:不能打开P1.exe文件,以改写内容。(一般是P1.Exe还在运行,未关闭)20、error LNK2001: unresolved external symbol public: virtual _ _thiscall C:C(void)连接时发现没有实现的外部符号(变量、函数等)。21、error LNK2001: unresolved

25、 external symbol _main缺少main函数。看看main的拼写或大小写是否正确。22、error LNK2005: _main already defined in xxxx.obj直接的原因是该程序中有多个(不止一个)main函数。这是初学C+的低年级同学在初次编程时经常犯的错误。这个错误通常不是你在同一个文件中包含有两个main函数,而是在一个project(项目)中包含了多个cpp文件,而每个cpp文件中都有一个main函数。引发这个错误的过程一般是这样的:你写完成了一个C+程序的调试,接着你准备写第二个C+文件,于是你可能通过右上角的关闭按钮关闭了当前的cpp文件字窗

26、口(或者没有关闭,这一操作不影响最后的结果),然后通过菜单或工具栏创建了一个新的cpp文件,在这个新窗口中,程序编写完成,编译,然后就发生了以上的错误。原因是这样的:你在创建第二个cpp文件时,没有关闭原来的项目,所以你无意中新的cpp文件加入你上一个程序所在的项目。切换到“File View”视图,展开“Source Files”节点,你就会发现有两个文件。在编写C+程序时,一定要理解什么是Workspace、什么是Project。每一个程序都是一个Project(项目),一个Project可以编译为一个应用程序(*.exe),或者一个动态链接库(*.dll)。通常,每个Project下面可

27、以包含多个.cpp文件,.h文件,以及其他资源文件。在这些文件中,只能有一个main函数。初学者在写简单程序时,一个Project中往往只会有一个cpp文件。Workspace(工作区)是Project的集合。在调试复杂的程序时,一个Workspace可能包含多个Project,但对于初学者的简单的程序,一个Workspace往往只包含一个Project。当完成一个程序以后,写另一个程序之前,一定要在“File”菜单中选择“Close Workspace”项,已完全关闭前一个项目,才能进行下一个项目。避免这个错误的另一个方法是每次写完一个C+程序,都把VC6彻底关掉,然后重写打开VC6,写下一个程序。

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

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