中央电大C++试题及答案小抄参考.doc

上传人:文库蛋蛋多 文档编号:4126027 上传时间:2023-04-06 格式:DOC 页数:24 大小:147KB
返回 下载 相关 举报
中央电大C++试题及答案小抄参考.doc_第1页
第1页 / 共24页
中央电大C++试题及答案小抄参考.doc_第2页
第2页 / 共24页
中央电大C++试题及答案小抄参考.doc_第3页
第3页 / 共24页
中央电大C++试题及答案小抄参考.doc_第4页
第4页 / 共24页
中央电大C++试题及答案小抄参考.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《中央电大C++试题及答案小抄参考.doc》由会员分享,可在线阅读,更多相关《中央电大C++试题及答案小抄参考.doc(24页珍藏版)》请在三一办公上搜索。

1、一、第一章单选题1在每个C+程序中都必须包含有这样一个函数,该函数的函数名为()。答案:AAmainBMAINCnameDfunction2C+源程序文件的缺省扩展名为()。答案:AAcppBexeCobjDlik3程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。答案:DA空格或逗号B逗号或回车C逗号或分号D空格或回车4C+程序的基本模块为()。答案:DA表达式B标识符C语句D函数5每个C+程序文件的编译错误分为()类。答案:B/warning errorA1B2C3D4二、第一章填空题 1C+语言是在_语言的基础上发展起来的。答案:C2C+语言中的每条基本语句以

2、_作为结束符。答案:;(或分号)3C+语言中的每条复合语句以_作为结束符。答案:(或右花括号)4在C+每个程序行的后面或单独一行的开始使用注释的标记符为_。答案:/5单行或多行注释的开始标记符为_、结束标记符为_。答案:/*、*/6在一个C+程序文件中,若要包含另外一个头文件或程序文件,则应使用以_标识符开始的预处理命令。#include7C+程序中的所有预处理命令均以_字符开头。#8在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是_定义的头文件。用户 (或编程者)9一个函数定义由_和_两部分组成。答案:函数头、函数体10用于输出表达式值的标准输出流对象是_,用于从键盘

3、上为变量输入值的标准输入流对象是_。答案:cout、cin11当不需要函数返回任何值时,则应使用_标识符定义函数类型。答案:void三、第二章单选题1设x和y均为bool量,则x & y为真的条件是()。 答案:AA. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假2设x和y均为bool量,则x | y为假的条件是()。 CA. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假3设有语句“int a=12; a+=a*a;”,则执行结束后,a的值为()。CA. 12B. 144C. 156D. 2884x0 & x=10的相反表达式为()。AA. x10B. x1

4、0C. x=0 | x0 & x105x0 | y=5的相反表达式为()。BA. x=0 | y!=5B. x0 | y!=5 D. x0 & y=56字符串“a+b=12n”的长度为()。答案:BA. 6B. 7C. 8D. 97在下列的常值常量定义中,错误的定义语句是()。答案:CA. const M=10;B. const int M=20; C. const char ch; D. const bool mark=true;8枚举类型中的每个枚举常量的值都是一个()。 答案:AA. 整数B. 浮点数C. 字符D. 逻辑值9含随机函数的表达式rand()%20的值在()区间内。答案:CA

5、. 119B. 120 C. 019D. 020四、第二章填空题1十进制数25表示成符合C+语言规则的八进制数为_。答案:0312十进制数25表示成符合C+语言规则的十六进制数为_。答案:0x193在c+语言中,操纵符_表示输出一个换行符。答案:endl4执行“coutchar(A+2)endl;”语句后得到的输出结果为_。答案:C5已知AZ的ASCII码为6590,当执行“int x=C+5;”语句后x的值为_。答案:726已知AZ的ASCII码为6590,当执行“char ch=14*5+2;coutchendl;”语句序列后,得到的输出结果为_。答案:H7假定一个枚举类型的定义为“enu

6、m RAab,ac,ad,ae;”,则枚举常量ac的值为_。答案:18假定一个枚举类型的定义为“enum RBa1,a2=3,a3,a4x=a3;”,则x的值为_。答案:49char、short、int、float、double类型的大小分别为_个字节。10十进制常数28和3.26的类型分别为_和_。答案:int、double11若需要定义一个常值常量,并且使C+能够进行类型检查,则应在定义语句的开始使用保留字_。答案:const/#define MAX 10012使用const语句定义一个常值常量时,则必须对它同时进行_。答案:初始化/如const int MM=20;13执行“int x=

