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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《程序设计基础C++》实验教程文档格式.docx

1、安装 Visual C+:运行 Visual Studio 软件中的 setup.exe程序,选择安装 Visual C+6.0,然后按照安装程序的指导完成安装过程。启动 Visual C+:安装完成后,在开始菜单的程序选单中有 Microsoft Visual Studio 6.0 图标,其中又有 Microsoft Visual C+6.0 即可运行(也可在 Window 桌面上建立一个快捷方式,以后可双击运行)。Visual C+6.0 开发环境见图 0-1。建立控制台工程:进入 Visual C+环境后,选择菜单“File|New”,在弹出的对话框中单击上方的选项卡“Projects”

2、,选择“Win32 Console Application”工程类型,在“Project name”一栏中填写工程名例如 MyFirst,在“Location”一栏中填写工程路径(目录)例如:D:MyProjectMyFirst,见图 0-2,然后按“OK”继续。图 0-1 启动 Mircosoft Visual C+6.0 图 0-2 创建控制台工程 屏幕上出现如图 0-3 所示的 Win32 Console ApplicationStep 1 of 1 对话框后,选择“An empty project”项,然后按 Finish 按钮继续,图 0-3 Win32 Console Applic

3、ationStep 1 of 1 对话框 出现如图 0-4 所示的 New Project Information 对话框后,按 OK按钮完成工程创建。图 0-4 New Project Information 对话框 编辑 C+程序:选择菜单“Project|Add to Project|New”,为工程添加新的 C+源文件。如图 0-5所示。图 0-5 选择菜单为工程添加新源文件 图 0-6 加入新的 C+Source File 在出现如图 0-6 所示的对话框后,选择“File”选项卡,选定“C+Source File”项,在“File Name”栏填入新添加的源文件名,如 MyFirs

4、t.cpp,“Location”一栏指定文件路径,按按钮“OK”完成 C+源程序的系统新建操作,如图 0-6所示。在文件编辑区输入源程序,存盘,如图 0-7 所示。图 0-7编辑 MyFirst.cpp 源程序 编译源程序:选择 Build|Build 菜单(F7为快捷键),系统将会在 Output 窗口给出所有的错误信息和警告信息。当所有错误修正之后,系统将会生成扩展名为.exe的可执行文件。对于 Output 窗口给出的错误信息,双击可以使输入焦点跳转到引起错误的源代码处以进行修改。执行程序:选择 Build|Execute 菜单项(Ctrl+F5 为快捷键),执行程序,将会出现一个 DO

5、S窗口,按照程序输入要求正确输入数据后,程序即正确执行。如图 0-8所示。调试程序:在编写较长的程序时,能够一次成功而不含有任何错误决非易事,这需要进行长期大量的练习。编写的程序若已没有编译错误,可以成功运行。对于程序中的错误,VC 提供了易用且有效的调试手段。在工具栏上单击鼠标右键,在弹出的菜单中选中“Debug”项。在程序调试状态下,可以进行单步执行调试程序。其中,单步跟踪进入子函数(Step Into,F11),每按一次 F11键,程序执行一条无法再进行分解的程序行;单步跟踪跳过子函数(Step Over,F10),每按一次 F10 键,程序执行一行;Watch窗口可以显示变量名及其当前

6、值,在单步执行的过程中,可以在 Watch窗口中加入所需观察的变量,辅助加以进行监视,随时了解变量当前的情况;同时,为方便较大规模程序的跟踪,可以设置断点(F9 为快捷键),断点处所在的程序行的左侧会出现一个红色圆点。选择 Build|Start Debug|Go时,程序执行到断点处程序将暂停执行,可方便用户进行变量观察。取消断点只需在代码处再次按 F9即可。还有运行至当前函数的末尾(Step Out)等都是很有效的调试工具,这里不再做一一介绍。图 0-8 程序运行结果 图 0-9 MSDN 有关联机帮助:Visual C+6.0 提供了详细的帮助信息,用户通过选择集成开发环境中的“Help”

