Khi liên kết ngôn ngữ bậc cao với hợp ngữ theo cách viết riêng biệt tệp ngôn ngữ bậc cao và tệp của hợp ngữ thì với các nhãn dùng chung (ngôn ngữ bậc cao và hợp ngữ đều dùng) ngôn ngữ bậc cao có cần khai báo tường minh PUBLIC để cho phép hợp ngữ dùng các nhãn đó ?
A. Không cần vì bất kỳ một khai báo nào của n/n bậc cao đều cho phép các module khác dùng
B. Tùy tình huống
C. Cần
Vùng nhớ ngăn xếp có vai trò gì liên quan đến hàm?
A. Không có vai trò gì.
B. Vùng nhớ ngăn xếp có vai trò rất quan trọng. Có thể nói không có ngăn xếp thì không có hàm. Hàm cần ngăn xếp để:
Sử dụng cho lệnh push và pop trong thân hàm hợp ngữ,
Khi gọi hàm, tham số thực sẽ đưa vào ngăn xếp.
Chứa địa chỉ lệnh tiếp theo (địa chỉ lệnh đứng ngay sau lệnh gọi hàm).
C. Chỉ để sử dụng cho lệnh push và pop của ngôn ngữ Assembly.
D. Chỉ sử dụng để chứa giá trị của tham số thực
ROM BIOS là gì, chứa thông tin gì ?
A. Là vùng nhớ chứa hệ điều hành
B. Là vùng nhớ dạng ROM chứa một số thông tin về máy tính đang dùng và quan trọng hơn cả là chứa mã máy của hai loại chương trình: mã máy các chương trình kiểm tra khi máy tính khởi động và mã máy của các chương trình con phục vụ ngắt BIOS.
C. Là vùng nhớ ROM chứa thông tin về phần cứng máy tính đang dùng.
Chức năng nào của ngắt INT 10h cho phép hiển thị 1 ký tự dạng teletype lên màn hình tại vị trí con trỏ đứng (không làm thay đổi các thuộc tính của màn hình) ?
A. Chức năng 0Eh
B. Chức năng 9h
C. Chức năng 8h
Cách nào thực hiện việc hiện 1 xâu ký tự lên màn hình là dễ dàng nhất và tốt nhất trong lập trình Assembly (hợp ngữ)
A. Khai báo xâu kết thúc bằng ‘$’, sau đó dùng chức năng thứ 9 của ngắt int 21h (DOS functions)
B. Khai báo xâu kết thúc bằng \0, sau đó viết chương trình hiện các ký tự cho đến khi gặp \0.
C. Dùng chức năng thứ 13h của ngắt int 10h
Địa chỉ các cổng của các thiết bị VÀO/RA của máy tính gồm mấy byte?
A. 1 byte
B. 4 byte
C. 2 byte
Vòng lặp thông điệp có tác dụng như thế nào?
A. Phát sinh thông điệp và gửi đến hệ thống Windows
B. Biến đổi thông điệp từ dạng thô về dạng tinh
C. Loại bỏ các thông điệp không cần thiết
D. Tiếp nhận các sự kiện diễn ra trên máy
E. Tiếp nhận các thông điệp được phát sinh và gửi đến chương trình
Lệnh khai báo thư viện API sử dụng trong chương trình là?
A. #include<string.h>
B. #include<win.h>
C. #include<stdio.h>
D. #include<window.h>
E. #include<windows.h>
Hàm chính (WinMain) của chương trình trên Windows được khai báo như sau?
A. int WinMain( HINSTANCE, HINSTANCE, LPSTR,int);
B. int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR,int);
C. int WINAPI WinMan( HINSTANCE, HINSTANCE, LPSTR,int);
D. int WinMain( HINSTANCE, HWND, LPSTR, int);
E. int WINAPI WinMain( HINSTANCE, LPSTR, int);
Các lệnh để tạo cửa sổ và hiển thị lên màn hình (tên lớp cửa sổ đăng ký là “CS1”)?
A. CreateWindows
ShowWindows
UpdateWindows
B. NewWindow
ShowWindow
PaintWindow
C. NewWindow
ShowWindow
D. CreateWindow
ShowWindow
E. CreateWindow
ShowWindow
UpdateWindow
Để lập trình xử lý khi người dùng chọn mục trên menu ta thực hiện?
A. Kiểm tra thông điệp WM_COMMAND và xử lý nếu tham số WPARAM trong hàm thông điệp bằng số hiệu của mục chọn
B. Kiểm tra và xử lý nếu tham số kiểu WPARAM trong hàm thông điệp bằng số hiệu của mục chọn
C. Xử lý thông điệp WM_COMMAND trong hàm cửa sổ
D. Kiểm tra thông điệp WM_COMMAND và xử lý trong hàm chính (WinMain)
E. Kiểm tra thông điệp WM_COMMAND và xử lý nếu tham số kiểu UINT trong hàm thông điệp bằng số hiệu của mục chọn
Cách để một chương trình ứng dụng truy cập API là?
A. Khai báo API trong chương trình
B. Viết lệnh gọi hàm API
C. Không thể truy cập API
D. Viết lệnh truy cập đến API
E. Máy tự động gọi đến API
Thông điệp WM_PAINT được xử lý nhằm mục đích gì?
A. Vẽ đồ họa trên cửa sổ mỗi khi gõ phím
B. Vẽ đồ họa trên cửa sổ tại thời điểm tùy ý
C. Vẽ đồ họa trên cửa sổ khi nhấn chuột
D. Vẽ đồ họa trên cửa sổ mỗi khi máy xóa dữ liệu trên cửa sổ
E. Vẽ đồ họa trên cửa sổ mỗi khi cần cập nhật nội dung trên cửa sổ
Các bước để lập trình đa luồng?
A. B1) Lập trình hàm xử lý luồng
B2) Tạo luồng chạy hàm trên bằng lệnh “new Thread”
B. B1) Lập trình hàm xử lý luồng
B2) Tạo luồng chạy hàm trên bằng lệnh “StartThread”
C. B1) Lập trình hàm bất kỳ
B2) Tạo luồng chạy hàm trên
D. B1) Lập trình các lệnh xử lý luồng
B2) Tạo luồng chạy hàm trên bằng lệnh “CreateThread”
E. B1) Lập trình hàm xử lý luồng
B2) Tạo luồng chạy hàm trên bằng lệnh “CreateThread”
Tài nguyên của một chương trình có tác dụng?
A. Chứa các dữ liệu cố định và được sử dụng trong hệ điều hành Windows
B. Chứa các dữ liệu cố định và được sử dụng trong chương trình nhanh chóng và thuận tiện
C. Chứa các mã lệnh của chương trình để điều khiển máy thực hiện công việc
D. Chứa các hình ảnh và được sử dụng trong chương trình
E. Chứa các dữ liệu sử dụng trong chương trình và có thể thay đổi
Thông điệp được xử lý như thế nào trong chương trình?
A. Thông điệp sẽ do máy tự động xử lý
B. Thông điệp được xử lý bên trong vòng lặp thông điệp
C. Thông điệp được xử lý bên trong một hàm lập trình theo mẫu quy định
D. Không cần xử lý thông điệp
E. Thông điệp được xử lý bên trong hàm chính (WinMain)
Bảng vectơ ngắt chứa gì và nằm ở đâu?
A. Chứa mã máy của các chương trình con phục vụ ngắt và nằm ở ROM BIOS
B. Chứa mã máy lệnh đầu tiên của các chương trình con phục vụ ngắt và nằm ở ROM hoặc RAM đều được
C. Chứa địa chỉ đầu của các chương trình con phục vụ ngắt và nằm ở RAM
Các thiết bị vào/ra chuẩn có thể coi là một tệp với các thẻ tệp (file handle) mặc định. Số thẻ tệp có giá trị bao nhiêu mặc định cho thiết bị ra chuẩn (màn hình)?
Trình tự các bước để lập trình đồ họa trên Windows là?
A. B1) Lấy cửa sổ cần vẽ
B2) Đặt các tham số để vẽ
B3) Thực hiện lệnh vẽ
B. B1) Lấy ngữ cảnh thiết bị (thiết bị ảo)
B2) Đặt các tham số để vẽ
B3) Thực hiện lệnh vẽ
B4) Giải phóng ngữ cảnh thiết bị
C. B1) Lấy ngữ cảnh thiết bị (thiết bị ảo)
B2) Tạo các đối tượng vẽ
B3) Thực hiện lệnh vẽ
B4) Giải phóng ngữ cảnh thiết bị
D. B1) Lấy cửa sổ cần vẽ
B2) Tạo các đối tượng vẽ
B3) Thực hiện lệnh vẽ
B4) Giải phóng cửa sổ đã lấy
E. B1) Lấy ngữ cảnh thiết bị (thiết bị ảo)
B2) Thực hiện lệnh vẽ
B3) Đặt các tham số để vẽ
B4) Giải phóng ngữ cảnh thiết bị
Các bước sử dụng thư viện theo kiểu run-time là?
A. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Lấy địa chỉ các thành phần muốn dùng bằng lệnh “GetProcAddress”
B3) Giải phóng thư viện bằng lệnh “FreeLibrary”
B. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Sử dụng các thành trong thư viện
B4) Giải phóng thư viện bằng lệnh “FreeLibrary”
C. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Lấy địa chỉ các thành phần muốn dùng bằng lệnh “GetProcAddress”
B3) Sử dụng các thành phần lấy được
B4) Giải phóng thư viện bằng lệnh “FreeLibrary”
D. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Lấy các thành phần muốn dùng trong thư viện
B3) Sử dụng các thành lấy được
B4) Giải phóng thư viện bằng lệnh “FreeLibrary”
E. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Lấy địa chỉ các thành phần muốn dùng bằng lệnh “GetProcAddress”
B3) Sử dụng bất kỳ thành nào trong thư viện
B4) Giải phóng thư viện bằng lệnh “FreeLibrary”