7、45,y=13;coutx/y;”语句序列后得到的输出结果为_。答案:314执行“int x=45,y=13;cout5的相反表达式为_。答案:x+yy逻辑值为_。答案:false 或026若x=5,y=10,则x!=y的逻辑值为_。答案:true 或127假定x=5,则执行“a=(x?10:20);”语句后a的值为_。答案:10 28执行“typedef int DataType;”语句后,在使用int定义整型变量的地方都可以使用_来定义整型变量。答案:DataType五、第三章单选题1当处理特定问题时的循环次数已知时,通常采用()来解决。答案:AA. for循环B. while循环C. d

8、o循环D. switch语句2循环体至少被执行一次的语句为()语句。答案:CA. for循环B. while循环C. do循环D. 任一种循环3在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。答案:BA. forB. ifC. doD. while4for语句能够被改写为()语句。答案:DA. 复合B. ifC. switchD. while5循环语句“for(int i=0; in; i+) S;”中循环体S被执行的次数为()。答案:CA. 1B. n-1C. nD. n+16下面循环语句执行结束后输出的i值为()。答案:Bfo

9、r(int i=0; in/2)coutiendl; break;A. n/2B. n/2+1C. n/2-1D. n-17在下面循环语句中内层循环体S语句的执行总次数为()。答案:Dfor(int i=0; in; i+)for(int j=i; jn; j+) S;/n+(n-1)+.+1A. n2B. (n+1)/2C. n(n-1)/2D. n(n+1)/28在下面的while循环语句中,其循环体被执行的次数为()。答案:Cint i=0,s=0; while(s20)i+; s+=i;/s=1,3,6,10,15,21A. 4B. 5C. 6D. 79在下面的do循环语句中,其循环体

