2021知到答案【计算机编程】智慧树网课章节测试答案_第1页
2021知到答案【计算机编程】智慧树网课章节测试答案_第2页
2021知到答案【计算机编程】智慧树网课章节测试答案_第3页
2021知到答案【计算机编程】智慧树网课章节测试答案_第4页
2021知到答案【计算机编程】智慧树网课章节测试答案_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 页2021知到答案【 计算机编程 】智慧树网课章节测试答案 第一章 章节测试 1、选择题:有定义 int a=9,b=6,c; 执行语句 c=a/b+0.5;后,c 的值为 ( )。选项:A:1.4B:2.0C:1D:2 答案: 【1】2、选择题:C+语言源代码文件扩展名为( )。选项:A:.objB:.exeC:.cppD:.c+答案: 【.cpp】3、选择题:以下用户标识符中,合法的是( )。选项:A:IntB:%123C:LingliD:moon答案: 【moon】4、选择题:int x=10,y=5;则表达式x+=x*=y+8的值为( )。选项:A:230B:260C:150D:1

2、30答案: 【260】5、选择题:5、有定义 int a=9,b=6,c; 执行语句 c=a/b+0.5;后,c 的值为 ( )。选项:A:1.4 B:2C:2.0D:1答案: 【1】6、选择题:以下标识符中,不能作为合法的 C+用户定义标识符的是( )。选项:A:signedB:answerC:toD:_if答案: 【signed】7、选择题:下列字符串中可以用作 C+标识符的是( )。 选项:A:deleteB:_256C:5charD:class答案: 【_256】8、选择题:下列 C+标点符号中表示一条预处理命令开始的是( )。选项:A:/B:C:;D:#答案: 【#】9、选择题:9、

3、以下程序的运行结果是( )。 main() int a,b,d=241; a=d/100%9; b=(-1)(-1); couta”,”b;选项:A:6,1B:2,1C:6,0 D:2,0答案: 【2,1】 10、选择题:语句while(!E); 中的表达式 !E等价于( )选项:A:E!=0B:E!=1C:E=0D:E=1答案: 【E=0】11、选择题:下面程序段的运行结果是:( )。 int a=1;b=2;c=2; while (abc)t=a;a=b;b=t;c;couta”,”b”,”c;选项:A:2,1,0B:1,2,0C:1,2,1D:2,1,1答案: 【1,2,0】12、选择题

4、:设有程序段: int x=0,s=0;while(!x!=0) s+=+x;couts;输出( )。选项:A:运行程序段后输出1 B:程序段执行无限次C:运行程序段后输出0D:程序段中的掌握表达式是非法的答案: 【运行程序段后输出1 】13、选择题:以下程序的正确运行结果是( )。 #includestdio.h void num() extern int x,y; int a=15,b=10; x=a-b; y=a+b; int x,y; void main() int a=7,b=5; x=a+b; y=a-b; num(); coutx”,”yendl; 选项:A:不确定B:12,2C

5、:1,12D:5,25答案: 【5,25】14、选择题: 已知: int m=5;下列表示引用的方法中,正确的是:( )。选项:A:int Z;B:int X=m;C:float f=m;D:int t=5;答案: 【int X=m;】15、选择题:C+语言源程序的基本单位是( )。 选项:A:子程序B:标识符C:函数D:过程答案: 【函数】16、选择题:下面程序段的输出结果是( ) 。 char a7=”abcdef”;char b4=”ABC”;strcpy(a,b);couta;选项:A:eB:fC:bD:0答案: 【f】17、选择题:下面程序段的输出结果是( ) 。char c =”t

6、v0willn”;coutstrlen(c);选项:A:6B:14C:9D:3答案: 【3】 第二章 章节测试 1、选择题:结构化程序设计所规定的三种基本掌握结构是:( ) 。选项:A:挨次、选择、循环B:树形、网形、环形C:主程序、子程序、函数D:输入、处理、输出答案: 【挨次、选择、循环】$2、选择题:下面程序的输出结果是( )。 main ( ) char str =”SSWLIA” , C; int k; for (k=2;(c=strk)!=0;k+) switch (c) case I : +k; break ; case L: continue; default : putcha

7、r(c) ; continue ; putchar(*); 选项:A:W*B:WC:W*AD:SW答案: 【W*】3、选择题:C+语言中,while和do-while循环的主要区别是:( )。选项:A:do-while的循环体至少无条件执行一次B:while 的循环掌握条件比do-while的循环掌握条件严格C:do-while 允许从外部转到循环体内D:do-while的循环体不能是复合语句答案: 【do-while的循环体至少无条件执行一次】4、选择题:下面程序段执行完后,x 的值是( )。 int x=0; for(int i=0;i90;i+) if(i) x+; 选项:A:89B:0