7、菜单下的“Contents”命令就可以进入帮助系统。在源文件编辑器中把光标定位在一个需要查询的单词处,然后按F1键也可以进入 Visual C+6.0 的帮助系统。如图 0-9所示。用户要使用帮助必须安装 MSDN。用户通过 Visual C+6.0 的帮助系统可以获得几乎所有的 Visual C+6.0 的技术信息,这也是 Visual C+作为一个非常友好的开发环境所具有的一个特色。3.分析与思考分析与思考 通过创建项目文件的实验,总结一下创建一个控制台应用项目的一般方法和经验。除了已经介绍过的调试方法,可以尝试集成开发环境提供的其它功能。实验一实验一 面向过程的简单程序设计面向过程的简单

8、程序设计 1.实验目的要求实验目的要求(1)使用 C+语言编写简单的计算机程序,掌握 C+程序从编辑、编译到运行的全过程,初步了解 C+程序的特点。(2)掌握 C+语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运算符和表达式的使用。(3)掌握赋值语句的使用。(4)掌握数据的输入输出方法。2.实验内容实验内容(1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。sinX+cosX+tan-1X ex+y+ex-y log10(1+)+(其中 表示取不大于 a的最大整数)。(2)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。#includ

9、e void main()char ch;cin ch;ch=(ch=A&ch=a&ch=z)?(ch 32):ch;cout ch endl;#include void main()int m;float x;bool bi,br;cout m;bi=m 1000;cout x;br=x=1e3;cout bi ,br endl;分别输入 100 40,2000 3000,1000 1000,2000 300,100 4000 运行。#include void main()int n;cin n;if(n+10)cout n endl;else cout n-endl;(3)编写程序实现下列

10、问题的求解。根据随机从键盘输入的圆半径值,求圆的周长和半径并输出。读入三个整数 a、b、c,交换它们中的数,使 a存放 b的值,b 存放 c的值,c存放 a的值。对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。例如,输入为 1234 时,输出结果为 4,3,2,1。3.分析与思考分析与思考*对任意输入的小于 1的并且只有 3位尾数的实数,分别求出其各位数字并输出。要求输出的各数字之间要空 2格。例如,输入为 0.368时,输出结果为0 3 6 8。实验二实验二 控制结构程序设计控制结构程序设计 1.实验目的要求实验目的要求(1)理解基本的解题技巧,掌握用自顶向下、逐步求精

11、的过程设计算法。(2)熟练掌握 if/else 语句和 switch语句的使用。(3)熟练掌握 while 语句、do/while语句和 for语句的使用以及区别。(4)掌握 break和 continue程序控制语句的使用。2.实验内容实验内容(1)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。#include void main()int m,n;m=1000;n=850;cout “n(“m ,n n)m=m n;cout (m ,n );while(m n)n=n m;cout “n”m;#include void main()int m,n,k;n=45;cout

12、 “n(“m :n=n)m=m n;k=k+1;cout k “-”m endl;#include void main()int i;for(i=1;i=5;i+)if(i%2)cout *;else continue;cout#;cout “$n”;#include void main()int a=1,b=10;do b-=a;a+;while(b-=0);cout “a=”a “b=”b endl;(2)编写程序实现下列问题的求解。求解下面函数的值。ex+y x0,y0 z=ln(x+y)1x+y10 log10|x+y|+1 其它情况 编程求解下列各计算式:1)2)!3)4)Y=X (

13、-1)n+1 的值,精确到 10-6。打印下面图形。1 1 3 1 1 3 5 3 1 1 3 5 7 5 3 1 1 3 5 7 9 7 5 3 1 1 3 21 3 1 编程产生出 1到 10 以内的所有数对并输出,其中 ij。编程求出 10000 以内的所有符合如下条件的数:其高位数字小于低位数字。如 12,238,3578等。但 21,548 不符合条件。求任一整数 N 的标准分解式,即素数因子之积。例如 16=2*2*2*2,15=3*5。3.分析与思考分析与思考*编程求出数列的所有升或降的最大子序列。如下面数列的解为如下:1,20,30,12,3,5,7,4,6,100,11,8