10、被执行的次数为()。答案:Aint i=0; do i+; while(i*i10);/i=0,1,2,3A. 4B. 3C. 5D. 2六、第三章填空题1在switch语句中,每个语句标号所含保留字case后面的表达式必须是_。整型常量2在if语句中,每个else关键字与它前面同层次并且最接近的_关键字相配套。if3作为语句标号使用的C+保留字case和default只能用于_语句的定义体中。switch4执行switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)_执行。不停止5若while循环的“头”为”while(i+=

11、10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行_次后正常结束。116若do循环的“尾”为”while(+i10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行_次后正常结束。107当在程序中执行到_语句时,将结束本层循环类语句或switch语句的执行。答案:break8当在程序中执行到_语句时,将结束所在循环语句中循环体的一次执行。答案:continue9在程序中执行到_语句时,将结束所在函数的执行过程,返回到调用该函数的位置。答案:return10在程序执行完一个_函数调用后,将结束整个程序的执行过程,返回到操作系统或C+集成开发环境

12、界面窗口。答案:主(或main)七、第三章程序运行结果1. #includevoid main()int x=5;switch(2*x-3) case 4: coutx ;case 7: cout2*x+1 ;case 10: cout3*x-1 ; break;default: coutdefaultendl;coutswitch end.endl;答案:11 14 switch end.C+语言程序设计复习课一、第三章函数功能 1#includeint SA(int a, int b) if(ab) return 1;else if(a=b) return 0;else return -1

13、;答案:比较两个整型参数a和b的大小,若ab则返回1,若a=b则返回0,若a=b & a=c) return a;if(b=a & b=c) return b;return c;答案:求出a,b,c三个数中的最大值并返回。3int SE(int n) /n为大于等于1的整数int x; cinx; if(n=1) return x;int m=x;while(-n) cinx; m+=x;return m;答案:求出从键盘上输入的n个整数之和并返回。4double SF(double x, int n) /n为大于等于0的整数double p=1,s=1;for(int i=1;i=n;i+)

14、 p*=x; s+=p/(i+1);return s;答案:计算1+x/2+x2/3+.+xn/(n+1)的值并返回。5#includebool SG(int x) /x为大于等于2的整数int a=int(sqrt(x); /取x的平方根int i=2;while(i=a) if(x%i=0) break; i+;if(ix;while(x!=-1) n+; y+=x; cinx;if(n=0) return y; else return y/n;答案:求出从键盘上输入的一批常数的平均值,以-1作为结束输入的标志。7float FI(int n) /n为大于等于1的整数float x,y=0

15、;do cinx; y+=x*x; while(-n0);return y;答案:求出从键盘上输入的n个常数的平方和并返回8#include#includevoid main()int x,y;cinx;y=int(sqrt(x);/sqrt(x)为求x的算术平方根for(int i=1;i=y;i+)if(x%i=0) cout”x=”i*x/iendl;答案:把从键盘上输入的一个整数x分解为所有可能的每两个因子之积。二、第三章编写函数 1.编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+.+1/n5的最小n值。答案: void main()int i=0; do

16、uble s=0;/或int i=1; double s=1;while(s5) s+=double(1)/+i;coutn=iendl; 2. 编写一个主函数,计算1+3+32+.+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。void main()int i;/用i作为循环变量 int p=1;/用p作为累乘变量 int s=1;/用s作为累加循环变量 for(i=1;i=10;i+) p*=3; s+=p;coutsendl;3编写一个主函数,已知6a30,15b36,求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。答

17、案:void main()int a,b;for(a=6;a=30; a+)for(b=15;b=36;b+)if(2*a+5*b=126) cout(a,b)a; couta;8. 一个二维字符数组a1020能够存储_个字符串,每个字符串的长度至多为_。答案:10、19五、第四章程序运行结果1. #includevoid main() int a10=12,39,26,41,55,63,72,40,83,95;int i1=0, i2=0;for(int i=0;i10;i+) if(ai%2=1) i1+; else i2+;couti1 i2endl;答案:642. #includevo

18、id main() int a9=36,25,48,14,55,40,32,66,60;int b1, b2;b1=b2=a0;for(int i=1;ib1) if(b1b2) b2=b1; b1=ai;else if(aib2) b2=ai;coutb1 b2endl;答案:66603. #includevoid main() char a=abcdabcabfgacd;int i1=0, i2=0, i=0;while(ai) if(ai=a) i1+;if(ai=b) i2+;i+;couti1 i2 iendl;答案:4314六、第四章编写程序1. 编写一个函数,函数头格式为“voi

19、d fun4(char* a, int b)”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素中。答案:void fun4(char* a, int b)int i;for(i=0;i=0 & j=9) bj+;a+;C+语言程序设计复习课一、第五章单选题1下面的()函数头格式不正确。答案:DAAA(int a, int b)BAA(int a, int b=0)CAA(int a=0, int b=0)DAA(int a=0, int b)2下面的()保留字不能作为函数的返回类型。答案:CAvoidBintCnewDlong3下面的函数声

20、明中,“void BC(int a, int b);”的重载函数是()。答案:BAint BC(int x, int y);Bvoid BC(int a, char b);Cfloat BC(int a, int b, int c=0);Dvoid BC(int a, int b=0);4声明或定义一个内联函数时,必须在函数开始使用保留字()。答案:CAstaticBconstCinlineDextern 5在下面的函数声明中,()存在着语法错误。答案:DAint BC(int a, int);Bint BC(int, int);Cint BC(int, int=5);Dint BC(int

21、x; int y);6若定义了函数double *function(), 则该函数的返回值为()。答案:BA实数型B实数指针型C函数指针型D数组型7. 下列()的调用方式是引用调用。答案:CA形参和实参都是变量B形参是指针,实参是地址值C形参是引用,实参是变量D形参是变量,实参是地址值8为了提高程序的运行速度,可将不太复杂的函数实现为()。答案:AA内联函数B重载函数C递归函数D函数模板9下面正确的函数原型语句是()。答案:BAint Function(void a);Bvoid Function (int);Cint Function(a); Dvoid int(doub10. 函数调用fu

22、nc(exp1,exp2), exp3*exp4-exp5)中所含实参的个数为()个。答案:BA1B2C4D511. 若用数组名作为函数调用的实参,传递给形参的是()答案:AA数组的首地址B数组中第一个元素的值C数组全部元素的值D数组元素的个数12. 文件包含命令中被包含的文件的扩展名()。答案:CA只能是.hB不能是.hC可以是.h或.cppD只能是.cpp二、第五章填空题1在C+语言中,一个函数由_和_组成。答案:函数头、函数体 2在函数外定义的变量称为全局变量,若没有被初始化则系统隐含对它所赋的初值为_。答案:03函数被调用时,实参向形参的传送分为_和_两种传送方式。答案:引用、值4重载

23、一个函数的条件是:该函数必须在参数的_或参数的_上与其它同名函数有所不同。答案:个数、类型5如果一个函数只允许在同一程序文件中被调用,则应在该函数定义前加上的C+保留字为_。答案:static6如果一个函数直接或间接地调用自身,这样的调用被称为_调用。答案:递归7假定一个函数模板的定义为“templateT cubin(T n)return n*n*n ;”,则类型参数为_。答案:T8对于无返回值函数,定义函数时要用_作为函数类型。答案:void9函数形参的作用域是该函数的_。答案:函数体10C+提供的预处理命令有宏定义命令,条件编译命令和_。答案:文件包含命令11程序的编译是以_为单位进行的

24、。答案:文件三、第五章程序运行结果#include#includedouble SD(double a, double b, char op) double x;switch(op) case +: x=a+b; break;case -: x=a-b; break;case *: x=a*b; break;case /: if(b) x=a/b; else exit(1);break;default: exit(1);return x;void main() int x=25,y=10;coutSD(x,y,-) ;coutSD(x,y,*) ;coutSD(x+y,y,/)endl;答案:

25、15 250 3.52#includevoid main() int a=10, b=20;couta bendl;a*=3;int b=a+35;couta bendl;couta bendl;答案: 1020、3065 、30203#includevoid WF(int& x, int y) x=x+y;y=x+y;coutx,yendl;void main() int x=8, y=15;coutx,yendl;WF(x,y);x=2*x; coutx,yendl;答案: 8,15、 23,38 、46,154#includevoid SelectSort(int a, int n) i

26、nt i,j,k;for(i=1;in;i+) /进行n-1次选择和交换k=i-1;for(j=i;jn;j+)if(ajak) k=j;int x=ai-1; ai-1=ak; ak=x;void main() int i;int a6=20,15,32,47,36,28;SelectSort(a,6);for(i=0; i6; i+) coutai ;coutendl;答案:15 20 28 32 36 47四、第五章函数功能 1bool WB(int a, int n, int x) for(int i=0;in;i+)if(ai=x) return true;return false;

27、答案:从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。2templateint fun8(T a, int n, T key)int c=0for(int i=0;i=key) c+;return c;答案:函数模板,从一维数组an中统计出其值大于等于key的元素个数并作为函数值返回。3#includetemplateint WG(TT a, TT b) if(ab) return 1;else if(a=b) return 0;else return -1;答案:模板函数,比较两个变量a和b的大小,若ab则返回1,若a=b则返回0,若ab则返回-1。4. templatevo

28、id WE(Type a, Type b, int n) for(int i=0;in;i+)bn-i-1=ai;答案:模板函数,把数组a的每个元素按逆序放入数组b中。五、第六章单选题1假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大()字节。答案:CA1B2C4D82假定a为一个字符数组名,则元素a8相对于该数组首地址的字节地址为()。答案:CBA4B8C16D323假定a为一个整型数组名,则元素a4相对于该数组首地址的字节地址为()。答案:CCA4B8C16D324假定a为一个数组名,则下面的()表示有错误。答案:CBAaiB*a+C*aD*(a+1)5用

29、new运算符创建一维数组的正确语句是()。答案:CAint *p=new a10;B.int *p=new float10;Cint *p=new int10;D.int *p=new int5=1,2,3,4,5六、第六章填空题1假定p所指对象的值为25,p+1所指对象的值为46,则*p+的值为_。答案:252假定p所指对象的值为25,p+1所指对象的值为46,则*+p的值为_。答案:463假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)+;”语句后,p所指对象的值为_。答案:264假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p+);”语句后,p所指对

