Trả lời:
Đáp án đúng: B
Ngôn ngữ lập trình C được Dennis Ritchie phát triển tại Bell Labs từ năm 1972. Do đó, đáp án B là đáp án chính xác.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: D
Biến toàn cục được khai báo bên ngoài tất cả các hàm, bao gồm cả hàm `main()`. Vì vậy, nó có thể được truy cập và thay đổi bởi bất kỳ hàm nào trong chương trình. Tuy nhiên, địa chỉ bộ nhớ (miền nhớ) được cấp phát cho biến toàn cục là cố định trong suốt quá trình thực thi chương trình.
- Phương án A: Sai, vì miền nhớ (địa chỉ) của biến toàn cục là cố định, không thay đổi trong quá trình chạy.
- Phương án B: Sai, vì biến toàn cục có thể được truy cập và thay đổi bởi bất kỳ hàm nào, không chỉ hàm `main()`.
- Phương án C: Sai, vì miền nhớ (địa chỉ) của biến toàn cục là cố định, không thay đổi.
- Phương án D: Đúng, vì miền nhớ (địa chỉ) được cấp phát cho biến toàn cục là cố định và không thay đổi trong suốt quá trình thực thi chương trình.
- Phương án A: Sai, vì miền nhớ (địa chỉ) của biến toàn cục là cố định, không thay đổi trong quá trình chạy.
- Phương án B: Sai, vì biến toàn cục có thể được truy cập và thay đổi bởi bất kỳ hàm nào, không chỉ hàm `main()`.
- Phương án C: Sai, vì miền nhớ (địa chỉ) của biến toàn cục là cố định, không thay đổi.
- Phương án D: Đúng, vì miền nhớ (địa chỉ) được cấp phát cho biến toàn cục là cố định và không thay đổi trong suốt quá trình thực thi chương trình.
Lời giải:
Đáp án đúng: C
Trong C/C++, xâu định dạng "%s" được sử dụng để in ra một xâu ký tự (chuỗi string). Các xâu định dạng khác có chức năng khác:
- %f: dùng để in ra số thực dấu phẩy động (float).
- %x: dùng để in ra số nguyên ở hệ thập lục phân (hexadecimal).
- %c: dùng để in ra một ký tự (character).
Lời giải:
Đáp án đúng: B
Đầu tiên, mảng `ints` được khởi tạo là `{0, 1, 2, 3}`.
`i1` trỏ tới `ints[1]` (giá trị 1), `i2` trỏ tới `ints[2]` (giá trị 2).
`a = ++*i1 + *i2++;`
- `++*i1`: Tăng giá trị mà `i1` trỏ tới (tức `ints[1]`) lên 1 trước khi sử dụng. `ints[1]` trở thành 2. Do đó, `*i1` bây giờ là 2.
- `*i2++`: Lấy giá trị mà `i2` trỏ tới (tức `ints[2]`, giá trị 2) và sau đó tăng `i2`. Giá trị của `*i2` trong biểu thức này là 2. Sau phép toán, `i2` trỏ tới `ints[3]`.
- `a = 2 + 2 = 4`
`b = *++i1 + *i2--;`
- `++i1`: Tăng `i1` lên trước khi sử dụng. `i1` bây giờ trỏ tới `ints[2]` (giá trị hiện tại là 2).
- `*++i1`: Lấy giá trị mà `i1` trỏ tới (tức `ints[2]`, giá trị 2). Do đó, `*++i1` là 2.
- `i2--`: Giảm `i2` sau khi sử dụng. Hiện tại, `i2` đang trỏ tới `ints[3]` (giá trị 3). Phép toán này lấy giá trị 3, gán cho `*i2` trong biểu thức rồi giảm `i2` để `i2` trỏ về `ints[2]`.
- `b = 2 + 3 = 5`
Vậy, `a = 4` và `b = 5`. Output sẽ là `4#5`.
`i1` trỏ tới `ints[1]` (giá trị 1), `i2` trỏ tới `ints[2]` (giá trị 2).
`a = ++*i1 + *i2++;`
- `++*i1`: Tăng giá trị mà `i1` trỏ tới (tức `ints[1]`) lên 1 trước khi sử dụng. `ints[1]` trở thành 2. Do đó, `*i1` bây giờ là 2.
- `*i2++`: Lấy giá trị mà `i2` trỏ tới (tức `ints[2]`, giá trị 2) và sau đó tăng `i2`. Giá trị của `*i2` trong biểu thức này là 2. Sau phép toán, `i2` trỏ tới `ints[3]`.
- `a = 2 + 2 = 4`
`b = *++i1 + *i2--;`
- `++i1`: Tăng `i1` lên trước khi sử dụng. `i1` bây giờ trỏ tới `ints[2]` (giá trị hiện tại là 2).
- `*++i1`: Lấy giá trị mà `i1` trỏ tới (tức `ints[2]`, giá trị 2). Do đó, `*++i1` là 2.
- `i2--`: Giảm `i2` sau khi sử dụng. Hiện tại, `i2` đang trỏ tới `ints[3]` (giá trị 3). Phép toán này lấy giá trị 3, gán cho `*i2` trong biểu thức rồi giảm `i2` để `i2` trỏ về `ints[2]`.
- `b = 2 + 3 = 5`
Vậy, `a = 4` và `b = 5`. Output sẽ là `4#5`.
Lời giải:
Đáp án đúng: B
Câu hỏi này kiểm tra kiến thức về các hàm xử lý chuỗi trong ngôn ngữ C.
Phân tích các lựa chọn:
- A. strnstr(): Hàm này tìm kiếm một chuỗi con trong một chuỗi khác, nhưng giới hạn số lượng ký tự được tìm kiếm. Nó không tìm ký tự cuối cùng.
- B. strrchr(): Hàm này tìm kiếm ký tự cuối cùng trong một chuỗi. Nếu tìm thấy, nó trả về con trỏ đến vị trí đó; ngược lại, nó trả về NULL. Đây là đáp án đúng.
- C. laststr(): Hàm này không phải là một hàm chuẩn trong thư viện string của C.
- D. strstr(): Hàm này tìm kiếm sự xuất hiện đầu tiên của một chuỗi con trong một chuỗi khác, không phải ký tự cuối cùng.
Lời giải:
Đáp án đúng: A
Trong C, chuỗi ký tự kết thúc bằng ký tự null (\0
). Hàm printf
với định dạng %s
sẽ in các ký tự từ con trỏ được cung cấp cho đến khi gặp ký tự null đầu tiên. Trong trường hợp này, mảng str
chứa chuỗi "LAPTRINHC++\0\.NET\0". Khi printf
gặp ký tự null đầu tiên sau "LAPTRINHC++", nó sẽ dừng in. Do đó, kết quả in ra sẽ là "LAPTRINHC++".
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

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy
89 tài liệu310 lượt tải

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin
125 tài liệu441 lượt tải

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông
104 tài liệu687 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán
103 tài liệu589 lượt tải

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp
377 tài liệu1030 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
99 tài liệu1062 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng