Cho đoạn lệnh sau: for (i = 0, j = 1; i < n-1 && j < n; j = (j + 1) % n) { if (!j) j = ++i + 1; if (a[j] < a[i]) { int t = a[i]; a[i] = a[j]; a[j] = t; } } Cho biết chức năng của đoạn lệnh trên.
A -
Sắp xếp mảng tăng dần
B -
Sắp xếp mảng giảm dần
C -
Đảo ngược thứ tự các phần tử mảng
D -
Chuyển vị ma trận
2-
Cho biết kết quả của các lệnh sau: int x = 5, y = 4; printf("\n%d\t%d", x & y, x^y);
A -
9 625
B -
1 4
C -
5 1
D -
4 1
3-
Cho biết kết quả của các lệnh sau: char a = "A", b = "B", c = a + b/2; printf("\n%d\t%d\t%c", a, b, c);
A -
65 66 b
B -
A B b
C -
65 66 98
D -
A B 98
4-
Cho biết kết quả của các lệnh sau: int a = 5; char c = "A"; float x = 1.5; a = c + x; x = a + c; c += 2; printf("\n%d\t%5.2f\t%c", a, x, c);
A -
B 131.00 67
B -
66 70.00 C
C -
66 131.00 C
D -
66 70.00 67
5-
Cho biết kết quả của các lệnh sau: char s[] = {"A", "\0", "\0", "B", "C", "\0"}; int *k = (int *)s; for (int i = 0; i < 3; i++) printf(" %d", *k++);
A -
16895 66 16898
B -
65 16896 66
C -
65 0 0
D -
650 66 670
6-
Cho biết kết quả các lệnh sau: char s[5] = {"A", "B", "\0", "B", "C", "\0"}; printf("\n%s", s);
A -
AB0BC0
B -
AB
C -
ABBC
D -
AB BC
7-
Cho hàm nhập mật khẩu như sau: char *Password(){ char c, *t, *s; s = t = (char *)malloc(20); printf("\nType pasword: "); while ((c=getch()) != "\x0D") { putch("\x2A"); *s++ = c; } *s = "\0"; return t; } Bạn có nhận xét gì?
A -
Khi gõ mật khẩu không nhìn thấy gì trên màn hình
B -
Khi gõ mật khẩu, các ký tự hiện ra thành chữ D
C -
Khi gõ mật khẩu, các ký tự hiện ra thành dấu sao(*)
D -
Khi gõ mật khẩu, các ký tự hiện ra thành chữ A
8-
Đoạn chương trình sau đây có chức năng chuyển vị một ma trận vuông, tức là đảo hàng thành cột và cột thành hàng nhưng chưa được thử nghiệm: 1/ for (int i = 0; i < n; i++) 2/ for (int j = i + 1; j < n; j++) 3/ { int x = m[i][j]; 4/ m[j][i] = m[i][j]; 5/ m[j][i] = x; 6/ } Bạn có dự đoạn gì về kết quả của đoạn chương trình này?
A -
Ma trận trở thành đối xứng qua đường chéo chính
B -
Ma trận không hề thay đổi
C -
Ma trận chuyển vị đúng như ý đồ lập trình
D -
Ma trận chuyển vị không như ý đồ lập trình
9-
Đoạn chương trình sau dùng để in lên màn hình một mảng hai chiều dưới dạng bảng có n hàng và m cột, nhưng khi chạy kết quả lại không đúng như ý đồ lập trình vì dòng thứ 4 bị sai: 1/ for (int i = 0; i < n; i++) 2/ { for (int j = 0; j < m; j++) 3/ printf("%4d", a[i][j]); 4/ printf("\t"); 5/ } Bạn hãy chọn phương án sửa dòng sai đó:
A -
printf("/n");
B -
printf("\n");
C -
printf("\b");
D -
printf("\o")
10-
Khi thực hiện đoạn lệnh sau chương trình sẽ bị lỗi nhưng vẫn in kết quả x1 và x2. 1| float a = 1.0, b = 2.0, c = 4.0, x1 = 0.0, 2| x2 = 0.0; delta = b*b - 4 * a*c; 3| if (delta < 0.0) printf("\nVo nghiem"); 4| else if (fabs(delta) <= 0.0001) x1 = x2 = -b/2/a; 5| else 6| x1 = (-b + sqrt(delta))/2/a; 7| x2 = (-b - sqrt(delta))/2/a; 8| printf("\nx1 = %8.2f, x2 = %8.2f", x1, x2); Cho biết giá trị x1 và x2 mà chương trình in ra: