(参考资料)C语言上机实验步骤简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(*r==*p) {
C语言程序开发环境——visual c++ 6.0
C 源程序可以在 visual c++集成化环境中编辑、编译、链接和运 行。现在常用的是 visual c++ 6.0 版,本书以 visual c++ 6.0 为背景来 介绍 visual c++ 的上机操作。其实,visual c++ 不同版本的上机操作 方法大同小异,掌握了其中的一种,就会举一反三,能够顺利地使用 其他版本。
图3
图5
图4
编译信息
图6
3
⑺选择“编译”菜单中的“构件(Build) my_c1.exe”命令,构建可执行程序,或者按“编 译微型条”中的 Build 按钮(功能键是 F7)来构建可执行程序(图 7)。
链接信息
图7 (8)再选择“编译”菜单中的“!执行 my_c1.exe” 命令或按“编译微型条”中的!(功能 键是 ctrl+F5)。结果屏幕如图 8 所示。第一行为输出结果,“press any key to continue”为 visual c++自带,表示按任意键退出运行程序返回编辑界面。
图1 ⑷ 接着就会出现如图 2 所示的 VC 界面。
图2
2
⑸ 在编辑窗口中,输入如下内容:
#include <stdio.h> void main( ) { printf("Hello!这是我的 First C 程序.\n"); } ⑹选择“编译”菜单中的“ 编译 my_c1.cpp” 命令或者按“编译微型条”(图 3)的 Compile (功能键是 Ctrl+F7)按钮,对程序进行编译,并在出现的对话框图 4、图 5 中选择“是(Y)” 结果如图 6。
再次修改上述程序,在#include “stdio.h”这一行的最左边加两个“/”,即使得这一行 成为注释(显示为绿色),重复⑹,可以看到图 7 所示的错误。相信同学们对其中的错误说 明不难理解了,C 编译器说 printf 是未声明的标识符。原因是 printf 不是 C 语言的基本 部分,它是定义在“stdio.h”中,这也就是我们为什么在前面说要在自己的程序前部加#include “stdio.h”的原因。 三.保存文件,再建一个 c 程序的方法 1.点击 save,保存当前 c 文件,close workspace,然后再按照二的步骤新建一个 c 程序 2. 点击 save,保存当前 c 文件,再点击 File-save as,将其另存为另个文件名,如:my_c2.c. 再通过编辑窗口重新编辑新的源程序,或对已有的程序部分进行修改,完成后进行编译,会 出现如下对话框(图 10),选择 yes 后出现图 11 所示界面,可看出在工程区包含两个 C 文 件,若此时进行 Build 会出现错误,正确的做法为:将旧文件 my_c1.c 选中,按键盘上的 delete 键,之后工作项中就只包含 my_c2.c 一个 c 文件了,Build 正常。
9
使用 VC 调试 C 程序的方法
图 17
以下程序是全国计算机等级考试二级 C 语言的一道上机改错题,请考生调试该程序, 使其能按要求输出正确的结果。
① 程序功能说明
给定程序 C003.C 中函数 fun 的功能是:从 s 所指字符串中,找出 t 所指子串的个 数作为函数值返回。
例如,当 s 所指字符串中的内容为:"abcdabfab",t 所指字符串的内容为:"ab", 则函数返回整数 3。
在 VC 窗口下的菜单栏和工具栏的空白处,点右键激活快捷菜单,选择“调试”(Debug) 菜单项,这时 VC 窗口就出现了调试工具栏,如图 12 所示。
图 12 调试工具栏中的工具可分为两部分:控制程序运行工具和设置观察窗口工具。
① 对于控制程序运行工具,从左到右的常用按钮、功能键及功能说明依次是:
图8
4
(9)当我们对程序进行编译、链接、运行时出现错误或者是输出结构与实际结果不同的情 况,都需要检查源程序,修改源程序。
鼠标点击滚动条,查 看错误信息
图9 例如:我们将上例中的将 printf 行括号中的双引号去掉左边的,重复(6)即对源程序 进行编译,会出现如图 9 所示的情况,其中的编译信息窗显示:my_c1.obj - 16 error(s), 0 warning(s)。可以看到由于一个双引号的漏写,导致出现 16 个语法错误,而实际上的错误 只有一个,这是 C 编译器的特点,当它遇到错误时,会做出一些判断或推测,有时这种推 测判断正确,有时也会错误。了解这一特点后,希望同学们在上机时,先去修改第一个错误, 一般可以在修改一个错误后立即重新编译,这样可以快速减少错误的数目。下面请同学们用
1
C 程序集成开发环境熟悉
一、实验目的 掌握在 Visual C++ 6.0 集成开发环境下怎样编辑、编译、连接、执行、修改
和调试 C 语言程序。 二、新建 c 程序、编辑、编译、链接、执行 1.进入可视化的 C++ 6.0 集成开发环境 ⑴启动计算机,进入窗口环境操作界面。 ⑵鼠标依次点击“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0” 启动 VC6.0 集成开发环境。 ⑶选择“文件”(File)菜单中的“新建”(New)命令, 在新建对话框中,选择“文 件”选项卡,再选择“C++ Source File”类型,按图示操作后单击对话框中的“确 定”按钮。(见图 1)
图 10
图 11
6
四、程序调试 作为程序员编写程序,一个难以避免的工作就是对程序的调试。调试包括语法方面的,
这一般通过编译就可基本解决,比如在上述图 5 中,细心的同学可能注意到在底部的编译 信息窗中,编译报告中说:my_c1.obj - 0 error(s), 0 warning(s),意思是编译过程中没发现错 误(0 error(s)),也没有不合规范的使用(0 warning(s))。编程序应最好是达到 0 error 和 0warning,但有时无法做到如此完美,只要达到 0error 就可以了。若不能做到 0error,将不 能产生机器语言程序,因而也就无法执行程序。所以同学们在调试自己的程序时,必须是做 到经编译后 0 error。好在编译器对发现的错误都有一个比较正确的修改意见,同学们按意 见修改后一般就可消除错误,只是修改意见是英文的,同学们需有一定的专业词汇或者经过 一定时间与 VC++的接触,就可理解;另一类就是逻辑方面的,这类错误的消除相对麻烦。 好在 VC 提供了非常丰富的调试手段,帮助我们分析错误,前提是程序已经没有语法错误, 也就是说编译已经通过(0 error(s))。
图 13
8
●Watch 设置观察点。当用户按下该按钮,屏幕显示如图 14 所示观察窗口,其中的“Name” 列和“Value”列为空。这时,用户可以在 Name 列中输入用户待观察的观察点,即程序中某 个变量的名字,然后回车,在 Value 列就显示出该变量的当前值。观察点可以设置多个,多 个观察点还可以分别放在不同的观察标签内(Watch1、Watch2…)。
●Run to Cursor 运行到当前光标位置,功能键是 Ctrl+F10。当程序处于调试状态时, 为了跳过某程序段,可预先将光标定位在某语句行上,按下此按钮,即可使程序直接运行到 当前光标位置,从而节省了时间,加快了调试程序的步骤。
② 对于设置观察窗口工具,其功能主要是为配合程序跟踪运行,设置一些观察点,以 便定位出错的位置,从而找到出错的原因。
● QuickWatch 快速观察表达式的值,功能键是 Shift+F9。当程序运行到某个关键语 句行时,你可以按下该按钮,即在屏幕上显示如图 13 所示的“QuickWatch”窗口,其中:E 表达式下拉列表框中的 a,是由用户输入的当前源程序中的一个数组名;V 当前值列表中的 “Name”和“Value”列的值就是 a 数组中所有元素的元素名和元素值。
图 14 ● Variables 变量列表,当按下此按钮,屏幕显示如图 15 所示的变量列表窗口。窗 口中的“Name”列和“Value”列中列出了当前函数中的所有变量名和相应的值,其中:简 单变量只显示变量名和它的值;数组名前面有一个“ ”符号,Value 列显示它的地址值
图 15 ●Registers 寄存器列表,按下此按钮,屏幕上显示如图 16 所示的寄存器窗口,窗口 中列出了所有寄存器的内容。
以下方法为 Debug 调试,是在语法无错的情况啊,对存在逻辑错误的程序进行调试的 方法,同学们可以先了解,以后的上机实验中多应用
VC 为调试 C 程序提供了多种工具和多组方法,常用的方法有菜单法、工具栏法和功能 键法。实际上,这三种方法是相似或相同的,只是根据用户的熟悉程度和习惯用法选择其中 之一,来完成你的调试过程。下面结合调试工具来介绍以上方法。
请改正程序中的错误,使它能得出正确的结果。
注意: 不要改动 main 函数, 不得增行或删行, 也不得更改程序的结构!
② 源程序
#define N 80
int fun(char *s, char *t)
{
int n=0; char *p , *r;
while ( *s )
{
p=s;
来自百度文库10
r=t; while(*r) {
图 16 ●Memory 内存列表,按下此按钮,屏幕上显示如图 17 所示的内存列表窗口,其中“A 地址”文本框中显示的是内存的当前地址值,下面的列表框中显示的是从指定地址开始的所 有内存区域的值,??表示其值不确定(没有赋确定的值)。用户可以在程序运行时,在“Watch” 窗口中找到某个变量的地址或数组名的值(数组名本身是一个地址量),然后,将该值输出 “A 地址”的文本框中,在内存列表区立即就能看到它的存储值,不过该值是一个十六进制 的数,并且,一个整型数占据四个字节的存储区域。详细内容可参考下面的例子。
● Step Over 单步运行程序,功能键是 F10。本按钮的功能类似于 F11,但它不进入 函数内部,它将每一条语句看作一步,包括函数调用语句。
●Step Out 从当前函数中退出,功能键是 Shift+F11。当程序运行至某个函数内部时, 按下此按钮后,调试状态即从函数内部退出,返回到调用该函数的主函数的当前语句。
● Show Next Statement 指示当前程序运行的语句行。
7
● Step Into 单步运行并且可进入函数内部运行,功能键是 F11。程序在调试过程中, 按下此按钮可单步跟踪程序运行,与 Stp Over 按钮不同的是,该功能可进入函数内部,继 续函数内部的语句行跟踪。
注意:使用此按钮时,当光标位于有库函数调用的语句行,不用 F11 功能,以免进入 库函数的汇编程序块中,取而代的是 F10 功能键。
5
鼠标点击滚动条上的滑块,查看第一条错误信息,并用鼠标双击第一个错误信息。可以看到, C 编译器将 Hello 理解为了标识符,而前面又没有对 Hello 的说明,所以认为它是未声明 的标识符(undeclared identifier),这个错误在初学者的程序里非常多见,希望同学们记住它。 将双引号加上再重新编译,就可恢复为无错误了。
●Restart 重新执行程序,功能键是 Ctrl+Shift+F5。无论 C 源程序处于任何状态(编 辑、运行、调试),按下此按钮均可使程序从编译开始,逐步进入调试程序状态。
●Stop Debugging 停止程序调试,功能键是 Shift+F5。当调试过程处于跟踪程序执行 的状态时,按下此按钮,将停止调试程序,返回编辑状态。编辑状态下此按钮无效。
在主界面的顶部是 visual c++的 主菜单栏。其中包含以下 9 个菜 单项:File-文件 Edit-编辑 View-查看 Insert-插入 Project(项目) Build-构建 Tools-工具 Window-窗口 Help-帮助。主界面的左侧是项 目工作区窗口,右侧是程序编辑窗口。工作区窗口用来显示所设定工 作区的信息,程序编辑窗口用来输入和编辑源程序,输出区显示编译、 连接的相关信息。
C语言程序开发环境——visual c++ 6.0
C 源程序可以在 visual c++集成化环境中编辑、编译、链接和运 行。现在常用的是 visual c++ 6.0 版,本书以 visual c++ 6.0 为背景来 介绍 visual c++ 的上机操作。其实,visual c++ 不同版本的上机操作 方法大同小异,掌握了其中的一种,就会举一反三,能够顺利地使用 其他版本。
图3
图5
图4
编译信息
图6
3
⑺选择“编译”菜单中的“构件(Build) my_c1.exe”命令,构建可执行程序,或者按“编 译微型条”中的 Build 按钮(功能键是 F7)来构建可执行程序(图 7)。
链接信息
图7 (8)再选择“编译”菜单中的“!执行 my_c1.exe” 命令或按“编译微型条”中的!(功能 键是 ctrl+F5)。结果屏幕如图 8 所示。第一行为输出结果,“press any key to continue”为 visual c++自带,表示按任意键退出运行程序返回编辑界面。
图1 ⑷ 接着就会出现如图 2 所示的 VC 界面。
图2
2
⑸ 在编辑窗口中,输入如下内容:
#include <stdio.h> void main( ) { printf("Hello!这是我的 First C 程序.\n"); } ⑹选择“编译”菜单中的“ 编译 my_c1.cpp” 命令或者按“编译微型条”(图 3)的 Compile (功能键是 Ctrl+F7)按钮,对程序进行编译,并在出现的对话框图 4、图 5 中选择“是(Y)” 结果如图 6。
再次修改上述程序,在#include “stdio.h”这一行的最左边加两个“/”,即使得这一行 成为注释(显示为绿色),重复⑹,可以看到图 7 所示的错误。相信同学们对其中的错误说 明不难理解了,C 编译器说 printf 是未声明的标识符。原因是 printf 不是 C 语言的基本 部分,它是定义在“stdio.h”中,这也就是我们为什么在前面说要在自己的程序前部加#include “stdio.h”的原因。 三.保存文件,再建一个 c 程序的方法 1.点击 save,保存当前 c 文件,close workspace,然后再按照二的步骤新建一个 c 程序 2. 点击 save,保存当前 c 文件,再点击 File-save as,将其另存为另个文件名,如:my_c2.c. 再通过编辑窗口重新编辑新的源程序,或对已有的程序部分进行修改,完成后进行编译,会 出现如下对话框(图 10),选择 yes 后出现图 11 所示界面,可看出在工程区包含两个 C 文 件,若此时进行 Build 会出现错误,正确的做法为:将旧文件 my_c1.c 选中,按键盘上的 delete 键,之后工作项中就只包含 my_c2.c 一个 c 文件了,Build 正常。
9
使用 VC 调试 C 程序的方法
图 17
以下程序是全国计算机等级考试二级 C 语言的一道上机改错题,请考生调试该程序, 使其能按要求输出正确的结果。
① 程序功能说明
给定程序 C003.C 中函数 fun 的功能是:从 s 所指字符串中,找出 t 所指子串的个 数作为函数值返回。
例如,当 s 所指字符串中的内容为:"abcdabfab",t 所指字符串的内容为:"ab", 则函数返回整数 3。
在 VC 窗口下的菜单栏和工具栏的空白处,点右键激活快捷菜单,选择“调试”(Debug) 菜单项,这时 VC 窗口就出现了调试工具栏,如图 12 所示。
图 12 调试工具栏中的工具可分为两部分:控制程序运行工具和设置观察窗口工具。
① 对于控制程序运行工具,从左到右的常用按钮、功能键及功能说明依次是:
图8
4
(9)当我们对程序进行编译、链接、运行时出现错误或者是输出结构与实际结果不同的情 况,都需要检查源程序,修改源程序。
鼠标点击滚动条,查 看错误信息
图9 例如:我们将上例中的将 printf 行括号中的双引号去掉左边的,重复(6)即对源程序 进行编译,会出现如图 9 所示的情况,其中的编译信息窗显示:my_c1.obj - 16 error(s), 0 warning(s)。可以看到由于一个双引号的漏写,导致出现 16 个语法错误,而实际上的错误 只有一个,这是 C 编译器的特点,当它遇到错误时,会做出一些判断或推测,有时这种推 测判断正确,有时也会错误。了解这一特点后,希望同学们在上机时,先去修改第一个错误, 一般可以在修改一个错误后立即重新编译,这样可以快速减少错误的数目。下面请同学们用
1
C 程序集成开发环境熟悉
一、实验目的 掌握在 Visual C++ 6.0 集成开发环境下怎样编辑、编译、连接、执行、修改
和调试 C 语言程序。 二、新建 c 程序、编辑、编译、链接、执行 1.进入可视化的 C++ 6.0 集成开发环境 ⑴启动计算机,进入窗口环境操作界面。 ⑵鼠标依次点击“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0” 启动 VC6.0 集成开发环境。 ⑶选择“文件”(File)菜单中的“新建”(New)命令, 在新建对话框中,选择“文 件”选项卡,再选择“C++ Source File”类型,按图示操作后单击对话框中的“确 定”按钮。(见图 1)
图 10
图 11
6
四、程序调试 作为程序员编写程序,一个难以避免的工作就是对程序的调试。调试包括语法方面的,
这一般通过编译就可基本解决,比如在上述图 5 中,细心的同学可能注意到在底部的编译 信息窗中,编译报告中说:my_c1.obj - 0 error(s), 0 warning(s),意思是编译过程中没发现错 误(0 error(s)),也没有不合规范的使用(0 warning(s))。编程序应最好是达到 0 error 和 0warning,但有时无法做到如此完美,只要达到 0error 就可以了。若不能做到 0error,将不 能产生机器语言程序,因而也就无法执行程序。所以同学们在调试自己的程序时,必须是做 到经编译后 0 error。好在编译器对发现的错误都有一个比较正确的修改意见,同学们按意 见修改后一般就可消除错误,只是修改意见是英文的,同学们需有一定的专业词汇或者经过 一定时间与 VC++的接触,就可理解;另一类就是逻辑方面的,这类错误的消除相对麻烦。 好在 VC 提供了非常丰富的调试手段,帮助我们分析错误,前提是程序已经没有语法错误, 也就是说编译已经通过(0 error(s))。
图 13
8
●Watch 设置观察点。当用户按下该按钮,屏幕显示如图 14 所示观察窗口,其中的“Name” 列和“Value”列为空。这时,用户可以在 Name 列中输入用户待观察的观察点,即程序中某 个变量的名字,然后回车,在 Value 列就显示出该变量的当前值。观察点可以设置多个,多 个观察点还可以分别放在不同的观察标签内(Watch1、Watch2…)。
●Run to Cursor 运行到当前光标位置,功能键是 Ctrl+F10。当程序处于调试状态时, 为了跳过某程序段,可预先将光标定位在某语句行上,按下此按钮,即可使程序直接运行到 当前光标位置,从而节省了时间,加快了调试程序的步骤。
② 对于设置观察窗口工具,其功能主要是为配合程序跟踪运行,设置一些观察点,以 便定位出错的位置,从而找到出错的原因。
● QuickWatch 快速观察表达式的值,功能键是 Shift+F9。当程序运行到某个关键语 句行时,你可以按下该按钮,即在屏幕上显示如图 13 所示的“QuickWatch”窗口,其中:E 表达式下拉列表框中的 a,是由用户输入的当前源程序中的一个数组名;V 当前值列表中的 “Name”和“Value”列的值就是 a 数组中所有元素的元素名和元素值。
图 14 ● Variables 变量列表,当按下此按钮,屏幕显示如图 15 所示的变量列表窗口。窗 口中的“Name”列和“Value”列中列出了当前函数中的所有变量名和相应的值,其中:简 单变量只显示变量名和它的值;数组名前面有一个“ ”符号,Value 列显示它的地址值
图 15 ●Registers 寄存器列表,按下此按钮,屏幕上显示如图 16 所示的寄存器窗口,窗口 中列出了所有寄存器的内容。
以下方法为 Debug 调试,是在语法无错的情况啊,对存在逻辑错误的程序进行调试的 方法,同学们可以先了解,以后的上机实验中多应用
VC 为调试 C 程序提供了多种工具和多组方法,常用的方法有菜单法、工具栏法和功能 键法。实际上,这三种方法是相似或相同的,只是根据用户的熟悉程度和习惯用法选择其中 之一,来完成你的调试过程。下面结合调试工具来介绍以上方法。
请改正程序中的错误,使它能得出正确的结果。
注意: 不要改动 main 函数, 不得增行或删行, 也不得更改程序的结构!
② 源程序
#define N 80
int fun(char *s, char *t)
{
int n=0; char *p , *r;
while ( *s )
{
p=s;
来自百度文库10
r=t; while(*r) {
图 16 ●Memory 内存列表,按下此按钮,屏幕上显示如图 17 所示的内存列表窗口,其中“A 地址”文本框中显示的是内存的当前地址值,下面的列表框中显示的是从指定地址开始的所 有内存区域的值,??表示其值不确定(没有赋确定的值)。用户可以在程序运行时,在“Watch” 窗口中找到某个变量的地址或数组名的值(数组名本身是一个地址量),然后,将该值输出 “A 地址”的文本框中,在内存列表区立即就能看到它的存储值,不过该值是一个十六进制 的数,并且,一个整型数占据四个字节的存储区域。详细内容可参考下面的例子。
● Step Over 单步运行程序,功能键是 F10。本按钮的功能类似于 F11,但它不进入 函数内部,它将每一条语句看作一步,包括函数调用语句。
●Step Out 从当前函数中退出,功能键是 Shift+F11。当程序运行至某个函数内部时, 按下此按钮后,调试状态即从函数内部退出,返回到调用该函数的主函数的当前语句。
● Show Next Statement 指示当前程序运行的语句行。
7
● Step Into 单步运行并且可进入函数内部运行,功能键是 F11。程序在调试过程中, 按下此按钮可单步跟踪程序运行,与 Stp Over 按钮不同的是,该功能可进入函数内部,继 续函数内部的语句行跟踪。
注意:使用此按钮时,当光标位于有库函数调用的语句行,不用 F11 功能,以免进入 库函数的汇编程序块中,取而代的是 F10 功能键。
5
鼠标点击滚动条上的滑块,查看第一条错误信息,并用鼠标双击第一个错误信息。可以看到, C 编译器将 Hello 理解为了标识符,而前面又没有对 Hello 的说明,所以认为它是未声明 的标识符(undeclared identifier),这个错误在初学者的程序里非常多见,希望同学们记住它。 将双引号加上再重新编译,就可恢复为无错误了。
●Restart 重新执行程序,功能键是 Ctrl+Shift+F5。无论 C 源程序处于任何状态(编 辑、运行、调试),按下此按钮均可使程序从编译开始,逐步进入调试程序状态。
●Stop Debugging 停止程序调试,功能键是 Shift+F5。当调试过程处于跟踪程序执行 的状态时,按下此按钮,将停止调试程序,返回编辑状态。编辑状态下此按钮无效。
在主界面的顶部是 visual c++的 主菜单栏。其中包含以下 9 个菜 单项:File-文件 Edit-编辑 View-查看 Insert-插入 Project(项目) Build-构建 Tools-工具 Window-窗口 Help-帮助。主界面的左侧是项 目工作区窗口,右侧是程序编辑窗口。工作区窗口用来显示所设定工 作区的信息,程序编辑窗口用来输入和编辑源程序,输出区显示编译、 连接的相关信息。