欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    程序设计语言C++实验指导书.pdf

    • 资源ID:90871277       资源大小:11.82MB        全文页数:100页
    • 资源格式: PDF        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    程序设计语言C++实验指导书.pdf

    恁 序 次/得 言C+实验指导书河海大学计算机信息学院(常州)计算机科学与技术系2006.9.目 录第 1 章基本实验.3实验-V i s ua l C+6.0 集成开发环境和简单C+程序.3实验二数据类型、运算符和表达式.8实验三选择控制结构.1 0实验四循环控制结构.1 4实验五函数定义和使用.1 9实验六数组.22实验七指针和数组.26实验人指针和函数.3 0实验九结构体和简单链表.4 1实验十类和对象的概念及构造函数和析构函数.4 8实验-虚函数.5 6实验十二操作符重.5 8实验十三标准设备和文件流的输入/输出.6 2第 2 章课程设计.632.1 样例.6 32.2 课程设计题目.8 92.2.1 图书馆管理系统.892.2.2 集合操作.9 02.2.3 小型公司工资管理系统设计.9 12.2.4 学生成绩统计管理.9 3附 录 一 常 见 编 译、链接错误.94附录二程序调试方法和技巧.98第 1 章基本实验实验一 V i s u a l C+6.0 集成开发环境和简单C+程序实验目的1.掌握使用V C 集成开发环境开发程序的过程,熟悉V C 环境的基本命令和功能键,熟悉常用的功能菜单命令,学习使用V C+环境的帮助;2.学习并理解简单的C+程序结构;.课前预习1.了解C+程序的基本结构;2.了解简单的程序输入输出流。三.实验内容1.初步熟悉C+语言的上机开发环境;2.编程输出:T h i s i s m y f i r s t p r a c t i c e!3 .使 用 V i s u a l C+6.0 集成环境来编辑、编译并运行下面简单C+程序:t t i n c l u d e i n t m a x(i n t,i n t);声明自定义函数v o i d m a i n()主函数i n t a,b,c;c o u t/zi n p u t t w o n u m b e r:nz/;c i n a b;c=m a x (a,b);调用m a x 函数,将得到的值赋给Cc o u t/zm a x=,zc e n d l;)i n t m a x (i n t x,i n t y)定义m a x 函数,函数值为整型,形式参数x,y为整型(i n t z;/m a x 函数中的声明部分,定义本函数中用到的变量z为整型i f(x y)z =x;e l s ez =y;r e t u r n (z);将 z的值返回,通过m a x 带回调用处)四.实验步骤1.启动应用程序选择菜单”开始/程序/M i c r o s o f t V i s u a l S t u d i o 6.0/M i c r o s o f t V i s u a l C+6.0”,得到V i s u a l C+6.0启动后的用户界面,如 图 I T所示。图 1-1 Visual C+6.0 用户界面2.创建新工程(1)单击菜单”文件/新建”,显 示“新建”对话框,选 择“工程”页面,如 图 2所示。(2)在列表栏中,选择“W i n 3 2 C o n s o l e A p p l i c a t i o n (W i n 3 2控制台应用程序”)。在“工程”栏中输入个工程名,如实验一在位置文本框中选择工程所在的路径,如图中所示H:C+实验 实验一。单 击“确定”按钮。图 1-2“新建”对话框(3)在“W i n 3 2 C o n s o l A p p l i c a t i o n-S t e p 1 o f 1M 对话框中选择 A n e m p t y p r o je c t单选项。然后单击“完成”按钮,如图3 所示。图 1-3 lW i n 3 2 C o n s o l A p p l i c a t i o n-S t e p 1 o f 1”对话框(4)在“新建工程信息”对话框中单击“确认”按钮,完成工程创建过程。3.创建C+源程序文件(1)单击菜单”文件/新建”,显 示“新建”对话框,选 择“文件”页面,如 图 4所示。在列表栏中,选 择“C+S o u r c e Fi l e”,然后在右边的文件输入框中输入源程序的文件名。图1-4“新建”窗口(2)击“确定”按钮,则创建完成了一个源程序文件,并H I 现编辑窗口,如 图 1-5 所示。,.实修-创天中文VC+.101 xj穆 圉X 或 四文 件 塌S S If第 入 工 程 篁 河I*第助2 1,ReadyLn 1.Col 1 -,EC|COL|OVRREAD,图1-5 C+”源程序编辑(3)在“C+源程序编辑”窗口下编辑C+源程序。如 图 1-6所示。入黄微件2|图 1-6编辑C+源程序4.编译连接和运行源程序(1)选择菜单项“编译”,出现“编译”的下拉菜单,在该下拉式菜单中选择“编译e g l-L c p p”菜单项,这时系统开始对当前的源程序进行编译,在编译过程中,将所发现的错误显示在屏幕下方的“编译”窗口中。所显示的错误信息中指出该错误所在行号和该错误的性质。用户可根据这些错误信息进行修改。上.述程序的“编译”窗口,如 图 7 所示。xj jCompiling_eg1-1.cppConfiguration:eg1-1-Win32 Debugeg1-1.obj-0 error(s),0 warning(s)TH编 译 人调试:查 找 文 件i 查 找 文 件2.|Ln 6,Col 1|RECCOL 版R READ/图1-7“编译”窗口(2)编译无错误后,可进行连接生成可执行文件(.e x e),这时选择“编译”下拉菜单中的“构 件 e g l-l.e x e 选项。“编译”窗口出现如图8所示的信息说明编译连接成功,并生成以源文件名为名字的可执行文件(e g l-L e x e)。_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _X-Configuration:eg1-1-Win32 Debug-H Linkingeg1-1.exe-0 error(s),O warning(s)壬 人 岁逢儿遇园入邈这住)举 又 住 _?世 rReadyLn 5;Col 1-|COLOVR READ/图1-8编译连接信息(3)执行可执行文件的方法是选择“编译”菜单项中“执 行 e g l-1.e x e”选项。这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中,如 图 9所示.图1-9 运行C+程序结果5 .关闭打开工作区、打开工作区单击菜单”文件/关闭工作区”,关闭工作区。单击菜单“文件/打开工作区”,在弹出的对话框中选定 H:C+实验 实验一、实验一.d s w”,单 击“打开”按钮,则可打开工作区,对已建立的工程文件进行修改。6.根据实验步骤1 5,建立、编辑、编译并运行实验程序。实验二数据类型、运算符和表达式-、实验目的1 .理解和掌握C+语言中的数据类型、运算符和表达式等内容。2.掌握用各种运算符构造不同的表达式。3.进一步熟悉C+程序的编辑、编译、连接、运行的过程。二、课前准备1 .复习以往在计算机基础学科里学过的相关内容:(1)数值在内存的表示方法,特别是数值的补码表示。(2)数值的不同进制表示,特别是数值在二进制、八进制、十六进制间的相互转换。(3)字符在内存的表示方法及A S C H 码表。2.理解常量与变量的概念,熟悉各种类型常量的表示方式和变量的定义方式。3.了解各种运算符的优先级与结合性。4.理解表达式求值时的自动类型转换和强制类型转换。三、概念理解练习题1 .在 C+语言里,常 量 和 C”两者 oA.完 全 不 同 B.类型相同 C.存储长度相同 D.存储值相同2.在下列变量名中,是合法的。A.i n t B.t e x t _ 01 C.a*b D.3a b c E.f u n(4)F._ e l s e G.a-b c3.下列选项中,.是字符串常量。A.A B.A B C”C.x yz D.A B”4.在 C中,任何不为。的数即可表示真。A.对,B.不对5.执行下列程序后,x的值为。x =3;9+3-2,x =x *5,y=23,x+;A.10 B.15 C.16 D.236.i n t i =10;f l o a t x;执行 x -5 /i;后 x 的值为,A.0.5 B.0 C.0.0 D.1.07.下 列 关 于 表 达 式 的 书 写 中 正 确 的 是。A.4*2.5%3 B.x =y+z=4 C.+5 D.x +=y*=z+38.实型变量x的取值范围为闭区间-2,10 或开区间(15,34),则正确表示x 取值范围 的 逻 辑 表 达 式 是。A.-2=x =10|15 x 40 B.(-2=x&x =10)|(15 x&x 34)C.-2=x =10&a 15 x 40 D.(-2 =x&x =10)&(15 x&x 0?s i n(x):-s i n(x)B.s q r t(f a b s(s i n(x)C.s q r t(s q r t (s i n x *s i n x)D.f a b s(s q r t(s i n(x)10.设有四个常数:4e 0.5、,87 0X5A、7 ,其中符合C+语法规则的常量是A.B.C.D.11.当a=6,b=5时,表达式a 8的值为。A.t r u e B.f a l s e C.1 D.012.执行 x =5 l+2&2|2*4 4-!0 后,x 的值为A.3 B.1 C.2 D.013.如 a =2,b =3,c =-1 执行+a&+b|+c;后,b,c 的值分别是.A.3-1 B.4 0 C.3 0 D.4-114.a,b为整型变量,二者均不为0,以下关系表达式恒为真的是 oA.a*b/a*b=l B.a/b*b/a=lC.a/b*b+a%b=a D.a /b *b =a15.表 达 式 A +b +1 0的值为 o16.下面程序的输出结果,第一行为:.第二行为:.,第:行为:t t i n c l u d e v o i d m a i n()i n t x,y,n;x=y二l;n=-x&+y;c o u t n=n x=/x/y=,/ye n d l;n=(x)|(+y);c o u t n e n d l;c o u t x=x y=,ye n d l;四、实验内容1.先阅读程序,预测程序的运行结果,再上机编辑、运行该程序,以验证自己的预测。【程 序1】t t i n c l u d e v o i d m a i n ()i n t a,b,c,x;a =15,x =a c o u t b =18,c =21;b|c+;x=x c=b =c)C+;执行后 c的值是 oA.语法错误 B.4 C.3 D.22.若 i n t a=2,b=3,c=4;则表达式 a+b-c?a+b:a+c 的值为。A.0 B.1 C.5 D.63.为了避免嵌套的条件语句的二义性,C+语言规定e l s e 与 配对。A.编辑时在同一列上的i f B.其之前最近的还没有配对过的ifC.其之后最近的if D.同一行上的if4.假定所有变量均已经正确说明,下列程序段运行后x的 值 为():a =b =c =0;x =35;if(!a)x =-1;e ls eif(b);if (c)x =3;e ls ex =4;A.34 B.4 C.35 D.335.执 行 下 面 程 序 段 的 输 出 结 果 是()oint x =4,y =-55;if (x 0)if (x 10)c o u t A A”;e ls ec ou t BB;e ls e if (y-20)c ou t “C C”e ls ec ou t =60)c ou t v Pa s s e d.nn;e ls ec ou t F a ile d.nw;c ou t,Y ou mu s t t a k e t his c ou r s e a g a in.nf f;7.下面的s w it c h结构用来打印x is 5,x is 10 或 x is ne it he r 5 nor 10。检查该程序段是否有错,若有错,请改正之。s w it c h(x)(c a s e 5:c ou t w x is 5 n”;c a s e 10:c ou t x is 10 n”;d e f a u lt:c ou t,x is ne it he r 5 nor 10 n”;)四、实验内容L阅读程序,预测功能v oid ma in()(int x,y;x =5;y =-1;if(x 0&y 0)(x +=5;y =5;)e ls e if(x 0)y +=5;e ls e(x +=5;y +=5;)c ou t,X=”x y=a b c;if(a b)if(a c)b ig =a;e ls eb ig =c;e ls eif (b c)b ig =b;e ls eb ig =c;c ou t,a=,;c ou t b=b ,;c ou t,c=,c e nd l;c ou t,b ig=b ig e nd l;)3.编写程序(1)用 s w it c h语句编写程序实现下面的函数功能。y=1X2x2-5x?2x 1x+6x 180=x 11 =x 22=x 33=x 4(2)设今天是2 0 世纪的某一天,并以三位整数表示今天的年、月、日,试编写程序,输入今天的日期,计算并报告明天的日期。例如:输入 输出9858Tod a y is 0 5/0 8/98Tomor r ow is 0 5/0 9/9898531Tod a y is 0 5/31/98Tomor r ow is 0 6/0 1/98981231Tod a y is 12/31/98Tomor r ow is 0 1/0 1/9998228Tod a y is 0 2/28/98Tomor r ow is 0 3/0 1/9896228Tod a y is 0 2/28/96Tomor r ow is 0 2/29/96【算法提示】本算法要考虑到以下儿种情况:闰年的2 月份是29天,非闰年的2 月份是28天,所以当输入的日是28且输入的月是2 时,要对输入的年代进行是否闰年的判断;当输入的日是31且月是1、3、5、7、8、10 或输入的日是30 且月是4、6、9、11时,日和月都要变化,当输入的日是31 且月是12时,日、月年都要发生变化;其它情况下只有日发生变化。(3)编写一个程序,确定在一个三位数中,判断其所有的数字位都是奇数、偶数还是由奇数和偶数混合而成。编写的程序应该提示用户输入一个三位数,并且在屏幕上回显这个数字。如果该数字全部由奇数组成,那么在屏幕上显示“Thisnu mb e r c ont a ins a l 1 od d d ig it s.,如果其中的数字都是偶数,那么在屏幕上 显 示 This nu mb e r c ont a ins a ll e v e n d ig it s.w如果其中的数字位包含奇数和偶数,那么在屏幕上显示“This nu mb e r c ont a ins b ot h od d a nd e v e nd ig it s.【算法提示】用整除和取余运算来取出所输入n 位数字中的各个数字位。如:1234/10 123;而 123%10-4实验四循环控制结构-、实验目的1.理解从C+中用于循环结构程序设计的三种控制语句:f or,w hile,d o-w hile 的语法、语义和使用规则。2.掌握循环结构程序的设计技巧。3.掌握循环结构程序中常用的算法设计。二、课前预习1.了解w hi l e 循环的语法、语义及使用规则。2.了解d o-w hi l e 循环的语法、语义及使用规则。3.了解f or 循环的语法、语义及使用规则。4.了解b r e a k 和 c ont i nu e 控制语句的使用场合和含义。三、概念理解练习题1.以 下 不 正 确 的 描 述 是。A.在 s w i t c h语句中使用b r e a k 语句或c ont i nu e 语句的作用相同B.在循环语句中使用c ont i nu e 语句是为了结束本次循环,而不是终止整个循环C.b r e a k 语句不能用于循环语句和s w i t c h语句之外的任何其他语句D.在循环语句中使用b r e a k 语句是为了使流程跳出循环体,提前结束循环2.w hi l e(!x)中 的(!x)与下面条件 等价A.x=0 B.x!=1 C.x=1 D.x!=03.以 下 程 序 输 出 的 第 一 至 第 三 行 分 别 是、和 o4 .C+语言中 w hi l e 与 d o-w hi l e 语句A.w hi l e 的循环当条件成立时执行,而d o-w hi l e 当条件不成立时执行B.d o-w hi l e 允许从循环外跳至循环体内C.d o-w hi l e 的循环体至少必须执行一次D.以上说法都不对5.以下叙述正确的是()A.d o-w hi l e 语句构成的循环不能用其它语句构成的循环来代替。B.d o-w hi l e 语句构成的循环只能用b r e a k 语句退出。C.用 d o-w hi l e 语句构成的循环,在w hi l e 后的表达式为非零时结束循环。I).用 d o-w hi l e 语句构成的循环,在w hi l e 后的表达式为零时结束循环。6.完成下列循环语句后,n 的值为多少。f or(i nt n=0;n 100;n+)A.0B.9 9 C.100 D.1017.定 义 i nt x=3,执行 w hi l e(x)A.0 B.1 C.38.设有以下程序段,i nt x=0,s =0;w hi l e(!x!=0)s +=+x;c ou t s;则OA.运行程序段后输出0C.程序段中的控制表达式非法 c ou t x;X 一;语句后,X的值为:D.-1B.运行程序段后输出1D.程序段执行无限次9.i,j已经定义为i nt类型,则以下程序段中循环体总的执行次数是f or(i =6;i ;i一)f or(j =0;j 4;j+)A.24 B.20 C.25 D.2810.下面四个程序段中,输出23个*号 的 程 序 段 是。A.f or (i nt 1=1;I =0;i)c ou t ,*;C.i nt I =23;w hi l e (I 0)c ou t *;I ;I),i nt I =0;w hi l e (0 =23)c ou t 50)b r e a k;i f(i%2=0)s +=i;c ou t i=i e nd l;c ou t/zs=/,s e nd l;四、实验内容1.阅 读 程 序,预测结果,并上机验证你的预测。#i nc l u d e#i nc l u d e#i nc l u d e v oi d m a i n(v oi d)(i nt i,f l a g,j,K,c ou nt =0;f or(i =5;i 30;i +=2)(f l a g =2,j =2,K =(i nt)s qr t(i);w hi l e(f l a g&j =K)i f (i%j =0)f l a g =0;e l s ej+;i f(f l a g)(c ou t s e t w(5)i;i f(+c ou nt%3=0)c ou t n ;c ou t ,n;)2.程序改错。下面三个循环结构均有逻辑错误使程序不能达到预期目的,请纠正错误并上机运行直至正确为止。(1)倒序打印26个英文字母。v oi d m a i n()(c ha r x;x=z ;w hi l e(x!=a )(C OU t X ,?”;x+;)50(2)计算s 加=i=lv oi d m a i n()(i nt i,s u m;s u m =0;f or(i =1;i =50;i+)s u m =s u m +i;c ou t,s u m=,s u m e nd l;(3)计算 y=l*3*5*.*15。v oi d m a i n()(i nt a;l ong y;a =y=1;d oa =a +2;y=y*a;w hi l e(a !=15);c ou t”1*3*5*.*15=)3.程序填空以下程序的功能是输入x 的值,计 算/或 I nx或 l og 1。x 的值。程序运行时首先在屏幕上显示一个主菜单(如下所示),菜单中提供了四条命令,用户可以选择前三条命令中的任意一条去计算x 或In x 或 log。,每计算完一个制定的函数值后,屏幕显示其结果并自动返回主菜单,若要结束程序的运行,只需要选择菜单中的第四条命令即可实现,请在程序的_ 处填写内容,使之完成预期的功能。*main menu*1.p o w(x,n)*2.ln(x)*3.lo glO(x)*4.E xit*程序include#include vo id main()(flo at x,y;int n,cho ice;f o r(;)(co ut(*n”;main menu*n”;co ut X“*n”;co ut *1.p o w(x,n)*n”;co ut*2.ln(x)*nco ut *3.lo glO(x)*nco utC C9*4.E xit*nco ut *n”;co ut *n ;co ut endl;do(co ut,E nter yo ur cho ice:;cin cho ice;while();if(cho ice=4)doco ut,I np ut x p leasecin x;while(x 0&_)if(cho ice=1)(co ut ,p o w(x,n)=,y endl;)else if(cho ice=2)(y=lo g(x);co ut,x=,x endl;co ut,ln(x)=,y endl;)else(y=lo glO(x);co ut,x=,x endl;co ut,lo glO (x)=,y endl;)4.编写程序编写程序,计算并输出所有的“水仙花数”,所 谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。【算法提示】用穷举法检查所有三位数,对每一个三位数,首先用整数除法和取余运算分离该三位数的每一位,然后求这三个数字的立方和,最后检查该值是否与当前的三位数相等,若相等,则 是“水仙花”数,进行输出。实验五函数定义和使用一、实验目的1 .掌握函数调用方式及函数参数传递;2 .掌握递归函数的设计思想;3 .掌握并理解变量的作用域、存储类的概念和使用方法;4 .掌握重载函数的定义和使用方法。二、课前预习1.了解函数的定义语法、原型说明和调用方式;2 .理解形参和实参的含义;3 .理解值传递的含义;4 .理解函数返回值的含义和作用;5 .理解函数递归的概念,了解函数的嵌套和递归调用过程。在V C+中,函数可以嵌套调用,但不可以嵌套定义;6 .理解变量的作用域和存储类概念;7 .理解函数重载的概念。三、概念理解练习题1 .下 列 描 述 不 正 确 的 是。A.函数调用结束时,形参占用的内存单元不释放。B.调用函数时,实参可以是表达式。C.调用函数时,实参与形参个数可以不相等。D.调用函数时,实参与形参的类型应该一致。2 .有一函数原型如下:void p(in t);则 下 列 调 用 语 句 正 确 的 是。A.x=p(3 0);B.coutp(3);C.p(3 0);D.p();3 .若有函数说明为 void fun(in t a ,fl oa t f=3.5,cha r b =A ),则下列函数调用中,哪种是不正确的。A.fun (1 0)B.fun (1 0,7.0)C.fun (1 0,7.0,lX)D.fun (1 0,lA)4.在以下的函数原型说明中,存在语法错误的是 o6.下述程序的输出结果是A.void f(in t a ,in t);C.void f3(in t,in t=5);B.void f2(in t,in t);D.in t f4(in t x,in t y)5.对于下述函数:void f(in t x)/Iin t f(in t y)/2in t f(in t i,in t j)/3fl oa t k(in t x)/4_ 是重载函数。A.全部 B.1和4C.2 和 3 D.3和4 in cl ude in t fun(in t a ,in t b =3 ,in t c=4);void m a in()in t x,y,z;in t p,q,k;x=5;y=x-3;z=x+y;p=fun (x);q=fun (x,y);k =fun (x,y,z);cout,5p=M p en dl;cout q=q n;cout k=k n”;)in t fun(in t a ,in t b ,in t c)(in t d;d=a +b +c;return d;)7.下述程序的输出结果是ttin cl udein t a b c(void)(sta tic in t j;j +=1 0 0;return (j);)void m a in(void)(couta b c(),n couta b c(),n)8.下述函数的功能是求n个数之和的递归实现(即1+2+3+n),请完善。in t sum(in t n)(if()return 1;el sereturn ;)四、实验内容1.阅读下面程序,预测程序结果,然后上机验证你的预测。#in cl udevoid m a in()int a=5,b=7,c=10;c o u t a,b,c e n d l;int b=8;double c=8.8;c o u t a,c e n d l;a=b;(int c=b;c o u t a,b,5,c e n d l;c o u t a,),c e n d l;c o u t a,c e n d l;)2.编写程序,根据公式C:=-和输入的m和 n(nm),求C:的值。【算法提示】(1)式中要计算三个不同的阶乘,由于阶乘的求解过程是一样的,所以可以定义一个函数专门用于完成求阶乘的过程,通过传递不同的参数达到求三个阶乘的目的。(2)求阶乘的函数可以用递归或递推算法完成。3.分别输入整数半径和实数半径,使用函数重载计算圆的面积。实验六数组一、实验目的1 .掌握数组的定义及数组元素的引用方法。2 .能灵活运用数组这种构造数据类型设计相关算法。3 .掌握数组作为函数参数时形参与实参结合的方式。4 .进步熟悉字符串处理函数的应用。二、课前预习1.熟练理解维和二维数组以下基本内容:(1)数组的定义规则。(2)数组的初始化。(3)数组元素的引用。(4)数组元素在内存的存放规则,特别注意二维数组的存储结构及二维数组与矩阵的关系。2.了解-维和二维数组的有关基本算法。3.了解数组作为函数参数时形参与实参结合的方式,特别注意与普通变量作为函数参数时值传递结合方式的区别。4.理解字符数组的定义与使用方法。5.了解C+提供的基本字符串处理函数。三、概念理解练习题1 .下列数组定义中,错误的是。A.ch ar B.s t at i c i n t a 4 =3 ;C.ch ar s 5 =D.ch ar p =A ,,b):2 .数组作为函数的形参时,把数组名作为实参,传递给函数的是.oA.数 组 的 首 地 址 B.数组的元素个数C.数组中的各元素值D.数组的大小3 .下列说明或赋值语句,不正确的是()A.ch ar p 1 2 ;p 0 =V ;B.ch ar p 1 2;p=,Vi s u al C+”;C.ch ar p 1 2 =v,i,s,u ;D.ch ar p =Vi s u al;4 .设有定义 ch ar a 8 0=0 1 2 3 4 5 6 7 8 9”;则 s i z e o f(a)和 s t r l e n(a)的值分别为A.1 0 和 1 0 B.1 0 和 8 0C.8 0 和 1 0 D.8 0 和 1 15.设有定义 ch ar a =A B C D,b A,B,C,D ;则下列叙述正确的为A.a 和 b 数组完全相同C.a 数组比b 数组长度长6.判断字符串a 和 b 数组是否相等,A.i f (a=b)B.i f (a=b)D.i f(s t r cm p(a,b)=0 )四、实验内容B.a 和 b 数组长度相同D.b 数组比a 数组长度长应当使用。C .i f (s t r cm p(a,b)=0 )1.先阅读程序,预测程序的运行结果,再上机编辑、运行该程序,以验证自己的预测。【程 序 1】#i n cl u d e v o i d m ai n()i n t s u b(i n t x);i n t x 3 =1,2,3 ,y;f o r(i n t i =0;i 3;i+)(y =s u b(x);co u t y;)co u t,n,;)i n t s u b(i n t x)(s t at i c i n t i =2;i n t j;j =x i;r e t u r n(j);)【程序2】#i n cl u d e#d e f i n e N 3v o i d m ai n O(v o i d s u m(i n t b 3 3);i n t a N N =1,2,3,4,5,6,7,8,0);s u m(a);co u t e a 2 2=5,a 2 2;)v o i d s u m(i n t b 3)(f o r (i n t i=0;i 3;i+)b 2 2+=b i i;)【程序3】#i n cl u d e t t i n cl u d e v o i d m ai n Och ar a 7=abcd e f”;ch ar b 4=A B C”;s t r cp y(a,b);co u t a?n ;co u t a 5,n ;)2.完善程序。【程 序 1】该程序的作用是用选择法将一维无序数组按升序排列v o i d m ai n Oi n t a 1 0 =4,6,2,1 9,5,1,1 1,1 0,2,1 3 ;s o r t (a,1 0);f o r (i n t i=0;i 1 0;i+)co u t a i t;)v o i d s o r t(i n t b,i n t n)(f o r (i n t i=0;i b k)i f(k !=i)(i n t t e m p =b i;b i =b j;)程序2 该程序的作用是在一有序数列中用折半查找算法查找某一个数折半查找算法示意图如下:(假如查找1 5)52346op1ftodi8Am13fto1dm34fbofbo#i n cl u d e v o i d m ai n O(i n t x=l,3,4,6,8,1 0,1 3,1 5,2 1,3 4);i n t t o p=0,bo t=9,m i d,I,k;co u t “i n p u t s e ar ch n u m be r:;ci n k;w h i l e(t o p =bo t)i f (x m i d =k)e l s e i f (k 0B.s t r c mp(s t r l,s t r 2)0C.s t r len(s t r l)=6D.s t r l与 s t r 2 所占存储空间大小一样2 4.执行下列程序段后,m 的 值 是()。i nt a 2 3 =1,2,3 ;27i nt m,*p t r;p t r =&a 0 0 ;m=(*p t r)*(*(p t r +2)*(*p t r +4);A.0 B.1 2 C.1 5 D.值不定2 5 .下列程序的输出结果是 o#i nc lud e#i nc lud ev o i d ma i n(v o i d)(c h a r s t r l 5 0 =a bc”,*p l=s t r l,*p 2=AB C,s t r 5 0 =x y z;s t r c p y(s t r+2,s t r c a t(p l,p 2);c o u t s t r,n,;)2 6 .下列程序的输出结果是 o#i nc lud e#i nc lud ev o i d ma i n(v o i d)(c h a r *p l=AB C d ef,*p 2=a b;p l+,p 2+;c o ut s t r c mp(p l,p 2)n ;2 7 .下面程序的运行结果为、v o i d ma i n()(s t a t i c i nt a 3 2 =1 2 ,1 4,1 6 ,1,2 ;i nt *p=a l;c o ut *(p+1)e n d l;c o ut *(p+3)e n d l;2 8 .以下程序运行结果是 ov o i d ma i n()(s h o r t a r 5 =1,2,3,4,5 ;s h o r t *p a r=&a r l;i nt i;fo r(i=0;i 4;i+)c o ut a r i p a r i *(a r+i);)四、实验内容1 .先阅读程序,再上机编辑、运行该程序,验证预测。(1)#i nc lud e t t i nc lud e v o i d ma i n()28c h a r *s t r 4 =D EL P H I,B AS I C,“C+,F O R TR AN ;c h a r *p;i nt i,j,k;fo r(i=0;i 3;i+)(k=i;fo r(j=i+l;j 0)k=j;i f(k!=i)p=s t r k;s t r k=s t r i ;s t r i =p;)c o ut s t r l,n,s t r 3 ;)2.编写程序(1)定义一个二维数组并输入各元素值,然后通过一个一维指针变量访问二维数组中的各个元素进行输出。29实验八指针和函数一、实验目的1 .掌握各种类型指针变量作为函数参数的使用方法。2.掌握指针作为函数返回值的用法。二、课前预习1 .C+语言参数传递的概念和用途。2.参数传递的三种方式:值传递、地址传递和引用传递,并区分它们在进行参数传递时的不同。3 .指向函数的指针变量的定义方式和使用方法。4 .区分指向函数的指针变量的和返回值为指针的函数在定义语法上的区别。三、概念理解练习题1 .数组作为函数的形参时,把数组名作为实参,传递给函数的是。A.该数组的首地址 B.该数组的元素个数C.该数组中的各元素值 D.该数组的大小2.函数在使用传递引用调用方式时,要求。A.实参是数组名,形参是指针 B.实参是引用,形参是指针C.实参是变量名,形参是引用 D.实参是指针,形参是变量名3 .若有说明 i n t*(*f oo)();则 f oo 是 oA.指向函数的指针 B.返回整型指针的函数C.指向整型的指针 D.指向指针的函数4 .设 voi d f l (i n t&x,c h ar*p);i n t m;c h ar s =c+;以下调用合法的是A.f l (&m,&s);B.f l (&m,s);C.f l (m,s);D.f l (m,&s);5 .下 列 程 序 执 行 后 的 输 出 结 果 是。voi d f un c(i n t*a,i n t b 口)b 0 =*a+6;m ai n ()(i n t a,b 5 ;a=0;b 0 =3;f un c (&a,b);c outb 0 ;)A.6 B.7 C.8 D.96 .请读程序:若程序编译连接后生成ex a.ex e,则在D O S 状态命令行方式下输入:ex af i l el f i l e2 回车后得到的结果是。#i n c l udevoi d m ai n(i n t arg c,c h ar*arg v口)(i n

    注意事项

    本文(程序设计语言C++实验指导书.pdf)为本站会员(无***)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开