8、C:90D:30答案: 【90】5、选择题: 以下关于 do-while 循环的不正确描述是( )。选项:A:do-while 的循环体可以是复合语句B:do-while 循环由 do 开始,至 while 结束,在 while(表达式)后面不能写分号C:do-while 的循环体至少执行一次D:在 do-while 循环体中,肯定要有能使 while 后面表达式的值变为零(“ 假”)) 的操作答案: 【do-while 循环由 do 开始,至 while 结束,在 while(表达式)后面不能写分号】6、选择题:运行下面程序,程序运行结果是( )。 #include iostream usi

9、ng namespace std;int main() static int a4=7,8,9,b4=4,5,6,c4,i; for(i=0;i3;i+) ci=ai+bi;coutci ; coutendl; return 0; (选项:A:11 13 15B:0C:11 13D:15答案: 【0】7、选择题:以下程序的输出是( )。#includestdio.h main() int x=1; if(x=2) cout“OK”; else if(x2) coutx; else cout“Quit”; 选项:A:1B:OKC:QuitD:无输出结果答案: 【OK】8、选择题: 若w,x,y,

10、z,m均为int 型变量,则执行下面语句后的m值为( )。 w=1;x=2;y=3;z=4; m=(wx)?w:x; m=(my)?m:y; m=(mz)?m:z;选项:A:2B:4C:1D:3答案: 【1】9、选择题:若u、w、x、y均是正整型变量,则以下正确的switch语句是( )。 选项:A:switch(x*x+y*y) case 3: case 3: w=x+y; break; case 0: w=y-x; break; B: switch(pow(x,2)+pow(y,2) case 1: case 3: w=x+y; break; case 0: case 5: w=x-y;

11、C:switch x default : u=x+y; case 10 : w=x-y; break; case 11 : u=x*y; break; D:switch(x+y) case 10 : u=x+y; break;case 11 : w=x-y; break;答案: 【switch(x+y) case 10 : u=x+y; break;case 11 : w=x-y; break;】10、选择题:语句 while(!E);中的表达式!E等价于( )。A)E=0 B)E!=1 C)E!=0 D)E=1选项:A:E!=1B:E=0C:E!=0D:E=1答案: 【E=0】11、选择题:

12、 以下程序段( )。 x=-1; do x=x*x; while(!x);选项:A:是死循环B:循环执行二次C:有语法错误D:循环执行一次答案: 【循环执行一次】 第三章 章节测试 1、选择题: 以下正确的说法是( )。选项:A:系统根本不允许用户重新定义标准库函数B:用户可以重新定义标准库函数,若如此,该函数将失去原有含义C:用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调D:用户若需要调用标准库函数,调用前必需重新定义答案: 【用户可以重新定义标准库函数,若如此,该函数将失去原有含义】2、选择题:以下正确的描述是( )。 在C+语言中 选项:

13、A:函数的定义和函数的调用均可以嵌套B:函数的定义和函数的调用均不可以嵌套C:函数的定义可以嵌套,但函数的调用不可以嵌套D:函数的定义不可以嵌套,但函数的调用可以嵌套答案: 【函数的定义不可以嵌套,但函数的调用可以嵌套】3、选择题:以下程序的正确运行结果是( )。 void main() int a=2,i; for(i=0;i3;i+) coutf(a); f(int a) int b=0; static int c=3; b+; c+; return(a+b+c); 选项:A:7 8 9B:7 10 13C:7 7 7D:7 9 11答案: 【7 8 9】4、选择题:以下程序的正确运行结果

14、是( )。 #includestdio.h func(int a,int b) static int m=0,i=2; i+=m+1; m=i+a+b; return(m); void main() int k=4,m=1,p; p=func(k,m); coutp”,”; p=func(k,m); coutpendl; 选项:A:8,20B:8,8C:8,16D:8,17答案: 【8,17】5、选择题:C+语言规定,函数返回值的类型是由( )。 选项:A:调用该函数时系统临时决定B:调用该函数时的主调函数类型所决定C:在定义该函数时所指定的函数类型所决定D:return语句中的表达式类型所决

