C语言程序设计实验指导与习题(工业和信息化普通高等教育“十二五”规划教材)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-13 10:29:38

点击下载

作者:张曙光 郭玮 周雅洁 刘英(编著)

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

C语言程序设计实验指导与习题(工业和信息化普通高等教育“十二五”规划教材)

C语言程序设计实验指导与习题(工业和信息化普通高等教育“十二五”规划教材)试读:

前言

C语言程序设计是一门逻辑性、实践性很强的课程,要学好这门课程,学习者必须进行大量的编程训练与练习,在实践中掌握程序设计的基础知识,培养程序设计的基本能力,从而逐步理解和掌握程序设计的思想和方法,积累编程经验,提高用程序设计语言来求解问题的应用能力。

本书是《C语言程序设计》(张曙光、刘英、周雅洁、胡岸琪编著,人民邮电出版社出版)一书的配套实验与习题指导用书。全书由实验和习题两部分组成。实验部分设置了11个实验,包括42个实验项目,涵盖程序开发环境、C语言程序执行流程可视化学习系统KentC、程序设计方法、程序的控制结构、函数、数组、指针、文件等内容的应用。习题部分给出了与《C语言程序设计》配套的共11章的选择题、填空题和编程题的题目及参考答案,第12章给出了笔试和上机模拟试题,以帮助读者巩固各章节所学的知识。

C 语言程序执行流程可视化学习系统 KentC 是结合本书作者提出的“用可视化的方法表达C语言程序执行过程”而开发的教学软件。本书中使用KentC辅助工具的实验项目有8个,这8个实验是本书作者在总结多年C语言教学心得的基础上,针对C语言初学者在学习中经常遇到的问题而精心设计的,可以帮助C语言初学者可视化理解程序的执行过程,从而理解C语言程序设计学习中一些难点和疑点问题。另一方面,实验还提供了学习查找程序运行时错误的方法,这对初学者是非常有用的,也是本书独有的特色。

当学习者在学习了“C语言程序设计”课程每章的内容后开始进行实践时,通过完成书中实验设计的填空、改错、程序调试、编程等上机实践训练,循序渐进地熟悉编程环境,理解所学习的语法知识和概念,了解程序设计的思想、方法、技巧,达到学会编写基本的程序,掌握基本的程序调试方法的目标。

本书的实验环境为Visual Studio Express 2012 for Windows Desktop,读者可从微软公司的官网上免费下载,并且安装和使用方便。所有实验项目都在 Visual Studio Express 2012 for Windows Desktop下编译运行通过。

本书所有资源的下载地址:dayi.whu.edu.cn(本书的课程资源网)。读者可以在本书的课程资源网站上下载教学辅助软件“C 语言程序执行流程可视化学习系统”和查看习题的答案。相关资源也可以在人民邮电出版社教学服务与资源网(www.ptpedu.com.cn)上下载。

本书可作为高等院校学生学习“C语言程序设计”课程的配套用书,也可作为社会各类计算机应用人员和参加计算机等级考试的读者的辅助用书。

本教材由张曙光、郭玮、周雅洁、刘英编写,全书由张曙光定稿。感谢武汉大学计算机学院对出版本书的大力支持,特别要感谢许多同行和朋友在本书撰写之初提出的宝贵建议。同时还要感谢人民邮电出版社及邹文波编辑为本书完成所做的工作。作者2014年1月4日于武汉大学桂园▶▶第一部分实验

实验1 C语言集成开发环境的使用

实验2 数据类型及其运算

实验3 简单程序设计

实验4 程序的控制结构

实验5 函数

实验6 数组

实验7 指针

实验8 字符串

实验9 结构体、共用体、枚举和用户自定义类型

实验10 编译预处理

实验11 流与文件实验1 C语言集成开发环境的使用1.1 Visual Studio Express 2012 for Windows Desktop的使用【实验目的】(1)掌握在Visual Studio Express 2012 for Windows Desktop环境下编辑、编译、连接和运行C语言程序的方法与过程。(2)通过创建简单的C语言程序,掌握C语言程序的基本特点和基本结构。(3)掌握发现和改正程序语法错误的方法。【实验内容】

1.Visual Studio Express 2012 for Windows Desktop的安装如果计算机上已经安装了 Visual Studio Express 2012 开发环境,可以忽略这部分内容。

Visual Studio Express 2012 for Windows Desktop是微软公司开发的软件,可以在其官网上免费下载。下载的安装文件包的扩展名为iso,可以用软件WinRAR解压后再安装,需要联网注册后才能使用。

Visual Studio Express 2012 for Windows Desktop目前只支持在Windows 7或Windows 8下运行,若操作系统安装的是Windows XP,则要下载安装Visual C++ 2010 Express。Visual C++ 2010 Express 在 Windows XP 下的使用方法和在 Windows 7 下使用 Visual Studio Express 2012 for Windows Desktop的方法类似。

2.创建一个简单的C语言程序,实现在屏幕上显示“Hello World!”。

根据题意,用C语言编写源程序如下:

#include

int main(void)

{

printf("Hello World!\n");

return 0;

}

程序的运行结果为:

Hello World!

C语言源程序是指用C语言编写的程序。但计算机不能直接接受和执行C语言源程序,源程序要通过“编译程序”翻译成机器语言形式的目标程序,并与相关库函数进行连接形成可执行程序,这样,计算机才能识别和运行。

下面以创建一个简单的C语言程序,实现在屏幕上显示“Hello World!”为示例,介绍在Visual Studio Express 2012 for Windows Desktop开发环境下编辑、编译、连接、运行C语言程序的基本步骤。请读者按照以下步骤进行操作。(1)创建自己的应用文件夹。

在磁盘上新建一个应用文件夹,用于存放 C 语言程序,如在 D:\盘上新建一个名字为 my_c的文件夹:D:\my_c。(2)启动Visual Studio Express 2012 for Windows Desktop。

这里,在操作系统Windows 7和Windows 8下执行的过程会有差异,本书采用的操作系统为Windows 7。

执行“开始”→“所有程序”→Microsoft Visual Studio 2012 Express →VS Express for Desktop命令,进入Visual Studio 2012 Express(以下称VS 2012)编程环境,如图1-1所示。图1-1 Visual Studio 2012 Express窗口(3)新建C语言源文件。

C语言源文件是保存C语言源程序的文件。

在VS 2012环境中,执行“文件”→“新建文件”命令,打开“新建文件”窗口。在窗口左边选择“Visual C++”选项,然后在窗口中间选择“C++文件(.cpp)”,如图1-2所示。单击“打开”按钮,在窗口中间出现Visual Studio的文本编辑器,并新建一个文件:源1.cpp。图1-2 新建文件窗口(4)编辑C语言源文件。

在编辑器中输入示例程序,开始编辑源程序,如图1-3所示。由于完全是Windows的界面风格,在这个文本编辑器中编辑文件非常方便,提供了诸如复制、剪切、粘贴、插入、查找、转向等基本功能。图1-3 编辑源程序窗口(5)保存C语言源文件。

在编辑源程序的过程中或者源程序编辑完成后,都可以保存C语言源文件。执行“文件”→“保存”命令,打开“另存文件为”窗口,如图1-4所示。选择保存文件的文件夹“D:\my_c”,在“保存类型”下拉列表框中选择“C 源文件(*.c)”,在文件名编辑框中输入文件名hello。单击“保存”按钮。就把源文件保存在所选的文件夹中了。图1-4 “另存文件为”保存源程序文件对于未经保存的文件,当选择“保存”时,弹出“另存文件为”对话框,否则以原文件名保存。对于已经保存但需要更名或存放到新的位置的文件,要选择“另存为”命令。(6)新建项目。

Visual Studio 是以项目为单位的,源程序文件必须包含在项目中才能编译。所以,在编辑完源程序后,要创建项目。也可以先新建项目,再新建文件。

执行“文件”→“新建项目”命令,打开“新建项目”窗口,如图1-5所示。

在窗口左边选择“Visual C++”→“Win32”,然后在窗口中间选择“Win32控制台程序”。在下面的“位置”编辑框用“浏览”按钮选择保存项目的文件夹“D:\my_c”,在“名称”编辑框中输入项目名“Hello”。单击“确定”按钮。打开“Win32应用程序向导”,如图1-6所示。图1-5 新建项目窗口图1-6 Win32应用程序向导窗口

单击窗口左边的“应用程序设置”,将“应用程序类型:”设置为“控制台应用程序”,将“附加选项:”中“预编译头”前面的勾选去掉。同时勾上“空项目”选择项。单击“完成”按钮,这样,就创建了一个项目:Hello。(7)添加C语言源文件到项目。

在窗口右边“解决方案”下面的“源文件”上鼠标右击,选择“添加”→“现有项”。如图1-7所示。在弹出的“添加现有项”对话框中选择要添加的文件“D:\my_c \hello.c”,单击“添加”按钮,如图1-8所示。图1-7 添加现有项图1-8 选择添加的文件(8)编译和连接。

执行“生成”→“生成解决方案”命令,完成对源程序的编译和连接。编译是对源程序进行语法检查,如果编译没有错误,则生成目标代码文件,目标代码文件还需要通过连接来与系统文件(资源、模块等)组合生成可执行文件。

生成时,在输出窗口出现的是“生成:成功1个,失败0个”,表示编译连接正确,没有发现错误和警告,则生成可执行文件hello.exe,如图1-9所示。(9)运行。

