《VC++ 程序设计》期末复习题及答案

合集下载

VC期末考试题及标准答案

VC期末考试题及标准答案

武汉大学2021—2021学年上学期面向对象程序设计试卷〔B〕学号:姓名:院系:专业:得分:一、名词解释〔每题5分,共计25分〕〔1〕构造函数:是一种特殊成员函数,它提供了对成员变量进展初始化方法,使得在声明对象时能自动初始化对象〔+2〕;构造函数名称与类名一样〔+1〕;构造函数不能指定任何返回值类型〔+1〕;构造函数可以重载〔+1〕。

〔2〕多态:多态性是面向对象编程一个重要特征〔+1〕,主要表现在函数调用时实现“一种接口,多种方法〞〔+2〕。

多态又分为编译时多态和运行时多态两种〔+2〕。

〔3〕抽象类:抽象类是指这样类,它一些行为〔成员函数〕不给出具体定义〔+2〕,抽象类至少带有一个纯虚函数〔+1〕,抽象类不能用来申明对象,只能作为基类使用,因此它又称为抽象基类〔+2〕。

〔4〕文档模板:在文档/视图构造应用程序中,数据以文档类对象形式存在〔+1〕。

文档对象通过视图对象显示出来,而视图大对象又是框架窗口一个子窗口,并且涉及文档操作菜单和工具栏等资源也是建立在框架窗口上〔+2〕。

这样文档、视图、框架和所涉及资源形成了一种固定关系,这种固定关系就成为文档模板〔+1〕。

也就是说,文档模板描述了对应于每一种类型文档视图和窗口类型〔+1〕。

〔5〕序列化:对象保存和恢复过程称为序列化〔+2〕。

即对象具有保存和加载其状态能力〔+1〕,对象能够在程序运行完毕前将对象当前状态写入永久存储体中,以后在程序运行时通过数据读取而恢复对象状态〔+2〕。

二、简答题〔每题10分,共计40分〕1.简述文档、视图和应用程序框架之间如何相互作用?答:文档、视图和应用程序包含了一系列复杂相互作用过程〔+1〕,稳当和视图交互式通过类共有数据成员和成员函数实现〔+1〕。

一个视图对象只与一个文档对象关联,一个文档可以与多个视图关联,但一个文档对象只反映当前视图变化〔+2〕。

视图中用GetDocument()获取文档对象进展操作〔+1〕;在文档中利用Invalidate(), UpdateAllViews()或SendMessage(WM_PAINT,a,b)调用视图中OnDraw()对文档数据进展绘图〔+3〕;在程序任何地方可以调用AfxGetApp()得到程序框架对象指针,利用框架对象指针可进一步利用GetActiveView()获取程序视图对象,并对其进展操作〔+2〕。

c面向对象程序设计期末考试题及答案

c面向对象程序设计期末考试题及答案

c面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是面向对象程序设计的特点?A. 封装B. 继承C. 多态D. 所有选项都是2. 在Java中,以下哪个关键字用于定义类?A. classB. structC. typeD. classdef3. 以下哪个是Java中不允许的类成员访问修饰符?A. publicB. protectedC. privateD. global4. 以下哪个是Java中实现多态的方式?A. 函数重载B. 函数重写C. 接口D. 抽象类5. 在Java中,哪个关键字用于声明一个方法,该方法没有返回值?A. voidB. returnC. noneD. null6. 以下哪个是Java中创建对象的语法?A. new ClassName();B. create ClassName;C. make ClassName;D. ClassName();7. 在Java中,以下哪个是正确的构造方法声明?A. public ClassName();B. public ClassName new();C. public new ClassName();D. public ClassName create();8. 以下哪个是Java中实现继承的方式?A. 使用extends关键字B. 使用implements关键字C. 使用interface关键字D. 使用new关键字9. 在Java中,以下哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. class10. 以下哪个是Java中实现封装的方式?A. 使用public关键字B. 使用private关键字C. 使用protected关键字D. 使用default关键字答案:1. D2. A3. D4. B5. A6. A7. A8. A9. A10. B二、简答题(每题10分,共20分)1. 简述面向对象程序设计中的“封装”概念及其重要性。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。

1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。

B. C语言标准库中包含了很多有用的函数和变量。

C. C语言标准库的函数和变量的声明保存在头文件中。

D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。

2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。

1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。

以下是程序的运行示例:```1至100之间的所有偶数的和为2550。

```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。