15、定答案: 【在定义该函数时所指定的函数类型所决定】6、选择题:下面函数调用语句含有实参的个数为( )。 func(exp1,exp2),(exp3,exp4,exp5); 选项:A:2B:4C:5D:1答案: 【2】7、选择题:C+语言中,以下不正确的说法是( ) 。 选项:A:形参应与其对应的实参类型一致B:实参可以为任意类型C:形参可以是常量、变量和表达式D:实参可以是常量、变量和表达式答案: 【形参可以是常量、变量和表达式】8、选择题:在计算机高级语言 C+中,下面对函数不正确的描述是( )。 选项:A:允许函数递归调用B:函数形参的作用范围只是局限于所定义的函数内C:当用数组名作形参时

16、,形参数组元素值的转变可以使实参数组元素的值相 应转变D:被调用函数必需位于主函数之前答案: 【被调用函数必需位于主函数之前】9、选择题:对下面程序段的描述正确的是( )。 #includeiostream using namespace std; int Fun(int x, int y) return x+y; int main() int i=10; coutFun(i+, i)endl; return 0; 选项:A:程序输出结果不能确定B:程序输出结果是 22C:程序输出结果是 21D:程序输出结果是 20 答案: 【程序输出结果是 20 】10、选择题:下列有关形式参数和实际参数的

17、说法正确的是( )。 选项:A:即便是在发生函数调用时,函数中的形参也不会安排内存章。B:一般情况下,在调用函数结束后,形参所占的内存章不会被释放C:定义函数指定的形参,会始终占用内存中的存储章。D:在定义函数时,必需在函数首部指定形参的类型。答案: 【在定义函数时,必需在函数首部指定形参的类型。】11、选择题:若使用一维数组名作为函数实参,则以下正确的说法是( )。 选项:A:实参数组类型与形参数组类型可以不匹配B:必需在主调函数中说明此数组的大小C:实参数组与形参数组名必需一致D:在被调函数中,不需要考虑形参数组的大小答案: 【必需在主调函数中说明此数组的大小】12、选择题:以下正确的说法

18、是( )。 选项:A:实参和与其对应的形参共占用一个存储章;B:实参和与其对应的形参各占用独立的存储章;C:形参是虚拟的,不占用存储章。D:只有当实参和与其对应的形参同名时才共同占用存储章;答案: 【实参和与其对应的形参各占用独立的存储章;】13、选择题: 以下正确的说法是( )。 假如在一个函数的复合语句中定义了一个变量,则该变量( )。选项:A:为非法变量B:在该函数中有效C:只在该复合语句中有效D:在本程序范围内均有效答案: 【只在该复合语句中有效】 第四章 章节测试 1、选择题:下面关于C+字符数组的叙述中,错误的是( )。选项:A:字符数组的字符可以整体输入、输出B:可以在赋值语句中

19、通过赋值运算符“=”对字符数组整体赋值C:可以用关系运算符对字符数组比较大小D:字符数组可以放字符串答案: 【可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值】2、选择题:若有数组名作为函数调用的实参,则传递给形式参数的是( )。选项:A:数组元素的个数B:数组中全部元素的值C:数组的首地址D:数组第1个元素的值答案: 【数组的首地址】3、选择题:已定义一个数组int x10;则对此数组元素正确的引用是( )。选项:A:coutx10;B:int b;b=x1+x;C:coutx3+7;D:coutx0;答案: 【coutx0;】4、选择题:假定a为一个整型数组名,则元素a4的地址可表示

20、为( )。选项:A:a+16B:a+32C:a+4D:a+8答案: 【a+4】5、选择题:设有数组定义char a=China;则数组a所占的空间字节数为( )。选项:A:6个字节B:7个字节C:5个字节D:4个字节答案: 【6个字节】6、选择题:设有定义语句int a33,则以下叙述错误的是( )。选项:A:a1是由3个整型元素组成的一维数组B:a0代表一个地址常量C:可以用a2=1;的形式给数组元素赋值D:a数组可以看成是由a0、a1、a23个元素组成的一维数组答案: 【可以用a2=1;的形式给数组元素赋值】7、选择题:有如下声明语句int B33=1,2,0,3,2,4,5,10;那么B

21、11的值是( )。选项:A:3B:10C:2D:1答案: 【2】8、选择题:以下对一维数组a的正确定义是( )。选项:A:int n=9, an;B:int n; cinn; int an;C:const int N=9; int aN;D:int a(9);答案: 【const int N=9; int aN;】9、选择题:运行下面程序,程序运行结果是( )。#include iostreamusing namespace std;int main() static int a4=7,8,9,b4=4,5,6,c4,i; for(i=0;i3;i+) ci=ai+bi; coutci ; c

22、outendl; return 0;选项:A:11 13B:0C:15D:11 13 15答案: 【0】10、选择题:若有初始化 char a =BASIC;则couta3;的输出结果是( )。选项:A:输出a3的地址B:ICC:SD:I答案: 【IC】11、选择题:在C+语言中,引用数组元素时,其数组下标的数据类型允许是( )。选项:A:任何类型的表达式B:整型表达式C:整型常量D:整型常量或整型表达式答案: 【整型常量或整型表达式】12、选择题:在C+中一组同样类型的数据在内容中占用连续存贮空间的数据类型是( )。选项:A:指向指针的指针B:指针C:数组D:引用答案: 【数组】13、选择题

23、:运行以下程序的输出结果是( )。int f ( int b , int n ) int i, r = 1; for ( i = 0; i=n; i+)r = r* bi; return r;int main() int x, a =2,3,4,5,6,7,8,9; x = f (a,3); coutx; return 0;选项:A:120B:720C:24D:6答案: 【120】 14、选择题:下列do-while 循环的循环次数为( ).已知: int j=5; docoutj- -endl; j- -; while(j!=0); 选项:A:0B:1C:5D:无限答案: 【无限】15、选择

24、题:若有定义char str110= China,str210;要将str1中的字符串复制到str2中去,正确的方法是( ).选项:A:strcpy(str2,str1);B:strcpy(China,str2);C:str2=str1;D:strcpy(str1,str2);答案: 【strcpy(str2,str1);】 第五章 章节测试 1、选择题:下面结构体的定义语句中错误的是( ).选项:A:struct stint num,char name20; st a;B:struct int num,char name20; a;C:struct stint num,char name20

25、; a;D:struct stint num,char name20; ;st a;答案: 【struct stint num,char name20; st a;】2、选择题:struct abcint x;int y; data1=(2,3),data2;则以下赋值语句中错误的是( )。选项:A:data2.x=data1.x;B:data2=data1;C:data2.y=data1.y;D:data2(9,10);答案: 【data2(9,10);】3、选择题:struct abcint x;char y20;double z; data;则以下给结构体变量成员x赋值语句中正确的是(

26、)。选项:A:data-x=100;B:data.(*x)=100;C:*data.x=100;D:data.x=100;答案: 【data.x=100;】4、选择题:struct s int a,b;data2=10,100,20,200;int main()s p=data1;coutp.aendl;return 0;程序运行后的输出结果是( )。选项:A:21B:20C:10D:11答案: 【20】5、选择题:运行程序,程序输出结果是( )。#include iostreamusing namespace std;int main() struct stud char num 5; in

27、t s4; double ave; a; coutsizeof(stud)endl; return 0;选项:A:29B:32C:30D:31答案: 【32】6、选择题:有下列结构体声明语句struct studentint num; char name20; float score3; ;student s3=123,Li Fang,67,89,90;要对第1个学生的成果输出总分,下列表达式正确的是( ).选项:A:couts.score0+s.score1+s.score2;B:couts.score1+s.score2+s.score3;C:coutscore0.s1+ score1.s

28、1+score2.s1;D:couts0.score0+s0.score1+s0.score2;答案: 【couts0.score0+s0.score1+s0.score2;】7、选择题:定义以下结构体类型,运行程序的输出结果是( )。#include iostreamusing namespace std;int main()struct sint a;double b;coutsizeof(s)endl;return 0;选项:A:16B:18C:14D:12答案: 【16】8、选择题:当定义一个结构体变量时,系统为它安排的内存空间是( ).选项:A:结构体中占内存容量最大者所需的容量B:

29、结构中第一个成员所需的内存容量C:结构中各成员所需内存容量之和D:结构中一个成员所需的内存容量答案: 【结构中各成员所需内存容量之和】9、选择题:运行程序,程序输出结果为( )#include iostreamusing namespace std;int main() struct s int x; a3; coutsizeof(a); return 0;选项:A:12B:18C:4D:6答案: 【12】10、选择题:定义以下结构体数组,运行程序,程序输出结果是( )。 #include iostreamusing namespace std;int main()struct c int x

30、; int y; s2=1,3,2,7; couts0.x*s1.xendl;return 0;选项:A:14B:21C:6D:2答案: 【2】11、选择题:运行程序,程序运行结果是( ) #include iostreamusing namespace std;struct KeyWord char Key20; int ID; kw=void,1,char,2,int,3,float,4,double,5;int main() coutkw3.Key0 , kw3.ID ; return 0;选项:A:l,4B:f,4C:n,3D:i,3答案: 【f,4】12、选择题:#include i

31、ostreamusing namespace std;struct studentchar name10;int score50;float average; stud1; int main()coutsizeof(student);return 0;选项:A:128B:216C:64D:256答案: 【216】13、选择题:运行程序,程序运行结果是( )。 #include iostreamusing namespace std;int main()struct person char name9; int age;person a5=John,17,Paul,19,Mary,18,Adam

32、,16;;return 0; 选项:A:JohnB:AdamC:MaryD:Paul答案: 【Mary】14、选择题:运行程序,程序运行结果是( ) #include iostreamusing namespace std;int main() struct date int year; int month; int day;struct s date birthday; char name20; x4=2008,10,1, guangzhou,2009,12,25,Tianjin;cout ,x1.birthday.yearendl;return 0;选项

33、:A:guangzhou,2009B:guangzhou,2008C:Tianjin,2008D:Tianjin,2009答案: 【guangzhou,2009】15、选择题:运行程序,程序输出结果是( )。#include iostreamusing namespace std;struct contryint num;char name20; x5=1,China,2,USA,3,France,4,Englan,5,Spanish;int main()int i; for (i=3;i5;i+) coutxi.num,0endl;return 0;选项:A:4E5SB:F4E

34、C:3F4E5SD:c2U3F4E答案: 【4E5S】 第六章 章节测试 1、选择题:若有定义语句int c5,*p=c;则以下对数组c第1个元素地址的正确引用是( )。选项:A:p+5B:c+C:c0D:c+1答案: 【c0】2、选择题: 运行程序,程序输出结果是( )。 #include iostream using namespace std; int main() int a33,*p=a00,i; for(i=0;i9;i+) pi=i; for(i=0;i3;i+) couta1i; return 0;选项:A:123B:345C:234D:012答案: 【345】 3、选择题:

35、运行程序,程序输出结果是( ). #include iostream using namespace std; int main() int fun(char *s); char y=abcd; coutfun(y)endl; return 0; int fun(char *s) char *t=s; while (*t) t+; return (t-s);选项:A:6B:4C:0D:5答案: 【4】 4、选择题: int a=1,2,3,4,y,*p=a;执行语句y=(*+p)- 后,数组a中的元素的值变为( ).选项:A:0,1,3,4B:1,2,3,3C:1,1,3,4D:1,2,2,4

36、答案: 【1,1,3,4】 5、选择题:运行程序,程序输出结果是( )。#include iostreamusing namespace std;int main()char str100=program,*p=str;cout(p+2)endl;return 0;选项:A:pB:ogramC:rogramD:pro答案: 【ogram】6、选择题:运行程序,程序输出结果是( )。#include iostreamusing namespace std;int main()char str100=program,*p=str;cout*(p+)endl;return 0;选项:A:proB:r

37、C:pD:rogram答案: 【p】7、选择题:运行程序,程序输出结果是( ).#include iostreamusing namespace std;int main() char str100=program,*p=str; str3=0; coutpendl; return 0;选项:A:proB:ogramC:rD:o答案: 【pro】 8、选择题:若有变量定义语句int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为6的表达式是( ).选项:A:*p+6B:*(p+5)C:p+5D:*p+=6答案: 【*(p+5)】9、选择题:己知int a10=3,7,9,

38、15,*p=a;则不能表示a数组中元素的选项是( ).选项:A:aB:*pC:*aD:ap-a答案: 【a】10、选择题:己知int a=0,2,4,6,8,10,*p=a+1;其值等于0的表达式是( ).选项:A:*(p+)B:*(p)C:*(p)D:*(+p)答案: 【*(p)】11、选择题:运行程序,程序运行结果是( )。#include iostreamusing namespace std;int main()static int a4=7,8,9,b4=4,5,6,c4,i; for(i=0;i3;i+) ci=ai+bi; coutci ; coutendl;return 0;选

39、项:A:15B:0C:11 13D:11 13 15答案: 【0】12、选择题:运行程序,程序运行结果是( ).#include iostreamusing namespace std;int main() char a3=a,b,c,*p=a+1; coutpendl; return 0;选项:A:不确定B:bcC:bD:abc答案: 【不确定】13、选择题:运行程序,程序运行结果是( )。#include iostream#include stringusing namespace std;int main() string a=string,*p=a; coutpendl; return

40、 0;选项:A:变量a的地址 B:stringC:变量p的地址D:s答案: 【变量a的地址 】14、选择题:设void f1(int *m,long n);int a;long b;则以下调用合法的是( )。 选项:A:f1(a,b);B:f1(a,b);C:f1(a,b);D:f1(a,b);答案: 【f1(a,b);】15、选择题:运行程序,程序运行结果是( )。#include iostreamusing namespace std;void f(char *x)cout*xendl;int main() char a =abcd; for(int i=0;i=2;i+); f(a+i)

41、; return 0;选项:A:aB:abcdC:abcD:d答案: 【d】16、选择题:已知: int m=5;下列表示引用的方法中正确的是( ).选项:A:int t=5;B:int Z;C:int X=m;D:float f=m;答案: 【int X=m;】17、选择题:运行程序,程序输出结果是( ). void sub ( int *s, int *y ) static int t=3; *y=st; t -;int main() int a =1,2,3,4, i , x=0; for ( i = 0; i4; i+) sub ( a,x ) ; coutx; coutendl; r

42、eturn 0; 选项:A:1234B:4321C:0000D:4444答案: 【4321】 18、选择题:已知有定义int a5; a数组中最终一个元素的地址可表示为( ).选项:A:a+4B:a5C:a+4D:a+5答案: 【a+4】19、选择题:有定义 int a =2,5,6,*p=a; 则*(p+1)所代表的数组元素是( )。选项:A:a2B:a1C:a0D:a3答案: 【a1】20、选择题:已有定义 int a10,*p; 则正确的赋值语句是( ).选项:A:p=a+2;B:p=a2+2;C:p=100;D:p=a5;答案: 【p=a+2;】 第七章 章节测试 1、选择题:在下列关

43、于类概念的各个描述中, ( )是错误的。选项:A:类是创建对象的样板B:类是抽象的,对象是详细的C:客观世界中任何一个详细的物体都可以看成一个类D:类是对象的模板,是用来定义对象的一种抽象类型答案: 【客观世界中任何一个详细的物体都可以看成一个类】2、选择题:在下列关于类和对象的描述中,( )是错误的。选项:A:类是对象的模板,对象是类的实例B:类是抽象的,对象是详细的,两者都占有内存空间C:客观世界中任何一个详细的物体都可以看成一个对象D:把某些具有共同属性和行为的对象抽象为一种类型被称为类答案: 【类是抽象的,对象是详细的,两者都占有内存空间】3、选择题:类的实例化是指( )。选项:A:创

44、建类的对象B:定义类C:指明详细类D:调用类答案: 【创建类的对象】4、选择题:下列说法中正确的是( )。选项:A:类中的成员数据可以在类体中(类内)定义,也可以在类体之外(类外)定义B:类的成员函数既可以定义在类体中(类内),也可以定义在类体外(类外),但必需在类体中(类内)声明C:在类体之外定义的成员函数不能操作该类的私有数据成员D:类的成员函数只能在类体中(类内)定义答案: 【类的成员函数既可以定义在类体中(类内),也可以定义在类体外(类外),但必需在类体中(类内)声明】5、选择题:关于构造函数不正确的说法是( )。选项:A:构造函数可以有返回值B:构造函数名与类名相同C:构造函数初始化

45、时为对象开拓内存空间D:一个类可以有多个构造函数答案: 【构造函数可以有返回值】6、选择题: 有如下定义和语句 class calc public: void show () couta+b=a+bendl; private: int a; int b; void set () cinab; ; calc t, *pt=t; 在main( )函数中下面不正确的语句是( )。选项:A:pt-show ( )B:t.show( )C:(*pt). show ( )D:t.set( )答案: 【t.set( )】 7、选择题: 有如下定义和语句: class Student public: void

46、 display() coutnum name; ; private: int num; char name30; ; Student t, *p = t; 下面正确的语句是( )。选项:A:t-display();B:p- num = 10101;C:p-display( );D:(*p)- display();答案: 【p-display( );】 8、选择题:要让一个类中的全部对象的同一数据有不同的值,请不要使用( )。选项:A:保护数据成员B:公有数据成员C:私有数据成员D:静态数据成员答案: 【静态数据成员】9、选择题:下面选项中不属于面对对象程序设计特征的是( ) 。选项:A:多元

47、性B:封装性C:继承性D:抽象性答案: 【多元性】10、选择题:已知类A是类B的友元,类B是类C的友元,则( )。选项:A:类C肯定是类A的友元B:类A肯定是类C的友元C:类A的成员函数可以访问类B的对象的任何成员D:类C的成员函数可以访问类B的对象的任何成员答案: 【类A的成员函数可以访问类B的对象的任何成员】11、选择题:成员函数代码量许多,或具有多个成员函数,采用类内定义的方式比较合适。选项:A:错B:对答案: 【错】12、选择题:成员函数是一个类的成员,消失在类体中,也就是只能被类内其他成员函数调用。选项:A:对B:错答案: 【错】13、选择题:通过对象无法访问private和prot

