ĐỀKIỂMTRA GIỮA KỲ LẦN I 1. giả thiết các biến kiểu bool có tên là A, B, C, và D được dùng trong đoạn mã lệnh sau. if (A && B) if (!C || !D) cout << "1" << endl; else cout << "2" << endl; else cout << "3" << endl; Giá trị của các biến A, B, C, và D là gì để kết quả in ra màn hình của đoạn chương trình trên là "2" . 2. Cho đoạn chương trình sau có chức năng hiển thị tổng của các số lẻ từ 1 đến n. Hãy điền phần mã lệnh còn trống đoạn đoạn chương trình trên? int Sum = 0; for (int i = 1; i <= n; ++i) { if ( ????? ) { Sum = Sum + i; } } cout << Sum << endl; 3. Cho lời khai báo sau: char s[6] = "abcde"; (a) Câu lệnh sau sẽ in ra màn hình nội dung gì? cout << s << endl; (b) Đoạn lệnh sau sẽ in ra màn hình nội dung gì? for (int i = 0; i < 5; ++i) { cout << s[i] << endl; } cout << endl 4. Cho phần khai báo một mảng như sau, Cách viết nào sau đây dùng để truy xuất 1 phần tử của mảng?. char gizmo[12][13][4]; (a) gizmo (b) gizmo[3][2] (c) gizmo[][4][2] (d) gizmo[2][2][2] (e) gizmo[7] 5. Đoạn chương trình sau có lỗi hay không? nếu không có lỗi thì có vấn đề gì khi đoạn lệnh được thực hiện? giải thích? if (i = ListSize) { cout << "We are done" << endl; } else { cout << "We are not done" << endl; } 6. Viết chương trình tính và hiển thị tổng tất cả các số có giá trị nằm trong khoảng (0 đến 24) do người dùng nhập vào thoả mãn các yêu cầu sau: - số lượng giá trị người dùng là không xác định. - người dùng có thể nhập vào số nguyên bất kỳ nằm ngoài khoảng giá trị trên, trong trường hợp đó chương trình xuất hiển thị cảnh báo cho người dùng. 7. Cho đoạn chương trình sau, giá trị của biến i, j, k sẽ bằng bao nhiêu sau khi đoạn chương trình được thực hiện. int i = 10; int j = 20; int k = 30; i = (j = (k = k + 7) - 3) + 4; 8. Giá trị của x,y , z sẽ bằng bao nhiêu sao đoạn chương trình sau: int i = 20; int j = 20; int k = 30; int x,y,z; X = i * j % k; Y = i + 1 * j – 1 /k; Z = k / 3 % 3 + k / i – 1; 9. Đoạn chương trình sau sẽ xuất ra màn hình nội dung gì? 10. Nội dung gì sẽ được xuất ra màn hình sau khi đoạn chương trình sau được thực hiện? int k = 4; do { cout << k - 1 << " "; k = k - 2; } while ( k > 0); 11. Đoạn mã lệnh sau có chức năng là xuất giá các giá trị nguyên chẵn nàm giữa khoảng (1 và 11), giả thiết các thư viện đã được khai báo đầy đủ, hãy xác định các lỗi xảy ra với đoạn chương trình trên: int n = 2; while ( n != 11) { n = n + 2; cout << n << " "; } 12. Cho đoạn mã lệnh sau: if ( 5 / 2 == 2.5 ) cout << "1"; cout << "2"; cout << "3" << endl; Đoạn chương trình trên sẽ xuất ra màn hình nội dung gì? (a) 1 2 3 (b) 1 3 (c) 2 3 (d) 3 13. Có lỗi nào xảy ra với đoạn chương trình sau. const float PayRate = 6.50; float OldSalary = PayRate * 40; PayRate = 7.25; float NewSalary = Payrate * 40; 14. Xác định giá trị của biến Z sau khi đoạn chương trình sau được thực hiện? int R = 6; bool S = true; bool T = false; bool Z = !(S || !T) || (R <= 7); (a) 6 (b) true (c) false (d) không thể xác định được giá trị của Z. (e) 7 15. Đoạn mã sau sẽ xuất ra màn hình nội dung nào sau đây? int Count1 = 1; int Count2 = 2; if (Count1 == Count2) ++Count2; else ++Count1; ++Count2; cout << Count1 << '\t' << Count2 << endl; (a) 1 3 (b) 1 4 (c) 2 3 (d) 2 2 (e) không có gì được xuất ra màn hình vì đoạn chương trình có lỗi. 16. Cho đoạn mã lệnh sau: const int TableSize = 10; int i; long value = 1; cout << "i" << "\t\t" << "3 ** i" << endl; for (int i = 0; i <= TableSize; ++i) { cout << i << "\t\t" << value << endl; ________ } Lựa chọn nào sau cần được thay vào chỗ trống để đoạn chương trình in ra bảng các giá trị là 3 n (n là một số nguyên)? (a) value++; (b) value *= 3; (c) value *= 3 * value; (d) value = 3 * i * value; (e) value += 3 * i; 17. Đoạn chương trình sau sẽ in ra màn hình nội dung gì? int a[5]; a[0] = 0; for (int i = 1; i <= 4; ++i) { a[i] = a[i-1] + i; } cout << a[3] << endl; 18. Cho đoạn mã lệnh sau, và trả lời các câu hỏi char s[100] = "1"; cout << s << endl; if (i == j) { cout << "A" << endl; } else if ((i % j) < 3) { cout << "B" << endl; } else if (i < (j-1)) { cout << "C" << endl; } else { cout << "D" << endl; } a. Nếu giá trị của i là 9 và j là 4, Giá trị nào sẽ được xuất ra màn hình sau khi thực hiện đoạn lệnh trên? (a) A (b) B (c) C (d) D (e) không phải các giá trị trên b. nếu giá trị của i là 5 và j là 6, sẽ xuất ra gì? (a) A (b) B (c) C (d) D (e) không phải các giá trị trên c. nếu giá trị của i là 4 và j là 9, Sẽ xuất ra gì? (a) A (b) B (c) C (d) D (e) không phải các giá trị trên 19. Cho đoạn chương trình sau: int a = 3, y = 5; int *xPtr,x[10] = {0}; xPtr = &x[1]; *(xPtr + 3) = x[5] = a + y; Hãy xác định giá trị của các phần tử x[3], x[4], x[5] của mảng? . ĐỀ KIỂM TRA GIỮA KỲ LẦN I 1. giả thiết các biến kiểu bool có tên là A, B, C, và. gizmo[7] 5. Đoạn chương trình sau có lỗi hay không? nếu không có lỗi thì có vấn đề gì khi đoạn lệnh được thực hiện? giải thích? if (i = ListSize) { cout <<