WINDOWS编程测试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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. 在隐式链接调用动态链接库时,当函数使用完毕,需要手动释放导入的动态链接库。(×)