Đề cương ôn tập – Bài 3FREELập Trình C 1. Có thể truy cập thành phần của cấu trúc thông qua con trỏ như( với p là con trỏ cấu trúc, a là thành phần cấu trúc)? C. A và B đều đúng A. (*p) B. *p->a; D. A và B đều sai 2. Ba màu cơ bản trong máy tính là? A. RED, GREEN, BLUE C. BLUE, YELLOW, BLUE B. RED, YELLOW, BLUE D. GREEN, RED, PING 3. Trong các khởi tạo giá trị cho các cấu trúc sau, hãy chọn câu đúng? D. S1 và S2 đều sai A. S1 đúng C. S1 và S2 đều đúng B. S2 đúng 4. Kết quả trả về của toán tử sau: Evaluate !(1 && !(0 || 1))? B. False A. True C. Không xác định 5. Khi sử dụng từ khóa typedef trước định nghĩa cấu trúc thì? A. Khai báo biến cho cấu trúc đó ta không cần sử dụng từ khóa “struct” nữa C. Không thể khai báo thêm biến cấu trúc nào nữa B. Khai báo 1 biến cho loại cấu trúc đó ta cần sử dụng từ khóa “struct” 6. Cho đoạn chương trình sau. Kết quả là? B. 5 C. Chương trình lỗi D. Kết quả khác A. 5-12 7. Đâu là phát biểu sai? B. Có thể truyền tham số là một biến con trỏ cho hàm C. Có thể truyền tham số là một biến con trỏ struct cho hàm A. Có thể truyền tham số là một biến struct cho hàm D. Không thể truyền tham số là phần tử của struct cho hàm 8. Biến con trỏ có thể chứa? B. Giá trị của một biến khác A. Địa chỉ vùng nhớ của một biến khác C. Cả a và b đều đúng D. Cả a và b đều sai 9. Hàm putpixel(int x, int y) dùng để làm gì? A. Vẽ một điểm tại tọa độ (x,y); D. Cả 3 phương án trên đều sai C. Vẽ một điểm tại vị trí con trỏ B. Lấy màu của điểm có tọa độ (x,y); 10. Cho đoạn chương trình sau. Kết quả trả về là? B. 0 A. 1 D. 2 C. 0 11. Đâu là định nghĩa đúng về cấu trúc tự trỏ? C. Là dạng cấu trúc có một trường có kiểu dữ liệu giống nó A. Là một cấu trúc có một trường là con trỏ chứa địa chỉ của một biến cấu trúc D. Tất cả các ý trên B. Là dạng cấu trúc có một trường là con trỏ chứa địa chỉ của một biến cấu trúc có dạng dữ liệu giống nó 12. Trong các khai báo sau, khai báo nào không đúng? D. struct Date { long int ngay:7; long int thang:6; long int nam:5; }; C. typedef struct { int ngay, thang, nam;} Date; B. struct { int ngay, thang, nam;} D1,D2; A. struct Date{int ngay, thang, nam;}; 13. Kết quả của chương trình sau là gì? B. “86 A. “8 C. “8 D. “86 14. Hàm getpixel(int x, int y) dùng để làm gì? A. Vẽ một điểm tại tọa độ (x,y); B. Lấy giá trị màu của điểm tại tọa độ (x,y); D. Cả 3 phương án đều sai C. Vẽ một điểm tại vị trí con trỏ 15. Hãy khai báo một cấu trúc mô tả sinh viên, thông tin về mỗi sinh viên bao gồm: tên, điểm 3 môn học. Khai báo nào sau đây là đúng? A. structure STUDENT {char Name[]; int s1,s2,s3;}; B. struct STUDENT {char Name[]; int s1, s2, s3;}; D. typedef STUDENT { char Name[]; int s1, s2,s3;}; C. typedef struct STUDENT {char Name[]; float s1,s2,s3;}; 16. Câu lệnh sau có ý nghĩa gì? D. Tất cả các đáp án trên A. Mở tệp nhị phân để ghi B. Xóa nội dung của tệp C. Mở tệp văn bản để đọc và ghi 17. Chương trình sau cho kết quả là gì? A. -4 D. Không có kết quả đúng B. 2 C. 5 18. Điểu gì là đúng nhất khi nói về hàm floodfill(int x, int y, int Border);? C. Dùng để tô màu đa giác chứa điểm (x,y); B. Dùng để tô màu hình chữ nhật chứa điểm (x,y) D. Dùng để tô màu miền kín bất kì chứa điểm (x,y); A. Dùng để tô màu hình tròn chứa điểm (x,y) 19. Tham số clip trong hàm setviewport(int x1, int y1, int x2, int y2, int clip); qui định vấn đề gì? A. Cho phép hiển thị hay không hiển thị các nét vẽ bên trong viewport D. Cả 2 đều sai B. Cho phép hiển thị hay không hiển thị các nét vẽ bên ngoài viewport C. Cả 2 đều đúng 20. Khi loại bỏ node x ở cây nhị phân tìm kiếm ta chỉ cần kiểm tra xem? C. Sự tồn tại của x trên cây A. x có phải là node lá trái của cây nhị phân tìm kiếm hay không D. Cả 3 phương án a, b, c đều sai B. x có phải là node lá phải của cây nhị phân tìm kiếm hay không 21. Hàm duy nhất mà tất cả các chương trình C phải chứa là gì? B. system() C. main() D. program() A. start() 22. Chọn kết quả đúng cho chương trình sau? D. Chương trình bị lỗi B. “12 C. Kết quả khác A. “12 23. Phát biểu nào là đúng khi nói về 2 hàm? B. Hàm thứ nhất chỉ vẽ đường viền hình chữ nhật, không tô màu bên trong còn hàm thứ 2 thì tô cả màu bên trong C. Hàm thứ 2 chỉ vẽ đường viền hình chữ nhật, không tô màu bên trong còn hàm thứ nhất thì tô cả màu bên trong A. Cả 2 hàm đều vẽ hình chữ nhật D. Cả hai hàm đều vẽ hình chữ nhật và tô cả màu bên trong 24. Câu lệnh sau có ý nghĩa gì? C. Mở tệp văn bản cho phép cả đọc cả ghi A. Mở tệp văn bản cho phép ghi B. Mở tệp văn bản cho phép đọc D. Mở tệp văn bản đã tồn tại để đọc 25. Chọn câu đúng? D. Cả 2 ý đểu sai B. “struct” là sự kết hợp của nhiều thành phần có thể có thể có kiểu khác nhau C. Cả 2 ý đểu đúng A. “struct” là một kiểu dữ liệu do người dùng định nghĩa bao gồm nhiều thành phần có kiểu khác nhau 26. Trong chế độ 256 màu, số bít cho mỗi pixel là? B. 6 D. 8 C. 7 A. 5 27. Khi thực hiện phép thêm một node lá x vào bên phải node p của cây nhị phân thông thường, ta cần? D. Không cần thực hiện cả 3 điểu kiện nêu trong câu hỏi B. Kiểm tra sự tồn tại của node lá bên phải p C. Kiểm tra sự tồn tại của node p A. Kiểm tra sự tồn tại của p và các lá bên phải p; 28. Xem đoạn code sau. Giá trị của biến v là? A. {6, 6, 7}; D. Đoạn code gây lỗi C. Nhóm trị khác B. {5, 6, 7}; 29. Lệnh nào dùng để đóng chế độ đồ họa? B. closegraph(); D. Cả 2 phương án trên đều đúng C. Cả 2 phương án trên đều sai A. getch(); 30. Một cây nhị phân được gọi là đúng nếu? A. Node gốc và tất cả các node trung gian đều có 2 node con D. Node gốc và các node trung gian đều có 2 node con và các node lá đều có mức giống nhau B. Giá trị khóa của node gốc bao giờ cũng lớn hơn giá trị các khóa của nhánh cây con bên phải C. Giá trị khóa của node gốc bao giờ cũng lớn hơn giá trị các khóa của nhánh cây con bên trái 31. Đối với kiểu có cấu trúc, cách gán nào sau đây là không được phép? B. Gán hai phần tử mảng( kiểu cấu trúc) cho nhau D. Gán hai mảng có cấu trúc có cùng số phần tử cho nhau C. Gán một phần tử mảng( kiểu cấu trúc) cho một biến hoặc ngược lại A. Gán biến cho nhau 32. Dấu hiệu nào dưới đây cho biết node p của một danh sách liên kết đơn là node cuối cùng bên phải? B. (p->info==NULL); D. (p->next==NULL); C. (p->next!=NULL); A. (p->info!=NULL); 33. Để tạo danh sách liên kết, theo bạn sinh viên nào dưới đây là khai báo đúng cấu trúc tự trỏ sẽ được dùng? B. 2 C. 2, 3 D. 1,2 và 3 A. 1 34. Chọn kết quả hợp lí cho chương trình sau? A. “FFE6FFE6” D. “FFE4FFE4” B. “FFE6FFE7” C. “FFE66EFF” 35. Cho khai báo sau. Số lượng bít sử dụng trong biến cấu trúc trên là bao nhiêu? D. 48 C. 32 B. 20 A. 16 36. Trong chế độ đồ họa, hàm nào sau đây xác lập kiểu chữ, cỡ chữ? D. Cả 3 phương án trên B. outtext(char far *textstring); A. outtextxy(int x, int y, char far * textstring); C. settextstyle(int font, int direction, int charsize); 37. Cơ chế nào dưới đây được cài đặt cho Stack? A. FILO D. FIFO C. Round Robin B. Tuần tự 38. Có bao nhiêu cách khai báo biến cấu trúc? C. 3 A. 1 B. 2 D. 4 39. Một danh sách trong đó tất cả các thao tác chèn thực hiện tại một đầu, thao tác xóa được thực hiện tại đầu kia của danh sách gọi là? B. Queue; C. Cây nhị phân D. Cả 3 đáp án trên A. Stack 40. Một chương trình đồ họa gồm bao nhiêu đoạn? D. 5 B. 3 A. 2 C. 4 41. Trong bước khởi tạo đồ họa ta cần? A. Xác định vi mạch B. Chọn chế độ đồ họa C. Cả 2 phương án trên đều sai D. Cả 2 phương án trên đều đúng 42. Cho đoạn chương trình sau, kết quả trả về sẽ là? D. Kết quả khác C. 8 4 7 B. 1 4 7 A. 1 4 5 43. Chọn đáp án đúng khi sử dụng trường kiểu bit? D. Xây dựng được các mảng kiểu nhóm bít A. Độ dài các trường không vượt quá 16 bít B. Áp dụng được cho các trường có kiểu số nguyên và số thực C. Cho phép lấy địa chỉ trường kiểu nhóm bít 44. Khi thực hiện việc thêm một node x vào cây nhị phân tìm kiếm ta chỉ cần? A. Tìm vị trí thích hợp cho nhánh cây con bên phải D. Không ý nào đúng C. Tìm vị trí thích hợp cho nhánh cây con ở bên trái B. Tìm vị trí thích hợp cho x trên toàn bộ cây 45. Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau: struct S1{ int info; struct S1 * next;} *head;? B. Loại bỏ phần tử thứ 2 ra khỏi danh sách D. Câu lệnh bị lỗi C. Loại bỏ phần tử thứ 3 ra khỏi danh sách A. Loại bỏ phần tử thứ nhất ra khỏi danh sách 46. Cho đoạn chương trình. Kích thước của biến u là bao nhiêu byte? B. 22 A. 20 C. 28 D. Đáp án khác 47. Trong chế độ đồ họa, hàm nào thường được dùng để hiện nội dung xâu? A. printf(); D. putchar(); C. outtextxy(int x, int y, char far *textstring); B. outtext(char far * textstring); 48. Làm thế nào có thể biểu diễn phần tử “hoten” của SV1? D. A và B đều đúng A. SV1 B. p->hoten; C. &hoten; 49. Hàm nào có thể thay đổi kích thước của tệp đang mở? D. Tất cả các đáp án trên A. double chsize(int handle, long size); C. int chsize(int handle, long size); B. long chsize(int handle, long size); 50. Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau. Biết con trỏ “*head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Nhóm câu lệnh nào sau đây thêm một phần tử vào đầu danh sách? C. head->next=p; p=head; D. Không có câu nào đúng B. p->next=head; head->p; head=p->next; A. p->next=head; head=p; 51. Trong chế độ graphic, gốc tọa độ là? C. Góc dưới bên trái D. Góc dưới bên phải B. Góc trên bên phải A. Góc trên bên trái 52. Phát biểu nào không đúng về onion? D. Tại một thời điểm ta không thể chứa dữ liệu tại tất cả các thành phần của một biến union được A. Tất cả các trường chỉ dùng chung một vùng nhớ, và kích thước union bằng kích thước trường lớn nhất C. Có thể khai báo các biến trong union có nhiều kiểu khác nhau B. Các trường nằm rải rác trong bộ nhớ RAM và kích thước của các trường bằng tổng kích thước các trường 53. Không gian nhớ dùng để lưu trữ các node của danh sách liên kết kép? A. Lưu trữ rởi rác trong bộ nhớ D. Lưu trữ theo kiểu phân đoạn C. Lưu trữ theo kiểu phân trang B. Luôn lưu trữ liên tục trong bộ nhớ 54. Các file tối thiểu cần cho việc vẽ đồ họa? C. * D. * B. GRAPH A. GRAPH 55. Đâu là phát biểu đúng về danh sách? C. Có thể xóa một phần tử tại vị trí bất kì trong danh sách B. Chỉ có thể xóa phần tử cuối cùng trong danh sách D. Tất cả đều sai A. Chỉ có thể xóa phần tử đầu tiên trong danh sách 56. Đâu là phát biểu dúng về danh sach moc nối? D. Chỉ có thể xóa được phần tử đầu tiên của danh sách A. Độ dài danh sách không thể thay đổi C. Để cài đặt danh sách móc nối phải sử dụng đến cấu trúc tự trỏ B. Các phần tử của nó được lưu trữ rải rác trong bộ nhớ RAM 57. Khẳng định nào dưới đây là sai? A. Hàm moveto(int x, int y) di chuyển vị trí hiện tại của màn hình đồ họa tới điểm có tọa độ (x,y); B. lineto(int x, int y) là hàm vẽ đường thẳng từ vị trí con trỏ đồ họa hiện tại tới điểm có tọa độ (x,y) C. linerel(int x, int y) vẽ đường thẳng tử gốc tọa độ tới điểm có tọa độ (x,y); D. line(int x1, int y1, int x2, int y2) vẽ đường thẳng nối liền 2 điểm có tọa độ (x1,y1) và (x2,y2); 58. Dấu hiệu nào cho biết node phải của p có cây con bên phải? C. (p->right!=NULL)&&(p->right->right==NULL); A. (p->right!=NULL); D. (p->right!=NULL)&&(p->right->right!=NULL); B. (p->left!=NULL); 59. Trong chế độ văn bản, dấu hiệu kết thúc tệp là? B. NULL C. D. Ctrl_Z A. EOF 60. Hàm dùng để cấp phát bộ nhớ động cho kiểu nhớ động do lập trình viên tự định nghĩa như (union, struct)? C. realloc(); B. malloc(); A. calloc(); D. Cả 3 đáp án trên 61. Cho đoạn chương trình sau. Chọn câu đúng nhất trong các câu sau? A. Đoạn chương trình trên có lỗi cú pháp C. Lây địa chỉ thành phần “soluong” dẫn đến chương trình hoạt động không đúng đắn D. Cả 3 ý trên đều sai B. Không được phép sử dụng toán tử lấy địa chỉ đối với các thành phần “to” và “soluong” 62. Xem đoạn code sau. Giá trị trung bình của các trường trong biến v là gì? C. Giá trị khác D. Có lỗi trong đoạn code A. 3 B. 4 63. Sau khi hàm setwiewport(int x1, int y1, int x2, int y2, int clip); được thực hiện thì tọa độ (0,0) của tất cả các hàm vẽ sẽ là? A. Góc trên phải của màn hình B. Góc trên phải của viewport D. Góc trên trái của viewport C. Góc trên trái của màn hình 64. Cho các khai báo sau. Hãy chọn câu đúng nhất? A. Không được phép gán: vaotruong = ratruong; C. Có thể viết “vaotruong B. “sinhvien” là tên cấu trúc, “vaotruong”, “ratruong” là tên biến cấu trúc D. A, B, C đều đúng 65. Chế độ đồ họa bao gồm các vấn đề? D. Cả 3 phương án trên B. Gồm những màu gì A. Bao nhiêu màu C. Độ phân giải của màn hình là bao nhiêu 66. Kiểu dữ liệu nào có thể chứa nhiều thành phần dữ liệu có thể có kiểu dữ liệu khác nhau thành một nhóm duy nhất? D. Cấu trúc(struct) C. Tập tin A. Mảng B. Con trỏ 67. Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau? D. B và C đều đúng C. head=head->next->next; A. head->next=head; B. head=head->next; 68. Cho mảng A gồm các phần tử kiểu struct, phát biểu nào là đúng khi truy cập đến các trường của các phần tử? B. A C. &A D. &A[chỉ số] A. A[chỉ số] 69. Hàm setcolor(int color) làm nhiệm vụ gì? B. Đặt màu vẽ hiện tại A. Thiết lập màu nền C. Cả 2 ý trên đều đúng D. Cả hai ý trên đều sai 70. Đâu là phát biểu đúng về danh sách móc nối? A. Chỉ có thể thêm phần tử mới vào đầu danh sách B. Không thể thêm phần tử mới vào cuối danh sách C. Có thể thêm phần tử mới vào vị trí bất kì trong danh sách D. Không câu nào đúng 71. Hàm closegraph() dùng để làm gì? C. Dùng để xóa màn hình A. Sẽ giải phóng hết các vùng nhớ giành cho đồ họa D. Cả 3 phương án trên đều sai B. Dùng để dừng màn hình 72. Chọn kết quả đúng cho chương trình sau? C. Chương trình bị lỗi B. “10 A. “10 D. Kết quả khác 73. Để dùng danh sách liên kết, xét hai khai báo sau(cần 1KB để lưu dữ thông tin về một sinh viên). (Với “thongtin” là một thành phần dữ liệu của cấu trúc); Chọn câu đúng nhất trong các câu sau? D. Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi duyệt danh sách A. Khai báo 1 tốn nhiều bộ nhớ hơn khai báo 2 C. Khai báo 1 sẽ giúp tiết kiệm câu lệnh hơn khi viết hàm đổi vị trí 2 sinh viên B. Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi đổi vị trí 2 sinh viên 74. Cho khai báo. Câu lệnh nào không hợp lệ? B. p=&t A. p=&t; D. p=&a; C. p=&a[5]; 75. Toán tử nào sau đây sẽ truy xuất 1 thành phần của con trỏ cấu trúc? A. “ C. Cả hai đều đúng B. “->”(Toán tử mũi tên) D. Cả hai đều sai 76. Câu nào không nói đến ưu điểm của việc sử dụng cấu trúc? A. Bạn có thể xử lí một cách hỗn hợp các kiểu dữ liệu trong một đơn vị C. Dữ liệu có thể lưu trữ trong một module và dưới dạng phân cấp B. Bạn có thể lưu dữ xâu kí tự có đọ dài khác nhau vào trong một biến cấu trúc D. Cần ít nhất một bộ nhớ cho cùng dữ liệu 77. Đâu là phát biểu sai khi nói về danh sách liên kết? A. Mỗi phần tử trong danh sách liên kết phải có ít nhất một trường dùng để lưu địa chỉ C. Sử dụng danh sách liên kết thường tốn bộ nhớ hơn dùng mảng D. Tất cả các đáp án đều sai B. Sử dụng danh sách liên kết thường tiết kiệm bộ nhớ hơn dùng mảng 78. Số màu có thể biểu diễn trong chế độ đồ họa do yếu tố nào quy định? B. Độ phân giải màn hình C. Do kích thước màn hình A. Số bít tương ứng với 1 pixel D. Không phải 3 yếu tố trên 79. Dấu hiệu nào dưới đây cho biết danh sách liên kết đơn rỗng? A. (p->right==NULL); D. (p->next==NULL); C. (p==NULL); B. (p->info==NULL); 80. Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau: struct S1{ int info; struct S1 * next;} *head;? C. Giá trị “info” trong phần tử thứ 2 đã bị thay đổi D. Giá trị “info” trong phần tử bất kì đã bị thay đổi B. Giá trị “info” trong phần tử thứ 3 đã bị thay đổi A. Câu lệnh bị lỗi 81. Cho đoạn chương trình sau. Biết kích thước kiểu char: 1 byte, float : 4 byte, int : 4 byte, double : 8 byte, long : 4 byte. Kết quả trả về sẽ là? A. 8 4 1 C. 4 4 1 D. Kết quả khác B. 8 2 1 82. Cho đoạn chương trình. Giá trị của c sẽ là? C. ‘l’ B. ‘e’ A. ‘H’ D. ‘n’ 83. Cơ chế nào dưới đây được cài đặt cho hàng đợi? A. FIFO C. Tuần tự B. Round Robin D. FILO Time's up # Tổng Hợp# Kỹ Thuật