JavaScript is required
Danh sách đề

200+ câu hỏi trắc nghiệm Chương trình dịch có lời giải theo từng bước

50 câu hỏi 60 phút

Thẻ ghi nhớ
Luyện tập
Thi thử
Nhấn để lật thẻ
1 / 50

Đầu ra của bộ phân tích từ vựng là

A.

Tập các biểu thức chính quy

B.

Cây cú pháp

C.

Tập các từ tố (tokens)

D.

Chuỗi ký tự

Đáp án

Bộ phân tích từ vựng (lexical analyzer) hay còn gọi là trình quét (scanner) có nhiệm vụ đọc mã nguồn và chuyển đổi nó thành một chuỗi các từ tố (tokens). Mỗi từ tố đại diện cho một đơn vị cú pháp cơ bản như từ khóa, định danh, toán tử, hằng số, v.v.

  • Đáp án A sai vì biểu thức chính quy được dùng để mô tả mẫu của các từ tố, không phải là đầu ra.
  • Đáp án B sai vì cây cú pháp là đầu ra của bộ phân tích cú pháp (parser), giai đoạn sau của quá trình biên dịch.
  • Đáp án C đúng vì đầu ra của bộ phân tích từ vựng là một chuỗi các từ tố (tokens).
  • Đáp án D sai vì chuỗi ký tự là đầu vào, không phải đầu ra của bộ phân tích từ vựng.

Danh sách câu hỏi:

Câu 1:

Đầu ra của bộ phân tích từ vựng là

Lời giải:
Đáp án đúng: C

Bộ phân tích từ vựng (lexical analyzer) hay còn gọi là trình quét (scanner) có nhiệm vụ đọc mã nguồn và chuyển đổi nó thành một chuỗi các từ tố (tokens). Mỗi từ tố đại diện cho một đơn vị cú pháp cơ bản như từ khóa, định danh, toán tử, hằng số, v.v.

  • Đáp án A sai vì biểu thức chính quy được dùng để mô tả mẫu của các từ tố, không phải là đầu ra.
  • Đáp án B sai vì cây cú pháp là đầu ra của bộ phân tích cú pháp (parser), giai đoạn sau của quá trình biên dịch.
  • Đáp án C đúng vì đầu ra của bộ phân tích từ vựng là một chuỗi các từ tố (tokens).
  • Đáp án D sai vì chuỗi ký tự là đầu vào, không phải đầu ra của bộ phân tích từ vựng.

Câu 2:

Khái niệm nào của văn phạm được sử dụng trong chương trình dịch

Lời giải:
Đáp án đúng: B
Chương trình dịch (compiler) sử dụng văn phạm để phân tích cú pháp (parsing) mã nguồn. Phân tích cú pháp là quá trình kiểm tra xem mã nguồn có tuân thủ đúng ngữ pháp của ngôn ngữ lập trình hay không. Các giai đoạn khác như phân tích từ vựng (lexical analysis), sinh mã (code generation) và tối ưu mã (code optimization) là các giai đoạn khác nhau trong quá trình biên dịch, nhưng không trực tiếp sử dụng khái niệm văn phạm như phân tích cú pháp.

Câu 3:

Trong chương trình nguồn (ngôn ngữ C): “int a” thì “int” là:

Lời giải:
Đáp án đúng: B

Trong ngôn ngữ C, "int" là một từ khóa được sử dụng để khai báo một biến kiểu số nguyên. Từ khóa (keyword) là những từ đã được định nghĩa sẵn trong ngôn ngữ lập trình và có ý nghĩa đặc biệt đối với trình biên dịch. Chúng không thể được sử dụng làm tên biến hoặc tên hàm do đã được hệ thống dành riêng. Trong trường hợp này, "int" cho biết biến "a" sẽ lưu trữ một giá trị số nguyên.

Câu 4:

Các giai đoạn của biên dịch gồm

Lời giải:
Đáp án đúng: B

