c 面对对象程序设计复习题集C++面向对象程序设计复习题集 一、单项选择题 1. C++源程序文件的默认扩展名为( A )。 A. cpp B. exe C. obj D. lik 2. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。 A. cpp B. exe C. obj D. lik 3. 由C++目标文件连接而成的可执行文件的默认扩展名为( B )。 A. cpp B. exe C. obj D. lik 4. C++程...
title,”Wang Tao”); B. strcpy(book.title,”Wang Tao”);
C. strcpy(*book.title,”Wang Tao”); D. strcpy((*book)->title,”Wang Tao”);
86. 假定有“struct BOOK{char title[40]; float price;}; BOOK *book;”,则不正确的语句为( A )。
A. BOOK *x=new book; B. BOOK x={"C++ Programming",27.0};
C. BOOK *x=new BOOK; D. BOOK *x=book;
87. 假定有“struct BOOK{char title[40]; float price;}book;”,则正确的语句为( B )。
A. BOOK &x= &book; B. BOOK &x=book;
C. BOOK &x=new BOOK; D. BOOK &x=BOOK;
88. 下列对引用的陈述中不正确的是( C )。
A. 每一个引用都是其所引用对象的别名,因此必须初始化
B. 形式上针对引用的操作实际上作用于它所引用的对象
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D. 不需要单独为引用分配存储空间
89. 假定变量a和pa定义为“double a[10], *pa=a;”,要将12.35赋值给a中的下标为5的元素,不正确的语句是( D )。
A. pa[5]=12.35; B. a[5]=12.35;
C. *(pa+5)=12.35; D. *(a[0]+5)=12.35;
90. 假定变量b和pb定义为“int b[10], *pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( C )。
A. *(pb+1)=24; B. *(b+1)=24; C. *++b=24; D. *++pb=24;
91. 假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( A )。
A. delete p; B. delete *p; C. delete &p; D. delete []p;
92. 假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句( D )。
A. delete p; B. delete *p; C. delete &p; D. delete []p;
93. 假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( D )。
A. int rx=x; B. int rx=&x; C. int *rx=&x; D. int &rx=x;
94. 关于消息,下列说法中不正确的是( B )。
A. 发送消息的对象请求服务,接受消息的对象提供服务
B. 消息的发送者必须了解消息的接收者如何相应消息
C. 在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用
D. 每个对象只能接收某些特定格式的消息
95. 关于封装,下列说法中不正确的是( D )。
A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体
B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C. 通过封装,每个对象都成为相对独立的实体
D. 通过封装,对象的属性都是不可见的
96. 面向对象
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
的多态性是指( C )。
A. 一个类可以派生出多个特殊类
B. 一个对象在不同的运行环境中可以有不同的变体
C. 针对一消息,不同的对象可以以适合自身的方式加以响应
D. 一个对象可以是由多个其他对象组合而成的
97. 软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( A )。
A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性
98. 软件产品可被全部或部分地再用于新的应用的能力叫做软件的( B )。
A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性
99. 软件产品与其他软件产品组合成一个整体的难易程度叫做软件的( C )。
A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性
100. 软件产品准确执行软件需求规格说明
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
中所规定的任务的能力叫做软件的( D )。
A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性
二、填空题
1. C++语言是在__C____语言的基础上发展起来的。
2. C++语言的编译单位是扩展名为___.cpp_____的__程序_____文件。
3. 行尾使用注释的开始标记符为____//____。
4. 多行注释的开始标记符和结束标记符分别为_/*________和___*/_____。
5. 用于输出表达式值的标准输出流对象是_cout_____。
6. 用于从键盘上为变量输入值的标准输入流对象是___cin___。
7. 一个完整程序中必须有一个名为__main____的函数。
8. 一个函数的函数体就是一条__复合_____语句。
9. 当执行cin语句时,从键盘上输入每个数据后必须接着输入一个_空白_____符,然后才能继续输入下一个数据。
10. 在C++程序中包含一个头文件或程序文件的预编译命令为__#include______。
11. 程序中的预处理命令是指以__#___字符开头的命令。
12. 一条表达式语句必须以___分号___作为结束符。
13. 在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是___用户(或编程者)____定义的头文件。
14. 使用#include命令可以包含一个头文件,也可以包含一个_程序___文件。
15.一个函数定义由_函数头____和__函数体____两部分组成。
16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的_原型(或声明)____语句。
17.C++头文件和源程序文件的扩展名分别为___.h___和___.cpp___。
18.程序文件的编译错误分为___警告(warning)____和__致命(error)___两类。
19.当使用__void____保留字作为函数类型时,该函数不返回任何值。
20.当函数参数表用__void____保留字表示时,则表示该参数表为空。
21.从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为__int____,该函数带有_0___个参数。
22. 当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到_____下一行___的开始位置。
23. 假定x=5,y=6,则表达式x++*++y的值为____35______。
24. 假定x=5,y=6,则表达式x--*--y的值为_____25_____。
25. 假定x=5,y=6,则执行表达式y*=x++计算后,x和y的值分别为___6_______和___30_______。
26. 假定x=5,y=6,则执行表达式y+=x--计算后,x和y的值分别为____4______和____11______。
27. C++常数0x145对应的十进制值为_____325_____。
28. C++常数0345对应的十进制值为_____2_____。
29. 十进制常数245对应的十六进制的C++表示为____0xf5______。
30. 十进制常数245对应的八进制的C++表示为____0365______。
31. signed char类型的值域范围是__-128______至__+127______之间的整数。
32. int和float类型的数据分别占用__4_____和____4____个字节。
33. float和double类型的数据分别占用____4_____和____8____个字节。
34. bool和char类型的数据分别占用____1_____和_____1___个字节。
35. unsigned short int和int类型的长度分别为_____2____和___4_____。
36. 字符串”This\’s a book.\n”的长度为_____15_____。
37. 字符串”\nThis\’s a pen\n\n”的长度为_____15_____。
38. 在C++中存储字符串”abcdef”至少需要____7____个字节。
39. 在C++中存储字符串”a+b=c”至少需要____6____个字节。
40. 假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别为____1____和___3_____。
41. 假定x和y为整型,其值分别为16和5,则x/y和double(x)/y的值分别为____3______和_____3.2____。
42. 假定x是一个逻辑量,则x && true的值为____x_____。
43. 假定x是一个逻辑量,则x || true的值为_____true(或1)____。
44. 假定x是一个逻辑量,则x && false的值为_____false(或0)____。
45. 假定x是一个逻辑量,则x || false的值为____x______。
46. 假定x是一个逻辑量,则!x || false的值为____!x______。
47. 假定x是一个逻辑量,则x && !x的值为_____false(或0)_____。
48. 假定x是一个逻辑量,则x || !x的值为____ true(或1)_____。
49. 数学算式
的C++表达式为______(x+y)/(2*x*y)______。
50. 数学算式
的C++表达式为____3*x*y/(x+y)_______。
51. 数学算式
的C++表达式为____1/(a*x*x+b*y*y)____________。
52. 设enum Printstatus{ready,busy,error}; 则 cout<
const int N=3;
void main()
{
int a[N][N]={{7,-5,3},{2,8,-6},{1,-4,-2}};
int b[N][N]={{3,6,-9},{2,-8,3},{5,-2,-7}};
int i,j,c[N][N];
for(i=0;i
void main()
{
int a,b;
cout<<"请输入两个正整数:";
cin>>a>>b;
while(a<=0 || __(1)___) {cout<<"重新输入:"; cin>>a>>b;}
while(b) {
int r;
r=a%b;
___(2)___; ___(3)___; //分别修改a和b的值
}
cout<
void main()
{
int x;
cout<<"请输入一个整数,若小于3则重输:";
do cin>>x; while(___(1)___);
int i=2;
do{
while(___(2)___) {
cout<=i && ___(3)___);
return p*a*b;
}
(1) b%i==0 (2) i++ (或++i) (3) b>=i
7、 在输出屏幕上打印出一个由字符’*’组成的等腰三角形,该三角形的高为5行,从上到下每行的字符数依次为1,3,5,7,9。
#include
const int len=20;
void delstr(char a[],char b[],char c);
void main() {
char str1[len],str2[len];
char ch;
cout<<"输入一个字符串:";
cin>>str1;
cout<<"输入一个待删除的字符:";
cin>>ch;
delstr(str1,str2,ch);
cout<
void main()
{
int a=2,b=5,c=0;
if(a+b>10) c=a*b; else c=3*a+b;
if(c<=20) cout<
void main()
{
int x=24,y=88;
int i=2,p=1;
do {
while(x%i==0 && y%i==0) {
p*=i;
x/=i;
y/=i;
}
i++;
}while(x>=i && y>=i);
cout<
#include
#include