C考试复习题及答案
- 格式:docx
- 大小:30.82 KB
- 文档页数:8
一、选择题1.在每个 C 程序中都一定包括有这样一个函数,该函数的函数名为。
A. mainB. MAINC. nameD. function2.在以下对于 C 语言的说明的表达中,不正确的选项是A.说明可用 "/*" 、"*/" 形式表示,也可用 "//" 形式表示。
B.编译器在编译一个程序时,将跳过说明,不对其进行办理C.编译器在编译一个程序时,可发现说明中的单词拼写错误D.程序中说明的多少不会影响所生成的可履行文件的长度3.以下表达不正确的选项是。
A.在 C 程序中,严格划分大小写字母B.一个 C 源程序有且仅有一个main 函数C.在 C 程序中,说明只好位于一条语句的后边D.一个 C 程序老是从 main 函数开始履行4.以下合法的表记符为A. abde+B. #KDJFC. 67KDJD. DK3_5.对于字符串和字符的关系正确的选项是A.“A”与’A’是同样的B.字符串是常量,字符是变量C.“A”与’A’是不一样的D.“A ”与“ A”是同样的6.下边对于语句的说法正确的选项是A.下边这两段程序的履行成效是一致的if (x>y){z=x; s=z*z;} else{z=y;s=1/(z*z);}if (x>y)z=x; s=z*z; elsez=y;s=1/(z*z);B.空语句是只有一个分号的语句,它其实什么也不干C.语句的构成不必定需要分号D.语句的书写对程序的运转不起作用,所以能够随意写都能够7.以下各表记符中,合法的用户表记符组为。
A.PAd,P#d,b-b,abc,_0123,ssipedB.cin,a10,CPP,float,del_word,signedC.void, max,hiy, <fr>,list ,*jerD.a,temp, _isw,INT ,keep,wind8.字符串“ ”E””的长度是。
一.选择题1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为()。
A .1.4 B.1 C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。
A .6 B.3 C.死循环 D.04、下列关于表达式的描述中,错误的是()。
A . 常量和变量都是表达式。
B. 运算符类型对应表达式的类型。
C. 每一个表达式都有自己的值。
D. 表达式必须以分号结尾。
5、C语言中,合法的长整型常数是()。
A . '\t' B.” A” C.65 D.a6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。
A .1 B.2 C.2.00000 D.2.500007、表达式:10!=9的值是()。
A . true B. 非零值 C.0 D.18、以下程序的输出结果是()。
#include<stdio.h>void main(){printf("%d\n", NULL);}A . 不确定的 B.0 C.-1 D.19、请选出合法的C语言赋值语句。
()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是()。
A .0 B.2 C.4 D.811、关于语句printf(“hello world\n”);,下列描述中错误的是()。
A . printf()是格式化输出函数,用于输出信息。
B. printf()括号中的内容为函数的参数。
C#期末考试复习题一、单项选择题(每小题2分,共20分)1.在类作用域中能够通过直接使用该类的()成员名进行访问。
A。
私有 B. 公用 C. 保护 D。
任何答案:D2。
小数类型(decimal)和浮点类型都可以表示小数,正确说法:( )A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C。
小数类型比浮点类型精度高D. 小数类型比浮点类型精度低答案:C3.能作为C#程序的基本单位是( )。
A。
字符 B。
语句 C。
函数 D.源程序文件答案:B4. 可用作C#程序用户标识符的一组标识符是( )。
A. void define +WORD B。
a3_b3 _123 YNC。
for -abc Case D。
2a DO sizeof答案:B5。
引用类型主要有4种:类类型、数组类型、接口类型和( )。
A.对象类型B.字符串类型C.委托类型 D。
整数类型答案:C6.加载窗体时触发的事件是()。
A. Click B。
Load C.GotFoucs D。
Double Click答案:B7。
改变窗体的标题,需修改的窗体属性是()。
A. Text B。
Name C.Title D. Index答案:A8.在C#中定义接口时,使用的关键字是( )。
A.interfaceB.:C.classD.overrides答案:A9。
在类的成员中,用于存储属性值的是( )。
A. 属性 B。
方法 C. 事件 D。
成员变量答案:成员变量10.在C#中,定义派生类时,指定其基类应使用的语句是()。
A。
Inherits B。
: C.Class D.Overrides 答案:B11.类的以下特性中,可以用于方便地重用已有的代码和数据的是( ).A。
多态 B。
封装 C.继承 D。
抽象答案:C12.在Array类中,可以对一维数组中的元素进行排序的方法是( )。
A。
Sort() B。
Clear() C.Copy() D。
R everse()答案:A13.将变量从字符串类型转换为数值类型可以使用的类型转换方法是( ).A。
c语言复习题面试题考试题-全不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。
针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。
题量为50道,每题2分,总分为100分。
)第一章1)对于C语言的描述说法错误的是()。
A、它是一种计算机程序设计语言B、它既有高级语言的特点,又具有汇编语言的特点C、它不可以作为系统设计语言,编写系统应用程序D、它可以作为应用程序设计语言,编写不依赖计算机硬件的应用程度2)在C语言中,下图所示的流程图符号代表的是()。
(选择一项)A、程序开始或结束B、判断和分支C、输入/输出指令D、计算步骤3、下列关于算法的说法正确的是()(选择二项)A、算法必须在有限步骤内解决问题B、算法可能需要无穷步才能解决问题C、算法应该有确定的结果D、算法的计算结果无法预知4、在C中,多行注释使用()符号结尾(选择一项)A、/某B、某/C、某D、ocB、.t某tC、.pptD、.c或.cpp7、以下对C语言源程序的结构特点描述错误的是()(选择一项)A、一个C语言源程序可以由一个或多个源文件组成B、每一个源文件只能有一个函数组成C、一个源程序有且只有一个main函数充当主函数D、每一个说明,每一个语句都必须以分号结尾8、下列对C语言头文件描述错误的是()(选择一项)A、中包含了标准的输入输出函数以及字符串出来函数B、中包含了数学运算函数C、中包含了各类基本函数D、中包含了时间和日期的处理函数9、从开发C语言程序到让计算机可以执行命令,需要经过以下步骤中正确的是()(选择一项)A、编辑编译预处理连接加载执行B、编辑预处理编译连接加载执行C、编辑预处理连接编译加载执行D、编辑预处理连接编译加载执行10、在C语言中,下图所示的流程图符号代表的是()。
(选择一项)A、程序开始或结束B、判断和分支C、输入/输出指令D、处理过程11、在C语言中,下图所示的流程图符号代表的是()。
福师1203考试批次《C++语言程序设计》复习题及参考答案本课程复习题所提供的答案仅供学员在复习过程中参考之用,有问题请到课程论坛提问。
福师1203考试批次《C++语言程序设计》复习题及参考答案一本复习题页码标注所用教材为:教材名称单价作者版本出版社C++程序设计教程39.5 钱能2005年9月第2版清华大学出版社(第二版)如学员使用其他版本教材,请参考相关知识点一、选择填空(每小题2分,计16小题,共32分)1、类MyClass的定义如下:class MyClass{public:MyClass() { value = 0;}SetVariable(int i) { value = i; }private:int value;}则对下列语句序列正确的描述是_______。
MyClass *p,my; p=&my;A)语句p=&my;是把对象my赋值给指针变量pB)语句MyClass *p,my;会调用两次类MyClass的构造函数C)对语句 *p.SetVariable(5)的调用是正确的D)语句p->SetVariable(5)与语句my.SetVariable(5)等价【参考答案】:D2、对类的构造函数和析构函数描述正确的是_______。
A) 构造函数不能重载,析构函数可以重载B)构造函数可以重载,析构函数不能重载C)构造函数可以重载,析构函数也可以重载D)构造函数不能重载,析构函数也不能重载【参考答案】:B3、在C++中,数据封装要解决的问题是______。
A)数据的规范化 B)便于数据转换C)避免数据丢失 D)防止不同模块之间数据的非法访问【参考答案】:D4、对于拷贝构造函数,正确的描述是________。
A)在C++语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数B)必须为每个类定义拷贝构造函数C)如果要使用拷贝构造函数,则必须在类中先定义D)当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数【参考答案】:A5、继承具有_____,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
一.选择题1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c; 执行语句c=a/b+0.4; 后,c的值为()。
A .1.4 B.1 C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。
A .6 B.3 C.死循环 D.04、下列关于表达式的描述中,错误的是()。
A . 常量和变量都是表达式。
B. 运算符类型对应表达式的类型。
C. 每一个表达式都有自己的值。
D. 表达式必须以分号结尾。
5、C语言中,合法的长整型常数是()。
A . '\t' B.” A” C.65 D.a6、若已定义x 和y为double 类型,则表达式x=1;y=(x+3)/2 的值是()。
A .1 B.2 C.2.00000 D.2.500007、表达式:10!=9的值是()。
A . true B. 非零值 C.0 D.18、以下程序的输出结果是()。
#include<stdio.h>void main(){printf("%d\n", NULL);}A . 不确定的 B.0 C.-1 D.19、请选出合法的C语言赋值语句。
()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10、假设int b=2; 表达式(b>>2)/(b>>1)的值是()。
A .0 B.2 C.4 D.811、关于语句printf(“hello world\n”);,下列描述中错误的是()。
A . printf()是格式化输出函数,用于输出信息。
B. printf()括号中的内容为函数的参数。
《C程序设计》期末复习练习题及参考答案(3)《C程序设计》期末复习练习题及参考答案(3)一、单项选择题1.若有定义int (*p)[4],则标识符p是一个。
A)指向整型变量的指针变量B)指向函数的指针变量√C)指向有四个整型元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针2.下列对字符串的定义中,错误的是:。
√A) char str[7] = "FORTRAN";B) char str[] = "FORTRAN";C) char *str = "FORTRAN";D) char str[] = {'F','O','R','T','R','A','N',0};3.针对下面程序段,下面哪些说法是正确的?#include <stdio.h>void Swap(int *x, int *y);main()1{ int a, b;a = 5;b = 9;Swap(&a, &b);printf("a=%d,b=%d",a,b);}void Swap(int *x, int *y){ int *pTemp;*pTemp = *x;*x = *y;*y = *pTemp;}A) 程序运行结果为乱码;B) 程序运行后将导致程序崩溃;C) 程序编译时出错导致程序无法运行;√ D) 程序执行了危险的操作;4.已知学生记录描述为:struct student{ int no;char name[20];char sex;struct{ int year;char month[15];2int day;}birth;};struct student s;设变量s中的生日是1984年11月11日,下列对生日的正确赋值方式是_____A) s.birth.year = 1984; s.birth.month = "11"; s.birth.day = 11;B) s.birth.year = 1984; s.birth.month = 11; s.birth.day = 11;√ C) s.birth.year = 1984; strcpy(s.birth.month, "11"); s.birth.day = 11;D) s.birth.year = 1984; strcpy(s.birth.month, 11); s.birth.day = 11;5. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。
1、填空题()多态分为:专用多态和通用多态。
2、选择题(10分)下面对构造函数的描述不正确的是(C )A 可以重载B 其名字与类名相同C 可以显式调用构造函数D 构造函数是成员函数E 构造函数不能是虚函数3、判断题(正确的请写T,错误的请写F)(20分)静态成员函数可以直接调用类中说明的非静态成员。
(F)windows应用程序采用基于消息的事件驱动运行机制。
(T)(一)填空题在类体内使用关键字(static )说明的成员称为静态成员。
2、重载的函数要求参数的(个数)和(类型)不同。
3、如果要表示某个变量的值不能修改,用修饰符(const )限制。
4、对函数int fun( int x,int y) 中的参数x指定默认值10 正确的声明方式是(int fun(int y,int x=10) )。
5、C++语言规定,成员函数如果被定义在类体内,则为默认为(内联成员函数)。
6、在类层次结构中,创建子类对象时,(派生类)构造函数最后被执行。
7、C++规定,运行多态性通过(基)类的指针或者(引用)调用(虚函数)来实现。
8、派生类的生成过程经历了三个步骤:(吸收基类成员)、(改造基类成员)和(添加新的成员)。
9、面向对象程序设计的4个基本特征是(抽象)、(继承)、(封装)、(多态)。
10、Windows应用程序采用基于(消息)的事件驱动运行机制。
11、通常将用来派生新类的类称为(基类),又称为父类,而将派生出来的新类称为(派生类),又称为子类。
12、含有(纯虚)函数的类称为抽象类。
13、引用与被引用的实体具有相同的(地址)。
14、类成员的访问权限有3种(共有类型)、(私有类型)、(保护类型)。
15、通过函数改变实参的数据,c++ 可以通过( 指针)或者(引用)实现。
16、c++通过(函数重载)实现静态多态性,其(形参个数或类型)必须不同。
18、c++类的用途有两种,一种是生成类的对象,另一种是通过(继承)派生出新类。
C语言程序设计_复习题第一部分(填空题):1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A.大写字母B.连接符C.数字字符D.下划线答案:B2.下面关于计算机正确的是( )。
A.计算机由硬件系统和软件系统两部分构成B.只要有硬件系统,计算机就能工作C.计算机只能处理文本信息D.计算机只能处理计算问题答案:A3.( )是c语言提供的合法的数据类型关键字。
A.IntB.longC.CharD.integer答案:B4.面向过程的高级语言包括( )。
A.C,JAVAB.C,BASICC.C++.NET,ASPD.C,VB答案:B5.软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A.编译程序B. 操作系统C.教务管理系统D.汇编程序答案:C6.以下选项中关于C语言常量的叙述错误的是()。
A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可以定义成常量答案:D7.下面描述中正确的是()。
A.C语言提供了专门的输入/输出语句B.C语言调用输入/输出函数时需要使用include命令包含头文件C.C语言可以直接使用输入/输出函数D.输入/输出函数所在的头文件是stdlib.h答案:B8.假设有char型变量c1,c2,执行下面程序段:c1=gatchar();c2=gatchar();printf(“c1=%c,c2=%c\n”,c1,c2);如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。
A.ab<回车>B.a<回车>b<回车>B.C.a<空格>b<回车> D.a<tab>b<回车>答案:A9.下面描述中正确的是()。
A.printf()函数的输出列表项只允许是变量B.printf()函数的输出列表项可以是常量、变量以及表达式C.printf()函数输出列表项也可以是另一个printf()函数D.printf()函数的输出列表项之间用空格分隔答案:B10.假设有:int a,b; scanf("%d,%d",&a,&b);为了得到a和b分别为10和20,从键盘正确输入数据的是()。
C考试复习题及答案标准化工作室编码[XX968T-XX89628-XJ668-XT689N]一、选择题(1)下面关于类和对象的描述中,错误的是A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量B)类和对象之间的关系是抽象和具体的关系C)对象是类的实例,一个对象必须属于一个已知的类D)类是具有共同行为的若干对象的统一描述体(2)以下各选项组中,均是C++语言关键字的组是A) public operator this B)shod string staticC)it while >= D)private cout printf(3)在C++语言中,数据封装要解决的问题是A)数据的规范化B)便于数据转换C)避免数据丢失D)防止不同模块之间数据的非法访问(4)以下程序中,错误的行是①#include<iostream. h>②class A③{④ public:⑤ int n=2:⑥ A( int val){cout<<val<<endl;}⑦~A(){};⑧};⑨void main()⑩{⑩ A a(0);⑩}A)⑤ B)⑥ C)⑦ D)⑩(5)对类的构造函数和析构函数描述正确的是A)构造函数可以重载,析构函数不能重载B)构造函数不能重载,析构函数可以重载C)构造函数可以重载,析构函数也可以重载D)构造函数不能重载,析构函数也不能重载(6)下面程序的运行结果为#include(iostream. h>class A{int num;public:A(int i){num=i;}A(A &a){num=a. num++;}void print(){cout<<num;}};void main(){A a(1),b(a);a. print();b.print();A)11 B)12 C)21 D)22(7)下面对静态数据成员的描述中,正确的是A)静态数据成员是类的所有对象共享的数据B)类的每个对象都有自己的静态数据成员C)类的不同对象有不同的静态数据成员值D)静态数据成员不能通过类的对象调用(8)如果类A被说明成类B的友元,则A)类A的成员即类B的成员B)类B的成员即类A的成员C)类A的成员函数不得访问类B的成员D)类B不一定是类A的友元(9)可以用p.a的形式访问派生类对象P的基类成员a,其中a是A)私有继承的公有成员B)公有继承的私有成员C)公有继承的保护成员 D)公有继承的公有成员(10)建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为A)abc B)acb C)cab D)cba(11)下面关于虚函数的描述,错误的是A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数C)虚函数可以是另一个类的友元函数,但不能是静态成员函数D)基类中说明的纯虚函数在其任何派生类中都必须实现(12)下面关于模板的描述,错误的是A)函数模板和类模板的参数可以是任意的数据类型B)类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用C)函数模板不能直接使用,需要实例化为模板函数后才能使用D)类模板的成员函数都是模板函数(13)语句ofstream f(”SALARY. DAT",ios::app iios::binary);的功能是建立流对象f,试图打开文件SALARY.D AT并与之连接,并且A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B)若文件存在,将其置为空文件;若文件不存在,打开失败C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D)若文件存在,打开失败;若文件不存在,建立一个新文件(14)下面程序的运行结果是#include<iostream. h>void main(){int num=1;int &ref=num;ref=ref+2;cout<<num;num=num+3;cout<<ref<<endl;}A)13 B)16 C)36 D)33(15)假定AB为一个类,则该类的拷贝构造函数的声明语句为。
A. AB &(AB x) B. AB(AB x)C. AB(AB &) D. AB(AB * x)(16)对于结构中定义的成员,其隐含访问权限为。
A. public B. protectedC. private D. static(17)当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为。
A. ios::in B. ios::outC. ios::int | ios::out D. 没有(18)下列关于C++语言类的描述中错误的是A)类用于描述事物的属性和对事物的操作B)类与类之间通过封装而具有明确的独立性C)类与类之间必须是平等的关系,而不能组成层次结构D)类与类之间可以通过一些方法进行通信和联络(19)下列描述中哪个是正确的。
A)私有派生的子类无法访问父类的成员B)类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的C)私有派生类不能作为基类派生子类D)私有派生类的所有子孙类将无法继续继承该类的成员(20)下列关于构造函数说法不正确的是A)构造函数必须与类同名B)构造函数可以省略不写C)构造函数必须有返回值D)在构造函数中可以对类中的成员进行初始化(21)如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是A)一元运算符 B)二元运算符C)选项A)和选项B)都可能 D)重载错误(22)在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是A)一元成员运算符 B)二元成员运算符C)一元友元运算符 D)选项B)和选项C)都可能(23)下列关于模板的说法正确的是A)模板的实参在任何时候都可以省略 B)类模板与模板类所指的是同一概念C)类模板的参数必须是虚拟类型的 D)类模板中的成员函数全部都是模板函数(24)表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是A) showbase()和eof() B)showpoint()和eof()C)showpoint()和bad() D)showpoint()和good()(25)一个类的友元函数能够访问该类的A)私有成员 B)保护成员 C)公有成员 D)所有成员(26)C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是A)增加了一些新的运算符B)允许函数重载,并允许设置缺省参数C)规定函数说明符必须用原型D)引进了类和对象的概念(27)对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是A)公有类型 B)私有类型C)保护类型D)友元类型(28)在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是A)友元函数 B)虚函数 C)构造函数 D)析构函数(29)类的析构函数的作用是A)一般成员函数的初始化 B)类的初始化C)对象的初始化 D)删除类创建的对象(30)下列说法正确的是A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B)内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C)类的内联函数必须在类体内定义D)类的内联函数必须在类体外通过加关键字inline定义(31)下面对静态数据成员的描述中,正确的是A)静态数据成员可以在类体内进行初始化B)静态数据成员不可以被类的对象调用C)静态数据成员不能受private控制符的作用D)静态数据成员可以直接用类名调用(32)下面对于友元函数描述正确的是A)友元函数的实现必须在类的内部定义B)友元函数是类的成员函数C)友元函数破坏了类的封装性和隐藏性D)友元函数不能访问类的私有成员(33)在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是A)派生类的对象可以赋给基类的对象B)派生类的对象可以初始化基类的引用C)派生类的对象可以直接访问基类中的成员D)派生类的对象的地址可以赋给指向基类的指针(34)下面程序的运行结果为#include<iostream. h>class A{public:A(){cout<<”1”;}~A(){cout<<”2”;}}class B:public A{public:B(){cout<<”3”;}~B(){cout<<”4”;}}void main(){B b;}A)1234 B)1324 C)1342 D)3142(35)下列关于虚基类的描述,错误的是A)设置虚基类的目的是为了消除二义性B)虚基类的构造函数在非虚基类之后调用C)若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D)若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数(36)下列关于多态性的描述,错误的是A)C++语言的多态性分为编译时的多态性和运行时的多态性B)编译时的多态性可通过函数重载实现C)运行时的多态性可通过模板和虚函数实现D)实现运行时多态性的机制称为动态绑定(37)下列运算符中,在C++语言中不能重载的是A)* B)>= C):: D)/(38)定义静态成员函数的主要目的是A)方便调用 B)有利于数据隐蔽 C)处理类的静态成员变量 D)便于继承(39)设有以下类和对象的定义:class A{public:int m;……};A k1, k2, *p1, *p2;则下面针对成员变量m的引用,错误的是A)k1.m=1 B)k2一>m=2 C)pl一>m=3 D)(*p2).m=4(40)有关构造函数的说法中错误的是A)构造函数名字和类的名字一样 B)构造函数在说明类变量时自动执行C)构造函数无任何函数类型 D)构造函数有且只有一个(41)关于友元的描述中错误的是A)友元函数可以访问该类的私有数据成员B)一个类的友元类中的成员函数都是这个类的友元函数C)友元可以提高程序的运行效率D)类和类之间的友元关系可以继承(42)在面向对象方法中,实现信息隐蔽是通过对象的某一特性来实现的,这个特性是A)封装 B)类 C)对象 D)继承二、填空题(1)在面向对象的程序设计中,类描述的是具有相似性质的一组【1】。
(对象)(2) C++语句const char * const p="hello" , ,所定义的指针p和它所指的内容都不能被【2】。