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