14、(1,20,30),(30,12,3),(3,5,7),(7,4),(4,6,100),(100,11,8)。*编程求 12100 的末三位数。实验三实验三 数数 组组 1.实验目的要求实验目的要求(1)掌握一维数组和二维数组的定义、初始化赋值、元素引用的方法。(2)初步了解数组名与地址的关系。(3)掌握字符数组和字符串函数的使用。(4)掌握与数组有关的算法(特别是排序和查找算法)。2.实验内容实验内容(1)阅读下列程序,写出其运行结果,并指出其功能。#include#define N 10 void main()int aN;int s,i,j,t;for(i=0;i N;i+)if(i%2

15、)a i =i*i;else a i =100-(i/2)*(i/2);i+)cout a i ;cout endl;s=0;i+)s=s+a i ;cout “sum of a=”s;i=0&t a j )a j+1=a j ;j-;a j+1 =t;#include#include void main()char a 20 =”TER”,b 20 =”COMP”;int i=0;strcat(a,b);while(a i+!=0)b i =a i ;cout b;#include void main()int i=0,base,n,j,num 20 ;cin n base;do i+;nu

16、m i =n%base;n=n/base;while(n!=0);for(j=i;j=1;j-)cout num j ;编程产生下列数组,并输出。一维数组 1)(1 4 9 16 25 36 49 64 81 100)2)(1 3 6 10 15 21 28 36 45 55)3)(1 2 3 5 8 13 21 34 55 89)二维数组 1)1 2 3 4 5 6 2)1 2 3.n-1 0 2 3 4 5 6 0 2 3 4.0 1 3 4 5 6 0 1 3 4 5.1 2 4 5 6 0 1 2.5 6 0 1 2 3 n-1 0 1.n-3 n-2 6 0 1 2 3 4 0 1

17、2.n-2 n-1 3)1 2 3 4 5 6 4)A B C D E F 2 1 2 3 4 5 B C E H L Q 3 2 1 2 3 4 C D F I M R 4 3 2 1 2 3 D E G J N S 5 4 3 2 1 2 E F H K O T 6 5 4 3 2 1 编程实现数组的排序:将有 15个元素的整型数组按从小到大的次序排序。编程求一组整数的最大公因子和最小公倍数。随机输入一组数组元素值,利用题使一个数组有序。然后随机输入一个数,用折半查找法在数组中查找,如在数组中,则输出元素在数组中的位置;如不在,则输出提示。将两个字符串连接起来,不要用 strcat。3.分

18、析与思考分析与思考 用数组存储数据,实现筛选法求素数问题的求解。要求求出 2 到 1000之间的所有素数。注意:筛选法求出 2N间的所有素数的方法是:首先将这些数全部放入一个数组中,然后重复下面的操作直到数组为空为止:a.找出其中的最小数 K,则 K一定是一个素数,因此可输出。b.从数组中删除 K 及其所有倍数。判断一个二维数组是否有“鞍点”,即该位置上的元素在该行上最大,在该列上最小。如有,输出其行列号和值;若无,给出提示。(数组元素的值用 scanf输入)编写程序将一个 16进制数转换为十进制。任意进制如何转换为十进制?本实验内容(1)习题所完成的功能是否有不完备之处?若有,请完备这个程序

19、。实验四实验四 函函 数数 1.实验目的要求实验目的要求(1)理解并掌握如何模块化的用函数来构建程序。(2)掌握定义函数的方法,了解函数的重载方法,了解内联函数的机制。(3)掌握函数间传递信息的机制。(4)掌握函数的嵌套调用(和递归调用)的方法。(5)掌握全局变量和局部变量、动态变量和静态变量的概念和使用方法。#include int hcf(int u,int v)int a,b,t,r;if(u v)t=u;u=v;v=t;a=u;b=v;while(r=b%a)!=0)b=a;a=r;return(a);int lcd(int u,int v,int h)return(u*v/h);vo

20、id main()int u,v,h,l;cin u v;h=hcf(u,v);cout “hcf=”h endl;l=lcd(u,v,h);cout “lcd=”l endl;输入:48,32#include long fib(int g)switch(g)case 0:return 0;case 1:case 2:return 1;return(fib(g 1)+fib(g 2);void main()long k;k=fib(7);cout “k=”k endl;#include int k=1;void main()int i=4;int fun(int);fun(i);cout “(

