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