Giai đoạn biên dịch bao gồm:

  • Phân tích từ vựng (Lexical Analysis): Chuyển đổi mã nguồn thành chuỗi các token.
  • Phân tích cú pháp (Syntax Analysis): Xây dựng cây cú pháp từ các token, kiểm tra tính hợp lệ của cấu trúc chương trình.
  • Phân tích ngữ nghĩa (Semantic Analysis): Kiểm tra tính đúng đắn về ngữ nghĩa của chương trình, ví dụ: kiểm tra kiểu dữ liệu, khai báo biến.
  • Sinh mã trung gian (Intermediate Code Generation): Tạo ra biểu diễn trung gian của chương trình, thường là mã ba địa chỉ hoặc cây cú pháp trừu tượng.
  • Tối ưu mã (Code Optimization): Cải thiện mã trung gian để tăng hiệu suất và giảm kích thước mã.
  • Sinh mã đích (Code Generation): Chuyển đổi mã trung gian thành mã máy hoặc mã assembly cho một kiến trúc cụ thể.

Do đó, đáp án B là chính xác nhất.

Câu 5:

Các giai đoạn cần thực hiện của trình biên dịch có thể được nhóm thành

Lời giải:
Đáp án đúng: A
Trình biên dịch (compiler) thường được chia thành các giai đoạn để dễ dàng quản lý và tối ưu hóa quá trình biên dịch. Các giai đoạn này có thể được nhóm thành hai phần chính: * **Kỳ đầu (Front end):** Giai đoạn này chịu trách nhiệm phân tích mã nguồn, kiểm tra cú pháp, tạo ra biểu diễn trung gian (intermediate representation). Các công đoạn chính bao gồm phân tích từ vựng, phân tích cú pháp, phân tích ngữ nghĩa, và sinh mã trung gian. * **Kỳ sau (Back end):** Giai đoạn này chịu trách nhiệm tối ưu hóa biểu diễn trung gian và sinh mã đích (target code). Các công đoạn chính bao gồm tối ưu hóa mã và sinh mã. Một số tài liệu có thể chia trình biên dịch thành 3 giai đoạn: kỳ đầu, kỳ giữa và kỳ cuối. Tuy nhiên, cách chia phổ biến nhất và mang tính khái quát cao là chia thành kỳ đầu và kỳ sau. Kỳ giữa thường được xem là một phần của kỳ sau, tập trung vào tối ưu hóa mã trung gian trước khi sinh mã đích. Do đó, phương án A là chính xác nhất.

Câu 6:

Luật nào sau đây mô tả Xâu trong ngôn ngữ C?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 8:

Bộ phân tích từ vựng đưa ra

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 9:

Thuật toán phân tích top – down quay lui đưa ra

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 10:

Văn phạm đệ qui trái là văn phạm tồn tại một dẫn xuất có dạng

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 11:

Chương trình nguồn không thể chứa lỗi nào

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 13:

Ðịnh nghĩa FOLLOW(A): (với A là một ký hiệu chưa kết thúc) là tập hợp

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 14:

Thuật toán bottom-up phân tích thành công khi

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 15:

Thuật toán bottom-up được xây dựng dựa trên ý tưởng

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 16:

Cho trước văn phạm G thì mục đính tính FOLLOW và First của các ký hiệu văn phạm G là

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 18:

Cho trước câu lệnh gán: position = initial + rate*60, trong phân tích từ vựng thì nhận định nào sau đây đúng?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 19:

Trong chương trình nguồn (ngôn ngữ C): printf(“Hello World!”) có những từ tố nào? A. Từ tố tên, dấu mở ngoặc, dấu đóng ngoặc

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 20:

Trong chương trình nguồn (ngôn ngữ C): printf(“ max cua hai so %d”, max) có những từ tố nào?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 23:

Biểu thức chính quy nào đúng?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 26:

Văn phạm nào sau đây là văn phạm nhập nhằng:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 31:

Trong phương pháp “Phân tích dự đoán không đệ qui”, khẳng định nào sau đây đúng nhất đối với bảng phân tích cú pháp M

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 33:

Phát biểu nào sau đây đúng nhất đối với chuỗi đầu vào cho bộ phân tích cú pháp. Chuỗi đầu vào bao gồm

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 46:

Cho văn phạm ang cường gồm các luật sinh E’->E; E-> E+T ; E-> T; T- >T*F; T-> F; F- > € ; F-> id. Nếu I là tập bao đóng của văn phạm và I = { E’->E.; E-> E .+T} Goto (I, +) =?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 47:

Cho văn phạm ang cường gồm các luật sinh E’->E; E-> E+T ; E-> T; T- >T*F; T-> F; F- > € ; F-> id. Nếu I là tập mục của văn phạm và I = { E’->E.; E-> E .+T} Goto (I, +) =?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP