Câu 1. Chọn (các) phát biểu đúng. Biết rằng mã ASCII của ’A’ là 65. A. Mã ASCII hệ 16 của ký tự ’D’ là 44h B. Mã ASCII hệ 2 của ’E’ là 01000101b C. Mã ASCII hệ 10 của ’L’ là 76 D. Tất cả các câu trên đều đúng Câu 2. Để phép cộng trên hai số cho kết qủa đúng, hai số này phải được biểu diễn bằng: A. Mã nhị phân của chúng B. Mã thập phân của chúng C. Mã ASCII của ký số D. Tất cả đều sai Câu 3. Khi gán trị mới cho một dữ liệu thì … A. Giá trị cũ còn tồn tại B. Giá trị cũ tạm thời mất đi C. Trị cũ bị mất đi D. Tùy thuộc vào người sử dụng có sao lưu hay không Câu 4. Một lệnh máy (chỉ thị mà CPU phải thực thi) là …… A. Một lệnh nhị phân. B. Một lệnh thập phân. C. Một lệnh theo một ngôn ngữ cấp cao. D. Tất cả đều sai Câu 5. Chương trình máy tính là ……. A. Một tập các phát biểu theo một ngôn ngữ cấp cao. B. Chương trình word.exe. C. Một tập các lệnh máy D. Tất cả các câu trên đều sai. Câu 6. Khi nói đến lưu đồ,phát biểu nào sau đây là các phát biểu đúng? A. Chúng dễ hiểu hơn ngay khi nhìn qua so với việc diễn đạt bằng ngôn ngữ tự nhiên. B. Chúng ta có thể xem lại và kiểm lỗi chương trình dễ dàng hơn với sự giúp đỡ của lưu đồ. C. Lưu đồ giúp giải thích chương trình và bàn luận về giải pháp dễ dàng hơn. D. Lưu đồ giúp tính trị của các biến trong 1 chương trình khác. Câu 7. Lưu đồ là phương pháp hình thức giúp diễn đạt một giải thuật, trong đó…. A. Hình chữ nhật được dùng để chỉ thị tác vụ nhập dữ liệu B. Hình thoi được dùng để chỉ thị tác vụ xuất dữ liệu. C. Hình bình hành được dùng để chỉ thị một tính toán D. Tất cả các câu trên đều sai. Câu 8. Với các bước: 1- Đọc kỹ bài toán để hiểu bài toán. 2- Viết chương trình theo ngôn ngữ. 3- Chạy chương trình để kiểm tra kết qủa 4- Biên dịch chương trình theo ngôn ngữ 5- Tìm một giải thuật để giải bài toán. Thứ tự hợp lý của các bước là : A. 1,2,3,4,5 B. 1,5,3,2,4 C. 1,5,2,4,3 D. 1,5,4,3,2 Câu 9. Một số các tác vụ sau sẽ được áp dụng để kiểm tra một số nguyên là lẻ hay chẵn: 1- Bắt đầu 2- Nhập số nguyên n 3- Nếu số dư là 0 thì hiển thị chuỗi "Đây là số chẵn" 4- Ngược lại hiển thị "Đây là số lẻ" 5- Chia n cho 2 lấy số dư 6- Kết thúc Theo ý bạn, thứ tự các bước nào sau đây là đúng? (chọn 1) : A. 1,2,3,4,5,6 B. 1,2,5,3,4,6 C. 1,5,4,3,2,6 D. 1,5,3,4,2,6 Câu 10. Đoạn code nào sẽ hoán vị 2 số a,b? A. t=a; a=b; b=t; B. t=a; a=b; t=b; C. a=t ; b=a; t=b; D. Tất cả đều sai Câu 11. Ngôn ngữ có thể lập trình trên máy tính là A. Ngôn ngữ máy tính B. Hợp ngữ C. Ngôn ngữ lập trình bậc cao D. Ngôn ngữ tự nhiên Câu 12. Máy tính có thể trực tiếp thực hiện các câu lệnh viết bởi A. Ngôn ngữ máy tính B. Hợp ngữ C. Ngôn ngữ lập trình bậc cao D. Ngôn ngữ tự nhiên Câu 13. Ngôn ngữ cho phép khai thác triệt để và tối ưu khả năng của máy tính là A. Ngôn ngữ máy tính B. Hợp ngữ C. Ngôn ngữ lập trình bậc cao D. Ngôn ngữ tự nhiên Câu 14. Ngôn ngữ dễ viết chương trình hơn, vẫn có thể khai thác được đặc điểm riêng của máy là A. Ngôn ngữ máy tính B. Hợp ngữ C. Ngôn ngữ lập trình bậc cao D. Ngôn ngữ tự nhiên Câu 15. Phần đông người lập trình lựa chọn ngôn ngữ nào để viết chương trình A. Ngôn ngữ máy tính B. Hợp ngữ C. Ngôn ngữ lập trình bậc cao D. Ngôn ngữ tự nhiên Câu 16. Chương trình dịch không cần thiết khi viết chương trình bằng A. Ngôn ngữ máy tính B. Hợp ngữ C. Ngôn ngữ lập trình bậc cao D. Ngôn ngữ tự nhiên Câu 17. Người ta thường viết chương trình bằng ngôn ngữ lập trình bậc cao bởi: A. Gần với ngôn ngữ tự nhiên B. Không phụ thuộc vào máy tính C. Ngắn gọn, dễ đọc, dễ hiểu… D. Cả ba đều đúng Câu 18. Trong quá trình dịch, lối nào sau đây sẽ được phát hiện A. Chính tả B. Cú pháp C. Giải thuật D. Ngữ nghĩa Câu 19. Lập trình là: A. Sử dụng giải thuật để giải các bài toán. B. Dung máy tính để giải các bài toán C. Sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình để giải các bài toán trên máy tính. D. Sử dụng ngôn ngữ lập trình Pascal Câu 20. Trong một ngôn ngữ lập trình chương trình dịch là: A. Chương trình dịch từ tiếng Việt qua tiếng Anh và ngược lại. B. Chương trình Pascal C. Chương trình nguồn D. Chương trình có chức năng chuyển đổi chương trình viết bằng ngôn ngữ lập trình qua chương trinhg thực hiện trên ngôn ngữ máy. Câu 21. Chương trình dịch là: A. Chương trình dịch ngôn ngữ tự nhiên ra ngôn ngữ máy. B. Chương trình dịch ngôn ngữ máy ra ngôn ngữ tự nhiên. C. Chương trình có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính cụ thể. D. Chương trình có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ máy thành ngôn ngữ bậc cao. Câu 22. Đối với một ngôn ngữ lập trình có mấy cách dịch: A. 1 loại (Biên dịch) B. 2 loại (Thông dịch và biên dịch) C. 2 loại (Thông dịch và hợp dịch) D. 2 loại (Hợp dịch và biên dịch) Câu 23. Trong các chương trình sau chương trình nào là một chương trình dịch: A. MS Word B. MS Excel C. Turbo Pascal D. MS Powerpoint Câu 24. Trong một chương trình dịch có các chức năng sau: A. Biên soạn B. Lưu trữ C. Tìm kiếm D. Có tất cả các chức năng trên. Câu 25. Chương trình viết bằng ngôn ngữ bậc cao có đặc điểm: A. Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng ngôn ngữ máy. B. Viết dài và mất nhiều thời gian hơn so với chương trình viết bằng ngôn ngữ máy C. Khai thác được tối đa các khả năng của máy D. Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và nâng cấp, không phụ thuộc vào loại máy. Câu 26. Chương trình viết bằng hợp ngữ có đặc điểm: A. Máy tính có thể hiểu được trực tiếp một phần chương trình được viết bằng ngôn ngữ này. B. Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho việc mô tả thuật toán. C. Diễn đạt gần với ngôn ngữ tự nhiên. D. Tốc độ thực hiện nhanh hơn so với chương trình được viết băng ngôn ngữ bậc cao Câu 27. Trong quá trình dịch chương trình, ta sử dụng chương trình nào để phát hiện lỗi ngữ nghĩa A. Trình hợp dịch B. Trình biên dịch C. Trình thông dịch D. Trình diễn dịch Câu 28. Trong ngôn ngữ lập trình, thành phần cơ bản xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó là: A. Ngữ pháp B. Ngữ Nghĩa C. Ngữ cảnh D. Cú pháp Câu 29. Các bước của chương trình biên dịch (Compiler) A. Duyệt B. Kiểm tra C. Phát hiện lỗi D. Dịch lần lượt từng câu lệnh một Câu 30. Các bước của chương trình thông dịch (Interpreter) A. Duyệt B. Kiểm tra C. Phát hiện lỗi D. Dịch lần lượt từng câu lệnh một Câu 31. Chương trình biên dịch (Compiler) gồm các bước A. Duyệt B. Kiểm tra C. Phát hiện lỗi D. Dịch toàn bộ chương trình nguồn thành chương trình có thể thực hiện trên máy Câu 32. Chỉ ra các phát biểu sai trong các phát biểu sau A. int a =5 ; B. char a = 67 ; C. char a =9; b=3 ; D. int b=9 ,c=3 ; Câu 33. Chỉ ra các phát biểu sai trong các phát biểu sau A. int a =188; B. unsigned char b = a ; C. float c ; D. int 3x ; Câu 34. Cho biếtt kết quả của biến d trong các đọan chương trình sau int a =7, b=2, c ; int d ; d = a/b ; biến d có giá trị A. 3.0 B. 3 C. 3.5 D. 1 Câu 35. Cho biêt kết quả của biến c sau đọan chương trình sau int a =7,b=2,c ; c = a%b ; A. 3.0 B. 3 C. 3.5 D. 1 Câu 36. Cho biết kết quả của biến c sau đọan chương trình sau int a =9,b=2,c ; c = a%b ; A. 4 B. 3 C. 4.5 D. 1 Câu 37. Các tên nào sau đây không hợp lệ khi dùng đặt cho biến A. X1 B. X11 C. X_1 D. 1x Câu 38. Các tên nào sau đây hợp lệ khi dùng đặt cho biến A. A_2 B. B1 C. For D. Tất cả Câu 39. Cho đoạn chương trình sau: int a= 7, b=8 ,C=6 ; C= (a>b)?1:C ; A. C=1 B. C=7 C. C=6 D. C=8 Câu 40. Cho đoạn chương trình sau: int a= 9, b=8 ,C=6 ; C= (a>b)?C:0 ; A. C=6 B. C=7 C. C=6 D. C=8 Câu 41. unsigned char a = 0x01, B ; B = a<<2 ; sau câu lệnh trên B có giá trị A. B= 4 B. B=8 C. B=1 D. B=2 Câu 42. unsigned char a = 0x08,B ; sau câu lệnh trên B có giá trị B = a>>2 ; A. B= 4 B. B=8 C. B=1 D. B=2 Câu 43. unsigned int a =7 ,b=2,c=5,d=6 ; Biếu thức ((a>b)&&(b>4)) trả về kết quả A. True B. False C. Biểu thức sai D. Không trả về kết quả luận lý Câu 44. unsigned int a =7 ,b=2,c=5,d=6 ; Biếu thức ((a==b)||(b>4)) trả về kết quả A. True B. False C. Biểu thức sai D. Không trả về kết quả luận lý Câu 45. unsigned int a =7 ,b=2,c=5,d=6 ; Biếu thức ((a==b)&&(b+5)) trả về kết quả A. True B. False C. Biểu thức sai D. Không trả về kết quả luận lý Câu 46. unsigned int a =4 ,b=2,c=5,d=6 ; Biếu thức ((a==b)&&(b+5))||(a) trả về kết quả A. True B. False C. Biểu thức sai D. Không trả về kết quả luận lý Câu 47. unsigned int a =7 ,b=2,c=5,d=6 ; Biếu thức ((a==b)&&(b+5)) trả về kết quả A. True B. False C. Biểu thức sai D. Không trả về kết quả luận lý Câu 48. unsigned int a =7 ,b=2,c=5,d=6 ; Biếu thức !((a==b)&&(!b)) trả về kết quả A. True B. False C. Biểu thức sai D. Không trả về kết quả luận lý Câu 49. Biếu thức (a||(!b)||(c>0)) trả về kết quả A. True B. False C. Biểu thức sai D. Không trả về kết quả luận lý Câu 50. Phép chia lấy phần dư được sử dụng trong ngôn ngữ C là A. Div B. Mod C. % D. & Câu 51. Phép chia lấy phần nguyên được sử dụng trong ngôn ngữ C là A. Div B. Mod C. / D. Rem Câu 52. Toán tử ++ có nghĩa là A. Tăng 1 đơn vị B. Tăng gấp đôi C. Giảm 1 đơn vị D. Tất cả đều đúng Câu 53. Toán tử có nghĩ là A. Phép trừ với so sánh bằng 0 hay chưa B. Giảm 1 đơn vị C. Phép trừ số dư D. Tất cả đều sai Câu 54. Câu lệnh nào sau đây sai A. while(a>b) {… } B. while(a+b){… } C. while(!a) {….} D. Cả 3 phát biểu đều đúng Câu 55. Câu lệnh nào sau đây sai A. while(a>b) {… } B. while(a+b){… } C. while(1) {….} D. Cả 3 phát biểu đều đúng Câu 56. Phát biểu nào sau đây sai A. Tên biến không phân biệt chữa hoa và thường B. Tấc cả các từ khóa sử dụng ký tự thường C. Được sử dụng dấu _ để đặt tên biến D. Cả 3 phát biểu đều sai Câu 56. Khi khai báo mảng, số phần tử mảng: A. Có thể được thiết lập sau B. Phải khai báo khi khai báo mảng C. Có thể không khái báo D. Cả 3 phát biểu đều đúng Câu 57. Chuỗi A. Là mảng một chiều các phần tử số nguyên B. Là mảng một chiều các phần thử số thực C. Là mảng một chiều các phần tử kiểu char D. Tất cả đều sai Câu 58. Chuỗi và mảng một chiều A. Hoàn toàn giống nhau B. Kết thúc chuỗi có ký tự ‘\0’ C. Kết thúc chuỗi có khoảng trắng D. Tất cả đều đúng. Câu 59. Khai báo con trỏ p để trỏ đến một biến kiểu char A. char *p; B. char* p; C. Câu a và câu b đều được D. Tất cả đều sai Câu 60. Khai báo con trỏ p như sau char *P phép gán nào sau đây sai A. P=12345; B. P=56 ; C. *P=12345; D. P[0] =123; Câu 61. Cho đoạn lệnh sau Int A[3] ,*P; P=A ; P++ ; *P sẽ tương đương với A. A[0] B. A[1] C. A[2] D. Cả 3 đều sai Câu 62. Lệnh nào sao đây dùng để tiếp tục vòng lặp A. break B. continue C. netx D. exit Câu 63. Lệnh nào sau đây dùng để kết thúc vòng lặp A. break B. continue C. netx D. exit Câu 64. Vòng lặp thực hiện ít nhất một lần là A. Vòng lặp for B. Vòng lặp while C. Vòng lặp do while D. Không có vòng lặp nào thực hiện ít nhất 1 lần Câu 65. Khai báo con trỏ int *P, *(P++) tương đương với A. P[0] B. P[1] C. P[2] D. P[3] Câu 66. Khai báo mảng int A[6], A có nghĩa là A. Giá trị phần tử mảng B. Giá trị phần tử đầu tiên C. Địa chỉ bắt đầu của mảng D. Không có ý nghĩa Câu 67. Khi dùng lệnh printf để in ra màn hình , %c có dùng để chuyển định dạng sang A. Kiểu chuỗi B. Kiểu ký tự C. Kiểu số thực D. Kiểu không xác định Câu 68. Hàm gets () được sử dụng đề A. So sánh một chuỗi B. Lấy kích thướt chuỗi C. Nhập chuỗi D. Xuất chuỗi Câu 69. Hàm lấy chiều dài chuỗi A. strcpy() B. strlen() C. strcmp() D. strncpy() Câu 70. để so sánh hai chuỗi s1 và s2 ta có thể dùng A. Hàm strcmp() B. Toán tử == C. Toán tử = D. Không thể so sánh Câu 71. Khai báo char *s=”Hello” chương trình sẽ cấp phát bộ nhớ cho chuỗi là A. 6 byte B. 5 byte C. 10 byte D. 12 byte Câu 72. Để cấp phát bộ nhớ cho biến con trỏ dùng hàm A. calloc() B. malloc() C. free() D. new() Câu 73. Để giải phóng bộ nhớ đã được cấp cho biến con trỏ dùng hàm A. calloc() B. malloc() C. free() D. new() Câu 74. Hàm sizeof() trả về A. Chiều dài cấu trúc B. Chiều dài chuỗi C. Kích thướt mảng D. Kích thước kiểu dữ liệu Câu 75. Khai báo kiểu cấu trúc struct sinhvien{ char hoten[30] ; char diem ;}; Kích thướt kiểu sinhvien là A. 2 byte B. 30 byte C. 31 byte D. 32 byte Câu 76. Kích thướt kiểu unsigned long là A. 2 byte B. 4 byte C. 8 byte D. 10 byte Câu 77. Kích thướt kiểu double là A. 2 byte B. 4 byte C. 8 byte D. 19 byte Câu 78. Câu lệnh A= A /3 tương đương với A. A = a%3 B. A /=3 C. A =/3 D. Cả 3 đều sai Câu 79. Trong hàm, lệnh return có tác dụng A. Kết thúc hàm B. Trả về giá trị cho hàm C. Quay về đầu hàm D. Câu a và b đúng Câu 80. Biến cục bộ A. Được khai báo ở đầu hàm main B. Được khai báo bên trong hàm C. Chỉ được sử dụng trong hàm main D. Có tác dụng trong các hàm trước main Câu 81. Biến toàn cục A. Được khai báo bên trong hàm main B. Được khai báo bên ngòai các hàm C. Chỉ được sử dụng bên trong hàm main D. Chỉ được sử dụng trong các hàm con Câu 82. Khai báo mảng 2 chiều 10 hàng và 20 cột A. int a[10,20] B. int a[10],[20] C. int a[10][20] D. int a[20][10] Câu 83. Phần tử ở hàng thứ 2 và cột 3 trong mảng 2 chiều là A. A[2][3] B. A{2}{3} C. A[2,3] D. A[3,2] Câu 84. Trong vòng lặp for(bt1;bt2;bt3) biểu thức chỉ được thực hiện 1 lần là A. Bt1 B. Bt2 C. B3 D. Cả 3 đều sai Câu 85. Trong vòng lặp for(bt1;bt2;bt3) biểu thức có thể không được thực hiện 1 lần nào là A. bt1 B. bt2 C. bt3 D. Cả 3 đều sai Câu 86. Biểu thức trong cấu trúc if ( biểu thức) là A. Biểu thức luận lý B. Biểu thức điều kiện C. Biểu thức toán học D. Cả 3 đều đúng Câu 87. Biểu thức trong cấu trúc switch( biểu thức) là A. Biểu thức luận lý B. Biểu thức toán học trả về giá trị xác đinh C. Biểu thức điều kiện D. Cả 3 đều đúng Câu 88. Hàm printf trong thư viện nào A. conio.h B. stdio.h C. stdlib.h D. math.h Câu 89. Để truyền địa chỉ sang hàm thì khi viết hàm tham số được khai báo A. Có dấu & trước tên tham số B. Là kiểu con trỏ C. Là kiểu mảng D. Câu b và c Câu 90. Có thể truyền tham số cho biến theo kiểu A. Tham số B. Địa chỉ C. Tham trị D. Cả 3 đều được Câu 91. Biến cục bộ so với biến toàn cục A. Có thời gian tồn tại ngắn hơn B. Có thời gian tồn tại dài hơn C. Giống nhau về phạm vi truy xuất D. Giống nhau về phạm vi khai báo Câu 92. Giả sử a và b là hai số thực. Biểu thức nào dưới đây là không được phép theo cú pháp của ngôn ngữ lập trình C? A. (a += b); B. (a >>= b); C. (a *= b); D. (a -= b); Câu 93. Cho a = 3, b = 2. Biến c = (a &= b) sẽ có giá trị nào trong những giá trị dưới đây? A. c = 2 B. c = 0 C. c = 3 D. c = 1 Câu 94. Xâu định dạng nào dưới đây dùng để in ra một xâu kí tự? A. "%s" B. "%x" C. "%f" D. "%c" Câu 95. Xâu định dạng nào dưới đây dùng để in ra một số nguyên? A. "%u" B. "%p" C. "%e" D. "%d" Câu 96. Phương pháp duyệt phải đảm bảo nguyên tắc? A. Xây dựng được một công thức tính nghiệm cho lời giải bài toán B. Không lặp lại các cấu hình đã duyệt và không bỏ xót bất kỳ một cấu hình nào C. Từ một nghiệm đã biết ta phải có phương pháp sinh ra nghiệm kế tiếp của bài toán D. Không lặp lại các cấu hình đã duyệt trước đó Câu 97. Phương pháp định nghĩa bằng đệ qui là? A. Phương pháp xác định đối tượng thông qua các đối tượng khác B. Phương pháp định nghĩa đối tượng thông qua chính nó C. Phương pháp xác định đối tượng thông qua chính nó D. Phương pháp định nghĩa đối tượng thông qua các đối tượng khác Câu 98. Đồ thị vô hướng n đỉnh và mỗi đỉnh có bậc là 4 có bao nhiêu cạnh? A. 4n – 1 B. 4n C. 2n-1 D. 2n Câu 99. Tính chất nào dưới đây không phải là tính chất ma trận kề của đồ thị có hướng? A. Là ma trận đối xứng B. Tổng các phần tử của cột thứ j chính là bán đỉnh bậc vào của đỉnh j C. Tổng các phần tử 1 của hàng thứ i chính là bán đỉnh bậc vào của đỉnh I D. Là ma trận không đối xứng Câu 100. Cho đồ thị vô hướng n đỉnh. Khẳng định nào sai trong những khẳng định dưới đây? A. DFS(i) duyệt tất cả các đỉnh của đồ thị mỗi đỉnh đúng một lần B. BFS(i) duyệt tất cả các đỉnh của đồ thị có cùng thành phần liên thông với đỉnh i C. DFS(i) duyệt tất cả các đỉnh của đồ thị có cùng thành phần liên thông với đỉnh i D. DFS(i) duyệt tất cả các đỉnh j có đường đi từ i đến j Câu 101. Đồ thị Euler là đồ thị? A. Có chu trình Euler B. Có chu trình Euler và chu trình Hamilton C. Có chu trình Euler và đường đi Euler D. Có đường đi Euler Câu 102. Thuật toán Kruskal dùng để xây dựng cây khung nhỏ nhất cho? A. Đồ thị có hướng liên thông mạnh B. Đồ thị vô hướng liên thông có trọng số C. Đồ thị có hướng liên thông mạnh có trọng số không âm D. Đồ thị vô hướng liên thông Câu 103. Thuật toán nào dưới đây dùng để xây dựng cây khung nhỏ nhất? A. Thuật toán Dijkstra B. Thuật toán Ford_Bellman C. Thuật toán Kruskal D. Thuật toán Floy Câu 104. Sắp xếp kiểu lựa chọn (Selection Sort) là phương pháp? A. Tìm vị trí thích hợp cho khóa ki để chèn vào dãy đã được sắp k1, k2, , ki-1 đã được sắp (i=2,3, ,n) mọi phần tử lớn hơn khóa chốt đều nằm ở cuối dãy B. Chọn một khóa ngẫu nhiên làm khóa chốt. Mọi phần tử nhỏ hơn khóa chốt được xếp vào đầu dãy C. Duyệt từ đáy lên đỉnh, nếu gặp hai khóa ngược thứ tự thì đổi chỗ của chúng cho nhau D. Chọn khóa nhỏ nhất trong dãy khóa ki, ki+1, , kn đổi chỗ cho ki (1<=i<=n) Câu 105. Hãy cho biết độ phức tạp trung bình của thuật toán Heap-Sort là? A. Ctb = O(n2) B. Ctb = O(n lg n) C. Ctb = O(n log2n) D. Ctb = O(n) Câu 106. Khi thêm một node p vào đầu danh sách liên kết đơn thì? A. Ta thiết lập cả liên kết phải và liên kết trái cho p B. Ta lấy p làm gốc mới và thiết lập liên kết phải cho p C. Ta chỉ cần thiết lập liên kết phải cho p D. Ta chỉ cần thiết lập liên kết trái cho p Câu 107. Hãy cho biết kết quả thực hiện đoạn chương trình dưới đây: #include #include long function1(int n){ if(n==0) return(1); return(n*function1(n-1)); } void main(void){ printf("\n Ket qua:%ld",function1(5)); } A. Kết quả: 5 B. Kết quả: 120 C. Kết quả: 24 D. Kết quả: 0 Câu 108. Hãy cho biết kết quả thực hiện đoạn chương trình dưới đây: #include #include int function1(int n){ int f1=1, f2=1, fn,i=2; while(i<=n){ fn=f1+f2; f1=f2;f2=fn;i++;} return(fn); } void main(void){ printf("\n Ket qua:%d",function1(7)); } A. Kết quả: 8 B. Kết quả: 720 C. Kết quả: 13 D. Kết quả: 7 Câu 109. Hàm nào dưới đây chỉ dùng để đưa một xâu kí tự ra màn hình? A. Hàm fputc() B. Hàm puts() C. Hàm fputs() D. Hàm putch() Câu 110. Hãy cho biết độ phức tạp tính toán của thuật toán Binary Search? A. Cmax = Ctb = O(n); Cmin = O(1); B. Cmax = Ctb = O(log2n); Cmin = O(1); C. Cmax = Ctb = Cmin = O(log2n); D. Cmax = Ctb = Cmin = O(n); Câu 111. Hãy cho biết kết quả thực hiện đoạn chương trình dưới đây: #include #include int B[]={0,0,0,0}, n=4; void Result(void){ printf("\n Ket qua:"); for(int i=0; i} void Function1(int i){ for(int j=0; j<=1;j++){ B[i]=j; if(i==n-1) Result(); else Function1(i+1); } } void main(){ Function1(0);} A. 16 xâu nhị phân độ dài 4 B. 16 tập con của 1, 2, 3, 4 C. Xâu nhị phân kế tiếp của "0000" D. Tập con kế tiếp của tập F Câu 112. lệnh cout nằm trong thư viện nào sau đây: A. iostream.h B. conio.h C. stdio.h D. A, B, C Câu 113. lệnh clrscr() nằm trong thư viện nào sau đây: A. iostream.h B. conio.h C. stdio.h D. A, B, C Câu 114. lệnh randomize() nằm trong thư viện nào sau đây: A. stdio.h B. conio.h C. dos D. không thuộc các trường hợp trên Câu 115. cho biết kết quả của biểu thức sqrt(4)+abs(12-16)-pow(2,3) A. -2 B. 4 C. 21 D 10 E.không thuộc các trường hợp trên Câu 116. cho biết kết quả của biểu thức (5/3+1)%4 A. 0 B. 1 C. 2 D. 3 Câu 117. trong bốn từ khóa biểu diễn số nguyên là int, long, unsign int, unsign long thì từ khóa nào có miền giá trị nhỏ nhất ? A. long B. int C. unsign int D. unsign long E. cả b và c Câu 118. cho biết kết quả của biểu thức (1>3) && (2>=2) A. 0 B. 1 C. TRUE D. FALSE Câu 119. cho biết kết quả của biểu thức !( 2>1 || 1>2 ) A. 0 B. 1 C. TRUE D. FALSE Câu 120. cho biết kết quả của đoạn chương trình sau: int a=3,b=0; b=a++; b=b+++a; cout<<b; A. 5 B. 6 C. 7 D. 8 Câu 121. cho biết kết quả của đoạn chương trình sau: int a=3,b=0; b= a; b=b+ a; cout<<b ; A. 4 B. 2 C. 3 D. 5 Câu 122. cho biết kết quả của đoạn chương trình sau: int a=241; cout<<(a%100)/10; A. 0 B. 1 C. 2 D. 4 Câu 123. cho biết kết quả của đoạn chương trình sau: int a=5,b=9; int m=a>b ? a++ : b++; int n=a<b ? a : b; cout<< n+(++m); A. 7 B. 11 C. 13 D. 14 Câu 124. lệnh getch() nằm trong thư viện nào ? A.iostream.h B.conio.h C.stdio.h D. A, B, C Câu 125. tổ hợp phím nào sau đây sẽ đóng cửa sổ đang soạn thảo? A. alt+f3 B. alt+f5 C. ctrl+f9 D. f3 Câu 126. Cho biết kết quả của chương trình sau: #include <iostream.h> void main() { float a=1.2; int b=a; cout<<b; } A. 1. B. 1.2 C. chương trình có lỗi D. 6 Câu 127. lệnh nào sau đây sẽ nhập số từ bàn phím A. input B. cin C. scanf D. cả b và c Câu 128. để dưa con trỏ về đầu dòng dưới, hai lệnh cout<< endl và cout<<”n” là tương đương. A. đúng B. sai Câu 129. cho biết kết quả của đoạn chương trình sau: int a=3,b=4; int t=a; a=b; b=t; cout<<b A. 0 B. 3 C. 6 D. 4 Câu 130. cho biết kết quả của đoạn chương trình sau: int a=4,b=3; int t=a <= b ? a:b; cout<<t; A. 0 B. 3 C. 4 D. 5 Câu 131. cho biết kết quả của đoạn chương trình sau: int a=0,b=4; int t=(a!=0)?1:(b==0)?0:-1; cout<<t; A. 0 B. 4 C. 1 D. -1 Câu 132. cho biết trong các lệnh dưới đây, lệnh nào không nằm trong thư viện conio.h : A. getche() B. textbackground() C. gotoxy() D. random() Câu 133. cho x,y là 2 số nguyên, lệnh nào sau đây để in giá trị của 2 số a, b ra màn hình : A. cout<< " Hai so la : a, b" ; B. cout<< "Hai so la : "<< a + b; C. cout<< " Hai so la : " << a, b; D. cout<< "Hai so la : "<< a << b; Câu 134. cho biết đoạn chương trình sau khi thi hành xuất ra màn hình kết quả gì? #include<iostream.h> void main() { int x = 500, y = 100, t ; t = x * y; cout<<t; } A. 50000 B. 32767 C. Không in gì cả D. Tất cả các câu trên đều sai. Câu 135. cho biết dòng lệnh nào sẽ bị báo lỗi trong đoạn chương trình sau : #include <iostream.h> void main() { (1) clrscr(); (2) int a,b,c; (3) cout << " Nhap vao 2 so nguyen a, b "; (4) cin >> a >>b; (5) c = a/b; (6) cout << " Ket qua la : " << c; } A. (1) B. (3) C. (4) D. (6) Câu 136. Biểu thức nào sau đây có giá trị bằng 0 : A. ( 10>7 ) && ('a' < 'A' ) B. (3 + 2 <= 5) || (2 < 4 % 2) C. (4 + 2 > 5) && (2 < 4 / 2) D. 3 * (2+ 1) >= 10 % 4* 2 . 11 8. cho biết kết quả của biểu thức (1& gt;3) && (2>=2) A. 0 B. 1 C. TRUE D. FALSE Câu 11 9. cho biết kết quả của biểu thức !( 2> ;1 || 1& gt;2 ) A. 0 B. 1 C. TRUE D. FALSE Câu 12 0 void Function1(int i){ for(int j=0; j< =1; j++){ B[i]=j; if(i==n -1) Result(); else Function1(i +1) ; } } void main(){ Function1(0);} A. 16 xâu nhị phân độ dài 4 B. 16 tập con của 1, 2, 3, 4 C sqrt(4)+abs (12 -16 )-pow(2,3) A. -2 B. 4 C. 21 D 10 E.không thuộc các trường hợp trên Câu 11 6. cho biết kết quả của biểu thức (5/3 +1) %4 A. 0 B. 1 C. 2 D. 3 Câu 11 7. trong bốn từ khóa biểu diễn số nguyên