WorksheetsBài tập lập trình cơ bản
Total questions: 31
Worksheet time: 23mins
Biến (Variable) trong lập trình đóng vai trò gì?
Một tên đại diện cho một vị trí trong bộ nhớ dùng để lưu trữ dữ liệu mà giá trị của nó có thể thay đổi trong quá trình thực thi chương trình.
Một giá trị cố định, không thể bị thay đổi sau khi được gán lần đầu tiên.
Một hàm có thể thực thi một tác vụ cụ thể.
Một quy tắc cú pháp để kiểm soát luồng chương trình.
Mục đích quan trọng nhất của việc chỉ định Kiểu dữ liệu (Data Type) cho một biến là gì?
Để giới hạn phạm vi (Scope) mà biến đó có thể được truy cập.
Để xác định lượng bộ nhớ cần cấp phát và cách hệ thống diễn giải chuỗi bit tại vị trí bộ nhớ đó (ví dụ: là số nguyên, số thực, hay ký tự).
Để ngăn chặn việc biến bị thay đổi giá trị sau khi được khởi tạo.
Để tăng tốc độ thực thi của chương trình.
Kiểu dữ liệu nào được sử dụng để lưu trữ các giá trị số nguyên không có phần thập phân?
String
Float
Boolean
Integer (Int)
Trong hầu hết các ngôn ngữ lập trình, quy tắc đặt tên biến nào sau đây là không hợp lệ?
Sự khác biệt chính giữa kiểu Float và kiểu Double là gì?
Float chỉ dành cho số dương, còn Double có thể lưu trữ số âm.
Double sử dụng gấp đôi lượng bộ nhớ so với Float và cung cấp độ chính xác cao hơn.
Double là kiểu dữ liệu tham chiếu, còn Float là kiểu cơ bản.
Float lưu trữ số nguyên, còn Double lưu trữ số thực.
Hành động nào được gọi là 'khởi tạo' (Initialization) một biến?
A. Chỉ định tên và kiểu dữ liệu cho biến.
B. Thay đổi kiểu dữ liệu của biến sau khi nó đã được sử dụng.
C. Thực hiện phép toán đầu tiên trên biến.
D. Gán một giá trị ban đầu cho biến ngay tại thời điểm khai báo.
Kiểu dữ liệu nào phù hợp nhất để lưu trữ một ký tự đơn (ví dụ: 'K', '3', '!')?
Char (Character)
Int
String
Byte
Trong phép chia số nguyên (Integer Division), ví dụ 11/4, kết quả và kiểu dữ liệu trả về trong hầu hết các ngôn ngữ lập trình là gì?
Khái niệm Ép kiểu (Type Casting) là gì?
Việc biến tự động thay đổi phạm vi truy cập (Scope) khi chương trình chạy.
Việc đặt tên biến theo quy tắc CamelCase hoặc snake_case.
Quá trình chuyển đổi giá trị từ một kiểu dữ liệu này sang một kiểu dữ liệu khác.
Quá trình kiểm tra để đảm bảo biến chỉ lưu trữ đúng kiểu dữ liệu của nó.
Trong ngôn ngữ lập trình C/C++, kiểu dữ liệu int (số nguyên) thường chiếm bao nhiêu byte bộ nhớ (trên các hệ thống 32-bit hoặc 64-bit hiện đại)?
2 byte
1 byte
4 byte
8 byte
Điều gì xảy ra khi bạn gán một giá trị số lớn hơn giá trị tối đa mà kiểu dữ liệu của biến có thể chứa (ví dụ: gán 300 cho biến byte có giới hạn 255)?
Luôn luôn xảy ra lỗi thời gian chạy (Runtime Error) và chương trình bị dừng.
Chương trình tự động làm tròn giá trị về giới hạn tối đa (255) và tiếp tục thực thi.
Giá trị của biến sẽ bị tràn (Overflow) và có thể 'cuộn' (wrap around) về một số nhỏ hơn (thường là số âm nếu là kiểu có dấu).
Trình biên dịch sẽ tự động thay đổi kiểu dữ liệu của biến thành kiểu lớn hơn (ví dụ: int).
Để lưu trữ trạng thái của một công tắc (BẬT/TẮT), kiểu dữ liệu nào sau đây là hiệu quả nhất về mặt bộ nhớ?
Integer
String
Char
Boolean (Bool)
Trong cú pháp gán giá trị bien_a = 15;, 15 được gọi là R-value. Vai trò của R-value là gì?
A. Đại diện cho vị trí bộ nhớ nơi giá trị sẽ được lưu trữ.
B. Đại diện cho giá trị (Value) được gán, có thể là một hằng số hoặc kết quả của một biểu thức.
C. Đại diện cho kiểu dữ liệu của biến.
D. Đại diện cho tên của biến.
Kiểu dữ liệu nào là tốt nhất để lưu trữ mã số nhân viên có cả chữ cái và chữ số (ví dụ: 'NV-2023-A01'), khi không cần thực hiện tính toán?
Boolean
Float
String
Integer (Int)
Chuyển đổi kiểu dữ liệu nào sau đây được coi là chuyển đổi 'ngầm định' (Implicit Conversion) an toàn?
Từ int sang char.
Từ int (số nguyên 32-bit) sang double (số thực 64-bit).
Trong các ngôn ngữ có kiểm tra kiểu dữ liệu tĩnh (Statically Typed Language), điều gì sẽ xảy ra nếu một biến đã được khai báo kiểu int lại được gán một giá trị kiểu string?
A. Trình biên dịch sẽ báo lỗi kiểu (Type Error) và ngăn chương trình biên dịch.
B. Biến sẽ tự động đổi kiểu thành string và chương trình chạy bình thường.
C. Trình thông dịch sẽ tự động ép kiểu string thành int nếu có thể.
D. Giá trị string sẽ được lưu trữ dưới dạng mã số và chương trình tiếp tục chạy.
Kiểu dữ liệu nào được sử dụng để lưu trữ tên của một người hoặc một đoạn văn dài, cho phép xử lý các thao tác về văn bản (ví dụ: tìm kiếm, nối chuỗi)?
String
Boolean
Char
Array of Int
Trong lập trình hướng đối tượng (ví dụ: Java, C#), kiểu dữ liệu nào sau đây được coi là kiểu dữ liệu tham chiếu (Reference Type)?
Float
Boolean
Int
String
Phạm vi biến (Variable Scope) mô tả điều gì trong một chương trình?
Trong phép cộng 10 + 5.5 giữa một số nguyên (10) và một số thực (5.5), quá trình chuyển đổi kiểu dữ liệu nào xảy ra trước khi phép cộng được thực hiện?
Sẽ xảy ra lỗi biên dịch vì hai kiểu dữ liệu không tương thích.
Cả hai toán hạng được giữ nguyên kiểu, và kết quả là một chuỗi (105.5).
Số thực (5.5) được ép kiểu tường minh thành số nguyên (5) và phép cộng được thực hiện với hai số nguyên.
Số nguyên (10) được tự động (ngầm định) chuyển thành số thực (10.0) để đảm bảo không mất thông tin, sau đó phép cộng được thực hiện.
Kiểu dữ liệu nào được khuyến nghị sử dụng để lưu trữ giá trị tiền tệ trong các ứng dụng tài chính, nhằm duy trì độ chính xác tuyệt đối?
Integer
Decimal (hoặc Numeric/Currency)
Float
Long
Việc sử dụng dấu gạch nối (=) trong tên biến (ví dụ: ten-nguoi-dung) có hợp lệ trong hầu hết các ngôn ngữ lập trình không?
Hợp lệ, vì nó giúp tên biến dễ đọc hơn.
Không hợp lệ, vì dấu gạch nối thường được hiểu là toán tử trừ (phép toán số học).
Không hợp lệ, vì nó là một từ khóa dành riêng.
Hợp lệ, nhưng chỉ khi tên biến bắt đầu bằng chữ cái.
Kiểu dữ liệu số nguyên nào thường được sử dụng để lưu trữ các giá trị chỉ cần một phạm vi nhỏ và thường không cần số âm (ví dụ: tuổi hoặc điểm số từ 0 đến 100)?
A. Unsigned Byte (Byte không dấu)
B. Double
C. Long
D. Integer
Trong cú pháp ép kiểu tường minh, ví dụ: (int)5.7, điều gì xảy ra với giá trị gốc (5.7)?
Sẽ xảy ra lỗi thời gian chạy vì mất dữ liệu.
Giá trị gốc được làm tròn lên thành 6.
Giá trị gốc bị cắt cụt (Truncated) phần thập phân và chuyển thành số nguyên 5.
Giá trị gốc vẫn là 5.7, nhưng biến tham chiếu mới là số nguyên.
Hằng số (Constant) được sử dụng để làm gì?
Lưu trữ dữ liệu có thể được sửa đổi trong một phạm vi cục bộ.
Đại diện cho các giá trị cố định và quan trọng (ví dụ: π, tốc độ ánh sáng, kích thước mảng tối đa) mà không thể thay đổi sau khi khởi tạo.
Chỉ định phạm vi toàn cục cho một biến.
Ép kiểu dữ liệu tự động cho các phép toán.
Kiểu dữ liệu void (ví dụ: trong C/C++) có ý nghĩa gì khi được dùng làm kiểu trả về của một hàm?
Hàm chỉ có thể được gọi trong phạm vi cục bộ (Local Scope).
Hàm trả về một giá trị có kiểu dữ liệu không xác định.
Hàm không trả về bất kỳ giá trị nào cho bên gọi.
Giá trị NULL hoặc None trong lập trình dùng để chỉ điều gì?
Giá trị số học bằng 0 (Zero).
Biến đã bị xóa khỏi chương trình.
Biến tham chiếu không trỏ đến một đối tượng nào trong bộ nhớ, tức là 'không có giá trị' hợp lệ.
Biến có giá trị logic là False.
Trong hệ thống mã hóa ký tự Unicode (ví dụ: UTF-8), tại sao kiểu Char trong các ngôn ngữ hiện đại (như Java, JavaScript) lại có kích thước lớn hơn 1 byte?
Để lưu trữ phạm vi ký tự rộng hơn, bao gồm tất cả các ngôn ngữ trên thế giới (mã hóa 16-bit hoặc 32-bit).
Để tăng tốc độ thực hiện các phép toán trên ký tự.
Để phân biệt với kiểu dữ liệu byte (số nguyên nhỏ).
Để lưu trữ chuỗi ký tự dài hơn.
Khi sử dụng toán tử modulo (% hoặc mod) với hai số nguyên, kết quả trả về là gì?
Phần dư của phép chia.
Luôn luôn là 0 hoặc 1 (kết quả Boolean).
Thương số có phần thập phân.
Phần nguyên của phép chia.
Nếu một biến cục bộ (Local Variable) trong một hàm không được khởi tạo (gán giá trị ban đầu), điều gì có khả năng xảy ra nhất trong các ngôn ngữ như C hoặc C++?
Trình biên dịch sẽ báo lỗi cú pháp và ngăn chương trình biên dịch.
Biến sẽ nhận giá trị mặc định là 0.
Biến sẽ nhận giá trị ngẫu nhiên (garbage value).
Biến sẽ bị xóa khỏi bộ nhớ khi kết thúc hàm.
Biến sẽ chứa một giá trị rác (Garbage Value), là nội dung ngẫu nhiên hiện có trong ô nhớ đó.
Biến sẽ tự động được gán giá trị mặc định là 0 hoặc NULL.
Giá trị của biến sẽ là giá trị tối đa của kiểu dữ liệu đó.