以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。

VC期末考试及答案

VC期末考试及答案
public:
Shape() { }
virtualintArea()=0;
};
class Circle:public Shape {
intr;
public:
Circle(intc){r=c;}
{static int j;
do{ s[j]+=s[j+1]; } while(++j<2);
}
void main(void)
{int k, a[10]={1, 2, 3, 4, 5};
for(f(a),k=0; k<5; k++) cout<<a[k];cout<<endl;
for(f(a),k=0; k<5; k++) cout<<a[k];cout<<endl;
};
class D:public C{
int z;
public:
D(int a,int b,int c,int d):C(a,b,c){ z=d; }
int& Accessz(){ return z; }
};
void main()
{D d(35,100,300,500);
d.A::Access()+=20;d.B::Access()+=d.B::Access();
27.下列叙述中,不正确的是27。
A.含纯虚函数的类为抽象类B.不能直接由抽象类建立对象
C.抽象类不能作为派生类的基类 D.纯虚函数不能定义其实现部分
28.下列叙述中,不正确的是28。
A.this指针是指向当前调用成员函数的对象的指针
B.this指针可用于类中非静态的数据成员和函数成员

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案在本次大一C程序设计的期末考试中,我们精心准备了以下题目,旨在考察同学们对C语言基础知识的掌握程度以及编程能力。

以下是考试题目及参考答案。

一、选择题(每题2分,共20分)1. C语言中,哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable-nameC. _variableD. variable$name答案:C3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 若有以下代码片段:```cint a = 5;int b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. C语言中,哪个函数用于输入字符?A. scanf()B. printf()C. getchar()D. getc()答案:C7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while8. 在C语言中,哪个关键字用于定义数组?A. arrayB. listC. vectorD. int[]答案:D9. 下列哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A10. 在C语言中,哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。

3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。

4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。

6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。

7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。

VC 复习题+答案

VC 复习题+答案

《VC程序设计》试卷1一、单项选择题(每小题1分,共20分)1、假定MyClass为一个类,则执行“” MyClass a[3],*p[2];”语句时,自动调用该类构造函数的次数为()A、2B、3C、4D、52、对于类中定义的成员,其隐含访问权限为()A、protectedB、privateC、publicD、static3、一个类的友元函数或友元类能够通过成员操作符访问该类的()A、私有成员B、所有成员C、公用成员D、保护成员4、下面说法正确的是()A、构造函数可以重载,析构函数不能重载。

B、构造函数不能重载,析构函数可以重载。

C、构造函数可以重载,析构函数也可以重载。

D、构造函数和析构函数都不可以重载。

5、下列语句的运行结果为()#include <iostream.h>srtuct COMPLEX{int x;int y;} cNum[2]={1,3,2,7};void main(){cout<< cNum[0].y*cNum[1] x<<endl;}A、3B、2C、21D、66、类AB的缺省构造函数和析构函数是()A、AB( )和~AB( )B、AB(int)和~AB( )C、AB( )和~AB(delete )D、AB( )和int~AB( )7、在C++中,若对函数未加说明,则函数的隐含类型是()A、intB、doubleC、voidD、char8、已知类A是类B的友元,类B是类C的友元,则( )A、类A一定是类C的友元B、类C一定是类A的友元C、类C的成员函数可以访问类B的对象的任何成员D、类A的成员函数可以访问类B的对象的任何成员9、下列说法中正确的是( )A、类定义中只能说明函数成员的函数头,不能定义函数体B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中D、在类体之外定义的函数成员不能操作该类的私有数据成员10、以下不属于成员函数的是( )A、静态成员函数B、友元函数C、构造函数D、析构函数11、对于消息队列的描述正确的是()A、在Windows中只有一个消息系统,即系统消息队列。

Visual C++程序设计-期末试题及答案

Visual C++程序设计-期末试题及答案

Visual C++程序设计-期末试题及答案一、选择题(每题1分,共5分)1 MFC主要由()组成。

A.基础类库、全局函数 B. 基础类库、全局变量、宏C.基础类库、全局函数、宏D.基础类库全局函数全局变量和宏2 应用程序对象CProgramApp是程序执行的最重要部分,( )均由其完成。

A.程序的初始化、运行和结束工作 B。

消息的发送和执行 C.程序的框架、窗口 D。

事件的发生与处理3 当消息产生时,系统调用CWinApp的()函数对消息进行解析,并发送到相应的窗口进行处理。

A.Run B Create C TranslateMessage D DispatchMessage 4 对于在屏幕上的绘制,通常使用()对象,而对于打印机设备上下文,则使用()对象来完成。

A.CDC,CWindowsDC B。

CWindowsDC, CDC C.CWindowsDC,CPaintDC D。

CDC,CPaintDC5 ( )对象表示一个点的位置,()对象表示相对的距离的尺寸,()对象表示一个矩形区域。

A.CPoint类,CRect类,CSize类 B。

CSize类,CPoint 类,CRect类C.CRect类,CSize类,CPoint类 D。

CPoint类,CSize类,CRect类二、填空题(每空1分,共20分)1 消息是应用程序初始化时,Windows发送给视图的第一条消息。

2 用于定时向应用程序发送消息,使程序动作在指定的时间间隔周期性执行。

3 对话框是由一个特殊的、可以接收消息的,它具有的基本特性。

4 对话框主要由两部分组成:和。

5 Visual C++ 6.0集成开发环境中提供的资源有、、、、、和等。

6 CGdiObject及其派生类封装了Windows提供的绘图工具有,,和等。

7 文档是数据的载体,管理及维护数据,支持并实现数据的操作。

视图是数据的表现,视图实现了数据的,并对数据的提供了支持。

VC_复习题+答案

VC_复习题+答案

《VC程序设计》试卷1一、单项选择题(每小题1分,共20分)1、假定MyClass为一个类,则执行“” MyClass a[3],*p[2];”语句时,自动调用该类构造函数的次数为(B)A、2B、3C、4D、52、对于类中定义的成员,其隐含访问权限为(B)A、protectedB、privateC、publicD、static3、一个类的友元函数或友元类能够通过成员操作符访问该类的(B)A、私有成员B、所有成员C、公用成员D、保护成员4、下面说法正确的是(A)A、构造函数可以重载,析构函数不能重载。

B、构造函数不能重载,析构函数可以重载。

C、构造函数可以重载,析构函数也可以重载。

D、构造函数和析构函数都不可以重载。

5、下列语句的运行结果为(D)#include <iostream.h>srtuct COMPLEX{int x;int y;} cNum[2]={1,3,2,7};void main(){cout<< cNum[0].y*cNum[1] x<<endl;}A、3B、2C、21D、66、类AB的造缺省构函数和析构函数是( A )A、AB( )和~AB( )B、AB(int)和~AB( )C、AB( )和~AB(delete )D、AB( )和int~AB( )7、在C++中,若对函数未加说明,则函数的隐含类型是(A)A、intB、doubleC、voidD、char8、已知类A是类B的友元,类B是类C的友元,则( D )A、类A一定是类C的友元B、类C一定是类A的友元C、类C的成员函数可以访问类B的对象的任何成员D、类A的成员函数可以访问类B的对象的任何成员9、下列说法中正确的是( B )A、类定义中只能说明函数成员的函数头,不能定义函数体B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中D、在类体之外定义的函数成员不能操作该类的私有数据成员10、以下不属于成员函数的是( B)A、静态成员函数B、友元函数C、构造函数D、析构函数11、对于消息队列的描述正确的是(D)A、在Windows中只有一个消息系统,即系统消息队列。

C程序设计教程期末复习题及答案

C程序设计教程期末复习题及答案

C程序设计教程期末复习题及答案习题 1 一、选择题1(在C#中 B 都是对象。

A 任何类型B 任何事物C 任何代码D 任何技术 2(对象包含数据和 A 的方法。

A 在该数据上工作B 调用C 函数调用D 传递参数 3(一个类是 D 的蓝本。

A 数据集合B 函数集合C 方法集合D 给定功能集合 4(.NET构架包含公用语言运行时期和 B 。

5(.NET的核心是 A 。

A CLRB Windows2000C DNAD 分解平台 6(C#程序以 B 扩展名保存编写的程序。

A .CS B .PS C .CSS D .SCB 的命名空间。

7(System是A 存储系统类B 控制台类C I/O操作D 新项目 8(namespace用于声明 B 。

A 新项目B 一个命名空间C 类与方法D 指令 9(每个C#程序必须有一个 D 方法。

A 类方法B 构造方法C MainD 重载方法二、问答题1. 面向对象编程的三大原则是什么,答:封装、继承和多态性。

2. 封装是什么,答:封装是用于隐藏对象实际的制作细节。

3. 继承是什么,答:继承是在建立新的特定对象时,可以使用现有对象的功能性。

4. 多态性是什么,答:多态性是程序代码能够依据实际对象所需而进行不同的行为。

5. .NET的核心构件包括哪些,答:(1).NET构造块服务或有计划的访问某些服务。

(2)将在新的Internet设备上运行的.NET设备软件。

(3).NET用户经验。

6. CLR的作用是什么,答:CLR是.NET的核心,它是一个运行时期环境,在该环境中,以不同语言编写的应用程序均能始终运行。

三、编程题使用.NET代码编辑器编写一个C#应用程序,以在屏幕打印出:C# is the Component-oriented language in C and C++ family of language.要求:(1) 使用using System命名空间,即定位System命名空间的Console类。

(精校版)C程序设计期末考试习题(含答案)

(精校版)C程序设计期末考试习题(含答案)

二、读程序写结果(每题 6 分,共 24 分)
1. 有以下程序
int f(int a)
{ int b=0;
static c=3;
b=b+1;c=c+1;
return(a+b+c);

void main()
{ int a=2,i;
for(i=0;i〈3;i++) printf(“%2d”,f(a));

执行后输出的结果是

2。 有以下程序
void f(int y,int *x)
{ y=y+*x; *x=*x+y;}
void main( )
{ int x=2,y=4;
f(y,&x);
printf(“x=%d,y=%d\n”,x,y);
}
执行后输出的结果是

3。 有以下程序
#define LETTER 1
7。 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是 ( ).
A) p=1;
B) *q=2;
C) q=p;
D) *p=5;
8. 设有定义:int a,*pa=&a; 以下 scanf 语句中能正确为变量 a 读入数据的是 ( )。
A) scanf(“%d”,pa) ;
A)字符 B 和字符 P
B) 字符串 FORTD) 字符串 BASIC 和字符串 PASCAL
10。 执行语句 for(i=1;i++〈4;);后变量 i 的值是( ).
A) 3
B)4
C) 5
D) 不定
一、填空题(每空 2 分,共 18 分)

c程序设计期末考试试题及答案

c程序设计期末考试试题及答案

c程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. 下面哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. %答案:A3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B4. 下列哪个选项是正确的C语言变量声明?A. int num = 10;B. int num = "10";C. int num = '10';D. int num = 10.0;答案:A5. C语言中,以下哪个语句用于循环执行代码块?A. forB. whileC. ifD. switch答案:A6. 在C语言中,以下哪个函数用于计算数组中元素的总和?A. sum()B. count()C. average()D. max()答案:A7. 下列哪个选项是C语言中正确的注释格式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A8. 在C语言中,如何定义一个指向整数的指针?A. int *p;B. int *p = 0;C. int *p = 10;D. int p = 10;答案:A9. 在C语言中,以下哪个选项是正确的函数定义?A. int function() {}B. int function() { return 0; }C. int function() { return; }D. int function() { return 1; }答案:B10. 下列哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. 'Hello, World'答案:A二、填空题(每题3分,共15分)1. 在C语言中,使用________运算符可以交换两个变量的值。

C语言程序设计(期末考试)

C语言程序设计(期末考试)

C语言程序设计(期末考试)选择题,每空一分(共80题)1.C语言程序是由()构成的。

A)一些可执行语言B)main函数C)函数(正确答案)D)包含文件中的第一个函数2.()是构成C语言程序的基本单位。

A、函数(正确答案)B、过程C、子程序D、子例程3.C语言程序从()开始执行。

A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数(正确答案)D)包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在()。

A)程序文件的开始B)程序文件的最后C)它所调用的函数的前面D)程序文件的任何位置(正确答案)5、以下说法中正确的是()。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行(正确答案)D、C语言程序中的main()函数必须放在程序的开始部分6.下列方法中错误的是()。

A.主函数可以分为两个部分:主函数说明部分和主函数体。

B.主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D.程序可以从任何非主函数开始执行。

(正确答案)7.下列说法错误的是()A.C程序运行步骤是编辑、编译、连接、执行。

B.C语言的变量名必须用小写,常量用大写。

(正确答案)C.C语言的三种基本结构是顺序、选择、循环。

D.C程序一定由函数构成的。

8.下列关于C语言的说法错误的是()。

A.C程序的工作过程是编辑、编译、连接、运行B.C语言不区分大小写。

(正确答案)C.C程序的三种基本结构是顺序、选择、循环D.C程序从main函数开始执行9.VC默认的C语言源程序扩展名为.CPP,需经过()之后,生成.exe文件,才能运行。A)编辑、编译B)编辑、连接C)编译、连接(正确答案)D)编辑、改错10.下列说法中正确的是()。

A.由于C源程序是高级语言程序,因此一定要在VC软件中输入。

《VC 程序设计》期末复习题及答案

《VC 程序设计》期末复习题及答案

一、选择题A(1)下列的()是引用调用。

A.形参是引用,实参是变量;B.形参和实参都是变量;C.形参是指针,实参是地址值;D.形参是数组名,实参是数组名。

C(2)作用域运算符的功能是()A.给定作用域的大小;B.表示作用域的级别的;C.某个成员是属于哪个类的;D.指出作用域的范围的。

D(3)下列的各函数中,()不是类的成员函数。

A.构造函数;B.析构函数;C.拷贝初始化构造函数;D.友元函数。

D(4)下面()不是构造函数的特征。

A.构造函数可以重载;B.构造函数可以设置缺省参数;C.构造函数的函数名和类名相同;D.构造函数必须指定返回值类型。

C(5)下述静态数据成员的特性中,()是错误的。

A.静态数据成员要在类体外进行初始化;B.说明静态数据成员时前边要加修饰符static;C.静态数据成员不是所有对象所共有的;D.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符。

C(6)已知类A有三个公有成员:void f1(int), void f2(int) 和int a,则()是指向类A成员函数的指针。

A.A *p; B. int A::*pc=&A::a;C.void(A ::*pa)(int);D. A **p;C(7)下列关于对象数组的描述中,()是错的。

A.对象数组的数组名是一个地址常量;B.对象数组的下标是从0开始的;C.对象数组只能赋初值,不能被赋值;D.对象数组的数组元素是同一个类的对象.B(8)下列定义中,()是定义指向类A的对象数组的指针。

A.A *p[5];B.A (*p)[ 5];C.(A *) p[5]; D.A *p[ ];A(9)说明语句const char *ptr;中,ptr是()。

A.指向字符常量的指针;B.指向字符的常量指针;C.指向字符串常量的指针;D.指向字符串的常量指针。

B(10)关于new运算符的下列描述中,( )是错的.A.使用它创建对象时要调用构造函数;B.使用它创建对象数组时必须指定初始值;C.它可以用来动态创建对象和对象数组;D.使用它创建的对象或对象数组可以使用运算符delete删除。

《VC程序设计》期末复习题集(学生用)

《VC程序设计》期末复习题集(学生用)

《VC程序设计》期末复习题集(学生用)《程序设计(VC++)》考试试卷一选择题(在A、B、C、D中选择一个正确的,每题1分,共30分。

用答题纸答题,二、填空题(每个空格1分,共30分。

请将答案填写在答题纸的相应答题号内,每个答案只占一行)●基本概念题,共5分1.执行语句cout<2.用new运算符申请动态对象时,系统将自动调用该对象的构造函数。

3.定义内联函数的方法是在函数的返回值类型之前增加关键字inline4.在多重继承时,若欲使公共基类只在派生类中产生一个拷贝,则应在派生类中将该基类用关键字virtual5.在C++的I/O流类库中,预定义了4个流,即cin、cout、cerr和clog,其中cerr和clog不可重定向。

●阅读程序题,共13分6.[程序](2分)#includeintm[3][3]={{1},{2},{3}},n[3][3]={1,2,3};voidmain(void){cout<7.[程序](2分)#includeintf(char某){char某p=;while(某p)p++;returnp-;}voidmain(void){cout<程序的输出是6,函数f的功能是求字符串的长度8.[程序](2分)#includevoidf(int某){taticintj;do{[j]+=[j+1];}while(++j<2);}voidmain(void){intk,a[10]={1,2,3,4,5};for(f(a),k=0;k<5;k++)cout<程序输出的第一行是35345,程序输出的第二行是357459.[程序](3分)#includeintk=1;voidf(intm){m+=k;k+=m;{chark=B;cout<<k-A<voidmain(void){inti=4;f(i);cout<程序的输出第一行是1,第二行是5,6,第三行是4,610.[程序](2分)#includeclaA{protected:int某;public:int&Acce(){return某;}};claB{protected:int某;public:int&Acce(){return某;}};claC:publicA,publicB{inty;public:C(inta,intb,intc){A::某=a;B::某=b;y=c;}int&Accey(){returny;}};claD:publicC{intz;public:D(inta,intb,intc,intd):C(a,b,c){z=d ;}int&Accez(){returnz;}};共7页,第1页。

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是:A. 变量名必须以字母开头B. 变量名中可以包含下划线C. 变量名区分大小写D. 变量名可以包含数字答案:D2. C语言中,用于定义字符常量的是:A. 单引号B. 双引号C. 反引号D. 尖括号答案:A3. 下列哪个选项不是C语言中的运算符?A. 赋值运算符B. 关系运算符C. 逻辑运算符D. 条件运算符答案:D4. 在C语言中,用于定义一个整型数组的语句是:A. int array[5];B. int array[];C. int array[5]={0};D. int array[5]={0,1,2,3,4};答案:A5. 下列关于C语言函数的描述,正确的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 所有选项都是正确的答案:D6. C语言中,用于输入输出的库函数是:A. printfB. scanfC. printf和scanfD. 以上都不是答案:C7. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B8. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A9. 下列关于C语言中循环的描述,错误的是:A. for循环可以没有初始化部分B. while循环可以嵌套使用C. do-while循环至少执行一次D. 循环体内可以包含break语句答案:A10. C语言中,用于定义枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是____。

答案:int2. 在C语言中,表示逻辑与的运算符是____。

精选2019年VisualBasic程序设计期末完整考题库200题(含参考答案)

精选2019年VisualBasic程序设计期末完整考题库200题(含参考答案)

2019年Visual Basic 程序设计期末测试复习题200题[含答案]一、选择题1.如下数组声明语句,正确的是______。

a) dim a[3,4] as intigerb) dim a(3,4) as stringc) dim a(n,n) as singled) dim a(3 4) as integer 答案:B2.单击命令按钮时,下列程序的执行结果为______。

Private Function P(N As Integer)Static sumFor I = 1 To Nsum = sum + 1Next IP = sumEnd FunctionPrivate Sub Command1_Click()S = P(1) + P(2) + P(3) + P(4)Print S;End Suba) 20b) 30c) 115d) 135 答案:A3.下述的说法哪种是Windows的程序设计方法:_______。

a) 面向对象,顺序驱动b) 面向过程、事件驱动c) 面向过程、顺序驱动d) 面向对象、事件驱动答案:D4.要声明一个长度为256个字符的定长字符串变量str,以下语句正确的是_______。

a) Dim str As Stringb) Dim str As String(256)c) Dim str As String(256)d) Dim str As String*256 答案:D5.所有控件都有的属性是_______,在程序中作为对象的标识引用。

a) Captionb) Valuec) Textd) name 答案:D6.若要在列表框中显示多列数据,可用列表框的______属性来实现。

a) MultiSelectb) Indexc) Columnsd) List 答案:C7.下列_______属性用于设置或返回文本框中的文本。

a) Captionb) Textc) Named) DragIcon 答案:B8.若要使标签的大小自动适应所显示的文本,可通过设置______属性的值来实现。

VC程序设计期末复习题集学生用

VC程序设计期末复习题集学生用

VC程序设计期末复习题集学生用一、选择题1. 在VC程序设计中,以下哪个是C++预处理指令?A. #includeB. coutC. mainD. cin2. 下列关于数组的说法正确的是:A. 数组可以存储不同类型的数据B. 数组的大小可以在程序运行时改变C. 数组的下标从1开始D. 数组的大小必须是常量3. 下面哪个关键字用于定义一个类的成员函数?A. publicB. privateC. classD. void4. 下面哪个函数将子字符串插入到另一个字符串中?A. strcatB. strcpyC. strstrD. strncat5. 在VC程序设计中,以下哪个是C++的输入操作符?A. >>B. <<C. &D. |二、填空题1. 下划线是一个合法的变量名吗?(是/否)2. 下划线是一个有效的标识符吗?(是/否)3. 在VC程序中,使用的"cout"函数是属于哪个命名空间的?4. 在C++中,整数类型的常量默认是什么类型?(int/float/double)5. 使用toint()函数可以将浮点数转换为整数。

(是/否)三、简答题1. 请解释C++中的面向对象编程(OOP)是什么意思。

2. 请解释C++中的继承是什么,并举例说明。

3. 请解释C++中的多态是什么,并举例说明。

4. 简要描述函数重载的概念,并给出一个函数重载的例子。

四、编程题1. 编写一个程序,输入一个整数n,输出1到n之间的所有偶数。

2. 编写一个程序,输入一个字符串,将字符串反转并输出。

3. 编写一个程序,输入一个正整数n,计算n的阶乘并输出。

4. 编写一个程序,输入一个字符串,统计字符串中的大写字母、小写字母、数字和其他字符的个数,并输出结果。

以上是VC程序设计的期末复习题集,学生可以通过完成这些题目来加深对VC程序设计的理解和掌握。

在解答问题时,建议注明每个选择题的正确答案或填空题的具体填写内容,以便于检查和对比答案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题A(1)下列的()是引用调用。

A.形参是引用,实参是变量;B.形参和实参都是变量;C.形参是指针,实参是地址值;D.形参是数组名,实参是数组名。

C(2)作用域运算符的功能是()A.给定作用域的大小;B.表示作用域的级别的;C.某个成员是属于哪个类的;D.指出作用域的范围的。

D(3)下列的各函数中,()不是类的成员函数。

A.构造函数;B.析构函数;C.拷贝初始化构造函数;D.友元函数。

D(4)下面()不是构造函数的特征。

A.构造函数可以重载;B.构造函数可以设置缺省参数;C.构造函数的函数名和类名相同;D.构造函数必须指定返回值类型。

C(5)下述静态数据成员的特性中,()是错误的。

A.静态数据成员要在类体外进行初始化;B.说明静态数据成员时前边要加修饰符static;C.静态数据成员不是所有对象所共有的;D.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符。

C(6)已知类A有三个公有成员:void f1(int), void f2(int) 和int a,则()是指向类A成员函数的指针。

A.A *p; B. int A::*pc=&A::a;C.void(A ::*pa)(int);D. A **p;C(7)下列关于对象数组的描述中,()是错的。

A.对象数组的数组名是一个地址常量;B.对象数组的下标是从0开始的;C.对象数组只能赋初值,不能被赋值;D.对象数组的数组元素是同一个类的对象.B(8)下列定义中,()是定义指向类A的对象数组的指针。

A.A *p[5];B.A (*p)[ 5];C.(A *) p[5]; D.A *p[ ];A(9)说明语句const char *ptr;中,ptr是()。

A.指向字符常量的指针;B.指向字符的常量指针;C.指向字符串常量的指针;D.指向字符串的常量指针。

B(10)关于new运算符的下列描述中,( )是错的.A.使用它创建对象时要调用构造函数;B.使用它创建对象数组时必须指定初始值;C.它可以用来动态创建对象和对象数组;D.使用它创建的对象或对象数组可以使用运算符delete删除。

答:(1)A (2)C (3)D(4)D(5)C(6)C (7)C (8)B (9)A (10)BC(1)派生类的对象对它的基类成员中()是可以访问的.A.公有继承的保护成员;B.公有继承的私有成员;C.公有继承的公有成员;D.私有继承的公有成员.D(2)下面关于派生类的描述中,()是错的。

A.一个派生类可以作为另一个派生类的基类;B.派生类至少有一个基类;C.派生类的成员除了它自己的成员外,还包含了它的基类的成员.D.派生类中继承的基类成员的访问权限到派生类保持不变。

C(3)派生类的构造函数的成员初始化列表中,不能包含()A.基类的构造函数调用;B.派生类对象成员的初始化;C.基类对象成员的初始化;D.派生类中一般数据成员的初始化.B(4)设置虚基类的目的是()A.减少目标代码;B.消除二义性;C.提高运行效率;D.简化程序。

A(5)带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()A.一次;B.二次;C.多次;D.与虚基类下面的派生类个数有关.答案:(1)C(2)D (3)C(4)B (5)AA(1) 以下保留字()不能出现在说明虚函数原型的语句中。

A.static B. operator C. void D. const .D(2) 以下关于虚函数和纯虚函数的说法中,()是不正确的A.在派生类中虚函数可以不用关键字virtual说明。

B. 虚函数在派生类中可以不重定义。

C. 不能为虚函数定义缺省操作。

D. 纯虚函数在派生类中可以不重定义。

C(3) 以下关于动态绑定的说法中,正确的是()A.虚基类是动态绑定的。

B. 指针是动态绑定的。

C. 所有的虚函数和纯虚函数都是动态绑定的。

D. 动态绑定与编译系统无关。

C(4) 以下关于抽象类的说法中,()是不正确的A.不可创建抽象类的实例。

B. 可以声明抽象类的引用。

C. 抽象类的派生类也是抽象类。

D. 抽象类的派生类也可以是抽象类。

(5)B以下关于抽象类的说法中,只有()是正确的A.定义抽象类的目的是软件重用。

B. 定义抽象类是为了提高访问效率。

C. 定义抽象类是使指针的使用更灵活。

D. 抽象类提供了对类进行分类的机制。

(6)D以下关于多态性的说法中,()是不正确的A.每个多态类的对象有一个虚表指针。

B. 虚函数调用与this指针无关。

C. 每个多态类的基类都有一个虚函数表。

D. 多态类的每一个派生类都有一个虚函数表。

单项选择题答案:(1) A (2) D (3) C (4) C (5) B (6) DD(1)下列不是C++流对象的是( )A.coutB.cinC.cerrD.ostreamA(2)已知:int w=-3,x=10,z=7 执行下面的语句的输出结果为( )cout<<x>(10?x+100:x-10)<<(w++||z++)<<(!w<z)<<(w&&z)A. 0111B.1111C.0101D.0100C(3)void main(){cout<<setfill('*')<<setw(10)<<10<<endl;}的输出结果为( )A. $ 10 10B.**********10C. ********10D.*1010D(4)C++所有输入和输出流的基类是( )A.stream.hB.iostream.hC.cin和coutD.iosB(5)文件的输入与输出流是( )A. iostream.hB. ifstream和ofstreamC. istream_withassign,ostream_withassignD. istream和ostreamC(6)语句cout<<oct<<12;的输出结果是转为八进制数0011 1100 14A.12B.1100C.14D. CB(7)对<<进行重载的语句istream & operator<< (istream & is, date& dt ),其中对is的说法正确的是()A. 是一个istream对象B. 是istream的一个对象的引用C. 起返回操作结果作用D. 仅作为参数传递的作用B(8)以流方式打开一个文件的输入文件的语句正确的是( )A. ofstream afile();afile.open("test1.dat",ios::in|ios::binary)B. ifstream afile();afile.open("test1.dat",ios::in|ios::binary)C. ifstream afile();afile.open("test1.dat",ios::out|ios::binary)D. ofstream afile();afile.open("test1.dat",ios::out|ios::binary)答案:1.D2.A3.C4.D5.B6.C7.B8.BB 94. 关于消息,下列说法中不正确的是( B )。

A. 发送消息的对象请求服务,接受消息的对象提供服务B. 消息的发送者必须了解消息的接收者如何相应消息C. 在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用D. 每个对象只能接收某些特定格式的消息D 95. 关于封装,下列说法中不正确的是( D )。

A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C. 通过封装,每个对象都成为相对独立的实体D. 通过封装,对象的属性都是不可见的C 96. 面向对象方法的多态性是指()。

A. 一个类可以派生出多个特殊类B. 一个对象在不同的运行环境中可以有不同的变体C. 针对一消息,不同的对象可以以适合自身的方式加以响应D. 一个对象可以是由多个其他对象组合而成的C 104. 在一个类的定义中,包含有()成员的定义。

A. 数据B. 函数C. 数据和函数D. 数据或函数D 105. 在类作用域中能够通过直接使用该类的()成员名进行访问。

A. 私有B. 公用C. 保护D. 任何B 106. 在关键字public后面定义的成员为类的()成员。

A. 私有B. 公用C. 保护D. 任何A 107. 在关键字private后面定义的成员为类的()成员。

A. 私有B. 公用C. 保护D. 任何D 108. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为()。

A. x(a)B. x[a]C. x->aD. x.aB 109. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。

A. x.aB. x.a()C. x->aD. x->a()C 110. 假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为()。

A. px(a)B. px[a]C. px->aD. px.aD 111. 假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为()。

A. x.aB. x.a()C. x->GetValue()D. x.GetValue()A 112. 假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为()。

A. int AA::a()B. int AA:a()C. AA::a()D. AA::int a()A 113. 假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为()。

A. aB. AA::aC. a()D. AA::a()B 114. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字()放在函数原型或函数头的前面。

A. inB. inlineC. inLineD. InLinerD 115. 在多文件结构的程序中,通常把类的定义单独存放于()中。

A. 主文件B. 实现文件C. 库文件D. 头文件B 116. 在多文件结构的程序中,通常把类中所有非内联函数的定义单独存放于()中。

相关文档
最新文档