执行“调试”→“开始执行(不调试)”命令,显示执行结果,如图1-10所示。(10)关闭项目。

执行“文件”→“关闭解决方案”命令关闭项目。关闭后可以开始新建项目,也可以重新打开已有的项目。(11)打开项目。

执行“文件”→“打开项目”命令,打开“打开项目”对话框,如图1-11所示。

选择项目所在的文件夹,如“D:\my_c\Hello”,选择项目文件“Hello.sln”,单击“打开”按钮,即可打开项目。图1-9 生成解决方案图1-10 显示执行结果图1-11 打开项目(12)查看C语言源程序。

打开项目后,可以打开项目中的文件。单击窗口右边的hello.c源文件,则源程序在文本编辑器中打开,如图1-12所示。

对于在编辑器中打开的源程序,可以进行新增、修改、删除、保存文件等操作。然后重新生成解决方案(编译、连接)和运行程序。图1-12 在文本编辑器中查看源程序

3.查找和改正程序中的语法错误

下面程序的功能是在屏幕上显示一段文字“Hello World!”,但程序中有错误。包含有错误的C语言源程序示例如下。

#include

int mian(void)

{

printf(Hello World!\n”)

return 0;

}

请找出并改正程序中的错误。

C语言程序的错误主要分为两类:一类是语法错误,另一类是逻辑错误。

语法错误是指C语言程序中出现了违背C语言语法规则的错误。如C语句没有用分号(;)结束等,这就是语法错误。对于语法错误,编译程序能够发现并给出出错信息。(1)在项目Hello中新建hello_error.c文件。

打开项目Hello,在“解决方案”下面的“源文件”上鼠标右击,选择“添加”→“新建项”。在弹出的“添加新项”对话框中输入要新建的文件“D:\my_c \hello_error.c”,单击“添加”按钮。如图1-13所示。在项目中新建文件hello_error.c。这时,Hello项目中有两个C源程序文件。图1-13 在项目中新建C文件(2)在文本编辑器中输入示例的程序。

按照给出的错误示例程序原样输入,并保存。(3)编译程序。

可以执行“生成”→“生成解决方案”命令,对源程序进行编译和连接。也可以执行“生成”→“编译”命令,仅对源程序进行编译。对hello_error.c编译后,错误列表中列出了8个错误,2个警告,如图1-14所示,错误提示信息格式为:图1-14 编译后出现的错误

序号:<错误代码>:<错误内容说明><源程序路径><行><列>

编译器给出的错误提示分为以下两类。

① 错误(error):这类错误是“致命性错误”,说明程序中存在严重的错误(语法错误),必须找到并改正,否则,程序通不过编译,无法生成目标程序。

② 警告(warning):这类错误是“轻微性错误”。不影响生成目标程序和可执行程序,但可能影响运行的结果,通常也应该改正。(4)找出错误。

有了出错提示信息,找到编译错误相对较容易。通过仔细的检查,一般可以排除错误。

在错误列表中,用鼠标双击每条出错信息,则编辑窗口就会出现一个箭头指向程序的出错的位置,并在状态栏显示当前错误信息。一般在箭头的当前行或上一行,可以找到出错的语句。

双击第1条出错信息,箭头指向“printf(Hello World!\n”)”语句,状态栏显示的信息是:““Hello”:未声明的标识符”,出错信息指出“Hello”是一个未定义的变量,但语句中的“Hello”并不是变量,出错的原因是Hello前少了一个双引号。(5)改正错误。

根据查找出来的错误原因,改正错误。在 Hello 之前加一个英文双引号,这条语句改为“printf("Hello World!\n")”。(6)重新编译。

再次执行“生成”→“编译”命令,重新对程序进行编译,这时,错误列表中只有4条错误信息,如图1-15所示。

由此可见,修改了一处错误有时可以减少多条错误信息。(7)重复步骤(4)、(5)和(6),直到没有错误为止。

