C++程序设计题库V1.pdf
【课程信息】课程名称:C+程序设计课程编码:L131001前导课程:计算机导论、计算机基础课程说明:C+程序设计是为本科生开设的一门专业基础课程。通过本课程的学习,使学生能够掌握C+程序设计的基本原理、有关算法的模型和程序的设计方法。通过对较复杂的程序范例的剖析,使学生掌握结构化程序设计方法与面向对象的程序设计方法,并学会运用C+进行程序设计与开发的技巧。提高利用计算机语言分析问题和解决问题的能力,为学生应用开发和后续课的学习打下扎实的基础。任课教师:120123-黄超【录入】黄超【章节】第 1章 C+基础知识【知识点】1、C+程序的构成与书写形式;2、基本数据类型,常量、变量和表达式3、C+的标准输入输出【单选题】1、在 C+中,源程序变为可执行程序的正确顺序应该是()。A.编辑、链接、编译、执行 B.编辑、编译、链接、执行C.编译、编辑、链接、执行D.编译、链接、编辑、执行答案:B分值:2难度:1知识点:1评析:2、要把高级语言编写的源程序转换为目标程序,需要使用()。A.编辑程序B.驱动程序C.调试程序D.编译程序答案:D分值:2难度:1知识点:评析:3、下列关于C+与 C 语言的关系描述中,错误的是()。A.C 语言是C+语言的-个子集B.C+与 C 语言是兼容的C.C+对 C 语言进行了一些改进D.C+和 C 语言都是面向对象的答案:D4、下面为使用面向对象语言的正确理由是()。A.面向对象程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构B.程序语句比面向过程语言简单C.面向对象程序设计可以设计为自行修改错误D.面向对象程序很容易概念化答案:D分值:2难度:1知识点:评析:5、以下选项中,合法的用户标识符是()。A.longB._2TestC.3DmaxD.A.dat答案:B分值:2难度:1知识点:评析:6、下列描述中正确的是()。A.不是每个C+程序都必须包含预处理命令#includeB.C+程序必须有return语句C.C+程序中的变量必须定义在主程序内部D.C+程序中所使用的符号常量可以不进行定义答案:A分值:2难度:1知识点:评析:7、C+源程序文件的扩展名为()。A.CPPB.CC.DLLD.EXE答案:A分值:2难度:1知识点:评析:8、cout是 10流库预定义的()。A.类B.对象C.包含文件D.常量答案:B分值:2难度:1知识点:评析:9、C+对 C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念答案:D分 值:2难度:I知识点:评析:10、下列选项中,()是不合法的标识符.A.ProgramB.Obj23C.doubleD.B_C_D答案:C分值:2难度:1知识点:评析:11、下列标识符中,不合法的用户标识符为()。A.a!B._intC.a_10D.PAd答案:A分值:2难度:1知识点:评析:12、只能向终端输出一个字符的函数是()。A.pringf 函数B.putchar 函数C.getchar 函数D.scanf 函数答案:B分值:2难度:1知识点:评析:13、如果有整型量intx=5,执行情况x+=1.9 后 x 的值为()。A.6B.7C.结果不确定D.表达式非法答案:A分值:2难度:1知识点:评析:14、已知 a=5,b=3,表达式 a+=a*=+b*3 的值为()。A.40B.80C.100D.120答案:D分 值:2难度:知识点:评析:15、下列语句彼此等价的是()。A.!(a 0)和!(a 0)B.!(a=b)和(a b)&(a 10)II(a 0)和(a=0)D.!(a b)和 a v b答案:C16、定义如下变量:inti=2;intj=3;则 i(j的结果为()。A.0.66667B.OC.0.7D.0.6666666666.答案:B分值:2难度:知识点:评析:17、下面表达式的值为false的是()。A.1 3&5 4)C.!(5 8)II(2 c&b=c 的值是()。A.2B.-1C.0D.1答案:C分值:2难度:1知识点:评析:1 9、下列符号中,不是分隔符的是()。A.;B.()C./D.答案:C分值:2难度:1知识点:评析:2 0、在C+语言中,自定义的标识符()。A.能使用关键字并且不区分大小写B.不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写D.不能使用关键字并且区分大小写答案:D分值:2难度:1知识点:评析:2 1、字符串常量 ME的字符个数是()。A.4B.3C.2D.1答案:B分值:2难度:1知识点:评析:22、C+语言可执行程序从()开始执行。A.程序中第一条可执行语句B.x=0,y=0,z=0C.程序中的main函数D.包含文件中的第一个函数答案:C分值:2难度:1知识点:评析:23、下列符号中,不是分隔符的是()。A.;B.C.()D.)答案:B分值:2难度:1知识点:评析:2 4.在 C+语言中,自定义的标识符()。A.能使用关键字及标准标识符B.不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写D.不能使用关键字并且区分大小写答 案:D分值:2难度:1知识点:评析:25、在 C+语言里,一条语句以()字符作为结束符。A.,B.:C.D.无符号答 案:B分值:2难度:1知识点:评析:26、设以下变量都是int类型,则值不等于7 的表达式是()。A.x=y=6,x+y,x+1B.x=y=6,x+y,y+lC.x=6,x+l,y=6,x+yD.y=6,y+1 ,x=y,x+1答案:c分值:2难度:1知识点:评析:27 x=1 ,y=1 ,z=1,执行表达式 w=+xll+y&+z 后,x、y、z 的值分别为()。A.x=2,y=l,z=lB.x=2,y=2,z=2C.x=1,y=1,Z 1D.x=2,y=2,z=l答案:A分值:2难度:1知识点:评析:28、用逻辑表达式表示“大 于 10而小于2 0 的数”,正确的是()。A.10 x 10llx10&x20D.!(x=20)答案:D分值:2难度:1知识点:评析:29、设 inta=10,b=ll,c=12;表达式(a+b)c&b=c 的值是()。A.2B.OC.-2D.1答案:B分值:2难度:知识点:评析:30、整型变量i 定义后赋初值inti=2.8*6 的结果是()。A.12B.16C.17D.18答案:B分值:2难度:1知识点:评析:31、在C语言中合法的字符型常量是()。A.t B.AC.6 5D.a答案:A分值:2难度:1知识点:评析:32、C+语言程序的基本单位是()。A.程序行B.语句C.函数D.字符答案:B33、下列C+运算符中,优先级最高的是()。A.+(双目)B.*(单目)C.()函数是Windows应用程序开始执行时的入口点。A.WinMain()B.Win()C.Main()D.Windows()答案:A分值:2难度:1知识点:评析:41、下列数据中不合法的C+实 数 是()。A.3e-5B.6C.5.D.6答案:D分值:2难度:1知识点:评析:42、下列数据中合法的C+字符常量是()。A.asB.aC.123D.AV答案:D分值:2难度:1知识点:评析:43、表达式33/5的结果为()。A.6B.6.6C.7D.以上都不对答案:A分值:2难度:1知识点:评析:44、下列符号属于C+语言用户标识符的是()。A.voidB.templateC.IFD.switch答案:c分值:2难度:1知识点:评析:45、以下所列的C+语言常量中,错误的是()。A.OxFFB.1.2e0.5C.2LD.721答案:B分值:2难度:1知识点:评析:46、若 x=4,则 x*=x+2 的值为()A.36B.24C.18D.20答案:B分值:2难度:1知识点:评析:47、以下运算符中,运算对象必须是整型的是()A./B.%=C.!=D.=答案:B分值:2难度:1知识点:评析:48、能将数学表达式a=c=b表示为正确的C+表达式的是()A.a=c=bB.c=bC.c=a&c=a II c=b答案:c分值:2难度:1知识点:评析:49、以下选项中,与 k=n+完全等价的表达式是()。A.k=n,n=n+1B.n=n+l,k=nC.k=+nD.k+=n+l答案:A分值:2难度:1知识点:评析:【程序阅读】1、定义如下变量和数组:inti;intx33=123,4,5,6,7,8,9;则语句 for(i=0;i 3;i+)c o u t x il;的执行结果是答案:258分值:4难度:1知识点:评析:2、以 下 程 序 的 输 出 结 果 是。#includeusing namespace std;int main()int a=7,b=4,c=6,d;cout (d=a b?(a c?a:c):(b);)答案:7分值:4难度:1知识点:评析:【程序改错题】选做【编程题】选做【章节】第 2 章基本控制结构程序设计【知识点】1、算法的相关概念2、C+语句及应用3、C+程序的阅读与设计、调试【单选题】1、结构化程序设计所规定的三种基本控制结构是()。A.顺序结构、选择结构、循环结构B.输入、输出、处理C.for while、switchD.主程序、子程序、函数答案:A分值:2难度:1知识点:评析:2、当执行以下程序段时,循环体将执行().int main()int y=1;do y;while(y);)A.一次B.两次C.无限次D.系统将提示有语法错误答案:C分值:2难度:1知识点:评析:3.while(!x)中的(!x)与下面()条件等价.A.x=lB.x!=lC.x!=0D.x=0答案:D4、下面程序的输出结果是()。#includeusing namespace std;int main()int x=4;docout (x-=3)endl;while(x);)A.1B.1 和-3C.2 和 0D.死循环答案:A分值:2难度:1知识点:评析:5、下列语句段将输出字符+的个数为().inti=100;while(l)i-;if(i=0)break;cout)A.98 个B.99 个C.100 个D.101 个答案:B分值:2难度:1知识点:评析:6、t 为 int类型,进入循环while(t=l)之前,t 的值为0。则以下叙述中,正确的是()。A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式不合法D.以上说法都不对答案:B分值:2难度:1知识点:评析:7、为了避免在嵌套的条件语句if.else中产生歧义,C+规 定 的 if.else语句的匹配原则是()。A.else子句与所排位置相同的if配对B.else子句与其之前最近的if配对C.else子句与其之后最近的if配对D.else子句与同一行上的if配对答案:B分值:2难度:1知识点:评析:8、x=O;for(i=0;i 99;i+)if(i)x+;执行完程序段后,x 的值是().A.0B.30C.98D.90答案:C分值:2难度:1知识点:评析:9、下列程序的输出结果是()。#include using namespace std;void main()int x=1,a=0,b=0;switch(x)(case 0:b+;case 1 :a+;case 2:a+;b+;)cout “a二 ”a “b=”b;)A.a=2 b=lB.a=l b=lC.a=l b=0D.a=2 b=2答案:A分值:2难度:1知识点:评析:10、下列给字符数组进行初始化的语句中,()是正确的。A.char sl=abcd;B.char s23=xyz;C.chars3=a,x,y);D.char s423=xyz,mnp;答案:A分值:2难 度:1知识点:评析:11、下 列 程序 段 中 循 环 体 执 行 的 次 数 为()。int k=10;while(k=l)k=k-l;A.循环体语句一次都不执行B.循环体语句执行无数次C.循环体语句执行一次D.循 环 体 语 句 执 行9次答 案:A分值:2难 度:1知识点:评 析:12、执行以下程序段后,变 量i的 值 为(int i=2;switch(i)case 1 :i+=10;case 2:i+=10;case 3:i+;break;default:i+;break;A.24B.14C.12D.13答案:D分值:2难 度:1知识点:评 析:13、C+语言中规定,if语句的嵌套结构中,else总是与(A.与最 近 的i f配套B.与 第 一 个i f配套C.与 缩进 位置相同的if配套D.与最近 的 且 尚未配对的i f配套答案:D分值:2难 度:1知识点:评 析:)配 对。【程序阅读题】1、写出以下程序的输出结果#includeusing namespace std;int main()(int a=7,b=4,c=6,d;cout (d=a b?(a c?a:c):(b);)答案:7分值:4难度:1知识点:评析:2、写出以下程序的输出结果#include using namespace std;int main()int a=0,i;for(i=1;i 5;i+)switch(i)(case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;)cout a endl;return 0;)答案:31分值:4难度:2知识点:评析:【编程题】选做1、打印出所有的水仙花数。(所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身)答 案:pa201.c#includeusing namespace std;void main()int n,a,b,c;for(n=100;n1000;n+)a=n%10;b=n/10%10;c=n/100;if(a*a*a+b*b*b+c*c*c=n)c o u t n,t,;结果:结果文件名。可 选,程序输入结果文件。没 有 输 出 文 件 则 为【src】另 起 行 屏 幕 显 示结果。素材:分值:10难 度:知识点:评 析:2、输 入100到200之间的所有素数。(所谓素数是指除了 1和它本身外,不能被其他数所整除 的 数)答 案:pa202.c#includeusing namespace std;void main()int m;for(m=100;m=200;m+)if(prime(m)c o u t m,t,;int prime(int m)int i,k=l;if(m=l)k=0;for(i=2;im;i+)if(m%i=0)k=0;return k;结果。素材:分值:10难 度:知识点:评 析:3、打印如下图形:*答案:pa203.c#includeusing namespace std;int main()int i,j;for(i=l;i=4;i+)for(j=l;j=4-i;j+)cout,for(j=l,j=2*i-1 ;j+)cout,*coutendl;)return 0;结果。素材:分值:10难度:知识点:评析:【章节】第 3 章函数【知识点】1、C+函数的相关知识2、函数定义与函数的调用3、内联函数与函数重载【单选题】1、在 VisualBacic中,要使一个窗体不可见,但不从内存中释放,应使用的语句是()。A.ShowB.HideC.LoadD.Unload答案:B难度:1分值:2知识点:1评析:1、若有以下函数调用语句,在此函数调用语句中实参的个数是()。fun(a+b,(y=10,y),fun(n,k,d);A.3B.4C.5D.6答案:A分值:2难度:1知识点:评析:2、以下程序的运行结果是()。int main()int k=4,m=l,p;p=func(k,m);coutpendl;p=func(k,m);coutpendl;)func(int a,int b)static int m,i=2;i+=m+l;m=i+a+b;return(m);)A.8,17B.8,16C.8,20D.8,8答案:A分值:2难度:1知识点:评析:3.以下函数调用语句中,含有的实参个数是().func(rec 1 ,rec2+1,(rec3,rec4);A.3B.4C.5D.有语法错误 答案 A4.分析如下程序:#include int f(int bl,int n)int i,r=l;for(i=0;i=n;i+)r=r*b i ;r e t u r n r;)v o i d m a i n()i n t x,a =2,3,4,5 6,7,8,9 ;x=f(a,3);c o u t x e n d l;)上面程序的输出结果是()。A.7 2 0B.1 2 0C.2 4D.6答案:B分 值:2难度:I知识点:评析:5、下列函数参数默认值定义错误的是()。A.F u n(i n t x,i n t y=0)B.F u n(i n t x =1 0 0)C.F u n(i n t x =0,i n t y)D.F u n(i n t x =f()(假定函数f()已经定义)答案:C分值:2难度:1知识点:评析:6、在函数定义前加上关键字“i n l i n e”表示该函数被定义为()。A.重载函数B.内联函数C.成员函数D.普通函数答案:B分值:2难度:1知识点:评析:7、一个函数功能不太复杂,但要求被频繁调用,选用()。A.内联函数B.重载函数C.递归函数D.嵌套函数答案:A分值:2难度:1知识点:评析:8、下面有关重载函数的说法中正确的是()。A.重载函数必须具有不同的返回值类型B,重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同答案:C分值:2难度:1知识点:评析:9、在C+语言中,对函数参数默认值描述正确的是()。A.函数参数的默认值只能设定一个B.个函数的参数若有多个,则参数默认值的设定可以不连续C.函数必须设定默认值D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值答案:D分值:2难度:1知识点:评析:10考虑函数原型v o i d t e s t(i n t a,i n t b=7,c h a r z=*),下面的函数调用中,属于不合法调用的是A.t e s t(5);B.t e s t(5,8);C.t e s t(6;#);D.t e s t(O,O;*);答案:C分值:2难度:I知识点:评析:1 1、以下对C+函数的有关描述中,正确的是()。A.C调用函数时,只能把实参的值传给形参,形参的值不能传递给实参B.C+函数既可以嵌套定义乂可以递归调用C.函数必须有返回值,否则不能使用函数D.C+程序中有调用关系的所有函数必须放在同源程序文件中答案:A分值:2难度:1知识点:评析:12、在C+语言中函数返回值的类型是由(A.调用该函数时系统临时B.return语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型答 案:C分 值:2难 度:1知识点:评 析:13、以下程序的输出结果是()。int func(int a,int b)return a+b;int main()int x=6,y=7,z=8,r;r=func(func(x,y),z);coutrendl;)A.15B.20C.21D.31答 案:C分 值:2难 度:1知识点:评 析:14、以下程序的输出结果是()。void fun(int a,int b,int c)a=456;b=567;c=678;int main()int x=10,y=20,z=30;fun(x,y,z);c o u t z,y,x en d l;)A.30,20,10B.10,20,30C.456,567,678D.678,567,456答 案:A分 值:2难 度:1知识点:评 析:)决定的。)15、C+语言中,形参与实参之间的数据传递方式是(A.只能按值传递B.只能按地址传递C.既可以按值传递也可以按地址传递D.以上说法都不对答案:C分值:2难度:1知识点:评析:16、分析以下程序:#include void fun(int num)coutnum endl;void fun(char ch)cout(ch+1 )endl;int main()fun(A);return 0;)以上程序的输出结果是()。A.65B.66C.AD.B答案:B分值:2难度:1知识点:评析:17、一个函数为voidf(intx,chary=匕),另一个函数为void f(in t),则它们()。A.不能在同一程序块中定义B,可以在同一个程序块中定义并可重载C.可以在同一个程序块中定义,但不可以重载D.以上说法均不正确答 案:A分值:2难度:1知识点:评析:18函数定义为Fun(int&i),变量定义n=1 0 0,则下面调用正确的是()。A.Fun(20)B.Fun(20+n)C.Fun(n)D.Fun(&n)答案:C分值:2难度:1知识点:评析:19、当一个函数无返回值时,函数的类型应为()。A.任意B.voidC.intD.char答案:B分值:2难度:1知识点:评析:20、下列带缺省值参数的函数说明中,正确的说明是()。A.int Fun(int x,int y=2,int z=3);B.int Fun(int x=l,int y,int z=3);C.int Fun(int x,int y=2,int z);D.int Fun(int x=l,int y,int z=3);答案:A分值:2难度:1知识点:评析:21、下列函数参数默认值定义错误的是()。A.Fun(int x,int y=0)B.Fun(int x=100)C.Fun(int x=0,int y)D.Fun(int x=f()(假定函数f()已经定义)答案:C分值:2难度:I知识点:评析:22、在函数定义前加上关键字“inline”表示该函数被定义为()。A.重载函数B.内联函数C.成员函数D.普通函数答案:B分值:2难度:1知识点:评析:2 3、一个函数功能不太复杂,但要求被频繁调用,选用()。A.内联函数B.重载函数C.递归函数D.嵌套函数答案:A分值:2难度:1知识点:评析:2 4、下面有关重载函数的说法中正确的是()。A.重载函数必须具有不同的返回值类型B,重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同答案:C分值:2难度:1知识点:评析:2 5、在C+语言中,对函数参数默认值描述正确的是()。A.函数参数的默认值只能设定一个B.一个函数的参数若有多个,则参数默认值的设定可以不连续C.函数必须设定默认值D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值答案:D分值:2难度:1知识点:评析:2 6、考虑函数原型v o i d t e s t(i n t a,i n t b=7,c h a r z=*),下面的函数调用中,属于不合法调用的是()。A.t e s t(5);B.t e s t(5,8);C.t e s t(6,#);D.t e s t(O,O;*);答案:c分值:2难度:1知识点:评析:2 7、以下对C+函数的有关描述中,正确的是()。A.C调用函数时,只能把实参的值传给形参,形参的值不能传递给实参B.C+函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.C+程序中有调用关系的所有函数必须放在同一源程序文件中答案:A分值:2难度:1知识点:评析:28、在 C+语言中函数返回值的类型是由()决定的。A.调用该函数时系统临时B.return语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型答案:C分值:2难度:1知识点:评析:29、以下程序的输出结果是()。int func(int a,int b)return a+b;int main()int x=6,y=7,z=8,r;r=func(func(x,y),z-);coutrendl;)A.15B.20C.21D.31答案:C分值:2难度:1知识点:评析:30、以下程序的输出结果是()。void fun(int a,int b,int c)a=456;b=567;c=678;int main()int x=10,y=20,z=30;fun(x,y,z);c o u t z,y,x en d l;A.30,20,10B.10,20,30C.456,567,678D.678,567,456答案:A分值:2难度:1知识点:评析:【程序阅读、分析题】1、写出下面程序的运行结果#include using namespace std;int fun(int n)(static int m=2;m=m+n;return m;)int main()(int a=3,b=4;int x;x=fun(a);x=fun(b);coutxendl;return 0;)答案:9分值:4难度:3知识点:评析:2、写出以下程序的输出结果#include using namespace std;void fun()static int a=0;a+=2;couta;int main()int cc;for(cc=1 ;cc4;cc+)fun();coutendl;return 0;)答案:246分值:4难度:3知识点:评析:3、阅读下面程序:#include using namespace std;long fib(int n)if(n2)return(fib(n-l)+fib(n-2);elsereturn 2;)int main()coutfib(3)endl;return 0;)则程序的输出结果是:答案:4分值:4难度:1知识点:评析:4、写出程序运行的结果。#includeusing namespace std;int i=l;int main(void)(int a=3;int b=-10;static int c=0;void other(void);coutnMAINn;coutH i:i u a:n a+n b:b n c:u c en d l;c=c+8;other();coutn-MAINnn;coutn i:n i u a:+a b:b n c:u c en d l;i=i+10;other();system(,pause,);return 0;)void other(void)(static int a=2;static int b;int c=10;a+=2;i+=30;c+=5;coutHOTHERnH;cout i:a:n a n b:b n c:cendl;b=a;)答案:MAINi:1 a:3 b:-10 c:0OTHERi:31 a:4 b:0 c:15MAINi:31 a:5 b:-10 c:8OTHERi:71 a:6 b:4 c:15分值:4难度:4知识点:评析:5、写出下列程序的运行结果。#include using namespace std;int fun(int x)(if(x=1)return 1;)elsereturn x*fun(x-1);int main()int n;n=fun(4);cout n endl;return 0;)答案:24分值:2难度:1知识点:评析:6、写出以下程序的执行结果#include using namespace std;int maxi(int x,int y,int z)(return(yz?y:z);)double max 1 (double x,double y)(return(xy?x:y);)double maxi(double x,double y,double z)(double templ=maxl(x,y);return(yz?y:z);)int main()(int x2;double d 1,d2;x2=maxi(2,3,4);dl=max 1(2.1,5.6);d2=maxl(12.3,3.4,7.8);cout x2=x 2 endl;cout dl=d l endl;cout d2=d2 endl;system(pause”);答案:x2=4d 1=5.6d2=7.8分值:4难度:3知识点:评析:7、写出下列程序的运行结果。#include using namespace std;int fun(int x)(if(x=0)(return 0;)elsereturn x*x+fun(x-1);)int main()(int x=fun(3);cout x endl;return 0;)答案:14分值:4难度:2知识点:评析:8、写出下列程序的运行结果。#include using namespace std;int fun(int a=10,int b=100)(return a+b;int main()int x=100;cout fun(x)endl;return 0;)答案:200分值:4难度:1知识点:评析:9、写出下列程序的运行结果。#include using namespace std;void fun(int a,int n,int&s)(s=0;for(int i=0;i n;i+=2)s+=aij;)int main()(intx5=2,7,5,4,9);int m;fun(x,5,m);cout m endl;return 0;)答案:16分值:2难度:1知识点:评析:10、写出下列程序的运行结果。#include using namespace std;int max(int x,int y)(return x y?x:y;)int max(int x,int y,int z)int t;t=max(x,y);return t z?t:z;int main()(int x=5,y=8,z=3;cout max(x,y,z)endl;return 0;)答案:8分值:2难度:1知识点:评析:11、运行下列程序long fib(int g)switch(g)case 0:return 0;case 1 :return 1;case 2:return 1;)return(fib(g-l)+fib(g-2);)main()long k;k=fib(5);coutkendl;)其输出结果是:答案:5分值:4难度:1知识点:评析:【编程题】选做1、设计两个函数,分别求两个数的最大公约数和最小公倍数。答案:pa301.txt#includeusing namespace std;maxCommonDevisor(int n,int m)int i;f o r(i=n;i =l;i-)i f(n%i=O&m%i=O)b r e a k;r e t u r n i;m i n C o m m o n M u l t i p l e(in t n jn t m)(in t i;fo r(i=n;i=n*m;i+)if(i%n=O&i%m=O)br eak;r et u r n i;in t m ain()in t ij;co u t v 请输入两个整数:en dl;cin i j;c o u t ”最大公约数:n m ax C o m m o n Dev is o r(i,j)v v M v v 最小公倍数:u m in C o m m o n M u l t ip l e(i,j)en dl;r et u r n 0;分值:10难度:知识点:评析:2、设计两个重载函数,分别求两个整数相除的余数和两个实数相除的余数。两个实数求余定义为实数四舍五入取整后相除的余数。答案:p fa302.t x t#in cl u de#in cl u deu s in g n am es p ace s t d;m o d(in t n,in t m)r et u r n n%m;)r o u n d(do u bl e x)/四舍五入函数if(x =0)r et u r n in t(x+0.5);el s e r et u r n in t(x-0.5);)m o d(do u bl e x,do u bl e y)r et u r n r o u n d(x)%r o u n d(y);)in t m ain()co u t ,m o d(8,3)=,m o d(8,3)en dl;c o u t nm o d(8.2,3.6)=m o d(8.2,3.6)en dl;c o u t nm o d(-8.2,-2.6)=n m o d(-8.2,-2.6)en dl;r et u r n 0;)分值:10难度:知识点:评析:【程序改错题】选做【章节】第4章 数 组【知识点】1、数组的相关概念2、数组的定义及使用方法3、C+字符串4、数组的应用【单选题】1、若有以下程序:#in cl u de u s in g n am es p ace s t d;in t m ain()(in t I;in t a 3 3=r;2,;3,;4,;5,6,7,8,/9,);fo r(I=0;I 3;I+)co u t a i l ”;co u t en dl;r et u r n 0;)执行后的输出结果是()oA.49 5 2 5 5B.1 4 7C.2 58D.5 0 5 3 5 6答案:C分值:2难度:1知识点:评析:2、下面程序的运行结果是()。#in cl u dev o id m i an ()char ch 7=,0,&ch I =,9,;I+=2)s=10*s+ch I -0,;c o u t s;A.1B.12a5 6 bC.12ab5 6D.125 6答案:A分值:2难度:1知识点:评析:3、若有以下程序:v o id m ain ()in t aU=4,0,2,3,l),I,j,t;fo r(I=l;I =O&t a j|)a j+l =a j;a|jJ=t;j-;)则该程序段的功能是()oA.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)答 案:B分值:2难度:1知识点:评析:4、若有说明“in t a 3 4=0;,则下面正确的是()。A.只有元素a可得到初值0B.此说明语句不正确C.数组a各元素都可得到初值,但其值不一定是0D.数组a中每个元素均可得到初值0答 案:D分值:2难度:1知识点:评析:5、以下程序的输出结果是(#in cl u deint main()char b=,Hello,you”;b5=0;cout b;)A.Hello,youB.HelloC.HeloOyouD.Hell答案:B分值:2难度:1知识点:评析:6、当执行下面的程序时,如果输入A B C,则输出结果是()。#include#includeint main()(char ss10=Ml,2,3,4,5n;cin ss;strcat(ss,“6789”);cout ss;)A.ABC6789B.ABC67C.12345ABC6D.ABC456789答案:A分值:2难度:1知识点:评析:7、以下程序的输出结果是()o#includeint main()(int b33=0,l,2,0,l,2,0,l,2,I,j,t=l;for(I=0;I3;i+)for(j=I;j;C.char*str=,good!;D.charstr5=g,o,o,d;答案:A分值:2难度:1知识点:评析:9、以下不能正确定义二维数组的选项是()。A.协22=1,2;B.inta22=l,2,3);C.inta2=l,2,3,4;D.inta2=l,2,3,4);答案:C分值:2难度:1知识点:评析:10、在“intb口 3=1,3,2,4,5,6,0丁,中 2北 2的值是()。A.0B.5C.6