广州电大-期末c++综合复习答案.docx
C+语言程序设计复习课一、第一章单项选择题1 .在每个C+程序中都必须包含有这样一个函数,该函数的函数名为()0答案:AA.mainB.MAINC.nameD.function2 .C+源程序文件的缺省扩展名为()。答案:AA.cppB.exeC.objD.Iik3 .程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。答案:DA.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车4 .C+程序的根本模块为()o答案:DA.表达式B.标识符C.语句D.函数5 .每个C+程序文件的编译错误分为()类。答案:B/warningerrorA.1B.2C.3D.4二、第一章填空题1. C+语言是在语言的根底上开展起来的。答案:C2. C+语言中的每条根本语句以作为结束符。答案:;1或分号)3 .C+语言中的每条复合语句以作为结束符。答案:(或右花括号)4 .在C+每个程序行的后面或单独一行的开始使用注释的标记符为0答案:5 .单行或多行注释的开始标记符为>结束标记符为o答案:/*、*/6 .在一个C+程序文件中,假设要包含另外一个头文件或程序文件,那么应使用以标识符开始的预处理命令。Sinclude7 .C+程序中的所有预处理命令均以字符开头。#8 .在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是定义的头文件。用户(或编程者)9 .一个函数定义由一和两局部组成。答案:函数头、函数体10 .用于输出表达式值的标准输出流对象是,用于从键盘上为变量输入值的标准输入流对象是_。答案:COUt、cin11 .当不需要函数返回任何值时,那么应使用标识符定义函数类型。答案:VOid三、第二章单项选择题1 .设X和y均为bool量,那么X&&y为真的条件是()。答案:AA.它们均为真B.其中一个为真C.它们均为假D.其中一个为假2 .设X和y均为bool量,那么XIIy为假的条件是()。CA.它们均为真B.其中一个为真C.它们均为假D.其中一个为假3 .设有语句winta=12;a+=a*a,那么执行结束后,a的值为()<,CA.12B.144C.156D.2884 .x>0&&x<=10的相反表达式为()0AA.x<=0IIx>10B.x<=0&&x>10C.x<=0IIx<=10D.x>0&&x>105 .x>0IIy=5的相反表达式为()oBA.x<=0y!=5B.x<=O&&y!=5C.x>OIIy!=5D.x>O&&y=56.字符串"a+b=12n”的长度为()。答案:BA.6B.7C.8D.97.在以下的常值常量定义中,错误的定义语句是()。答案:CA.constM-10;B.constintM-20;C.constcharch;D.constboolmark=true;8,枚举类型中的每个枚举常量的值都是一个()。答案:AA.整数B.浮点数C.字符D.逻辑值9.含随机函数的表达式rand()%20的值在()区间内。答案:CA.19B.20C.019D.020四、第二章填空题1 .十进制数25表示成符合C+语言规那么的八进制数为o答案:0312 .十进制数25表示成符合C+语言规那么的十六进制数为一答案:0x193 .在c+语言中,操纵符表示输出一个换行符。答案:endl4 .执行"cout<<char('A'+2)<<endl;"语句后得到的输出结果为。答案:C5 .A'"'Z'的ASCll码为6590,当执行“intx='C'+5;"语句后X的值为。答案:726 .'A''Z'的ASCn码为6590,当执行"charch=14*5+2;COUt<<ch<<endl语句序列后,得到的输出结果为O答案:H7 .假定一个枚举类型的定义为“enumRAab,ac,ad,ae;",那么枚举常量ac的值为_。答案:18 .假定一个枚举类型的定义为"enumRBal,a2=3,a3,a4x=a3;",那么X的值为。答案:49 .char、short>int%floatdouble类型的大小分别为_个字节。10 .十进制常数28和3.26的类型分别为和。答案:int、double11 .假设需要定义一个常值常量,并且使C+能够进行类型检查,那么应在定义语句的开始使用保存字。答案:COnSt/ttdefineMAX10012 .使用ConSt语句定义一个常值常量时,那么必须对它同时进行一。答案:初始化如COnStintMM=20;13.执行“intx=45,y=13;cout«x/y;"语句序列后得到的输出结果为。答案:314.执行“intx=45,y=13;COUt<<x%y;"语句序列后得到的输出结果为。答案:615 .假定x=5,那么表达式2+x+的值为o答案:716 .假定y=10,那么表达式+y*3的值为。答案:3317 .表达式float(25)/4的值为。答案:6.2518 .表达式int(14.6)%5的值为。答案:419 .表达式x=x+y表示成复合赋值表达式为_答案:x+=y20 .表达式x=x+l表示成增量表达式为。答案:+X21 .增量表达式+y表示成赋值表达式为_一。答案:y=y+l22 .关系表达式(X=O)的等价表达式为。答案:(!x)23 .关系表达式(x!=0)的等价表达式为一,o答案:(x)24 .假定不允许使用逻辑非操作符,那么关系表达式x+y>5的相反表达式为。答案:x+y<=525 .假设x=5,y=10,那么x>y逻辑值为一。答案:false或026 .假设x=5,y=10,那么x!=y的逻辑值为。答案:true或127 .假定x=5,那么执行“a=(x?10:20);语句后a的值为。答案:1028 .执行“typcdefStDataTypc;"语句后,在使用int定义整型变量的地方都可以使用来定义整型变量。答案:DataType五、第三章单项选择题1 .当处理特定问题时的循环次数时,通常采用()来解决。答案:AA.for循环B.While循环C.do循环D.SWitCh语句2 .循环体至少被执行一次的语句为()语句。答案:CA.for循环B.While循环C.do循环D.任一种循环3 .在SWitCh语句的每个CaSe块中,假定都是以break语句结束的,那么此SwilCh语句容易被改写为()语句。答案:BA.forB.ifC.doD.while4 .for语句能够被改写为()语句。答案:DA.复合B.ifC.switchD.while5 .循环语句“foNinti=0;i<n;i+)S;"中循环体S被执行的次数为()。答案:CA.1B.n-1C,nD.n+16 .下面循环语句执行结束后输出的i值为()。答案:Bfor(inti=0;i<n;i+)if(i>n2)cout<<i<<endl;break;)A.n/2B.n/2+1C.n2-lD.11-17 .在下面循环语句中内层循环体S语句的执行总次数为()。答案:Dfor(inti=0;i<n;i+)for(intj=i;j<n;j+)S;/n+(n-l)+.+1A.n2B.(n+1)/2C.n(n-l)2D.n(n+l)28 .在下面的while循环语句中,其循环体被执行的次数为()。答案:Cinti=0,s=0;while(s<20)i+;s+=i;/s=l,3,6,10,15,21A.4B.5C.6D.79 .在下面的do循环语句中,其循环体被执行的次数为()。答案:Ainti=0;doi+;while(i*i<10)i=0,1,2,3A.4B.3C.5D.2六、第三章填空题1 .在SWitCh语句中,每个语句标号所含保存字CaSe后面的表达式必须是一整型常量2 .在if语句中,每个else关键字与它前面同层次并且最接近的关键字相配套。if3 .作为语句标号使用的C+保存字CaSe和default只能用于一语句的定义体中。SWitCh4 .执行SWitCh语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)执行。不停止5 .假设WhiIe循环的“头为"while(i+<=10)",并且i的初值为0,同时在循环体中不会修改i的值,那么循环体将被重复执行一次后正常结束。116 .假设do循环的"尾"为"while(+i<10)”,并且i的初值为0,同时在循环体中不会修改i的值,那么循环体将被重复执行次后正常结束。107 .当在程序中执行到语句时,将结束本层循环类语句或SWitCh语句的执行。答案:break8 .当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。答案:continue9 .在程序中执行到语句时,将结束所在函数的执行过程,返回到调用该函数的位置。答案:return10 .在程序执行完一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C+集成开发环境界面窗口。答案:主(或main)七、第三章程序运行结果11 #include<iostream,h>voidmainO(intx=5;switch(2*-3)case4:cout<<x<<,'case7:cout<<2*x+l<<,'case10:cout<<3*-l<<,;break;default:cout<<*defaultzz<<endl;CoUt“switchend.z,<<endl;答案:1114switchend.C+语言程序设计复习课一、第三章函数功能12 ttinclude<iostream.h>intSA(inta,intb)if(a>b)return1;elseif(a=b)return0;elsereturnT;答案:比拟两个整型参数a和b的大小,假设a>b那么返回L假设a=b那么返回0,假设a<b那么返回-1。13 intSC(inta,intb,intc)if(a>=b&&a>=c)returna;if(b>=a&&b>=c)returnb;returnc;)答案:求出a,b,c三个数中的最大值并返回。14 intSE(intn)n为大于等于1的整数intx;cin>>x;if(n=l)returnx;intm=x;while(-n)cin>>x;m+=x;returnm;答案:求出从键盘上输入的n个整数之和并返回。15 doubleSF(doublex,intn)n为大于等于0的整数doublep=l,s=l;for(inti=l;i<=n;i+)p*=x;s+=p(i+l);returns;答案:计算l+x2+x23+.+xn(n+l)的值并返回。16 ttinclude<math.h>boolSG(intx)x为大于等于2的整数inta=int(sqrt(x);/取X的平方根inti=2;while(i<=a)if(x%i=0)break;i+;if(i<=a)return0;elseretu