C 习题

C  习题
C  习题

第7章类的基本概念

课后习题注解

一、选择题

1、以下不属于类存取权限是___________。

A)public B)static

C)protected D)private

【解答】答案:B,ACD均为类访问修饰符,B是普通的修饰符。

2、类的析构函数是___________时调用的。

A)类创建B)创建对象

C)引用对象D)释放对象

【解答】答案:D,析构函数功能是释放对象,收回资源。

3、有关构造函数的说法,不正确的是___________。

A)对象是类的一个实例B)任何一个对象只能属于一个具体的类

C)一个类只能有一个对象

D)类与对象的关系和数据类型与变量的关系相似

【解答】答案:C,一个类可以创建多个对象。

4、通常拷贝构造函数的参数是___________。

A)某个对象名B)某个对象的成员名

C)某个对象的引用名D)某个对象的指针名

【解答】答案:C,构造函数的参数是类本身的引用。

5、假定A是一个类,那么执行语句“A a,b(3),*p;”调用了___________次构造函数。

A)2B)3

C)4D)5

【解答】答案:A,其中*p并没有调用构造函数,只有使用new以后,才创建对象。

二、填空题

1、假定DD是一个类,则执行“DD a[10],b(2)”语句时,系统自动调用该类构造函数的次数为___________

【解答】答案:11次

2、对于任意一个类,析构函数的个数最多为___________个。

【解答】答案:1

3、一个类的___________函数通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。

【解答】答案:析构函数

4、C++程序的内存格局通常分为四个区:(1)___________,该区用来存放全局变量、静态数据、常量。(2)___________,该区用来存放类成员函数、其他函数代码。(3)___________该区用来存放局部变量、函数参数、返回数据和返回地址。(4)___________。该区是自由存储区。

【解答】答案:全局数据区(data area)代码区(code area)栈区(stack area)堆区(heap area)

三、简答题与程序设计题

1、简述3种访问修饰符对类成员的访问限制。

【解答】答案:C++语言通过访问限定符public、private和protected将类成员分成三类:公有成员、私有成员和保护成员。

●公有成员(public修饰)可以被该类的成员函数访问,也可以在程序的任意地方

被任意访问。

●私有成员(private修饰)只能被该类的成员函数或者该类的友元函数访问。友元

是为了增加程序的灵活性而引入的概念,允许程序中的某些函数访问类中的私有

成员。

●保护成员(protected)对于派生类来说,就像是公有成员,可以被访问,对于程

序的其他部分来说,就像是私有成员,不允许被访问。

2、定义一个学生类,输入学生的姓名、语文成绩、数学成绩和英语成绩,计算并输出每位学生的各门功课的成绩、总成绩和平均成绩。

【解答】思路:设计一个类,类的数据成员包括姓名、语文成绩、数学成绩和英语成绩。类的成员函数包括算总成绩、算平均成绩和输出各门功能的成绩。

3、简述拷贝构造函数的必要性。

【解答】答案:当用一个对象值初始化一个新对象的时候,或者利用一个对象构造另一个对象的时候,要涉及到对象的拷贝,比如执行语句“person p1=p2”或者“person

p1(p2)”。这个时候p1和p2指向堆的同一内存空间,当p1调用析构函数释放堆空间以后,这个时候p2指向的地址变空了,如果p2再调用析构函数释放内存空间,将会出错。如图7-1所示。

图7-1使用对象赋值

补充习题注解

一、选择题

1、在C++中可以把具有相同内部存储结构和相同操作的对看成属于同一类。在指定一个类后,往往把属于这个类的对象称为类的___________

A)实例B)实物

C)特征D)对象

【解答】答案:A,使用类创建出来的数据类型,称之为类的实例。

2、有关类的说法不正确的是___________.

A)类是一个用户自定义的数据类型

B)只有类中的成员函数才能存取类中的私有数据

C)在类中,如果不作特别说明,所有的数据均为私有类型

D)在类中,如果不作特别说明,所有的成员函数均为公有类型

【解答】答案:D,如果不特别说明,所有成员均为私有类型。

4、有关类和对象的说法下列不正确的有___________

A)对象是类的一个实例B)任何一个对象只能属于一个具体的类

C)一个类只能有一个对象D)类与对象和关系和数据类型和变量的关系相似

【解答】答案:C,一个类可以创建多个对象。

5、有关构造函数的说法不正确的是___________

A)构造函数名字和类的名字一样B)构造函数在说明类变量时自动执行

C)构造函数无任何函数类型D)构造函数有且只有一个

【解答】答案:D,构造函数可以重载,可以有多个。

6、有关析构函数的说法不正确的是___________

A)析构函数有且只有一个B)析构函数无任何函数类型

C)析构函数和构造函数一样可以有形参

D)析构函数的作用是在对象被撤消时收回先前分配的内存空间

【解答】答案:C,析构函数没有形参。

7、在类的定义体外定义成员函数时,需要在函数名前加上___________

A)类标记B)类域标记

C)类对象D)域运算符

【解答】答案:B,需要加上类域运算符“::”。

8、在类的定义形式中,数据成员、成员函数和___________组成了类。

A)成员的访问控制信息B)公有信息

C)私有信息D)保护信息

【解答】答案:A,类的成员控制信息,也就是访问修饰符。

9、___________功能是对对象进行初始化

A)析构函数B)数据成员

C)构造函数D)静态成员函数

【解答】答案:C,构造函数的功能是初始化。

第8章静态成员与友元

课后习题注解

一、选择题

1、关于静态数据成员,下面说法错误的是___________。

A)使用静态数据成员,实际上是为了消除全局变量。

B)可以使用“对象名.静态成员”或者“类名::静态成员”来访问静态数据成员。

C)静态数据成员只能在静态成员函数中引用。

D)所有对象的静态数据成员占用同一内存单元。

【解答】答案:C,静态成员函数只能引用静态数据成员,但是静态数据成员可以在任意地方使用。

2、下面的函数中,静态成员函数不能访问的是___________

A)静态数据成员B)静态成员函数

C)类以外的函数和数据D)非静态数据成员

【解答】答案:D,静态成员函数不能访问非静态数据成员。

3、在类的定义中,引入友元的原因是___________

A)提高效率B)深化使用类的封装性

C)提高程序的可读性D)提高程序的可读性

【解答】答案:A,友元的目的之一是提高编写效率。

4、友元类的声明方法是:___________

A)friend class<类名>;B)youyuan class<类名>;

C)class friend<类名>;D)friends class<类名>

【解答】答案:A,只有A是合法的友元定义方式。

二、填空题

1、数据定义为全局变量,破坏了数据的___________;较好的解决办法是将所要共享的数据定义为类的___________。

【解答】答案:封装性静态成员

2、静态数据成员和静态成员函数可由___________函数访问

【解答】答案:任意访问权限许可的

3、___________和___________统称为友元

【解答】答案:友元函数友元类

4、友元的正确使用能提高程序___________,但破坏了类的封装性和数据的隐蔽性

【解答】答案:的运行效率

三、简答题和程序设计题

1、简述静态数据成员和普通数据成员的区别和联系。静态成员函数与普通成员函数的区别和联系。

【解答】答案:静态数据成员不从属于任何一个具体对象,所以必须对它初始化,且对它的初始化不能在构造函数中进行,类中用关键字static修饰的数据成员叫做静态数据成员。

静态成员函数只能访问静态数据成员、静态成员函数和类以外的函数和数据,不能访问类中的非静态数据成员,因为非静态数据成员只有对象存在时才有意义。但静态数据成员和静态成员函数可由任意访问权限许可的函数访问。

2、简述C++语言引入友元的原因。

【解答】答案:有时候,普通函数需要直接访问一个类的保护或私有数据成员。普通函数需要直接访问类的保护或者私有数据成员的原因主要是为提高效率。在类里声明一个普通函数,加上关键字friend,就成了该类的友元,可以访问该类的一切成员。

3、改写程序proj8_04.cpp,不用友元实现程序功能。

【解答】答案:需要将友元部分分别放到类中。

4、改写程序proj8_05.cpp,使用友元函数实现该程序的功能。

【解答】答案:将公用的部分拿到一个类中,然后定义成另一个类的友元。

补充习题注解

一、选择题

1、___________只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中的非静态成员变量

A)静态函数B)虚函数

C)构造函数D)析构函数

【解答】答案:A,静态成员函数只能访问静态成员变量。

2、局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形是,可以用___________提供对全局变量的访问。

A)域运算符B)类运算符

C)重载D)引用

【解答】答案:A,使用域运算符可以限制访问类内部的成员。

3、在下列关键字中,用以说明类中公有成员的是___________

A)public B)private

C)protected D)friend

【解答】答案:A,public修饰的成员是公有的。

4、下列的各类函数中,___________不是类的成员函数.

A)构造函数B)析构函数

C)友元函数D)拷贝初始化构造函数

【解答】答案:C,其中ABD均是成员函数,C不是。

5、___________不是构造函数的特征

A)构造函数的函数名与类名相同B)构造函数可以重载

C)构造函数可以设置默认参数D)构造函数必须指定类型说明

【解答】答案:D,构造函数没有类型说明。

6、___________是析构函数的特征

A)一个类中只能定义一个析构函数B)析构函数名与类名不同

C)析构函数的定义只能在类体内D)析构函数可以有一个或多个参数

【解答】答案:A,析构函数只能有1个。

7、通常拷贝初始化构造函数的参数是___________

A)某个对象名B)某个对象的成员名

C)某个对象的引用名D)某个对象的指针名

【解答】答案:C,拷贝构造函数的参数是当前类的引用。

8、关于成员函数特征的下述中,___________是错误的。

A)成员函数一定是内联函数B)成员函数可以重载

C)成员函数可以设置参数的默认值D)成员函数可以是静态的

【解答】答案:A,成员不一定是内联函数。

9、下述静态数据成员的特征中,___________是错误的。

A)说明静态数据成员时前边要加修饰符static

B)静态数据成员要在类体外进行初始化

C)引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符

D)静态数据成员不是所有对象所共用的

【解答】答案:D,静态数据成员是所有对象共有的。

10、从语言角度来说,类是一种数据类型,而___________是具有这种类型的变量

A)实例B)实物

C)特征D)对象

【解答】答案:B,实例是类创建的,变量是数据类型创建的。

11、若Queue是类,aQueue是它的一个对象,p1是类对象aQueue的一个指针,那么类对象aQueue的指针p1可以通过___________来访问类的成员。

A)::B).

C);D)->

【解答】答案:D,使用p1->访问类的成员。

二、填空题

1、类中的数据和成员函数默认类型为___________.

【解答】答案:私有

2、结构中的数据和成员函数默认类型为___________

【解答】答案:公有

3、在类内部定义的___________数据不能被不属于该类的函数来存取,定义为

___________的数据,函数则可以在类外部进行存取

【解答】答案:private public

4、___________是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象和其他内部管理操作.

【解答】答案:构造函数

5、一个类有___________个析构函数

【解答】答案:1

6、静态数据成员在定义或说明时前面要加上关键字___________.

【解答】答案:static

7、___________成员函数的实现中不能直接引用类中说明的非静态成员.

【解答】答案:静态

8、定义在类内部的函数为类默认状态___________,在类外部每次调用该函数时,定义的函数代码会在调用函数位置展开。

【解答】答案:内联函数

第9章运算符重载

课后习题注解

一、选择题

1、下列运算符中,不能重载的是___________。

A)::B)+

C)<

【解答】答案:A,其他都可以被重载。

2、下列关于运算符重载的描述中,正确的是___________。

A)不能改变运算符的优先级B)能够改变操作数的数目

C)所有运算符都可以重载D)通过重载“()”能够改变运算符的结合性

【解答】答案:A,其中,不能改变操作数的数目,不能通过重载括号改变结合性。

3、执行语句“person p1=p2”将调用p1的___________。

A)构造函数B)拷贝构造函数

C)析构函数D)赋值运算符重载函数

【解答】答案:B,和person p1(p2)一样都是调用拷贝构造函数,如果person p1;p1=p2则调用重载赋值运算符函数。

4、基本类型到用户定义类型的转换通过___________实现。

A)强制转换B)用户自定义类型的构造函数

C)基本类型的转换函数D)无法实现

【解答】答案:B。只有用户自定义类型的构造函数可以实现题目中的转换。

二、填空题

1、使用重载运算符号有两个优点:1、___________。

2、___________。

【解答】答案:使C++代码更直观,更容易读。简单运算符组成的表达式常常比函数调用更简洁,易懂运算符的重载可以改进程序的可读性

【解答】答案:构造函数拷贝构造函数重载赋值运算符函数析构函数

3、表达式“converter d1=10;”,“10”是一个整型的数,“d1”是一个用户自定义对象。实现这种赋值关系,通过用___________实现。

【解答】答案:户定义类型的构造函数

4、当对象进行赋值的时候,“person p1=p2;”和“person p1;p1=p2;”是不同的。“person p1=p2;”在声明的就用另一个对象对其赋值,等价于“___________”,为了给p1分配一块新的堆空间,系统将调用___________。语句“person p1;p1=p2”是不同的,将调用___________。

【解答】答案:person p1(p2)拷贝构造函数重载赋值运算符函数

三、简答题与程序设计题

1、利用运算符的重载,定义复数类的加法与减法,使之能够执行下列运算。

Complex a(2,5),b(7,8),c(0,0)

c=a+b;

c=4.1+a;

【解答】答案:参考书上二元操作符重载的方法,重新定义加号运算。

2、利用运算符的重载,编写一个时间类,实现时间的加、减、读和输出。

【解答】答案:主要考虑加和减的操作是60进制,其他部分和重载普通加号运算符一致。

补充习题注解

一、选择题

1、下列运算符中,___________运算符在C++中不能重载

A)?B)+

C)-D)<=

【解答】答案:A,其中,BCD均可以重载。

2、下列运算符中,___________运算符在C++中不能重载

A)&&B)[]

C)::D)NEW

【解答】答案:C,域限定符“::”不能重载。

3、在C++中,通常将重载运算符的成员函数称为___________

A)运算符函数B)重载函数

C)函数重载运算符D)以上都不对

【解答】答案:A,称之为运算符函数。

4、对定义重载函数的下列要求中,___________是错误的

A)要求参数的个数不同B)要求参数中至少有一个类型不同

C)要求参数个数相同时,参数类型不同D)要求函数的返回值不同

【解答】答案:D,函数重载跟函数的返回值没有关系。

5、下列函数中,___________不能重载.

A)成员函数B)非成员函数

C)析构函数D)构造函数

【解答】答案:C,析构函数不能重载。

6、系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是___________。

A)参数个数B)参数类型

C)函数名称D)函数类型

【解答】答案:D,函数重载跟函数的返回值,也就是函数类型无关。

7、下列对重载函数的描述中,___________是错误的。

A)重载函数中不允许使用默认参数

B)重载函数中编译是根据参数表进行选择的

C)不要使用重载函数来描述毫无相干的函数

D)构造函数重载将会给初始化带来多种方式

【解答】答案:A,重载函数中可以使用默认参数。

8、下列关于运算符重载的描述中,___________是正确的。

A)运算符重载可以改变运算数的个数B)运算符重载可以改变优先级

C)运算符重载可以改变结合性D)运算符重载不可以改变语法结构

【解答】答案:D,运算符重载不可以改变结构。

9、运算符重载函数是___________。

A)成员函数B)友员函数

C)内联函数D)带默认参数的函数

【解答】答案:C,运算符重载函数系统处理为内联函数。

第10章继承

课后习题注解

一、选择题

1、在C++类体系中,不能被派生类继承的是___________。

A)构造函数B)虚函数

C)静态成员函数D)赋值操作函数

【解答】答案:A,构造函数是每个类特有的,不能被继承。

2、下列对基类和派生类关系的描述中,错误的是___________。

A)派生类是基类的具体化B)派生类是基类的子集

C)派生类是基类定义的延续D)派生类是基类的组合

【解答】答案:B,派生类是基类的扩展,基类是派生类的子集。

3、设置虚基类的目的是___________。

A)简化程序B)消除二义性

C)提高程序运行效率D)减少目标代码

【解答】答案:B,目的是消除二义性。

4、可以访问类对象的私有数据成员的是___________。

A)该类的对象B)该类友元类派生的成员函数

C)类中的友元函数D)公有派生类的成员函数

【解答】答案:C,友友不受类的修饰符限制。

5、下面对继承关系描述中,正确的是___________。

A)在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。

B)在公有继承中,基类中只有公有成员对派生类的对象是可见的。

C)在私有继承中,基类只有公有成员对派生类对象是可见的。

D)在私有继承中,基类中的保护成员对派生类的对象是可见的。

【解答】答案:B,其中,私有成员不被继承。私有继承中,没有成员在派生类中是可见的。

二、填空题

1、派生类的成员函数可以直接访问基类的___________成员,不能直接访问基类的___________成员。

【解答】答案:1、公有和保护私有

2、在一个或若干个类的基础上构造一个新类,被称为___________。

【解答】答案:2、继承(派生)

3、类B从类A私有派生,类C从类B派生,不管类C如何继承类B,类C的成员

函数不能访问A类的___________成员。

【解答】答案:3、所有

4、如果创建类时未给定访问说明符,则默认其为___________。

【解答】答案:4、私有类型

5、继承可以称为“___________”关系。例如:管理者是一个雇员,或秘书也是一个雇员等等,这些都可以用继承来实现。如果是成员关系,可以称为“___________”关系。

【解答】答案:5、是一个有一个

三、简答题与程序设计题

1、简述继承的必要性。

【解答】答案:“继承”是类之间的一种特殊联系。基类(Person类),是指能够派生出新类的类,也称为父类;被基类派生出的新类称为派生类,也称为子类(Student类)。不仅简化了代码,而且重用了部分代码

2、编写程序实现图10-1所示的继承关系。

图10-1继承关系

【解答】答案:

【解答】答案:

成员的访问规则如表10-1所示。

表10-1成员的访问规则

访问修饰符从自身类访问从派生类访问外部对象访问

public是是是

protected是是否

private是否否

从表中可以看出,如果不考虑继承关系的话,可以认为protected和private修饰府的限定关系相同。

4、简述公有继承、私有继承和保护继承对基类成员的约束关系。

【解答】答案:参考上面的表10-1。

补充习题注解

一、选择题

1、C++中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行;另一种是通过___________,派生出新的类。

A)复用B)继承

C)单继承D)多继承

【解答】答案:B,通过继承派生出新的类。

2、继承具有___________,即当基本类本身也是某个类的派生类时,底层的派生类也会自动继承间接基类的成员。

A)规律性B)传递性

C)重复性D)多样性

【解答】答案:B,继承具有传递性。

3、在派生类中定义的析构函数与它所属的基类___________.

A)一定有关B)一定无关

C)以上都不对D)

【解答】答案:A,因为派生类的析构函数需要释放基类的资源。

4、下列对派生类的描述中,___________是错误的。

A)一个派生类可以作另一个派生类的基类B)派生类至少有一个基类

C)派生类的成员除了它自己的成员外,还包含了它的基类成员

D)派生类中继承的基类成员的访问权限到派生类保持不变

【解答】答案:D,受到继承方式的影响,比如私有继承,基类成员的访问权限将改变。

5、派生类的对象对它的基类成员中___________是可以访问的。

A)公有继承的公有成员B)公有继承的私有成员

C)公有继承的保护成员D)私有继承的公有成员

【解答】答案:A,只有公有继承的地公有成员才可以访问。

第11章多重继承和多态性

课后习题注解

一、选择题

1、虚函数使用关键字___________。

A)virtual B)static

C)public D)private

【解答】答案:A,虚函数使用vitual定义。

2、下列选项中,描述了抽象类特性的是___________。

A)可以说明虚函数B)可以进行构造函数重载

C)可以定义友元函数D)不能定义其对象

【解答】答案:D,抽象类不能直接创建对象,其他的都是类的一般特征。

3、实现运行时的多态性,要使用___________。

A)重载函数B)构造函数

C)虚函数D)析构函数

【解答】答案:C,运行时多多态是通过虚函数来实现的。

4、如果一个类中,至少有一个纯虚函数,那么称该类为___________。

A)抽象类B)虚基类

C)派生类D)以上都不对

【解答】答案:A,此为书上抽象类的定义。

5、虚基类的作用是

A)为了解决同一基类被多次继承产生的二义性。

B)实现多态

C)为了能够定义虚析构函数

D)为了能够定义抽象类

【解答】答案:A,其中选项B错误因为虚函数是实现多态的方式。消除二义性是虚基类引入的目的。

6、引入虚析构函数的作用是___________。