21、1)“i ,k endl;fun(int m)m+=k;k+=m;char k=B;cout “(2)”char(k-A)endl;cout “(3)”m ,k endl;#include#include void subp()static int x=0,y=0;/*问题(1)*/int a,b;a=x y;b=x+y;cout setw(5)a setw(5)b endl;cout setw(5)x setw(5)y endl;int x,y;void main()int a=9,b=3;x=a b;y=a+b;subp();1)运行结果是:2)如果问题(1)处语句改为 static in

22、t x,y;,运行结果会发生改变么?为什么?求方程 ax2+bx+c=0 的根,用三个函数分别求 b2-4ac大于 0、等于 0和小于 0时的根,并输出结果。从主函数输入 a、b、c 的值。用函数实现将一个以字符串形式表示的十六进制数转换为一个十进制整数。例如,输入”A2”转换为 162。编写一个将十进制整数转换为十六进制字符串的函数。编写出判断一个整数是否为素数的函数,并求出在 2000 以内的有十个以上的所有连续的非素数组。3.分析与思考分析与思考(1)本实验内容(2)1中,是否考虑了程序的完备性?考虑 a、b、c等于零的各种情况,完备程序。*(2)用递归和递推两种形式编程求函数 n(x)

23、。n(x)定义为:0(x)=1 1(x)=2x n(x)=2xn-1(x)-2(n-1)n-2(x)n1 实验五实验五 指指 针针 1.实验目的要求实验目的要求(1)掌握指针的概念,学会定义和使用指针变量。(2)学会使用数组指针和指向数组的指针变量。(3)学会使用字符串指针和指向字符串的指针变量。(4)了解指向指针的指针的概念以及其使用方法。(5)掌握指针、引用、数组做函数参数的传递机制。(6)*学会使用指向函数的指针变量。2.实验内容实验内容(1)阅读下面程序,写出其运行结果。#include sub(int x,int y,int*z)*z=y x;void main()int a,b,c

24、;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);cout a ,b ,c endl;#include#include void main()int stre(char );char str 10 ,*p=str;gets(p);cout stre(p)endl;int stre(char str )int num=0;while(*(str+num)!=0)num+;return(num);1 输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出。2 将一个 3*3的矩阵转置,用一个函数实现。在主函数中用 scanf 输入以下矩阵

25、元素:2,4,6,8,10,12,14,16,18。将数组名作为函数参数。函数调用后在主函数中输出已转置的矩阵。3 自己写一个 strcmp 函数,实现两个字符串的比较。两个字符串 s1,s2 由 main函数输入,strcmp 函数的返回值也在 main函数中输出。4 动态链表的每个结点包括一个整数和一个后继指针。分别编写过程完成如下操作:(1)从键盘输入数据建立链表,并按数据的输入顺序建立链表。(2)依次打印其中各结点的数据。(3)*按与链表结点相反的次序打印各结点的值。(4)逐个释放所有结点的存储单元。3.分析与思考分析与思考(1)自定义函数完成 strcpy、strcat、strlen

26、等字符串函数的功能,比较实验三中实验内容(2)用数组处理的区别。(2)用指向指针的指针的方法对 n个整数排序并输出。要求将排序单独写成一个函数。N和各整数在主函数中输入。最后在主函数中输出。实验六实验六 结构和联合类型以及编译预处理结构和联合类型以及编译预处理 1.实验目的要求实验目的要求(1)掌握结构类型变量、联合类型变量的定义和使用,以及两者在内存中分配空间时的区别。(2)掌握结构类型数组的概念和使用。(3)*掌握链表的概念,初步学会对链表进行查找、插入、删除、排序等操作。(4)掌握宏定义、文件包含、条件编译的方法。#include union pw int i;char ch 2 ;a;void main()a.ch 0 =13;a.ch 1 =0;cout “size=”sizeof(a)n “a.i=”a.i;#include#define LETTER 0 void main()char str 20 =”C Language”,c;while(c=str i )!=0)i+;#if LETTER if(c=a&c=A&c=Z)c=c+32;#end

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1