继续查找错误,还是“printf("Hello World!\n”)”这行语句,发现\n后面的双引号是中文双引号,这是一个错误,改正为英文双引号。图1-15 重新编译后出现的错误

再次编译程序后,只剩下2条错误信息,其中第1条为“错误 1 error C2143:语法错误:缺少“;”(在“return”的前面)”,显然,是“printf("Hello World!\n")”这行语句最后缺少一个分号。改正这个错误,则语句为:“printf("Hello World!\n");”。

再次编译程序,出现“生成:成功1个,失败0个,最新0个,跳过0个”,表示编译没有错误,生成了目标程序。(8)找出连接错误。

将Hello项目中的hello.c文件全部用注释符“/**/”注释。执行“生成”→“生成解决方案”命令,对程序hello_error.c进行编译和连接。这时,错误列表出现2条错误信息,如图1-16所示。图1-16 连接错误

第1条错误指出,“无法解析的外部符号_main”,发现程序中的第2行“int mian(void)”中,将“main”错拼写成了“mian”,改正后,编译连接通过。(9)一个项目中只能有一个主函数。

将前面对 hello.c 文件的注释全部去掉,重新生成,这时又出现了 2 条错误信息,如图 1-17所示。图1-17 连接错误

一个项目中只能有一个main()函数,它是程序执行的入口。而在Hello项目的两个文件hello.c和hello_error.c中都有主函数main(),所以出现多重定义main的错误。

解决这个问题,有多种方法,可根据具体情况而定。如可以将hello.c程序加上注释;或者创建两个项目,将hello.c和hello_error.c分别放在不同的项目中;或者将hello.c文件从项目中“移除”,当需要这个程序时再添加到项目中。

为了表述的方便,本书中用“↙”表示回车符,在特别强调的地方(如在程序运行要输入的数据时)用“”表示空格。︼1.2 C语言程序执行流程可视化学习系统的使用

C语言程序执行流程可视化学习系统的应用软件名称叫KentC,书中后续内容中的KentC都是指C语言程序执行流程可视化学习系统。【实验目的】(1)掌握在KentC环境下编辑、运行C语言程序的方法和过程。(2)了解KentC的使用界面和调试命令。【实验内容】

本书所配的“C语言程序执行流程可视化学习系统”,简称KentC,是在本书编者发明专利“一种在源程序层次实现运算符单步调试的方法”的基础上开发、用于学习和理解C语言的工具。这个工具能够可视化地跟踪表达式中每个运算符执行过程、各种变量值的改变和计算结果,能够可视化地跟踪表达式的执行流程、各种变量值的改变和计算结果。教学实践表明,该系统在提高C语言程序教学质量方面取得了一定的效果,不仅能帮助教师直观地讲解C语言中的某些知识点,使学生更快地理解相关知识,而且能够帮助学生课后自学或复习相关知识。

KentC适用于C语言初学者,目前只支持单源文件调试,不支持汉字注释。

这里首先介绍KentC的界面和调试命令。下面以创建一个简单的C语言程序,完成1+2运算为示例,介绍在KentC环境下编辑、调试C语言程序的基本步骤。请读者按照以下步骤进行操作。(1)创建一个简单的C语言程序,完成1+2运算。

根据题意,用C语言编写源程序如下:

#include

int main(void)

{

int x,y,z;

x=1;

y=2;

z=x+y;

return 0;

}(2)创建自己的应用文件夹。

在磁盘上新建一个应用文件夹,用于存放 C 语言程序,如在 D:\盘上新建一个名字为 my_c的文件夹:D:\my_c。(3)新建和编辑C语言源文件。

在KentC环境中,执行“File”→“New”命令,打开“New”窗口。在窗口中选择“C File”选项。单击“确认”按钮,在窗口中间出现KentC的文本编辑器,并新建一个文件:C exampel.c。在编辑器中输入示例程序。图1-18所示为编辑源程序的窗口。(4)保存C语言源文件。

在编辑源程序的过程中或者源程序编辑完成后。执行“File”→“Save”命令,打开“SaveAs”窗口,选择保存文件的文件夹“D:\my_c”,在文件名编辑框中输入文件名 add。单击“保存”按钮,就把源文件add.c保存在所选的文件夹中了。图1-18 KentC的编辑源程序窗口(5)运行或调试程序。

KentC的运行命令与VS 2012环境下的命令类似,这里不做详细介绍。下面主要介绍如何使用KentC的调试功能。

执行“Debug”→“Go”命令(或工具栏上的命令),弹出生成工程文件窗口,如图1-19所示,单击“确定”按钮开始调试程序。

KentC的使用界面类似于VC++ 6.0,在菜单命令和工具栏上增加了3个新的功能命令:语句单步调试、表达式单步调试和运算符单步调试。新增加命令的图标为,其中,按钮启动程序调试;蓝色按钮为语句单步调试命令按钮,每执行一次语句单步调试命令,将按C 语言规范执行一条语句;蓝色按钮为表达式单步调试命令按钮,每执行一次表达式单步调试命令,将按 C 语言规范执行语句中的一个表达式的计算;红色按钮为运算符单步调试命令按钮,每执行一次运算符单步调试命令,将执行表达式中的一个运算符的计算。

主窗口中左边的黄色图标为语句执行指示器,如指示当前将要执行的语句行。

① 执行语句单步调试。

每执行语句单步调试命令一次,就移动一次语句执行指示器到当前将要执行的语句行,如图1-20所示,同时在自动局部变量窗口中显示变量的属性值。图1-19 生成工程文件窗口图1-20 语句执行指示器和自动局部变量窗口

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载