25 câu hỏi
Trong các cách sử dụng sau đây, cách nào là đúng đối với toán tử điều kiện trong C?
a>b? c = 20 : c = 21;
a>b? c = 20;
max = a>b? a>c?a:c:b>c?b:c;
trả về (a>b)?(a:b);
Biểu thức ở vế phải của toán tử || không được đánh giá nếu vế trái quyết định kết quả.
Đúng
Sai
Câu nào sau đây thể hiện đúng thứ tự phân cấp toán tử số học trong C?
/ + * –
* – / +
+ – / *
/ * + –
Thứ tự nào sau đây là thứ tự đánh giá đúng cho biểu thức bên dưới? z = x + y * z / 4 % 2 – 1;
* / % + – =
= * / % + –
/ * % – + =
*% / – + =
Kết quả của chương trình sẽ là gì? #include #include int main() { int i = 4, j = -1, k = 0, w, x, y, z; w = i||j||k; x = i&&j&&k; y = i||j&&k; z = i&&j||k; printf("%d %d %d %d", w, x, y, z); getch(); }
1 1 1 1
1 0 0 1
1 0 1 1
Khác
Kết quả của chương trình sẽ là gì? #include #include void main() { static int a[20]; int i = 0; a[i] = i; printf("%d %d %d", a[0], a[1], i); getch(); }
1 0 1
1 1 1
0 0 0
0 1 0
Kết quả của chương trình sẽ là gì? #include #include void main() { int x = 12, y = 7, z = 2; z = x != 4 || y == 2; printf("z = %d", z); getch(); }
z = 0
z = 1
z = 4
z = 3
Mỗi toán tử đều có một sự kết hợp
Có
Không
Kết quả của chương trình sẽ là gì? #include #include void main() { int i = 3, j = 2, k = -1, m; m = ++i||++j&&++k; printf("%d %d %d %d", i, j, k, m); getch(); }
4 2 -1 1
4 3 0 1
3 2 -1 1
Đầu ra của chương trình là gì? #include #include void main() { int i = 3, j = 2, k = -1, m; m = ++i&&++j&&++k; printf("%d %d %d %d", i, j, k, m); getch(); }
4 3 0 0
3 3 0 1
4 2 0 0
Không có Câu nào trong số này
Hai Câu sau có giống nhau không? a <= 20 ? (b = 30) : (c = 30); (a <= 20) ? b : (c = 30);
=>
Có
Không
Kết quả của chương trình sẽ là gì? #include #include void main() { int i = 2; int j = i + (1, 2, 3, 4); printf("j = %d", j); getch(); }
6
3
12
Lỗi biên dịch
Kết quả của chương trình sẽ là gì? #include #include void main() { int n = 2; printf("%d %d %d", n <= 3, n = 4, n >= 2); getch(); }=>
Câu nào trong số này
0 4 1
1 4 1
4 4 1
Không có
Kết quả của chương trình sẽ là gì? #include #include void main() { int n = 2; printf("%d %d", ++n, ++n); getch(); }
4 4
3 4
2 2
2 3
Kết quả của chương trình sẽ là gì? #include #include void main() { int a = 10, b = 19; int c; c = (a == 10 || b < 20); printf("c = %d", c); getch(); }
>
c = 1
c = 29
c = 10
c = 19
Kết quả của chương trình sẽ là gì? #include #include void main() { int x = 4, y, z; y = --x; z = x--; printf("%d %d %d", x, y, z); getch(); }
4 3 2
4 3 3
2 3 2
2 3 3
Kết quả của chương trình sẽ là gì? #include #include void main() { int k, num = 20; k = (num>5 ? (num <= 10 ? 10 : 30): 40); printf("%d", k); getch(); }
=>
20
30
40
10
Đầu ra của chương trình là gì? #include #include void main() { int i = 3; i = i++; printf("%d", i); getch(); }
4
3
Lỗi biên dịch
Không có đáp án nào ở trên
Kết quả của chương trình sẽ là gì? #include #include void main() { int arr[3] = {3}; int i; for(i = 0; i <= 2; i++) printf("%d, ", arr[i]); getch(); }
=>
3, 0, 0,
3, 3, 3,
3, rác, rác
Một cái khác
Hàm func() trả về giá trị nào? float func() { int r = 0, d = 0, i = 0; for (i; i < 2; i++) { r += 5 / d; } return r; }
>
5
0
Ngoại lệ
Một cái khác
Khi bạn thực thi đoạn mã C sau, kết quả sẽ như thế nào? void main() { char s[] = "man"; int i; for(i = 0; s[i]; i++) printf("%c%c%c%c\t", s[i], *(s+i), *(i+s), i[s]); getch(); }
mmmm aaa nnnn
ừm aaa nnn
mmmm aaa nnn
Một cái khác
Khi bạn thực thi đoạn mã C sau, kết quả sẽ như thế nào? void main() { int i = 0; char ch = 'A'; do { putchar(ch); } while(i++ < 5 || ++ch <= 'F'); getch(); }
>
AAAAAABCDEF
AAAABCDE
ABCDEF
Một cái khác
In những gì? void main() { int array[2][2] = {0, 1, 2, 3}; int i; int sum = 0; for (i = 0; i < 4; ++i) { int x, y; x = i % 2; if (x) { y = 0; } else { y = 1; } sum += array[x][y]; } printf("%d\n", sum); getch(); }
>
3
4
5
6
Đầu ra là gì? #include #include void main() { int k; for (k = -3; k < -5; k++) printf("Hello"); getch(); }
>
Xin chào
Không có gì
Lỗi biên dịch
Lỗi thời gian chạy
Đầu ra là gì? void main() { double k = 0; for (k = 0.0; k < 3.0; k++); printf("%lf", k); getch(); }
>
012
Lỗi thời gian chạy
3
2
