程序设计基础实验指导书(C++版).doc





《程序设计基础实验指导书(C++版).doc》由会员分享,可在线阅读,更多相关《程序设计基础实验指导书(C++版).doc(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序设计基础实验指导书广州大学计算机科学与教育软件学院程序设计基础实验课程组二一0年九月目 录实验1 简单的C程序设计、数据类型、运算符与表达式 2实验2 顺序结构和选择结构设计程序设计 6实验3 循环结构程序设计 7实验4 数组与字符串 11实验5 函数 16实验6 指针 21实验7 结构体与共同体 24实验8 文件(多文件程序结构) 28实验9 程序设计基础应用实验 30实验1 简单的C程序设计、数据类型、运算符与表达式一、实验目的及要求1. 了解在集成开发环境下程序的编辑、编译、连接、运行与调试;2. 掌握C语言的基本数据类型、算术运算符、赋值运算符和逗号运算符及表达式;3. 输入并编译
2、C+程序。二、实验设备与平台1. 实验设备:计算机;2. 平台:Windows XP操作系统,Visual C+ 6.0。三、实验内容与步骤1. 启动Visual C+ 6.0,认识开发环境界面;图1_1 启动Visual C 界面2.建立新文件:选择File的new项,在窗口new中选C+ Sourec File(C+原文件),并输入文件名(扩展名为.cpp由系统给出)和该文件将要保存的位置(即存盘路径,一般自己先建立一个常用文件夹,将拟建立的文件保存在该文件夹),再按OK按钮。图1_2 建立C+原文件3.输入运行程序代码:上述步骤后出现编辑版面,这时可以输入所要运行的程序代码。图1_3 输
3、入拟运行程序代码4.编译(将程序文本转为机器能识别的代码文件):选Build菜单中的Compile项,若程序出错在编译中系统会给出提示信息,方便用户进行修改。5.运行:选Build菜单中的Execute项,运行程序,再根据程序提示输入数据,系统会给出结果。图1_4 程序运行的结果6. 有关说明:1)运行程序时系统会产生.exe文件,同时执行.exe文件。2)对VC+的每一菜单项,都有一个相应的图标,可按图标快速执行。3)程序运行完后,可按File菜单的Close Workspace 关闭工作区,再退出VC+系统。4)运行完一程序后,若需再打开另一程序,必须先关闭原有程序的工作区,即做3)。5)
4、运行已有存盘的旧程序,可选File菜单中的open项,再选取执行指定文件夹中的.cpp程序文件即可。实验1_1:输入并运行以下程序,分析其运行结果。/ sy1_1.cpp#include using namespace std;int main() char c1,c2;c1=97;c2=98;coutc1 c2endl;return 0;(运行上面程序)在此基础上 加上一个cout语句并运行:coutc1c2;再将第三行改为:int c1,c2;并运行两种输出格式实验1_2:输入并运行以下程序,分析其运行结果。/ sy1_2.cpp#includeusing namespace std;in
5、t main()int i,j,m,n;i=8;j=10;m=+i;n=j+;couti=i j=j m=m n=nendl;return 0;运行。分别作以下改动并运行:将第7行改为: m=i+;n=-j将第6行改为:int i=8,j=10,m=0,n=0将第7行改为:m+=i+;n-=-j分析分别修改以后的变化情况。实验1_3: 输入并运行以下程序,并回答思考题/ sy1_3.cpp#includeusing namespace std;int main( )unsigned short a;short int b=-1;a=b;coutaendl;return 0;思考题:运行结果是什
6、么?依据是什么?因为-1的补码形式为11111(即全部16个二进制位均为1),将它传送给a,而a是无符号型变量,16个位全1是十进制的65535。如果b为正值,且在032767之间,则赋值后数值不变。思考问题:1.输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符,上机编写并通过程序。2.输入3个a,b,c,求出最大数,上机编写并通过程序。3:#include “filename”与#include 的区别?实验相关知识1. 程序的编译、连接、运行 在“编译”菜单中,“Compile”命令可对源程序进行编译,编译通过则生成扩展名为.obj的
7、目标文件;“Build”命令可对目标文件连接生成“可执行文件”,此命令也可将源程序进行编译再连接生成“可执行文件”;“Execute”命令可运行“可执行文件”显示结果,此命令也可将源程序进行编译再连接生成“可执行文件”并运行显示结果。编译或连接时的信息都会显示在输出窗口,若出现错误,则标识出错文件名,发生错误的行号及错误的原因等。错误信息中的警告信息不妨碍可执行文件的形成,但最好进行修改。2. 程序的调试在Visual C+ 6.0环境下集成了调试器,可以利用Build菜单Debug级联菜单中的命令或快捷键来控制调试器中程序的运行情况。通过设置断点,观察断点的各种信息,单步跟踪有疑问的程序段,
8、进而修改源程序。Developer Studio中的工程可以产生两种可执行代码,分别称为调试版本和发布版本。调试版本是在开发过程中使用的,用于检测程序中的错误;发布版本是面向用户的。高度版本体积较大,而且速度通常要比发布版本慢,发布版本不能用调试器进行调试。实验2 顺序结构和选择结构设计程序设计一、实验目的及要求:1 学会正确使用逻辑运算符和逻辑表达式;2 熟练掌握if语句和switch语句;3 掌握在程序设计中灵活使用顺序结构和选择结构。二、实验设备与平台1. 实验设备:计算机;2. 平台:Windows XP操作系统,Visual C+ 6.0。三、实验内容及步骤:先画程序流程图,再编写程
9、序,解下列问题,然后上机调试运行程序。实验2_1:有一个函数 x x=0 Y= 5x-10 1=x=10用cin函数输入x的值(分别为x=0,1=x=10),输出y的值 。说明:这个题目主要是练习学生对ifeles语句的使用。实验2_2: 给出一个不多于5位的正整数,要求:1) 求出它是几位数;2) 分别输出每一位数;3) 按逆序输出各位数字,例如原数为5631,应输出为1365。说明:这个题目主要是练习学生对ifelsef if嵌套语句,switchcase语句的使用。思考:如果不使用switchcase语句,完全使用ifelse if来实现,那程序应该怎么改动呢?实验2_3:输入四个整数,
10、要求按大小顺序输出。上机编写并通过程序。说明:这个题目主要是练习学生对两个数的交换以及多个数的排序处理。思考:程序中需要两个数的比较是多少次,如果有5个数,那比较的次数又是多少次呢?实验3 循环结构程序设计一、实验目的及要求1掌握while、for、dowhile 循环结构的使用方法以及循环条件的使用;2能够使用三种循环结构设计程序、分析程序并解决实际问题;3掌握三种循环结构的差异和不同,能灵活地实现三种结构间的转换;4正确编写具有循环结构的C语言程序。二、实验设备与平台1. 实验设备:计算机;2. 平台:Windows XP操作系统,Visual C+ 6.0。三、实验内容及步骤1程序实验验
11、证(1)求 = 1+2+100 之和,上机验证程序运算结果。方法一(实验3_1):用while语句编程。方法二(实验3_2):用do-while语句,求1到100的和。方法三(实验3_3):用for语句编程。上机编写并通过程序,并分析三种编程方法的特点。几种循环结构的比较分析: for语句适合于循环次数是预先知道的,且步长固定;而while和do语句的循环次数则依赖于循环体的动作。 for和while语句是先判断后执行,所以循环体可能一次也不执行; do语句是先执行后判断,所以循环体至少执行一次。 循环体可以是空语句,也是几个语句复合。 三种循环语句可以相互转化,但一般来说,while语句的适
12、应性最广,应首先考虑。但在特别的问题中,选择for语句和do语句会更自然、更方便。 (2) 实验3_4:编写程序找出3位数中(100200间)各位数之和能被5整除的所有数,每行按5个数据显示在屏幕上。编写程序代码并上机验证程序运行结果。(3)编程求水仙花数。水仙花数是满足这样条件的3位数:3位数中各位数的立方和等于该3位数,上机运行程序并验证程序运行结果。2程序实验分析(1)实验3_5:根据程序代码,分析下列程序所完成功能和相应输出结果,并思考下列问题。/sy3_5.cpp分析下列程序的运行结果行号 程序代码1 #include 2 using namespace std;3 void mai
13、n( )4 5 int i,sum;6 sum=0;7 i=10;8 while (i)9 sum=sum+i;10 i=i-1; 11 12 coutsum=sum;13 思考问题1:运行程序,分析程序的运行结果(sum=55),根据程序运行结果,思考程序中第8行的语句while(i)中的表达含义。思考问题2:试着将第8行中的语句修改为while(x!=0)再运行修改后的程序,并对运行结果与原程序运行结果进行比较分析。 思考问题3:试着将第8行中的语句修改为 while(!x = =0)再运行修改后的程序,并对运行结果与上面两次运行结果进行比较分析。 (2)分析下面程序:如果用下列语句来实现
14、 s=1+2+3+4+5 的累加功能,请你分析、运行程序,找出程序中存在的错误并进行修改。 行号 程序代码 1 #include 2 using namespace std; 3 void main( ) 4 5 int i , s=0; /累加变量初始化为0 6 for (i=1, i=5, i+); /实现15的累加 7 s = s+i; 8 cout“s =”sendl; 9 问题拓展: 1)如果将原程序修改为用while 语句来实现,请分析程序中存在的错误。 行号 程序代码 1 #include 2 using namespace std; 3 void main( ) 4 5 int
15、 i , s = 0; /累加变量初始化为0 6 while (i =5); 7 8 s =s +i ; 9 10 cout“s=”sendl; 11 2)如果将原程序修改为用dowhile 语句来实现,请分析程序中存在的错误。 行号 程序代码 1 #include 2 using namespace std; 3 void main( ) 4 5 int i = 1, s = 0 ; 6 do 7 8 s = s+i ; 9 i+; 10 while (+i=100) 11 cout“s = ” sendl; 12 实验4 数组与字符串一、实验目的及要求1了解数组与数学矩阵的关系;2掌握数组
16、的定义、引用与初始化;3理解二维数组数据的存储顺序;4理解并掌握冒泡排序法、选择排序法;5掌握字符数组与字符串的定义、引用;6了解字符串处理函数的用法。二、实验设备与平台1. 实验设备:计算机;2. 平台:Windows XP操作系统,Visual C+ 6.0。三、实验内容及步骤 1排序算法 排序算法有很多种,如冒泡排序、选择排序等。 1)冒泡排序法:相邻元素比较大小并发生交换,使最大值(最小值)“浮出”到数组尽头: a0 a1 a2 a3 现以N元数组a0 aN-1 由小到大排序为例,其算法执行步骤如下: 第1步:找到a0 aN-1 中的最大值元素浮动到 aN-1;第2步:找到a0 aN-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 实验 指导书 C+

限制150内