山东开放大学第二学期期末考试《C++语言程序设计》复习题_第1页
山东开放大学第二学期期末考试《C++语言程序设计》复习题_第2页
山东开放大学第二学期期末考试《C++语言程序设计》复习题_第3页
山东开放大学第二学期期末考试《C++语言程序设计》复习题_第4页
山东开放大学第二学期期末考试《C++语言程序设计》复习题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022学年第二学期期末考试C++语言程序设计复习题一、单选题1、循环语句“for(inti=0;i<n;i++)S;"中循环体S被执行的次数为( )。A、1B、n-1nn+1正确答案:C2、适宜采用inline定义函数情况是( )。A、函数体含有循环语句B、函数体含有递归语句C、函数代码少、频繁调用D、函数代码多、不常调用正确答案:C3、要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )oA、constchar*p="ABCD”;B、char*constp="ABCD”;C、charconst*p="ABCD";D、constchar*constp="ABCD”;正确答案:D4、在关键字public后面定义的成员为类的( )成员。A、私有B、公用C、保护D、任何正确答案:B5、C++源程序文件的缺省扩展名为( )ocppexeC、objD、lik正确答案:A6、设有语句“inta=12;a+=,则执行结束后,a的值为( )。A、12B、144C、156D、288正确答案:C7、当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()oios::inios::outios::in|ios::outios::binary正确答案:A8、下列不能作为类的成员的是( )。A、自身类对象的指针B、自身类对象C、自身类对象的引用D、另一个类的对象正确答案:B9、在下面的do循环语句中,其循环体被执行的次数为( )0A、4B、3C、5D、2正确答案:A10、若用数组名作为函数调用的实参,传递给形参的是( )oA、数组的首地址B、数组中第一个元素的值C、数组全部元素的值D、数组元素的个数正确答案:A11s枚举类型中的每个枚举常量的值都是一个( )oA、整数B、浮点数C、字符D、逻辑值正确答案:A12、下面正确的函数原型语句是( )□intFunction(voida);voidFunction(int);intFunction(a);voidint(doub正确答案:B13、当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()oios::inios::outios::in|ios::outD、没有正确答案:D14、假定有"structBOOK{chartitle[40];floatprice;};BOOK*book;n,则不正确的语句为()o

A、BOOK*x=newbook;B、BOOKx={"C++Programming",27.0};C、BOOK*x=newBOOK;D、BOOK**x=&book;正确答案:A15、下面的( )函数头格式不正确。A、AA(inta,intb)B、AA(inta,intb=0)C、AA(inta=0,intb=0)D、AA(inta=0,intb)正确答案:D16、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为( )0A、mainB、MAINC、nameD、function正确答案:A17、程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符A、分隔符B、空格或逗号C、逗号或回车D、逗号或分号E、空格或回车正确答案:D18、C++程序的基本模块为( )0A、表达式B、标识符C、语句D、函数正确答案:D19、编写C++程序一般需经过的几个步骤依次是( )oA、编辑、调试、编译、连接B、编辑、编译、连接、运行C、编译、调试、编辑、连接D、编译、编辑、连接、运行正确答案:B20、预处理命令在程序中都是以(20、预处理命令在程序中都是以(A、*)字符开头的。B、#C、&D、@正确答案:B21、循环体至少被执行一次的语句为( )语句oA、for循环B、while循环C、do循环D、任一种循环正确答案:C)语句有语法错误。22、在下面的一维数组定义中,)语句有语法错误。Asinta|]={l,2,3};B.inta[10]={0};CsintaQ;Dsinta[5];正确答案:C23、在下面的字符数组定义中,( )语句有语法错误。A、chara[20]=J,abcdefg51;B、chara□二’'x+y=55.'';C、chara[15]=[I1,*21};D、chara[10]=15';正确答案:D24、假定一个二维数组的定义语句为Inta[3][4]={{3,4},{2,856}};n,则元素a[l][2]的值为( )oA、2B、4C、6D、8正确答案:C25、将两个字符串连接起来组成一个字符串时,选用( )函数。A、strlen()B、strcpy()C、strcatQD、strcmpO正确答案:C二、判断题1、设置和清除格式标志字的成员函数需要通过对象来弓I用它们输出显示格式的对象通常是COUto正确答案:正确2、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。正确答案:正确3、C++语言中模板分为函数模板和类模板两种。正确答案:正确4、continue语句只能出现在循环体中。正确答案:正确5、循环是可以嵌套的,一个循环体内可以包含另一种循环语句。正确答案:正确6、为了减轻使用者的负担,与C语言相比C++语言中减少了一些运算符。正确答案:错误7、C++语言中标识符内的大小写字母是没有区别的。正确答案:错误8、C++语言中使用了新的注释符(〃),C语言中注释符(/*…*/)不能在C++语言中使用。正确答案:错误9、开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句。正确答案:错误10、使用关键字class定义的类中默认的访问权限是私有(private)的。正确答案:正确1K预处理命令是在进行编译时首先执行的,然后再进行正常编译。正确答案:正确12、文件包含命令所包含的文件是不受限制的。正确答案:错误13、宏定义命令是以分号结束的。正确答案:错误14、条件语句不能作为多路分支语句。正确答案:错误15^for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。正确答案:错误三、写出程序运行结果1、#include<iostream.h>voidmain(){intsl=0,s2=l;for(inti=l;i<=6;i++){sl+=i;s2*=i;}cout<<sl<<<,'<<s2<<endl;)正确答案:21,7202、#include<iostream.h>#include<string.h>voidmain(){char*a[5]={"student","worker","cadre","soldier","apen"};char*pl;pl=a[0];for(inti=l;i<5;i++){if(strcmp(a[i],pl)>0)pl=a[i];}cout<<pl<<endl;)正确答案:worker3、#include<iostream.h>voidmainO{inti=l,s=0;while(s<20){if(i%2!=0)s+=i;i++;}cout<<i<<*/<<s<<endl;)正确答案:10,254、#include<iostream.h>voidmain(){ints=0;for(inti=l;i<=8;i=+2)s+=i*i;cout<<"s="<<s<<endl;)正确答案:s=845、#include<iostream.h>voidmain(){inta[10]={68,79,86,65,46,94,37,78,60,53);intc=0;for(inti=0;i<10;i++)if(a[i]>=60)C++;cout<<"c=n<<c<<endl;)正确答案:c=76、#include<iostream.h>#include<string.h>structWorker{charname[15];〃姓名intage; 〃年龄floatpay; 〃工资);voidmain(){Workerx;strcpy(,"WeiRong");x.age=45;x.pay=1235;cout<<<<''<<x.age<<''<<x.pay<<endl;)正确答案:WeiRong451235四、写出函数功能1、voidLK(intaQ,intn,int&m){floats=0;inti;for(i=0;i<n;i++)s+=a[i];s/=n;m=0;for(i=0;i<n;i++)if(a[i]>=s)m++;)正确答案:统计出数组a的前n个元素中大于等于其平均值的元素个数并由弓I用参数m带回。2XintWC(inta[],intn,intk){intc=0;for(inti=0;i<n;i++)if(a[i]>=k)C++;returnc;正确答案:3、统计出数组a的n个元素中大于等于参数k的值的元素个数并返回。boolWB(intaQ,intn,intx){for(inti=0;i<n;i++)if(a[i]==x)returntrue;returnfalse;)正确答案:从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。4、doubleWA(intaQ,intn){doubles=0;for(inti=0;i<n;i++)s+=a[i];returns/n;}正确答案:求出数组a中n个元素的平均值并返回。5、boolSG(intx){ //x为大于等于2的整数inta=int(sqrt(x));〃sqrt(x)为求x的平方根inti=2;while(i<=a){if(x%i==O)break;i++;}if(i>a)returntrue;elsereturnfalse;)正确答案:判断X是否为一个素数(或质数),若是则返回真,否则返回假。6、boolWE(intaQ,intb[],intn){for(inti=0;i<n;i++)if(a[i]!=b[i])break;if(i==n)returntrue;returnfalse;}正确答案:判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假。五、编程题1、假定一个函数声明为“voidAD(inta[],intn)「,要求把数组a中的n个元素值按相反的次序仍保存在数组a中。请编写该函数。正确答案:voidAD(inta[],intn){for(i=0;i<n/2;i++){intx=a[i];a[i]=a[n-l-i];a[n-l-i]=x;))2、假定一个函数声明为“intFF(inta[],intn);”,要求递归求出数组a中所有n个元素之积并返回。请编写该函数。正确答案:intFF(intaQ,intn)(if(n二二1)returna[n-l];elsereturna[n-l]*FF(a,n-l);〃或者if(n==O)re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论