30、象的值为_。答案:255假定a是一个指针数组,则a+i所指对象的地址比a地址大_字节。答案:4*i6假定a是一个一维数组,则ai的指针访问方式为_。答案:*(a+i)7假定a是一个二维数组,则aij的指针访问方式为_。答案:*(ai+j) 或*(*(a+i)+j)七、第六章程序运行结果1#includevoid main() int a8=3,5,7,9,11,13,15,17;int *p=a;for(int i=0;i8;i+) coutsetw(5)*p+;if(i+1)%4=0) coutendl;答案: 3579 、11 13 15 172#includevoid main() in

31、t a9=2,4,6,8,10,12,14,16,18;for(int i=0;i9;i+=2) coutsetw(5)*(a+i) ;coutendl;答案:261014183#includevoid main() int x=20,y=40,*p;p=&x; cout*p ;*p=x+10; cout*p ;p=&y; cout*pendl;*p=y+20; coutx yendl;答案: 203040 、 30604. #includeint LB(int *a, int n) int s=1;for(int i=0;in;i+) s*=*a+;return s;void main() int a=1,2,3,4,5,6,7,8;int b=LB(a,5)+LB(&a3,3);coutb=bendl;答案:b=240C+语言程序设计复习课一、第六章写出函数功能1. #includeint* LJ(int a, int n) int k=0;for(int i=1;iak) k=i;return &ak;答案:求出数组a中n个元素的最大值元素,返回该元素的地址。2. #includevoid LI(int n) int* a=new intn;for(int i=0;iai;for(i=n-1;i=0;i-) cout*(a+i) ;cou

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号