48、ected属性的成员变量和成员函数,而仅可以访问public属性的成员变量和成员函数。选项:A:对B:错答案: 【对】14、选择题:在C+语言中,可以通过传值方式作为函数的参数或函数返回值。选项:A:错B:对答案: 【对】15、选择题:构造函数可以有返回值也可以无返回值。选项:A:对B:错答案: 【错】16、选择题:构造函数可以有一个参数或多个参数,可以为参数设置一个默认值。选项:A:错B:对答案: 【对】17、选择题:任何一个对象只能属于一个详细的类。选项:A:对B:错答案: 【对】18、选择题:声明时加关键字static的类中全部的成员数据是属于类的,任何一个对象都可以共享该成员数据。选项

49、:A:对B:错答案: 【对】19、选择题:友元函数是成员函数,友元函数可以访问类中的私有成员。选项:A:错B:对答案: 【错】20、选择题:无论什么方式的继承,基类的私有成员都不能被派生类成员函数访问(引用)。选项:A:对B:错答案: 【对】 第八章 章节测试 1、选择题:下列对派生类的描述中,错误的是( )。选项:A:一个派生类可以作为另一个派生类的基类B:派生类中继承的基类成员的访问权限到派生类保持不变C:派生类至少有一个基类D:派生类的成员除了它自己的成员之外,还包含了它的基类的成员答案: 【派生类中继承的基类成员的访问权限到派生类保持不变】2、选择题:下列有关继承和派生的叙述中,不正确

50、的是( )。选项:A:派生类的新增公用成员可以被该类创建的对象引用B:基类的成员函数可以访问基类成员C:派生类的成员函数可以访问派生类自己增加的成员D:基类的成员函数可以访问派生类的成员答案: 【基类的成员函数可以访问派生类的成员】3、选择题:下列对派生类的描述中,错误的是( )。选项:A:派生类只继承了基类的公有成员和保护成员B:一个派生类可以作为另一个派生类的基类C:派生类至少有一个基类D:派生类的缺省(默认)继承方式是private答案: 【派生类只继承了基类的公有成员和保护成员】4、选择题:下列有关公共继承的继承和派生的关系描述中,不正确的是( )。选项:A:基类的公用成员和保护成员在

51、派生类中仍旧保持其公用成员和保护成员的属性B:基类的私有成员,基类的成员函数可以引用它C:派生类的公用成员可以被派生类创建的对象引用D:基类的私有成员,因为是公用继承,可以被派生类的新增成员函数引用答案: 【基类的私有成员,因为是公用继承,可以被派生类的新增成员函数引用】5、选择题:下列有关继承和派生的叙述中,正确的是( )。选项:A:基类的保护成员在派生类中仍旧是保护成员B:基类的公用成员在派生类中仍旧是公用成员C:私有继承的派生类作为基类连续派生,下一层的派生类无法访问它的任何成员D:派生类成员函数不能访问通过私有继承的基类的保护成员答案: 【私有继承的派生类作为基类连续派生,下一层的派生

52、类无法访问它的任何成员】6、选择题:下列有关保护继承的继承和派生的叙述中,正确的是( )。选项:A:基类的私有成员在派生类中变为是保护成员B:派生类成员函数不能访问通过保护继承的基类的保护成员C:派生类成员函数不能访问通过保护继承的基类的私有成员D:派生类成员函数不能访问通过保护继承的基类的公有成员答案: 【派生类成员函数不能访问通过保护继承的基类的私有成员】7、选择题:下列有关继承和派生的叙述中,正确的是( )。选项:A:派生类的指针变量,可以访问基类的成员B:基类的指针变量可以指向派生类对象C:派生类的指针变量可以指向基类对象D:基类的指针变量,可以访问派生类新增加的成员答案: 【基类的指

53、针变量可以指向派生类对象】8、选择题:一个派生类不仅可以从一个基类派生,也可以从多个基类派生。选项:A:错B:对答案: 【对】9、选择题:继承方式包括: public(公用的), private(私有的)和protected(受保护的),应用中public (公用的)最常见。选项:A:对B:错答案: 【对】10、选择题:当不需要对派生类新增的成员进行任何初始化操作时,派生类构造函数的函数体可以为空,即构造函数是空函数。选项:A:对B:错答案: 【对】11、选择题:在派生时,派生类不能继承基类的析构函数。选项:A:对B:错答案: 【对】12、选择题:派生类的指针变量也可以指向基类对象。选项:A:

54、对B:错答案: 【错】13、选择题:派生类的继承方式有两种:公有继承和私有继承。选项:A:错B:对答案: 【错】14、选择题:在公有继承中,派生类对象只能引用基类中的公有成员和派生类新增的公共成员。选项:A:对B:错答案: 【对】15、选择题:在私有继承中,基类中只有公有成员可以被派生类成员函数引用。选项:A:对B:错答案: 【错】16、选择题:派生类是它的基类的组合。选项:A:对B:错答案: 【错】17、选择题:析构函数不能被继承。选项:A:对B:错答案: 【对】 第九章 章节测试 1、选择题:下列描述中,( ) 是抽象类的特性。选项:A:可以声明虚函数B:可以进行构造函数重载C:不能创建其

55、对象D: 可以定义友元函数 答案: 【不能创建其对象】2、选择题:关于虚函数的描述中,( )是正确的。选项:A:虚函数是一个static类型的成员函数B:虚函数是一个非成员函数C:基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数D:派生类的虚函数与基类的虚函数具有不同的参数个数和类型答案: 【基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数】3、选择题:实现运行时的多态性采用( )。选项:A:虚函数B:重载函数C:构造函数D:析构函数答案: 【虚函数】4、选择题:以下基类中的成员函数表示纯虚函数的是( )。选项:A:virtual void tt(int)B:vir

56、tual void tt(int)C:void tt(int)=0D:virtual void tt()=0答案: 【virtual void tt()=0】5、选择题:关于纯虚函数和抽象类的描述中,( )是错误的。选项:A:抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出B:抽象类是指具有纯虚函数的类C:纯虚函数是一种特别的虚函数,它不能实例化对象D:一个基类中声明有纯虚函数,该基类的派生类肯定不再是抽象类答案: 【一个基类中声明有纯虚函数,该基类的派生类肯定不再是抽象类】6、选择题: 下列有关C+的面对对象方法的多态的概念的叙述中,不正确的是( )。选项:A:存在基类类型的指针指向派

57、生类对象,基类和派生类的同名虚函数的参数必需相同B:存在基类类型的指针指向派生类对象,且通过该指针调用虚函数C:必需存在着声明为虚函数的友元函数D:C+的面对对象方法的多态,必需存在基类指针指向派生类对象答案: 【必需存在着声明为虚函数的友元函数】 7、选择题: 执行以下程序代码后,将会输出的结果是()。 #includeiostream using namespace std; class Base public: void display()coutIm Base class!; ; class Derived: public Base public: void display()cout

58、Im Derived class!; ; int main() Base * p; Derived test; p = test; p-display(); return 0; 选项:A:Im Derived class!B:Im Derived class! Im Base class!C:Im Base class! Im Derived class!D:Im Base class!答案: 【Im Base class!】 8、选择题:下列有关C+的面对对象方法的多态和虚函数的叙述中,正确的是( )。选项:A:构造函数和析构函数都不能声明为虚函数B:构造函数和析构函数都能声明为虚函数C:派

59、生类的析构函数可以声明为虚函数D:基类析构函数可以声明为虚函数答案: 【基类析构函数可以声明为虚函数】9、选择题:假如一个类至少有一个纯虚函数,那么就称该类为( )。选项:A:都不对B:抽象类C:派生类D:虚函数答案: 【抽象类】10、选择题:下列有关C+的面对对象方法的多态和虚函数的叙述中,不正确的是( )。选项:A:包含纯虚成员函数的抽象基类的派生类,在派生类中可以重新定义纯虚函数为非纯虚成员函数B:包含纯虚成员函数的类即为抽象基类C:抽象基类的派生类,增加新的成员函数或成员数据后,可以用于创建对象D:抽象基类不能实例化答案: 【抽象基类的派生类,增加新的成员函数或成员数据后,可以用于创建

60、对象】11、选择题:类的成员函数前面加virtual关键字,则这个成员函数称为虚函数。选项:A:错B:对答案: 【对】12、选择题:虚函数是一个成员函数。选项:A:对B:错答案: 【对】13、选择题:要想形成多态必需具备必需存在继承关系,继承关系中必需有同名的虚函数,并且基类和派生类的同名虚函数的参数必需不同。选项:A:错B:对答案: 【错】14、选择题:将基类中的成员函数通过virtual关键字声明为虚函数之后,即使在派生类中同名同参数函数声明时未加上virtual关键字,但它在全部的派生类中都将自动成为虚函数。选项:A:对B:错答案: 【对】15、选择题:纯虚函数是一个非成员函数。选项:A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论