《山东开放大学 C 语言程序设计 期末复习题.docx》由会员分享,可在线阅读,更多相关《山东开放大学 C 语言程序设计 期末复习题.docx(11页珍藏版)》请在第壹文秘上搜索。
1、2022学年9月份考试C+语言程序设计复习题一、单选题1、循环语句for(inti=0;iconstchar*constP=ABCD;正确答案:D有用护何案私公保任辔 确 、 、 、EA B C D 34、在关键字PUbIiC后面定义的成员为类的()成员。:B5、C+源程序文件的缺省扩展名为()oAcppB、exeC、objD、Iik正确答案:A6、设有语句“inta=12;a+=a*a;,则执行结束后,a的值为()。A、12B、144C、156D、288正确答案:C7当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()oA、 ios:inB、 ios:out
2、C、 ios:inIios:outD、 ios:binary正确答案:A8、下列不能作为类的成员的是()0A、自身类对象的指针B、自身类对象C、自身类对象的引用D、另一个类的对象正确答案:B9、在下面的do循环语句中,其循环体被执行的次数为()oA、4B、3C、5D、2正确答案:A10、若用数组名作为函数调用的实参,传递给形参的是()oA、数组的首地址B、数组中第一个元素的值C、数组全部元素的值D、数组元素的个数正确答案:A11、枚举类型中的每个枚举常量的值都是一个()。A、整数B、浮点数C、字符D、逻辑值正确答案:A12、下面正确的函数原型语句是()oA、 intFunction(voida
3、);B、 voidFunction(int);C、 intFunction(a);D、 voidint(doub正确答案:B13当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。A、ios:inios:outC、ios:inIios:outD、没有正确答案:D14、假定有structBOOKchartitle40;floatprice;BOOK*book;,则不正确的语句为()oA、BOOK*x=newbook;B、BOOKx=C+Programming,z,27.0;C、 BOOK*x=newBOOK;D、 BOOK*x=&book;正确答案:A15、下面
4、的(A、AA(inta,)函数头格式不正确。intb)AA(inta,intb=0)C、AA(inta=0,intb=0)D、AA(inta=0,intb)正确答案:D16、在每个C+程序中都必须包含有这样一个函数,该函数的函数名为()oA、 mainB、 MAINC、 nameD、 function正确答案:A17、程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号。A、分隔符B、空格或逗号C、逗号或回车D、逗号或分号E、空格或回车正确答案:D18、C+程序的基本模块为()oA、表达式B、标识符C、语句D、函数正确答案:D19、编写C+程序一般需经过的几个步骤依次是()oA、
5、编辑、调试、编译、连接B、编辑、编译、连接、运行C、编译、调试、编辑、连接D、编译、编辑、连接、运行正确答案:B20、预处理命令在程序中都是以()字符开头的。A、*B、#C、&D、正确答案:B21、循环体至少被执行一次的语句为()语句。A、for循环B、while循环C、do循环D、任一种循环正确答案:C22、在下面的一维数组定义中,()语句有语法错误。A、inta=l,2,3;B、inta10=0;C、inta;D、inta5;正确答案:C23、在下面的字符数组定义中,()语句有语法错误。,abcdefg,x+y=55. , , 2, ; 5,;A、chara20=B、chara,C、cha
6、ra15=,D、chara10-,正确答案:D24、假定一个二维数组的定义语句为“inta34=3,4,2,8,6,,则元素al2的值为()oA、2B、4C、6D、8正确答案:C25、将两个字符串连接起来组成一个字符串时,选用()函数。A、StrlenOB、StrcpyOC、strcat()D、StrcmpO正确答案:C二、判断题1、设置和清除格式标志字的成员函数需要通过对象来引用它们,输出显示格式的对象通常是COUt。正确答案:正确2、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。正确答案:正确3、C+语言中模板分为函数模板和类模板两种。正确答案:正确4、continue语句只
7、能出现在循环体中。正确答案:正确5、循环是可以嵌套的,一个循环体内可以包含另一种循环语句。正确答案:正确6、为了减轻使用者的负担,与C语言相比,C+语言中减少了一些运算符。正确答案:错误7、C+语言中标识符内的大小写字母是没有区别的。正确答案:错误8、C+语言中使用了新的注释符(),C语言中注释符(/*/)不能在C+语言中使用。正确答案:错误9、开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句。正确答案:错误10、使用关键字CIaSS定义的类中默认的访问权限是私有(PriVate)的。正确答案:正确11、预处理命令是在进行编译时首先执行的,然后再进行正常编译。正确答案:正确12、文件
8、包含命令所包含的文件是不受限制的。正确答案:错误13、宏定义命令是以分号结束的。正确答案:错误14、条件语句不能作为多路分支语句。正确答案:错误15、f。循环是只有可以确定的循环次数时才可使用,否则不能用f。循环。正确答案:错误三、写出程序运行结果1、ttincludevoidmain()intsl=0,s2=l;for(inti=l;i=6;i+)sl+=i;s2*=i;coutsl,s2endl;)正确答案:21,7202、#include#includevoidmain()char*a5=student,worker,cadre,soldier,apen);char*pl;pl=aO;f
9、or(inti=l;i0)pl=ai;)coutplendl;正确答案:worker3、#includevoidmain()inti=l,s=0;while(s20)if(i%2!=0)s+=i;i+;)couti,/sendl;)正确答案:10,254、ftincludevoidmain()ints=0;for(inti=l;i=8;i=+2)s+=i*i;coutzzs=zzsendl;正确答案:s=845、ftincludevoidmain()inta10=68,79,86,65,46,94,37,78,60,53);intc=0;for(inti=0;i=60)c+;coutMc=ce
10、ndl;正确答案:c=76、#include#includestructWorkercharname15;姓名intage;年龄floatpay;工资);voidmain()Workerx;strcpy(x.name,WeiRong);x.age=45;x.pay=1235;coutx.name,x,age,x,payendl;)正确答案:WeiRong451235四、写出函数功能1、voidLK(inta,intn,int&m)floats=0;inti;for(i=0;in;i+)s+=ai;s=;m=0;for(i=0;i=s)m+;)正确答案:统计出数组a的前n个元素中大于等于其平均值
11、的元素个数并由引用参数m带回。2、intWC(inta,intn,intk)intc=0;for(inti=0;i=k)c+;returnc;)正确答案:3、统计出数组a的n个元素中大于等于参数k的值的元素个数并返回。boolWB(inta,intn,intx)for(inti=0;in;i+)if(ai=x)returntrue;returnfalse;)正确答案:4、从数组a中顺序查找值为X的元素,若查找成功则返回真,否则返回假。doubleWA(inta,intn)doubles=0;for(inti=0;in;i+)s+=ai;returns/n;)正确答案:5、求出数组a中n个元素的
12、平均值并返回。boolSG(int)/x为大于等于2的整数inta=int(sqrt(x);Sqrt(X)为求X的平方根inti=2;while(ia)returntrue;elsereturnfalse;)正确答案:判断X是否为一个素数(或质数),若是则返回真,否则返回假。6、boolWE(inta,intb,intn)for(inti=0;in;i+)if(ai!=bi)break;if(i=n)returntrue;returnfalse;)正确答案:判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假。五、编程题1、假定一个函数声明为voidAD(inta,intn);,要求把数组a中的n个元素值按相反的次序仍保存在数组a中。请编写该函数。正确答案:voidAD(inta,intn)(for(i=0;in2;i+)i