WINDOWS编程测试题

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

1. 在Windows编程约定中,应用程序接口的英文缩写是(A )。

A. API

B. SDI

C. GDI

D. MDI

2. 进程最常见和最理想的结束方式为:(A )

A. 主线程的入口函数返回

B. 进程中的一个线程调用ExitProcess函数

C. 另一个进程中的线程调用TerminateProcess函数

D. 进程中的所有线程自行终止运行

3. 线程正常结束的方式是:(A )

A. 线程函数返回

B. 调用ExitThread函数

C. TerminateThread

D. 包含线程的进程终止运行

4. 两个没有任何安全措施的线程同时对一个数作自增(++)运算,以下说法正确的是:(D )

A. 自增(++)是原子操作,不会出现错误

B. 自增(++)是原子操作,但是两个加法先后顺序未知

C. 自增(++)不是原子操作,最后结果是加2

D. 自增(++)不是原子操作,最后结果不一定是2

5. 以下选项中,能触发WaitForSingleObject返回的事件为?(A )

A. 特定的内核对象变为已通知状态

B. 特定的内核对象变为未通知状态

C. 对象被锁定

D. 对象解除锁定

6. 创建互斥体的函数为:(A )

A. CreateMutex

B. OpenMutex

C. CreateEvent

D. CreateSemaphore

7. SetWaitableTimer的参数lPeriod如果为正值,单位是什么?(C )

A. 分钟(m)

B. 秒(s)

C. 毫秒(ms)

D. 纳秒(ns)

8. 定义动态链接库时,模块定义文件确定函数f的导出顺序,下列语法正确的是(A )。

A. f @1

C. @f 1

D. @1 f

9. 动态链接库文件的后缀名为(B )。

A. lib

B. dll

C. exe

D. obj

10. 下列说法中,不属于动态链接库的显式链接的好处的是(C )。

A. 程序可以随时加载动态链接库

B. 显式链接的动态链接库的函数地址发生变化时,程序不需要重新编译

C. 动态链接库如果出现错误,程序能够正常运行

D. 动态链接库的载入语句可以出现在程序的任意位置

二. 多选题

1. 已知严格按照匈牙利命名法命名的变量m_pTemp,则以下说法正确的是(BC )。

A) 该变量是1个全局变量

B) 该变量是1个类成员变量

C) 该变量是1个指针变量

D) 该变量一定是1个私有变量

2. 线程由哪些部分组成?(AB )

A) 线程的内核对象

B) 线程堆栈

C) 全局变量

D) 线程代码

3. 关于信号量说法正确的是?(ABCD )

A) 应用在需要对资源进行计数的多线程应用程序中

B) 包含最大资源数和当前资源数

C) 资源数不能为负

D) 如果当前资源的数量大于0,则发出信标信号

4. 关于动态链接库的定义,以下说法正确的是(ACD )。

A) 动态链接库可以使用模块定义文件指定导出哪些函数

B) 动态链接库中所有的函数都可以被外部文件所调用

C) 动态链接库在程序运行过程中动态载入

D) 动态链接库可以通过在函数名前使用关键字_declspec(dllexport)实现

5. 关于动态链接库的导入,以下说法正确的是(AC )。

A) 使用隐式链接,应用程序需要编译

B) 使用显式链接,应用程序需要编译

C) 隐式链接的语句出现在程序的预处理语句部分

D) 显式链接的语句出现在程序的预处理语句部分

三. 判断题

1. 所谓的Windows API就是独立于C语言的一套全新的程序设计语言。(×)

2. 在Windows编程约定中,CHAR数据类型和TCHAR数据类型是相同的。(×)

3. 每个进程至少有一个线程。(√)

4. 系统中运行着的线程,在时间上是平行的,它们每一刻都在同时执行不同的任务。(×)

5. 线程的入口函数原型是确定的,线程函数必须严格符合这个原型。(√)

6. C++程序编写的多线程应用程序,必须等所有线程结束后,进程才终止。(×)

7. 进入临界区的函数为EnterCriticalSection,离开临界区LeaveCriticalSection。(√)

8. dll动态链接库是在程序运行的过程中动态载入。(√)

9. 使用显式链接调用动态链接库时,需要在调用函数前使用LoadLibrary函数导入动态链接库文件。(√)

10. 在隐式链接调用动态链接库时,当函数使用完毕,需要手动释放导入的动态链接库。(×)

相关文档
最新文档