《山东开放大学C++语言程序设计期末考试复习题及参考答案.pdf》由会员分享,可在线阅读,更多相关《山东开放大学C++语言程序设计期末考试复习题及参考答案.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C+语言程序设计期末考试复习题 注:找到所考试题直接看该试题所有题目和答案即可。查找按键:Ctrl+F 超越高度 一、单选题 1、循环语句“for(int i=0;in;i+)S;”中循环体 S 被执行的次数为()。A、1 B、n-1 C、n D、n+1 正确答案:C 2、适宜采用 inline 定义函数情况是()。A、函数体含有循环语句 B、函数体含有递归语句 C、函数代码少、频繁调用 D、函数代码多、不常调用 正确答案:C 3、要禁止修改指针 p 本身,又要禁止修改 p 所指向的数据,这样的指针应定义为()。A、const char*p=“ABCD”;B、char*const p=“ABC
2、D”;C、char const*p=“ABCD”;D、const char*const p=“ABCD”;正确答案:D 4、在关键字 public 后面定义的成员为类的()成员。A、私有 B、公用 C、保护 D、任何 正确答案:B 5、C+源程序文件的缺省扩展名为()。A、cpp B、exe C、obj D、lik 正确答案:A 6、设有语句“int a=12;a+=a*a;”,则执行结束后,a 的值为()。A、12 B、144 C、156 D、288 正确答案:C 7、当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。A、ios:in B、ios:o
3、ut C、ios:in|ios:out D、ios:binary 正确答案:A 8、下列不能作为类的成员的是()。A、自身类对象的指针 B、自身类对象 C、自身类对象的引用 D、另一个类的对象 正确答案:B 9、在下面的 do 循环语句中,其循环体被执行的次数为()。A、4 B、3 C、5 D、2 正确答案:A 10、若用数组名作为函数调用的实参,传递给形参的是()。A、数组的首地址 B、数组中第一个元素的值 C、数组全部元素的值 D、数组元素的个数 正确答案:A 11、枚举类型中的每个枚举常量的值都是一个()。A、整数 B、浮点数 C、字符 D、逻辑值 正确答案:A 12、下面正确的函数原型
4、语句是()。A、int Function(void a);B、void Function(int);C、int Function(a);D、void int(doub 正确答案:B 13、当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。A、ios:in B、ios:out C、ios:in|ios:out D、没有 正确答案:D 14、假定有“struct BOOKchar title40;float price;BOOK*book;”,则不正确的语句为()。A、BOOK*x=new book;B、BOOK x=C+Programming,27.0;C
5、、BOOK*x=new BOOK;D、BOOK*x=&book;正确答案:A 15、下面的()函数头格式不正确。A、AA(int a,int b)B、AA(int a,int b=0)C、AA(int a=0,int b=0)D、AA(int a=0,int b)正确答案:D 16、在每个 C+程序中都必须包含有这样一个函数,该函数的函数名为()。A、main B、MAIN C、name D、function 正确答案:A 17、程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号。A、分隔符 B、空格或逗号 C、逗号或回车 D、逗号或分号 E、空格或回车 正确答案:D 18、C
6、+程序的基本模块为()。A、表达式 B、标识符 C、语句 D、函数 正确答案:D 19、编写 C+程序一般需经过的几个步骤依次是()。A、编辑、调试、编译、连接 B、编辑、编译、连接、运行 C、编译、调试、编辑、连接 D、编译、编辑、连接、运行 正确答案:B 20、预处理命令在程序中都是以()字符开头的。A、*B、#C、&D、正确答案:B 21、循环体至少被执行一次的语句为()语句。A、for 循环 B、while 循环 C、do 循环 D、任一种循环 正确答案:C 22、在下面的一维数组定义中,()语句有语法错误。A、int a=1,2,3;B、int a10=0;C、int a;D、int
7、 a5;正确答案:C 23、在下面的字符数组定义中,()语句有语法错误。A、char a20=abcdefg;B、char a=x+y=55.;C、char a15=1,2;D、char a10=5;正确答案:D 24、假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素 a12的值为()。A、2 B、4 C、6 D、8 正确答案:C 25、将两个字符串连接起来组成一个字符串时,选用()函数。A、strlen()B、strcpy()C、strcat()D、strcmp()正确答案:C 二、判断题 1、设置和清除格式标志字的成员函数需要通过对象来引用它们,输出显示格式的对
8、象通常是cout。正确答案:正确 2、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。正确答案:正确 3、C+语言中模板分为函数模板和类模板两种。正确答案:正确 4、continue 语句只能出现在循环体中。正确答案:正确 5、循环是可以嵌套的,一个循环体内可以包含另一种循环语句。正确答案:正确 6、为了减轻使用者的负担,与 C 语言相比,C+语言中减少了一些运算符。正确答案:错误 7、C+语言中标识符内的大小写字母是没有区别的。正确答案:错误 8、C+语言中使用了新的注释符(/),C 语言中注释符(/*/)不能在 C+语言中使用。正确答案:错误 9、开关语句不可以嵌套,在开关语句
9、的语句序列中不能再有开关语句。正确答案:错误 10、使用关键字 class 定义的类中默认的访问权限是私有(private)的。正确答案:正确 11、预处理命令是在进行编译时首先执行的,然后再进行正常编译。正确答案:正确 12、文件包含命令所包含的文件是不受限制的。正确答案:错误 13、宏定义命令是以分号结束的。正确答案:错误 14、条件语句不能作为多路分支语句。正确答案:错误 15、for 循环是只有可以确定的循环次数时才可使用,否则不能用 for 循环。正确答案:错误 三、写出程序运行结果 1、#include void main()int s1=0,s2=1;for(int i=1;i=
10、6;i+)s1+=i;s2*=i;couts1,s2endl;正确答案:21,720 2、#include#include void main()char*a5=student,worker,cadre,soldier,apen;char*p1;p1=a0;for(int i=1;i0)p1=ai;coutp1endl;正确答案:worker 3、#include void main()int i=1,s=0;while(s20)if(i%2!=0)s+=i;i+;couti,sendl;正确答案:10,25 4、#include void main()int s=0;for(int i=1;
11、i=8;i=+2)s+=i*i;couts=sendl;正确答案:s=84 5、#include void main()int a10=68,79,86,65,46,94,37,78,60,53;int c=0;for(int i=0;i=60)c+;cout”c=”cendl;正确答案:c=7 6、#include#include struct Worker char name15;/姓名 int age;/年龄 float pay;/工资 ;void main()Worker x;strcpy(x.name,WeiRong);x.age=45;x.pay=1235;coutx.name x
12、.age x.payendl;正确答案:WeiRong 45 1235 四、写出函数功能 1、void LK(int a,int n,int&m)float s=0;int i;for(i=0;in;i+)s+=ai;s/=n;m=0;for(i=0;i=s)m+;正确答案:统计出数组 a 的前 n 个元素中大于等于其平均值的元素个数并由引用参数 m 带回。2、int WC(int a,int n,int k)int c=0;for(int i=0;i=k)c+;return c;正确答案:3、统计出数组 a 的 n 个元素中大于等于参数 k 的值的元素个数并返回。bool WB(int a,
13、int n,int x)for(int i=0;in;i+)if(ai=x)return true;return false;正确答案:从数组 a 中顺序查找值为 x 的元素,若查找成功则返回真,否则返回假。4、double WA(int a,int n)double s=0;for(int i=0;in;i+)s+=ai;return s/n;正确答案:求出数组 a 中 n 个元素的平均值并返回。5、bool SG(int x)/x 为大于等于 2 的整数 int a=int(sqrt(x);/sqrt(x)为求 x 的平方根 int i=2;while(ia)return true;els
14、e return false;正确答案:判断 x 是否为一个素数(或质数),若是则返回真,否则返回假。6、bool WE(int a,int b,int n)for(int i=0;in;i+)if(ai!=bi)break;if(i=n)return true;return false;正确答案:判断具有 n 个元素的两个数组 a 和 b 中对应元素值是否全部相等,若是则返回真,否则返回假。五、编程题 1、假定一个函数声明为“void AD(int a,int n);”,要求把数组 a 中的 n 个元素值按相反的次序仍保存在数组 a 中。请编写该函数。正确答案:void AD(int a,i
15、nt n)for(i=0;i=0;i-)coutai;if(+j%6=0)coutendl;coutendl;一、单选题 1、循环语句“for(int i=0;in;i+)S;”中循环体 S 被执行的次数为()。A、1 B、n-1 C、n D、n+1 正确答案:C 2、适宜采用 inline 定义函数情况是()。A、函数体含有循环语句 B、函数体含有递归语句 C、函数代码少、频繁调用 D、函数代码多、不常调用 正确答案:C 3、要禁止修改指针 p 本身,又要禁止修改 p 所指向的数据,这样的指针应定义为()。A、const char*p=“ABCD”;B、char*const p=“ABCD”
16、;C、char const*p=“ABCD”;D、const char*const p=“ABCD”;正确答案:D 4、在关键字 public 后面定义的成员为类的()成员。A、私有 B、公用 C、保护 D、任何 正确答案:B 5、C+源程序文件的缺省扩展名为()。A、cpp B、exe C、obj D、lik 正确答案:A 6、设有语句“int a=12;a+=a*a;”,则执行结束后,a 的值为()。A、12 B、144 C、156 D、288 正确答案:C 7、当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。A、ios:in B、ios:out C、ios:in|ios:out D、ios:binary 正确答案:A