欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    南邮《面向对象程序设计》练习册期末复习题.docx

    • 资源ID:834705       资源大小:191.58KB        全文页数:59页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    南邮《面向对象程序设计》练习册期末复习题.docx

    南京邮电大学高等函授面向对象程序设计综合练习习题与解答南京邮电大学继续教育学院2021年2月面向对象程序设计综合练习注:此版本的综合练习册对应教材是C+程序设计,谭浩强主编,清华大学出版社,2015年8月第三版,ISBN9787302085997面向对象程序设计练习册一、选择题:1.C+源程序文件的默认扩展名为OA.cppB.exeC.objD.Iik2.由C+源程序文件编译而成的目标文件的默认扩展名为,A.cppB.exeC.objD.Iik3.由C+目标文件连接而成的可执行文件的默认扩展名为A.cppB.exeC.objD.Iik4.C+程序从上机到得到结果的几个操作步骤依次是A.编译、编辑、连接、运行B.编辑、编译、连接、运行C.编译、运行、编辑、连接D.编辑、运行、编辑、连接以下标识符中不全是保留字的是A.caseforintB.defaultthenwhileC.boolclasslongD.gotoreturnchar6.能作为C+程序的基本单位是A.字符B.语句C.函数D.源程序文件7.程序中主函数的名字为A.mainB.MAINC.MainD.任意标识符8.C+程序的基本模块为oA.表达式B.标识符C.语句D.函数9.可用作C+语言用户标识符的一组标识符是A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof10.存储以下数据,占用存储字节最多的是AOB、0'C"0”DolO11.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用符号作为分隔符。A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车12.设”inta=12;",则执行完语句”a+=a*a;”后,a的值是A.12B.144C.156D.28813.假设在程序中a、b、C均被定义成整型,所赋的值都大于1,则下列能正确表示代数式一abc的表达式是A.1.Oa*b*cB.l(a*b*c)C.lab(float)cD.1.0abc14.设”inta=15,b=26;”,则”COUtV<(a,b);”的输出结果是A.15B.26,15C.15,26D.2615.设X是一个bool型的逻辑量,y的值为10,则表达式x&&y的值为A.IB.0C.与X值相同D.与X值相反16.x>0&&x<=10的相反表达式为A.x<=0Hx>10B.x<=0&&x>10C.x<=0Hx<=10D.x>0&&x>1017.x>0Hy=5的相反表达式为A.x<=0Hy!=5B.x<=0&&y!=5C.x>0Hy!=5D.x>0&&y=518.设X和y均为bool量,则x&&y为真的条件是A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假19.设X和y均为bool量,则Xlly为假的条件是A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假20.字符串''a+b=12n”的长度为A.6B.7C.8D.921.假定下列X和y均为int型变量,则不正确的赋值为A.x+=y+B.x+=y+C.x=+yD.+x=+y22.下列的符号常量定义中,错误的定义是A.constM=10;B.constintM=20;C.constcharch;D.constboolmark=true;23.循环语句"for(inti=0;i<n;i+)cout<<i*i<<,'”中循环体执行的次数为A.1B.n-1C.nD.n+124.在下面循环语句中循环体执行的次数为for(inti=0;i<n;i+)if(i>n2)break;A.n/2B.n/2+1C.n/2-1D.n-125.在下面循环语句中内层循环体S语句的执行总次数为for(inti=0;i<n;i+)for(intj=i;j<n;j+)S;A.n2B.(n+I)2C.n(n-l)2D.n(n+l)226.在下面循环语句中循环体执行的次数为inti=0,s=0;while(s<20)i÷+;s+=i;)A.4B.5C.6D.727.在下面循环语句中循环体执行的次数为inti=0;doi+;while(i*i<10);A.4B.3C.5D.228.当处理特定问题时的循环次数己知时,通常采用来解决。A.for循环B.while循环C.do循环D.switch语句29.循环体至少被执行一次的语句为A.for循环B.while循环C.do循环D.任一种循环30.switch语句能够改写为语句。A.forB.ifC.doD.while31do语句能够改写为语句。A.复合B.ifC.switchD.while32在下面的一维数组定义中,哪-个有语法错误。A.inta=1,2,3;B.inta10=0);C.inla;D.inta5;33.在下面的字符数组定义中,哪一个有语法错误。A.chara20="abcdefg"B.chara="x+y=55."C.chara15;D.chara10=,5,;34.在下面的二维数组定义中,正确的是A.inta5;B.inta5;C.inta113=l5),2);D.inta(10);35.假定一个二维数组的定义语句为"inta34=3,4,2,8,61,则元素al2的值为A.2B.4C.6D.836.假定一个二维数组的定义语句为"ima34=3,4,2,8,6;",则元素a2l的值为A.0B.4C.8D.637.若定义了函数double*function(),则函数funciion的返回值为A.实数型B.实数的地址C.指向函数的指针D.函数的地址38.以下说法中正确的是A.C+程序总是从第一个定义的函数开始执行B.C+程序总是从main函数开始执行C.C+函数必须有返回值,否则不能使用函数D.C+程序中有调用关系的所有函数必须放在同一个程序文件中39.以下叙述中不正确的是A.在一个函数中,可以有多条return语句B.函数的定义不能嵌套,但函数的调用可以嵌套C.函数必须有返回值D.不同的函数中可以使用相同名字的变量40.函数重载是指A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的函数名字不同,但形参的个数或类型相同D.两个以上的函数取相同的函数名,并且函数的返回类型相同41.以下关于函数模板叙述正确的是A.函数模板也是一个具体类型的函数B.函数模板的类型参数与函数的参数是同一个概念C.通过使用不同的类型参数,函数模板可以生成不同类型的函数D.用函数模板定义的函数没有类型42.下列的调用方式是引用调用。A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值43.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择A.内联函数B.重载函数C.递归函数D.函数模板44.函数原型语句正确的是A.intFunction(voida);B.voidFunction(int);C.intFundion(a);D.voidint(doublea);45.C+中函数返回值的类型是由决定的。A.return语句中表达式的类型B.该函数定义时的类型C.调用函数时的调用语句D.系统根据结果46.以下函数的返回结果是intfunction(char*x)char*p=x;while(*p+);return(p-l);A.求字符串的长度B.将字符串X连接到字符串P后面C.将字符串X复制到字符串P中D.将字符串X反向存放47.函数调用func(expl,exp2),(exp3,exp4,exp5)中所含实参的个数为个。A.1B.2C.4D.548设有如下函数定义intf(char*s)char*p=s;while(*p!=,O,)p+;return(ps);在主函数中用cout«f("good”)调用上述函数,则输出结果为A.3B.4C.5D.649.以下正确的函数原型语句是A.doublefun(intx,inty)B.doublefun(intx;inty)C.doublefun(int,int);D.doublefun(intx,y);50.以下正确的说法是A.用户调用标准库函数前,必须重新定义B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义C.系统不允许用户重新定义标准库函数D.用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中51.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用符号作为分隔符。A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车52.设”inta=12;”,则执行完语句”a+=a*a;”后,a的值是A.12B.144C.156D.28853.假设在程序中a、b、C均被定义成整型,所赋的值都大于1,则下列能正确表示代数式一abc的表达式是A.1.0a*b*cB.l(a*b*c)C.lab(float)cD.1.Oabc54.设"inta=15,b=26;",则''cout<v(a,b);''的输出结果是A.15B.26,15C.15,26D.2655.设X是一个bool型的逻辑量,y的值为10,则表达式x&&y的值为A.1B.0C.与X值相同D.与X值相反56.x>0&&x<=10的相反表达式为A.x<=0Hx>IOB.x<=0&&x>10C.x<=0Hx<=10D.x>0&&x>1057.x>0Hy=5的相反表达式为A.x<=0Hy!=5B.x<=0&&y!=5C.x>0Hy!=5D.x>0&&y=558.设X和y均为bool量,则X&&y为真的条件是A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假59.设X和y均为bool量,则xy为假的条件是A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假60.字符串”a+b=12n”的长度为A.6B.7C.8D.961.假定下列X和y均为El型变量,则不正确的赋值为A.x+=y+B.+=y÷+C.x=+yD.+x=+y62.下列的符号常量定义中,错误的定义是A.constM=10;B.constintM=20;C.constcharch;D.constboolmark=true;63.循环语句"fr(inti=0;i<n;i+)cout<<i*i<<*,;”中循环体执行的次数为A.1B.n-1C.nD.n+164.在下面循环语句中循环体执行的次数为for(inti=0;i<n;i+)if(i>n2)break;A.n/2B.n/2+1C.n/2-1D.n-165.在下面循环语句中内层循环体S语句的执行总次数为for(inti=0;i<n;i+)for(intj=i;j<n;j÷+)S;A.n2B.(n+1)/2C.n(n-l)2D.n(n+l)266.在下面循环语句中循环体执行的次数为inti=0,s=0;while(s<20)i+;s+=i;)A.4B.5C.6D.767.在下面循环语句中循环体执行的次数为inti=0;doi+;while(i*i<10);A.4B.3C.5D.268.当处理特定问题IM的循环次数己知时,通常采用来解决。A.for循环B.while循环C.do循环D.switch语句69.循环体至少被执行一次的语句为A.for循环B.while循环C.do循环D.任一种循环70.SWitCh语句能够改写为语句。A.forB.ifC.doD.while7Ld。语句能够改写为语句。A.复合B.ifC.switchD.while72.在下面的一维数组定义中,哪一个有语法错误。A.inta11=(1,2,3;B.inia10=0);C.inta;D.inta51;73.在下面的字符数组定义中,哪-个有语法错误。A.chara20="abcdef"B.chara="x+y=55."C.chara15;D.chara10=,5,;74.在下面的二维数组定义中,正确的是A.intaf5;B.inla51;C.inta113=1,3,5,2);D.inta11(10);75.假定一个二维数组的定义语句为"inta34=3,4,2,8,6,则元素al2的值为A.2B.4C.6D.876.假定一个二维数组的定义语句为"inta34=3,4,2,8,6丁,则元素a2l的值为A.0B.4C.8D.677.若定义了函数double*function(),则函数funciion的返回值为A.实数型B.实数的地址C.指向函数的指针D.函数的地址78.以下说法中正确的是A.C+程序总是从第一个定义的函数开始执行B.C+程序总是从main函数开始执行CC+函数必须有返回值,否则不能使用函数D.C+程序中有调用关系的所有函数必须放在同一个程序文件中79.以下叙述中不正确的是A.在一个函数中,可以有多条return语句B.函数的定义不能嵌套,但函数的调用可以嵌套C.函数必须有返回值D.不同的函数中可以使用相同名字的变量80.函数重载是指A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的函数名字不同,但形参的个数或类型相同D.两个以上的函数取相同的函数名,并且函数的返回类型相同二、填空题1.C+语言是在语言的基础上发展起来的。2.C+语言的编译单位是扩展名为的文件。3.行尾使用注释的开始标记符为。4.多行注释的开始标记符和结束标记符分别为和o5.用于输出表达式值的标准输出流对象是。6.用于从键盘上为变量输入值的标准输入流对象是。7.一个完整程序中必须有一个名为的函数。8.一个函数的函数体就是一条语句。9.当执行Cin语句时,从键盘上输入每个数据后必须接着输入一个符,然后才能继续输入下一个数据。10.在C+程序中包含一个头文件或程序文件的预编译命令为一。11.程序中的预处理命令是指以字符开头的命令。12.一条表达式语句必须以作为结束符。13.在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是定义的头文件。14.使用#include命令可以包含一个头文件,也可以包含一个文件。15.-个函数定义由和两部分组成。16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的一语句。17.C+头文件和源程序文件的扩展名分别为和。18.程序文件的编译错误分为_和两类。19.当使用保留字作为函数类型时,该函数不返问任何值。20.当函数参数表用一保留字表示时,则表示该参数表为空。21.从一条函数原型语句"intfunl(void);”可知,该函数的返回类型为_,该函数带有个参数。22.当执行cout语句输出endl数据项时,将使C+显示输出屏幕上的光标从当前位置移动到的开始位置。23.假定x=5,y=6,则表达式x+*+y的值为。24.假定x=5,y=6,则表达式x-*-y的值为。25.假定x=5,y=6,则执行表达式y*=x+计算后,x和y的值分别为和。26.假定x=5,尸6,则执行表达式y+=一计算后,X和y的值分别为_一和一。27.C+常数0x145对应的十进制值为o28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.C+常数0345对应的十进制值为。十进制常数245对应的十六进制的C+表示为_十进制常数245对应的八进制的C+表示为"signedChar类型的值域范围是_至_之间的整数。int和float类型的数据分别占用_和_一个字节。float和double类型的数据分别占用和一个字节。bool和char类型的数据分别占用和个字节。unsignedshortint和int类型的长度分别为和_。字符串"ThisVsabook,n"的长度为_字符串"nThis',sapennn"的长度为_。在C+中存储字符串"abcdef"至少需要个字节。在C+中存储字符串"a+b=C"至少需要个字节。假定X和y为整型,其值分别为16和5,则x%y和x/y的值分别为和假定X和y为整型,其值分别为16和5,则x/y和double(x)/y的值分别为和假定X是一个逻辑量, 假定X是一个逻辑量, 假定X是一个逻辑量, 假定X是一个逻辑量, 假定X是一个逻辑量, 假定X是一个逻辑量, 假定X是一个逻辑量,则X&&true的值为则XIItrue的值为则X&&false的值为则XIIfalse的值为_则!xIIfalse的值无则X&&!x的值为一则XI!x的值为49.数学算式巨上的C+表达式为。2xy50.数学算式迎的C+表达式为。x+y51.数学算式T7的C+表达式为。ax+by52.设enumPrintstatusready,busy,error;则CoUtbusy的输出结果是。53.设enumPrintstatusready=2,busy,error;则cout<<busy的输出结果是。54.常数-4.205和6.7E-9分别具有和位有效数字。55.枚举类型中的每个枚举值都是个,它的值为一个O56常数100和3.62的数据类型分别为_和_57.若x=5,y=10,则计算y*=+x表达式后,X和y的值分别为和。58.假定X和Ch分别为int型和Char型,则SiZeOf(X)和SiZeOf(Ch)的值分别为和59.假定x=10,则表达式x=10?20:30的值为。60.表达式Sqrt(81)和pow(6,3)的值分别为和。61.含随机函数的表达式rand()%20的值在至区间内。62.在switch语句中,每个语句标号所含关键字CaSe后面的表达式必须是整型一。63.在if语句中,每个else关键字与它前面同层次并且最接近的关键字相配套。64.作为语句标号使用的C+保留字case和default只能用于语句的定义体中。65.执行SWitCh语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时执行。66.若WhiIe循环的"头”为"while(i+<=10)",并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行次后正常结束。67.若do循环的"尾”为awhile(+i<10)",并且i的初值为0,同时在循环体中不会修改I的值,则循环体将被重复执行次后正常结束。68.当在程序中执行到语句时,将结束本层循环类语句或SWitCh语句的执行。69.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。70.在程序中执行到.语句日寸,将结束所在函数的执行过程,返回到调用该函数的位置。71.在程序执行完_函数后,将结束整个程序的执行过程,返回到操作系统下的C+集成开发窗口。72.元素类型为int的数组a10共占用字节的存储空间。73.元素类型为double的二维数组a46共占用_字节的存储空间。74.元素类型为char的二维数组a1030共占用字节的存储空间。75.存储字符,a,和字符串a"分别需要占用和个字节。76.空串的长度为,存储它需要占用个字节。77.字符串"VaVxy=4n的长度为。78.字符串"a:xxk数据的长度为。79.用于存储一个长度为n的字符串的字符数组的长度至少为。80.若a是一个字符数组,则从键盘上向该数组输入一个字符串的表达式为o81.若a是一个字符数组,则向屏幕输出a中所存字符串的表达式为。82.一个二维字符数组a1020能够存储个字符串,每个字符串的长度至多为83.对一个二维字符数组a进行初始化的数据为("123","456","789,则al元素对应的字符串为。84.StrIen("apple")的值为,StrCnIP(a,A)的值为。85.若需要把一个字符串"aa/到字符数组a中,则需要加石二函数的调用来实现。86.假定对二维数组a34进行初始化的数据为3,5,6,2,8,7,则a11和a23分别被初始化为和。87.在C+语言中,一个函数由函数头和组成。88.重载一个函数的条件是:该函数必须在参数的个数或参数的上与其它同名函数有所不同。89.如果一个函数只允许同一文件中的函数调用,则应在该函数定义前加上C+保留字。90.若"doubleX=IO0;"是文件Fl.CPP中的一个全局变量定义语句,若文件F2.CPP中的某个函数需要访问此X,则应在文件F2.CPP中添加对X的声明语句为。91.定义一个函数模板要用到的第一个修饰符是。92.在函数模板的参数中,用CIaSS修饰的参数称为参数。93.如果一个函数直接或间接地调用自身,这样的调用称为调用。94.已知intcubin(intn)returnn*n*n;和doublecubin(doublen)returnn*n*n;是一个函数模板的两个实例,假定类型参数用T表示,则该函数模板的定义是O95.对于无返回值函数,定义函数时要用修饰函数类型。96.如果一个函数定义使用了一一修饰,则该函数不允许被其它文件中的函数调用。97.如果一个函数中有多个默认参数,则默认参数必须全部处在形参表的部分。98.定义外部变量时,不用存储类说明符_extern,而声明外部变量时用它。99.调用系统函数时,要先使用#(:w命令包含该系统函数的原型语句所在的。100.函数形参的作用域是该函数的o101.C+提供的预处理命令有宏定义命令,条件编译命令和。102.程序的编译是以为单位进行的。103.C+程序运行时的内存空间可以分成全局数据区,堆区,栈区和。104.全局变量和静态局部变量具有静态生存期,存放在内存的区中。105.局部变量具有局部生存期,存放在内存的区中。106.若二维数组a有m歹1J,设a00位于数组的第一个位置上,则计算任一元素aij在数组中位置序号的公式为。107.若有定义“doublea35;w,则a数组中行下标和列下标的最大值分别为和O108.若有定义"structinta:charb;doublec;x;”,则X占用空间大小为.字节。109.当定义一个结构体变量时,系统分配给该变量的内存大小等于各成员所需内存大小的110.一个指针类型的对象占用内存的个字节的存储空间。111.一个指针指向一个数据对象,它保存着该数据对象的,若数据对象为DataTyPC类型,则相应的指针类型为。112.若要把一个整型指针P转换为字符指针,则采用的强制转换表达式为o113.假定一个数据对象为int*类型,则指向该对象的指针类型为。114.假定p是个指向整数对象的指针,则用表示该整数对象,用表示指针变量P的地址。115.假定P是一个指针,则*p+运算首先访问,然后使的值增1。116.假定P是一个指针,则(*p)+运算首先访问,然后使的值增1。117.假定P所指对象的值为25,p+1所指对象的值为42,则*p+的值为_。118.假定P所指对象的值为25,p+1所指对象的值为42,则*+p的值为。119.假定P所指对象的值为25,p+1所指对象的值为42,则执行(*p)+运算后,p所指对象的值为。120.假定P所指对象的值为25,p+1所指对象的值为42,则执行*p+运算后,p所指对象的值为O121.假定对数组a进行初始化的数据为2,7,9,6,5,7,10),则a2和a5分别被初始化为和。三、程序填空:1、打印出100到200之间的所有素数(即除1和它本身再没有其他约数的数)。Sinclude<iostream.h>#include<math.h>voidmain()iti,j;for(i=100;i<=200;i+)inttemp=int(sqrt(i);for(j=2;Ql;j+)if(i%j=0);if()cout<<i<<',;cout<<'n'2、斐波那契数列的第1和第2个数分别为0和1,从第三个数开始,每个数等于其前两个数之和。求斐波那契数列中的前20个数,要求每行输出5个数。#include<iostream.h>voidmain()intf,fl,f2,i;CoUt斐波那契数列:n";fl=0;f2=l;cout<<setw(6)<<fl<<setw(6)«f2;for(i=3;i<=20;i+)f=(1);cout<<setw(6)<<f;if(2)cout<<cndl;fl=f2;f2=;cout<<endl;IO3、计算(-1yT一的值。include<iostream,h>voidmainOdoublex,pl=l,p2=l,s=0;inti,j=l;COUt输入X的值:";cin>>x;for(i=l;i<=10;i+)pl*=(1);p2*=(2);s+=j*plp2;/j的值为(-1),+lj=(3);cout<<s<<endl;4、采用辗转相除法求出两个整数的最大公约数。inclde<iostream.h>voidmainOinta,b;cout«"请输入两个正整数:";cin>>a>>b;while(a<=0|(1)cout<<重新输入:";cin>>a>>b;while(b)intr;r=a%b;(2)_;_一(3)_;/分别修改a和b的值cout<<a<<endl;"输出最大公约数5、把从键盘上输入的-个大于等于3的整数分解为质因子的乘积。如输入24时得到的输出结果为"2223”,输入50时得到的输出结果为"255”,输入37时得到的输出结果为"37”。#include<iostream,h>voidmain()intx;CoUtG"请输入一个整数,若小于3则重输:";docin>>x;while(1);inti=2;dowhile()cout<<i<<,'x=i;_;while(Kx);if(x!=l)cout<<x;cout<<endl;6、下面函数是求两个整型参数a和b的最小公倍数。intf2(inta,intb)inti=2,p=l;dowhile(a%i=0&&(1)p*=i;a=i;b=i;_;while(a>=i&&(3);returnp*a*b;7、在输出屏幕上打印出一个由字符,组成的等腰三角形,该三角形的高为5行,从上到下每行的字符数依次为1,3,5,7,9。ttinclude<iostream,h>voidmain()inti,j;for(i=l;(1);i+)for(j=l;j<=9;j+)if(j<=5-iII.(2)cout<<,;else(3);cout<<endl;8、统计字符串中英文字母个数的程序。#include<iostream,h>intcount(charstr);voidmain()charsi80;cout<<,Enteraline:"cin>>sl;cout<<,count=,<<count(si)<<endl;intcount(charstr)(intnum=0;/给统计变量赋初值for(inti=O;stri;i+)if(stri>=,a,&&stri<=,z,(1)(2);一一;9、主函数调用一个fun函数将字符串逆序。#include<iOStream.h>#include<string.h>一一;voidmain()chars80;cin>>s;_一;COUt”逆序后的字符串:叫s<endl;)voidfun(charss)intn=strlen(ss);for(inti=0;(3);i+)charc=ssi;ssi=ssn-l-i;ssn-l-i=c;10、从一个字符串中删除所有同一个给定字符后得到个新字符串并输出。#includeiostream.h>constintlen=20;voiddelstr(chara,charb,charc);voidmainOcharstrllen,str2len;charch;CoUt<"输入一个字符串:";cin>>strl;CoUtG"输入一个待删除的字符:";cin>>ch;delstr(strl,str2,ch);cout<<str2<<endl;voiddelstr(chara,charb,charc)intj=0;for(inti=0;(1);i+)if(2)bj+÷=ai;bj=(2);11>采用指针访问方式从键盘给数组aN输入数据,然后对元素值重新按逆序存放并输出。include<iostream,h>constintN=8;voidmainOintaN,*p,*q;for(p=a;p<a+N;p+)(1);p=a;q=a+NT;while(p<q)intr=*p;*p-*q;*q=r;_(2)_;_(3)_;for(p=a;p<a+N;p+)cout<<*p<<,;cout<<endl;12、从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。注意二进制数的存放是按照从低位到高位的次序进行的。#include<iostream.h>voidmain()intx;COUt<"输入一个整数:";cin>>x;inta20,k=0,r;dor=x%2;ak+=r;=-(i);while();for(k;k>=O;k)(3);cout<<endl;13、对数组an按升序进行的选择排序算法voidSelectSort(inta,(1)inti,j,k;for(i=l;i<n;i+)(/进行nT次选择和交换k=i-l;for(j=i;j<n;j+)if(aj<ak)(2);intx=ail;aiT=ak;(3);14、对数组an按升序进行的插入排序算法voidInsertSort(1),intn)inti,j,x;for(i=l;i<n;i+)(进行nT次循环x=ai;for(j=i-l;j>=0;j-)为X顺序向前寻找合适的插入位置if(x<aj)(2);else(3);aj+l=x;15、用插入排序方法对table指针数组中SiZe个指针所指向的字符串进行按升序排序的算法。voidsort(char*table,intsize)for(inti=l,_(1);i+)char*p=tablei;for(intj=i-l;j>=0;j)if(strcmp(p,tablej)<0)(2);elsebreak;tablej+l=(3);16、假定有定义为“structNODEintdata;NODE*next;”,下面算法根据table数组中的n个元素建立一个表头指针为L的链表,链表中结点值的顺序与数组元素值的顺序相同。voidf5(N0DE*&L,inttable,intn)if(n<=0)L=NULL;return;L=newNODE;生成附加的头结点inti=0;NODE*p=L;while(1)p=p->next=(2);p->data=(3);p->next=NULL;"把最后一个结点的指针域置空P=L;1.=L->next;"使L指向链表的第一个带值的结点deletep;17、假定有定义为“structNODEintdata;NODE*next;”,下面算法根据table数组中的n个元素建立一个表头指针为L的链表,链表中结点值的顺序与数组元素值的顺序正好相反。voidf6(N0DE*&L,inttable,intn)1.=NULL;if(n<=0)return;inti=0;NODE*p;w

    注意事项

    本文(南邮《面向对象程序设计》练习册期末复习题.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开