A)为了实现析构函数的重载B)为了实现类的多态性

C)防止造成内存泄漏D)提高程序执行效率

【解答】答案:C,虚析构函数的引入是为了防止内存泄漏。

二、填空题

1、可以为一个派生类指定多个基类,这样的继承结构称为___________。

【解答】答案:多继承

2、二义性有两种情况:1、___________;2、___________。

【解答】答案:同名成员被继承产生二义性同一基类被多次继承产生的二义性

3、为了解决同一基类被多次继承产生的二义性,在C++语言中,引入了___________机制。

【解答】答案:虚拟继承

4、C++支持两种类型的多态性:1、___________2、___________

【解答】答案:编译时多态运行时多态

5、包含___________的类,叫做抽象类。纯虚函数就是___________的虚函数。

【解答】答案:纯虚函数函数体为空

6、如果析构函数不声明为虚拟的,则在程序执行的时候,可能造成___________。

【解答】答案:内存的泄漏

三、简答题和程序设计题

1、简述为什么多继承会出现二义性。

【解答】答案:一般说来,在派生类中对基类成员的访问应该是惟一的。但是,由于多继承情况下,可能造成对基类中某个成员的访问出现了不惟一的情况,则称为对基类成员访问的二义性问题。二义性有两种情况:1、同名成员被继承产生二义性;2、同一基类被多次继承产生的二义性。

2、简述运行时多态和编译时多态的实现机制。

【解答】答案:多态性的定义是:“同一操作作用于不同类的实例,不同类将进行不同的解释,最后产生不同的执行结果”。C++支持两种类型的多态性。

●编译时多态性:编译时多态是通过重载来实现的。对于非虚的成员来说,系统在

编译时,根据传递的参数、返回的类型等信息决定实现何种操作。

●运行时多态性:运行时多态性是直到系统运行时,才根据实际情况决定实现何种

操作。C++中,运行时的多态性通过虚方法实现。

编译时的多态性提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。

3、简述虚析构函数的必要性。

【解答】答案:析构函数一般用来释放申请的内存空间。如果析构函数不声明为虚拟的,则在程序执行的时候,可能造成内存的泄漏。

4、在基类shape中定义虚函数getArea(),然后定义派生类,分别实现圆、梯形以及正方形面积函数getArea()。

【解答】答案:参考proj11_08.cpp,定义一个基类,3个派生类分别是圆、梯形和正方形。

补充习题注解

一、选择题

1、关于动态联编的下列描述中,___________是错误的。

A)动态联编是以虚函数为基础的

B)动态联编是在运行是确定所调用的函数代码的

C)动态联编调用函数操作是指向对象的指针或对象引用

D)动态联编是在编译时确定操作函数的

【解答】答案:D,动态联编实现多态,是在运行的时候确定操作函数的。

2、关于虚函数的描述中,___________是正确的。

A)虚函数是一个statiC类型的成员函数

B)虚函数是一个非成员函数

C)基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数

D)派生类的虚函数与基类的虚函数具有不同的参数个数和类型

【解答】答案:C,派生类中可以不说明为虚函数。

3、关于存虚函数和抽象类的描述中,___________是错误的。

A)纯虚函数是一种特殊的虚函数,它没有具体的实现

B)抽象类是指具有纯虚函数的类

C)一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类

D)抽象类只能作为基类来使用,其存虚函数的实现由派生类给出

【解答】答案:C,不一定不再是抽象类,如果没有对纯虚函数进行重定义,依然是抽象类。

4、下列描述中,___________是抽象类的特征

A)可以说明虚函数B)可以进行构造函数重载

C)可以定义友元函数D)不能说明其对象

【解答】答案:D,抽象类不能直接定义对象。

5、___________是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。

A)虚析构函数B)虚构造函数

C)纯虚函数D)静态成员函数

【解答】答案:C

6、如果一个类至少有一个纯虚函数,那么就称该类为___________。

A)抽象类B)虚基类

C)派生类D)以下都不是

【解答】答案:A,抽象类的定义。

7、在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则___________。

A)完全相同B)完全不同

C)部分相同部分不同D)以上都不对

【解答】答案:A,多继承与单继承的规则是一致的。

8、在多继承的构造函数定义中,几个基类的构造函数之间用___________分隔。

A):B);

C),D)::

【解答】答案:C,多重继承德基类构造函数使用逗号分隔。

9、关于多继承二义性的描述中,___________是错误的.

A)类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性

B)解决二义性的最常用的方法是对成员名的限定法

C)基类和派生类中同时出现的同名函数,也存在二义性问题

D)一个派生类是从两个基类派生而来,而这两个基类又有共同的基类,对该基类成员进行访问时,也可能出现二义性

【解答】答案:C,基类&派生类同时出现同名函数,可能构成重载或者重写,不存在二义性。

10、设置虚基类的目的是___________.

A)简化程序B)消除二义性

C)提高运行效率D)减少目标代码

【解答】答案:B,目的是消除二义性。

11、带虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数。这样将对虚基类的子对象初始化___________。

A)与虚基类下面的派生类个数有关B)多次

C)二次D)一次

【解答】答案:D,只被初始化1次。

第12章程序结构与C++的输入输出

课后习题注解

一、选择题

1、I/O类库的根基类是___________。

A)istream B)ostream

C)ios D)fstream

【解答】答案:C,其他的都是ios的派生类。

2、I/O类库中的类不包含在___________。

A)iostream.h B)fstream.h

C)stream.h D)istream.h

【解答】答案:C,没有stream.h文件。

3、不能用于用户进行标准I/O操作的类对象是___________。

A)cin B)cout

C)clog D)cstr

【解答】答案:D,其中cin、cout和clog都是I/O操作对象。

4、从键盘的输入中读入一个值,并赋值给x的语句是___________。

A)cin>>x B)cin<

C)cout>>x D)cout<

【解答】答案:A,其中C和D是输入操作。B的箭头错误。

5、从键盘上输入数据的时候,只有在输入完数据并按下___________后,系统才把该行数据存入缓冲区。

A)空格B)回车

C)Tab D)空格或回车

【解答】答案:D,默认情况下空格和回车都是数据存入缓冲区的标志。

二、填空题

1、所有的I/O流类都是___________的派生类。

【解答】答案:ios

2、一个程序经常由多个源文件组成,每个源文件是一个可编译的程序单位。一个源文件一般包含___________和___________。

【解答】答案:头文件(“.h”)实现文件(“.cpp”)

C语言题库

C语言基本概念 能将高级语言编写的源程序转换成目标程序的是______。 A) 编辑程序B) 编译程序C) 解释程序D) 链接程序 您的答案为:B 参考答案为:B 以下选项中合法的用户标识符是______。 A) long B) _2Test C) 3Dmax D) A.dat 您的答案为:B 参考答案为:B 以下叙述正确的是 A) 可以把define和if定义为用户标识符 B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 D) define和if都不能定义为用户标识符 您的答案为:D 参考答案为:B 以下叙述正确的是 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚、具有其他语言的一切优点 您的答案为:C 参考答案为:C 在一个C语言程序中 A) main函数必须出现在所有函数之前 B) main函数必须出现在所有函数之后 C) main函数可以在任何地方出现 D) main函数必须出现在固定位置 您的答案为:C 参考答案为:C 一个C语言程序是由_______组成的。 A) 一个主程序和若干子程序 B) 若干子程序 C) 函数 D) 若干过程您的答案为:C 参考答案为:C 以下叙述中正确的是() A) C语言的源程序不必通过编译就可以直接运行 B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C) C源程序经编译形成的二进制代码可以直接运行 D) C语言中的函数不可以单独进行编译 您的答案为:B 参考答案为:B 下列关于C语言用户标识符的叙述中正确的是

安全生产管理题库三类人员考试试题

第二部分安全生产管理习题 一、单项选择题与答案 每小题有4个备选答案,在4个选项中,只有1个是正确答案。 1.安全生产管理是实现安全生产的重要( )。 A.作用 B.保证 C.依据 D.措施 正确答案:B 2.安全是( )。 A.没有危险的状态 B.没有事故的状态 C.舒适的状态 D.生产系统中人员免遭不可承受危险的伤害 正确答案:D 3、( )年,建设部要求全国四级以上施工企业要在所属的施工现场开展安全达标活动。 A.1981 B.1985 C.1991 D.1995 正确答案:C 4、( )年,建设部《建筑安全生产监督管理规定》要求

地区和县以上城市成立建筑安全监督机构。 A.1985 B.199l C.1995 D.1998 正确答案:B 5.《关于学习和推广上海市文明工地建设经验的通知》是( )年由建设部发出。 A.1994 B.1995 C.1996 D.1997 正确答案:C 6.我国安全生产的方针是( )。 A.安全责任重于泰山 B.质量第一、安全第一 C.管生产必须管安全 D.安全第一、预防为主正确答案:D 7.( )将“安全第一、预防为主”规定为我国安全生产管理的基本方针。 A.劳动法 B.产品质量法 C.安全生产法 D.刑法 正确答案:C 8.《建设部关于贯彻落实国务院(关于进一步加强安全生产工作的决定)的意见提出,到( )年,全国建筑系统安全生产状况稳定好转,死亡人数和建筑施工百亿元产值死亡率有一定幅度的下降。

A.2005 B.2007 C.2010 D.2020 正确答案B 9.《建设部关于贯彻落实国务院(关于进一步加强安全生产工作的决定)的意见提出,力争到( )年,全国建设系统安全生产状况实现根本性好转,有关指标达到或者接近世界中等发达国家水平。 A.2005 B.2007 C.2010 D.2020 正确答案:D 10.( )监督,是“群众监督”最基本的监督形式。 A.新闻 B.工会 C.职工代表大会 D.行政 正确答案:B 11.依据《建设工程安全生产管理条例》,施工单位应当设立安全生产( )机构,配备专职安全生产管理人员。 A.检查 B.监督 C.监理 D.管理 正确答案:D 12、垂直动输机械作业人员、安装拆卸工、爆破作业人员、起重信号工、登高架设作业人员等特种作业人员,必须按照国家有关规定经过(),并取得特种作业操作资格证书后,方可上岗作

C经典习题答案

1.在类作用域中能够通过直接使用该类的()成员名进行访问。 A. 私有 B. 公用 C. 保护 D. 任何 答案:D 2.小数类型和浮点类型都可以表示小数,正确说法:( ) A. 两者没有任何区别 B. 小数类型比浮点类型取值范围大 C.小数类型比浮点类型精度高 D. 小数类型比浮点类型精度低 答案:C 3.能作为C#程序的基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 答案:B 4. 可用作C#程序用户标识符的一组标识符是( )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 答案:B 5.引用类型主要有4种:类类型、数组类型、接口类型和()。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型 答案:C 6.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是(). A.Exists() B.GetFiles() C.GetDirectories() D.CreateDirectory() 答案:B 7.加载窗体时触发的事件是( )。 A. Click B.Load C.GotFoucs D.DoubleClick

答案:B 8.改变窗体的标题,需修改的窗体属性是( )。 A. Text B. Name C.Title D. Index 答案:A 9.在接口的成员中,不能包含( ). A.属性 B.方法 C.事件 D.常量 答案:D 10.在C#中定义接口时,使用的关键字是( )。 A.interface B.: C.class D.overrides 答案:A 1.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。 答案:continue 2.元素类型为double的2行5列的二维数组共占用字节的存储空间。 答案:80 3.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。 答案:object 4.枚举是从System. 类继承而来的类型。 答案:Enum 5.一般将类的构造方法声明为访问权限。如果声明为private,就不能创建该类的对象。 答案:public或公有 6.类中声明的属性往往具有get()和两个函数。 答案:set() 7.对于方法,参数传递分为值传递和两种。

C试题库有答案的

C++试题库 一、选择题 1、求“abc\\12\n”字符串的长度( C ) (A) 5 (B) 6 (C) 7 (D) 8 2、字符串常量”\tMyNane\103”的长度是:( B ) (A) 6 (B) 8 (C) 12 (D) 14 3、设x=7,执行语句y=++x,则y等于( D ) (A) 6 (B) 7 (C) 9 (D) 8 4、下列字符列中,合法的长整型常量是:( D ) (A) 4.18e3 (B) 0.46793 (C) 4L (D) 956738 5、在C++中,char类型数据在内存的存储形式是:( D ) (A) 原码(B) 反码(C) 补码(D) ASCII码 6、以下运算符中,优先级最高的是:( B ) (A) *= (B) –> (C) && (D) >= 7、若有定义“int x”,则下面不能将x的值强制转换成双精度数的表达式(D )(A)(double)x (B) double(x)(C)(double)(x)(D)x(double) 8、设有变量定义 int i, j; 与表达式 i==0 && j==0 等价的表达式是:( b ) (A) i||j (B) !i&&!j (C) !i==!j (D) i==j 9、下述叙述正确的是()。 (A)字符型变量不能赋予整数(B) 任意整数都能表示字符 (C)字符型变量可存放多个字符(D) 字符数据的值是整数值 10、设变量int a = 5; 下列哪个表达式计算后,使得变量b的值等于2 ?( A ) (A) b=a/2 (B) b=6-(a--) (C) b=a%2 (D) b=a>3?3:2 11、if…else中为避免嵌套出现二义性,C++规定else子句总与( B ) (A)其之前最近的if语句 (B)其之前最近且尚未配对的if语句 (C)缩排位置相同的if语句 (D)其之后最近的if语句 12、逻辑运算符两侧运算对象的数据( D ) (A)只能是逻辑型数据(B)只能是整型数据 (C)只能是整型或字符型数据(D)可以是任何类型的数据

安全员考试试题题库

考试题题库 一、填空题 1、两票三制的内容(工作票、操作票、交接班制度、设备定期巡检、维护制度,设备定期切换、实验制度。) 2、各种设备防护措施做到(轮有罩、轴有套、坑有栏、口有盖、孔有蓖。) 3、保证在电气设备上工作的安全组织措施有(工作票制度,工作监护制度,工作许可制度,工作间断、转移、终结制度)。 4、生产厂房内外工作场所的井、坑、孔、洞或沟道,必须覆以与(地面)齐平的坚固盖板。在检修工作中如需将盖板取下,必须设(临时围栏)。临时打的孔、洞,施工结束后,必须( 恢复原状 )。 5、所有工作人员都应学会,触电、窒息急救方法( 心肺复苏法 ),并熟悉有关烧伤、(烫伤)、(外伤)、气体中毒等急救常识。 6、烟头的表面温度为(200-300度),中心温度可达(700-800度),一般可燃物燃点都在(130-350)度,所以乱扔烟头极易引起火灾。 7、在可能发生有害气体的( 地下维护室 )或(沟道)内进行工作的人员,除必须佩戴防毒面具外,还必须使用(安全带),安全带的绳子的一端紧握在上面(监护人)的手中。 8、各换热站内无(垃圾、杂物),设备材料不堆放在站内房内,如必须堆放应按指定(地点)摆放整齐,垃圾、杂物当天必须清运到垃圾点。 9、生产现场(地面、墙壁整洁、无污迹、水迹),门窗玻璃齐全洁

净、通道畅通,栏杆、遮拦完好,盖板(完整整齐,照明)良好。10、控制室、值班室、更衣室、休息室要达到“五净”(门窗、桌椅、地面、箱柜、墙壁)、“五整齐”(桌椅、箱柜、桌面用品、上墙图表、柜桌内物品),箱柜、工具等按定置管理图放置有序,无垃圾、无积灰、无蛛网、无烟头痰迹。 11、生产管理台帐、记录和各种数据记录(准确、及时、完整,文字工整)无涂改,工作文明术语标准化。 12、严格执行检修工艺规程,检修现场必须保持环境及地面清洁,坚持文明作业、文明生产,做到三无(无油迹、无水、无灰),三齐(拆下部件排放整齐、检修机具摆放整齐、材料备品堆放整齐),三不乱(电线不乱拉、管路不乱放、杂物不乱丢)。 13、检修设备必须按定置管理摆放,大件摆齐、小件上架,检修场地整齐规范。 14、每天收工前或检修工作完毕做到(工完料净场地清),检修结束,检修人员要将(设备卫生)及(环境卫生)彻底清扫后,移交运行人员。 15、触电事故一般具有(多发性、突发性、季节性、高死亡率)等特点。 16、超过(五级)的天气,严禁室外动火。 17、(3个月以上)的电葫芦,须进行拆卸检查、清洗和注油,对于缺件、失灵和结构损坏等,一定要修复后才能使用。 18、三级安全教育是|(厂级教育、车间教育、班组教育)。 19、锅炉的三大安全附件是(安全阀、压力表和水位表)。

C语言经典例题和答案

一、求一个任意边长的矩形面积。 #include void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf("area=%d\n",sum); } 二、求一个任意半径的圆的面积及周长。 #define PI 3.14159 #include void main() {float r,area,c; scanf("%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n",area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。 ##include void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf("%5d",r); } 一、从键盘上输入三个数,求出其中的最大值,并输出。 #include void main() {int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a; if(max

#include #define PI 3.14159 #include void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60); printf("total=%f\n",sum); } 三、比较两个数的大小。如果x大于y,则输出:x>y,否则输出:x void main() {int x,y; scanf("%d,%d",&x,&y); if(x>y) printf("x>y\n"); else printf("x void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { t=b; b=a; a=t; } if(a>c) {t=a; a=c; c=t; } if(b>c) {t=b;b=c;c=t;} printf("%3d%3d%3d\n",a,b,c); }. 二、求自然数1~10之和。。 #include void main()

历年全国计算机二级C语言试题库完整

. . . . 参考 50道C 语言知识题 1.以下叙述中正确的是 A)用C 程序实现的算法必须要有输入和输出操作 B)用C 程序实现的算法可以没有输出但必须要有输入 C)用C 程序实现的算法可以没有输入但必须要有输出 D)用C 程序实现的算法可以既没有输入也没有输出 2.下列可用于C 语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C 语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量 B)定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line 是一个指针数组,语句中的*号称为间址运算符 D)定义line 是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c 的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段

火力发电厂安全考试试题库

安监处考试题库 一、填空题 1.电力生产必须坚持“安全第一、预防为主、()”的方针。 2.新建、改建、扩建工程的安全设施必须与主体工程同时设计、同时施工、同时投入()。 3.寒冷地区的厂房、烟囱、水塔等处的冰溜子,应及时(),以防掉落伤人或压垮构建筑物。如不能清除,应采取()。 4.高处作业地点的下方应设置(),并设置明显的(),防止落物伤人。 5.在没有脚手架或者在没有栏杆的脚手架上工作,高度超过()时,必须使用(),或采取其他可靠的安全措施。 6.工作场所的井、坑、孔、()或沟道,必须覆以与地面齐平的() 7.任何人进入()(办公室、控制室、值班室和检修班组室除外),必须戴()。 8.任何电气设备上的(),除原来放置人员或者负责的运行值班人员外,其他任何人员不准移动。 9.遇有()以上的大风时,禁止露天起重作业工作。 10.企业必须对所有新员工进行厂(公司)、车间(部门)、班组(岗位)的三级安全教育培训,告知作业现场和工作岗位存在的( )、( )及事故应急措施。 11.电力生产企业应按照()的原则,建立各级人员的防火责

任制。 12.电力生产企业的领导、防火责任人,保卫、安监部门()在接到火灾报警后,必须立即奔赴火灾现场()并做好火场的保卫工作。 13.加强和规范建设项目安全设施“三同时”管理是从源头上治理和预防(),防止()与建设工程主体项目脱节,避免先天不足的有效措施。 14.项目法人对工程建设过程中的安全工作负有全面的监督、管理责任。应明确发布建设项目的安全方针、目标、政策和主要保证措施;明确必须遵守的安全法规;依托项目安全委员会,建立健全现场安全()体系和安全()体系。 15.公司系统各单位建立以()主任、其他行政副职为副主任、()为成员的安全生产委员会(简称安委会),负责统一领导安全生产工作,研究和决策重大安全生产事项。 16.公司系统各发电、检修、建设管理单位必须设立独立的()。其他与电力生产有关的单位,其安全监督机构的设置要求由本单位自定;不设独立安全监督机构的,必须设(专职安全员)。 17.发电企业每年应编制年度()和()。检修、建设管理单位应编制年度安全技术措施计划及项目安全施工措施。18.各单位行政正职每月参加基层安全活动应不少于()次,分管生产副职、总工程师每月参加基层安全活动应不少于()

c和c++经典笔试题及答案

C++/C经典笔试题及答案 C++/C试题 本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。 一、请填写BOOL , float, 指针变量与“零值”比较的 if 语句。(10分)提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为: if ( n == 0 ) if ( n != 0 ) 请写出BOOL flag 与“零值”比较的if 语句: 请写出float x 与“零值”比较的if 语句: 请写出char *p 与“零值”比较的if 语句: char str[] = “Hello” ; char *p = str ; int n = 10; 请计算 sizeof (str ) = sizeof ( p ) = sizeof ( n ) =void Func ( char str[100]) { 请计算 sizeof( str ) = } void *p = malloc( 100 );请计算 sizeof ( p ) = 1、头文件中的 ifndef/define/endif 干什么用? 2、#include 和#include “filename.h” 有什么区别? 3、const 有什么用途?(请至少说明两种) 4、在C++ 程序中调用被 C编译器编译后的函数,为什么要加extern “C”声明? 5 // 第一个 for (i=0; i

c题库

假定 AB 引用是某个变量的别名,对引用的操作就是对被引用变量的操作。 ?A. 对 ?B. 错 假定 AB 为一个类,则执行 AB x; 语句时将自动调用该类的无参构造函数。 ?A. 对 ?B. 错 构造函数用来初始化类的新对象,构造函数与类同名,返回类型只能为void。 ?A. 对 ?B. 错 用new动态分配的内存是在堆中分配的,而不是在栈中分配的。 ?A. 对 ?B. 错 使用关键字class定义的类中缺省的访问权限是私有(private)的。 ?A. 对 ?B. 错 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。 ?A. 对 ?B. 错 C++语言的标识符是不区分大小写的。 ?A. 对 ?B. 错 作用域运算符(::)只能用来限定成员函数所属的类。 ?A. 对 ?B. 错 声明对象时,类名前面不需要加class关键字。 ?A. 对 ?B. 错

C++程序一般应当含有main函数,它是C++程序执行的入口。 ?A. 对 ?B. 错 可以在类的构造函数中对静态数据成员进行初始化。 ?A. 对 ?B. 错 C++语言中,既允许单继承,又允许多继承。 ?A. 对 ?B. 错 派生类的继承方式有两种:公有继承和私有继承。 ?A. 对 ?B. 错 多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。 ?A. 对 ?B. 错 类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。 ?A. 对 ?B. 错 构造函数和析构函数都不能重载。 ?A. 对 ?B. 错 在基类中被声明为虚函数的类的成员函数必须在每个派生类中显式声明为虚函数,才能具有多态的特征。 ?A. 对 ?B. 错 关于运算符重载,运算符函数的返回类型不能声明为基本数据类型。 ?A. 对

施工安全考试卷题库及答案

精心整理 施工安全考试题库 姓名:单位:得分 一、填空题。 1.监理工作是建设管理工作的延伸,监理单位代表建设单位行使所委托的安全、质量、工期、投资、环保控制等相关权力。 2.根据《中华人民共和国安全生产法》,生产经营单位的主要负责人对本单位的安全生产工作全面 3. 特种设备生产、经营、使用单位对其生产、经营、使用的特种设备应当进行自行检测和维护保养,对国家规定实行检验的特种设备应当及时申报并接受检验。 5.违法分包和人员不经教育培训上岗作业。 8. 9. 10. 1、(C 进我国建筑业发展的一项根本制度。 A.《建筑法》B.《安全生产法》 C.《建设工程安全生产管理条例》D.《建设工程质量管理条例》 2、建设工程安全管理的方针是(A) A.安全第一,预防为主,综合治理B.质量第一,兼顾安全 C.安全至上 D.安全责任重于泰山

3、施工现场的安全防护用具、机械设备、施工机具及配件必须由(D)管理,定期进行检查、维修和保养,建立相应的资料档案,并按照国家有关规定及时报废。 A.项目部 B.作业班组 C.操作人员 D.专人 4、目前我国建筑业伤亡事故的主要类型是(A) A.高处坠落、坍塌、物体打击、机械伤害、触电 B.高处坠落、中毒、坍塌、触电、火灾事故 C.坍塌、粉尘、高处坠落、触电、塔吊事故 5 6 7 8 9、(C 10、因作业必须临时拆除或变动安全防护设施时,必须经(D)同意,采取相应可靠措施,作业后应立即恢复 A.安全员 B.技术员 C.班长 D.施工负责人 1、施工现场用电工程的基本供配电系统应按(C)设置 A.一级 B.二级 C.三级 D.四级 2、施工单位承租的机械设备和施工机具及配件使用前,应由施工总承包单位、分包单位、出租单

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

C语言题库

C语言题库 1.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是(D)。 A、"rb+" B、"ab++" C、"ab" D、"wb+" 2.设有如下定义: struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是(C)。 A、p=(struct sk*) data.a; B、*p=data.a; C、p=&data.a; D、p=&data,a; 3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用 的运算符是(B)。 A、& B、. C、* D、-> 4.下列关于指针定义的描述,错误的是(A)。 A、指针是一种变量,该变量用来存放某个变量的值 B、指针是一种变量,该变量用来存放某个变量的地址值 C、指针变量的类型与它所指向的变量类型一致 D、指针变量的命名规则与标识符相同 5.设有如下的程序段: char str[ ]="Hello"; char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为(D ). A、不确定的值 B、'o'的地址 C、'o' D、'\0' 6.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。 A、&t[1] B、t[3] C、&t[3][2] D、t[2] 7.下列说法中正确的是(B ). A、函数调用不占运行时间,只占编译时间. B、宏替换不占运行时间,只占编译时间. C、有参数的宏定义,就是函数. D、在定义宏时,宏名与带参数的括弧之间可以加空格. 8.以下叙述中正确的是(C)。

最新版c语言经典习题100例(最全面)

C 语言习题100 例(最新整理版) 习题目录:(按住Ctrl 点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元 时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%; 40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目输入三个整数x,y,z请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在C环境中运行,看一看,VeryBeautifuI! (9) 【程序8】 (9) 题目:输出9*9 口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200 之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1 的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5 。 (12) 【程序15】 (13) 题目利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用 C 表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n ,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。14【程序18】 (14)

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

安全试题题库及答案

一、单选题(每题1分,共30分) 1、《中华人民共与国安全生产法》规定得安全生产管理方针就是( A )。 A、安全第一、预防为主、综合治理 B、安全生产人人有责 C、安全为了生产,生产必须安全 D、安全第一,预防为主 2、因事故导致严重得外部出血时,应( B)。 A、清洗伤口后加以包裹B、用布料直接包裹,制止出血 C、用药棉将流出得血液吸去 3、电脑由于不明原因冒烟时,应避开( B )进行处置,以防爆炸伤人。 A、屏幕侧面 B、屏幕正面 C、屏幕后面 4、火灾发生时,不宜采用得逃生方式就是( B )。 A.及时报警 B.整理行李 C.用湿毛巾捂住鼻子 D、浓烟中在地上爬行 5、石油气具有一定得毒性,在空气中浓度大于( A )时,则有使人中毒得危险。 A、10% B、5% C、20% D、15% 6、生产经营单位都应编制生产安全事故应急预案。应急预案编制过程中,危险分析得内容必须包括( C )。 A、应急设备资源分析 B、应急人力资源分析 C、重大危险源辨识 D、应急部门职责分析 7、加强安全培训,树立防爆意识,严格控制爆炸( A )得相互作用。 A、三要素 B、与燃烧 C、物质之间 D、与事故 8、火灾使人致命得最主要原因就是( C )。 A、烟 B、人员逃离困难 C、窒息 D、撤离时人员相互踩踏 9、公众上交得危险化学品,接收得单位就是( )。 A、环境部门 B、消防部门 C、公安部门 D、公安消防机构 10、某建筑公司在试验吊具得过程中,由于操作工不慎,发生吊具坠落,造成1人死亡得生产安全事故。根据《企业职工伤亡事故分类》(GB6441-1986),该起事故得类别就是( D )。 A、物体打击 B、高处坠落 C、坍塌 D、起重伤害 11、在安全管理中,下列哪样比较重要?( B ) A.发防暑降温费 B.安全培训与教育 C.探望负伤人员家属 12、锅炉安全阀得检验周期为( B )。

数据结构(C语言)【经典题库】含参考答案

《数据结构与算法》复习题 选择题 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构 B.数据结构 C 3 A 。 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。 (1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是 O(n2) 。 s =0;

for( I =0; inext ==NULL C.head->next ==head D head!=NULL

15.带头结点的单链表head为空的判定条件是 B 。 A.head == NULL B head->next ==NULL C.head->next ==head D head!=NULL 16.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用 D 存储方式最节省运算时间。 A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表17.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 20 21 B 。 22 A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素 C.在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素 23.与单链表相比,双链表的优点之一是 D 。 A.插入、删除操作更简单

C试题库

2000~2001学年《程序设计基础-C》试卷 一、单项选择题(每小题 2 分,共 30 分) 1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A、‘{‘ 和’}’ B、‘[‘和’]’ C、“/*”和”*/” D、“*/”和”/*” 2.下列运算符中,优先级最低的是_____。 A、* B、!= C、+ D、= 3.若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。 A、3 B、 4 C、5 D、0 4.已知字符‘a’ 的ASCII码为 97 ,执行下列语句的输出是_____。 printf ("%d, %c", ’b’, ’b’+1 ) ; A、98, b B、语句不合法 C、98, 99 D、 98, c 5.表达式strcmp(“box”, “boss”) 的值是一个_______。 A、正数 B、负数 C、 0 D、不确定的数 6.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] 7.要调用数学函数时,在#include命令行中应包含_____。 A、”stdio.h” B、”string.h” C、”math.h” D、”ctype.h” 8.判断i和j至少有一个值为非0的表达式是_____。 A、 i!=0 && j!=0 B、i*j!=0 C、!(i==0 || j==0) D、i&&j 9.若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。 A、scanf(”%d,%f”, &a, &c); B、scanf(”d=%d, c=%f”, &a, &c); C、scanf(”%d%f”, &a, &c); D、scanf(”%d%f”, a, c); 10.若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。 A、p++ B、x++ C、*(p++) D、&x++ 11.若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _____是正确的。 A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1; 12.下列程序段的输出是_____。 int c[]={1, 3, 5}; int *k=c+1; printf("%d", *++k); A、 3 B、 5 C、 4 D、6 13.不正确的赋值或赋初值的方式是______。 A、char str[]="string"; B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'}; C、char str[10];str="string"; D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', ’\0’}; 14.对于以下结构定义,++p->str中的++加在_____。 struct { int len; char *str;

加油站安全考试试卷试题及答案

加油站安全考试试卷试题及答案 加油站从业人员安全培训试卷单位: 姓名: 成绩 一、单项选择题(每题1分,共10分) 1.安全生产责任制要贯彻( A )的方针。 A安全第一,预防为主 B以人为本 C安全第一,人人有责 D防患于未然 2.为消除静电危害,可采取的有效措施是( C ) 。 A(保护接零 B(绝缘 C(接地放电 D(安装桩头 3.灭火器材的“四定”管理是指( B )。 A( 定人员、定设备、定目标、定责任 B( 定期检查、定点摆放、定人养护、定期换药 C( 定点摆放、定人管理、定责任、定目标 D( 定期检查、定期换药、定期养护、定责任 4.油品发生初期火灾,首先应( A )。 A. 停止作业 B.用灭火器进行扑救 C.用灭火毯进行扑救 D.报119火警 5.使用何种消防器材灭火时,可能会造成冻伤( C ), A.干粉 B.泡沫 C.二氧 化碳 D.水 6.某油罐车着火,用石棉被盖住油罐口灭火,属于哪种灭火方法,( B ) A.隔离法 B.窒息法 C.冷却法 D.抑制法 7.在加油现场是否可以修车,敲打铁 器,( D ) A.可以 B.征得工作人员同意后可以 C.专业维修人员可以 D.不可以 8.冬天,一老客户开柴油车加油,员工要求其熄火后加油,客户说熄火后不好启动,该如何处理:(D)

A(对客户说不熄火不能加 B(反正是柴油,危害不大,加了算了 C(请客户开到站外,用方便桶加 D(请熄火,承诺加完后如车子启动不了帮忙推着发动 9.由铁桶向塑料桶内加注轻油,与加油机的距离最少在( D)米以上。 A(2 B(3 C(4 D(5 10(停电检修时,在一经合闸即可送电到工作地点的开关或刀闸的操作把手上,应悬挂如下哪种标示牌?( C ) A.“正在工作” B.“止步,高压危险” C.“禁止合闸” D(“有人工作” 二、多项选择题 (每题2分,共20分) 1、《安全生产法》规定“生产经营单位有下列行为之一的,可责令限期改正;逾期未改正的,责令停产停业整顿,可以并处2万元以上10万元以下的罚款;造成严重后果,构成犯罪的,依照刑法有关规定追究刑事责任:( ABC ) A、生产、经营、储存、使用危险物品,未建立专门安全管理制度、未采取可靠的安全措施或者不接受有关主管部门依法实施的监督管理的; B、重大危险源未登记建档,或者未进行评估、监控,或者未制定应急预案的; C、进行爆破、吊装等危险作业,未安排专门管理人员进行现场安全管理的; D、未为从业人员提供符合国家标准或者行业标准的劳动防护用品的。 2、油品的危险特性有: (ABCDEF) A、易燃性; B、易爆性; C、易积聚静电荷性; D、易受热膨胀性; E、易蒸发、易扩散和易流淌; F、毒性。 3、人的不安全行为产生的主要原因有:(ABC) A、不知道正确的操作方法; B、虽然知道正确的操作方法,却为了快点干完而省略了一些必要的步骤; C、按自己的习惯操作。 4、作业现场安全管理的主要内容有:( ABC ) A、作业标准化; B、安全合理布置作业现场; C、安全点检; D、人员培训。 5、事故的基本特征有: ( ABCDE )

相关文档
最新文档