Đề cương ôn tập – Bài 1FREELập Trình C 1. Độ ưu tiên đối với các toán tử logic là? B. NOT, OR, AND A. AND, NOT, OR D. NOT, AND, OR C. OR, NOT, AND 2. Ngôn ngữ lập trình được Dennish đưa ra vào năm nào? B. 1972 A. 1967 C. 1970 D. 1976 3. Kết quả của chương trình sau là gì? C. “999” B. “696” A. “369” D. Kết quả khác 4. Kết quả hiển thị ra màn hình của chương trình sau là gì? C. Báo lỗi khi thực hiện xây dựng chương trình B. 100 A. 56 D. Kết quả khác 5. Xâu định dạng nào dưới đây dùng để in ra địa chỉ của một biến? C. “%o” D. “%p” A. “%u” B. “%e” 6. Hàm nào đọc kí tự từ bàn phím ngay sau khi gõ, không chờ nhấn Enter. Các kí tự có hiện ra màn hình? A. scanf(); B. getchar(); C. getch(); D. getche(); 7. Có các khai báo sau: int x=15; int *p; Muốn p là con trỏ trỏ tới x phải thực hiện lệnh nào? D. Tất cả các lệnh đều đúng B. p=&x; A. p=x; C. p=*x; 8. Kết quả của chương trình sau là gì? A. “15 21” D. Kết quả khác C. Báo lỗi khi thực hiện chương trình B. “21 15” 9. Kết quả in ra màn hình của chương trinh sau là gì? A. “ 1 2 3 4” B. “ 2 3 4” D. Chương trình không chạy được C. “ 2 4” 10. Cho biết giá trị của biểu thức 5>1? B. 0 C. 1 D. Tất cả đều sai A. -1 11. Kết quả của chương trình sau là gì? D. Báo lỗi khi thực hiện chương trình C. 0 A. 5 B. 10 12. Các kí hiệu đặc trưng cho sự tác động lên dữ liệu gọi là? D. Toán tử A. Hàm C. Biến B. Biểu thức 13. Kết quả in ra màn hình của chương trình sau? A. “chao” C. “chao ban” D. “chao cac ban” B. “chao cac” 14. Kết quả in ra màn hình của chương trình sau? A. “16” C. “16 B. “16 D. Kết quả khác 15. Kết quả in ra màn hình của chương trình sau là gì? A. Vòng lặp vô hạn D. Kết quả khác B. “ 2” C. “ 1 2” 16. Kiểu dữ liệu nào dưới đây được coi là kiểu dữ liệu cơ bản trong ngôn ngữ lập trình C? C. Kiểu hợp B. Kiểu con trỏ A. Kiểu double D. Kiểu mảng 17. Kết quả của chương trình sau? B. B D. Kết quả khác A. 98 C. b 18. Phép trừ 2 con trỏ có cùng kiểu sẽ là? C. Kết quả khác A. Một con trỏ có cùng kiểu D. Không thực hiện được B. Một số nguyên 19. Giả sử trong ngôn ngữ C sử dụng khai báo “double a[12]”, phần tử a[7] là phần tử thứ bao nhiêu trong mảng a? D. Thứ 9 C. Thứ 8 B. Thứ 7 A. Thứ 6 20. Nếu có các khai báo sau. Câu nào sau đây là đúng? D. Cả hai câu trên đều sai B. ptr=msg; C. Cả hai câu trên đều đúng A. ptr=value; 21. Kết quả của chương trình sau là gì? C. 1 A. True B. 0 D. Kết quả khác 22. Kí hiệu nào là con trỏ của phẩn tử thứ 3 của màng a có 4 kí tự? D. *(a+4); B. *(a+2); A. *(a+3); C. *a+3; 23. Cái gì quyết định kích thước của vùng nhớ được cấp phát cho các biến? D. Tất cả đều đúng C. Giá trị của biến A. Tên biến B. Kiểu dữ liệu của biến 24. Kiểu dữ liệu int( kiểu số nguyên) có thể xử lí số nguyên nằm trong khoảng nào? A. 0…255 D. 0…65535 B. -32768…32767 C. -128…127 25. Phát biểu nào sau đây không phài là lợi ích của việc dùng hàm? D. Tất cả đều sai B. Dễ bảo trì A. Tránh dư thừa, lặp lại nhiều lần một đoạn lệnh C. Khả năng sử dụng lại đoạn lệnh 26. Khai báo các biến: int m,n; float x,y; Lệnh nào sai ? D. m=2 C. y=12 B. x=10 ; A. n=5 ; 27. Phép toán 1 ngôi nào dùng để xác định địa chỉ của đối tượng mà con trỏ chỉ tới? A. *; D. Kết quả khác C. &; B. !; 28. Xâu định dạng nào dưới đây dùng để in ra một xâu kí tự? B. “%x” A. “%f" D. “%c” C. “%s” 29. Cho biết kết quả của đoạn chương trình sau? A. 14 B. 15 D. 17 C. 16 30. Kết quả của chương trình sau? D. Kết quả khác B. 10 C. 8 A. 12 31. Kết quả của chương trình sau là gì? D. Báo lỗi khi thực hiện xây dựng chương trình B. 10 A. 5 C. 0 32. Kiểu dữ liệu nào dưới đây không được coi là kiểu dữ liệu cơ bản trong ngôn ngữ lập trình C? B. Kiểu enum C. Kiểu short int D. Kiểu unsigned A. Kiểu mảng 33. Biến con trỏ có thể chứa? 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 B. Giá trị của một biến khác 34. Kết quả của chương trình sau là gì? B. 16 D. Kết quả khác A. 2 C. 4 35. Ngôn ngữ lập trình nào dưới đây là ngôn ngữ lập trình có cấu trúc? C. Ngôn ngữ Cobol A. Ngôn ngữ Assembler B. Ngôn ngữ C và Pascal D. a, b và c 36. Ngôn ngữ lập trình C được Dennish phát triển dựa trên ngôn ngữ lập trình nào? B. Ngôn ngữ BCPL C. Ngôn ngữ DEC PDP A. Ngôn ngữ B D. Ngôn ngữ B và BCPL 37. Một biến được gọi là một biến địa phương nếu? C. Nó được khai báo bên trong hàm main() D. Nó được khai báo bên ngoài các hàm kể cả hàm main() B. Nó đươc khai báo bên trong các hàm ngoại trừ hàm main() A. Nó được khai báo bên trong các hàm hoặc thủ tục, kể cả hàm main() 38. Cho đoạn chương trình sau. Giả sử khi chạy chương trình ta gõ từ bản phím: “29h b”. Kết quả in ra n và c tương ứng sẽ là? D. Kết quả khác A. “ 29b” C. “ 29h” B. “ 29h b” 39. Cho a=3, b=2 và c là 3 biến nguyên. Biểu thức nào sau viết sai cú pháp trong ngôn ngữ lập trình C? B. (c=a && b) D. (c= a<<b) C. (c= a/b) A. (c=a & b) 40. Nếu hàm được gọi trước khi nó định nghĩa thì điều kiện là gì? C. Trước khi gọi hàm nó phải được khai báo D. Hàm chỉ trả về kiểu dữ liệu boolean B. Kiểu đầu vào của hàm phải là kiểu void A. Kiểu trả về của hàm phải là kiều void 41. Trong ngôn ngữ C, khai báo “int array[3][5]” có nghĩa là? C. array[3][5] là một phần tử của mảng B. Là một mảng hai chiều tối đa là 15 phần tử và mỗi phần tử là một số nguyên A. Các phần tử của mảng là các số nguyên D. Tất cả đều sai 42. Giả sử có câu lệnh ch[]= "A". ch chứa bao nhiêu bytes? B. 2 A. 1 C. 3 D. 4 43. Xâu định dạng nào dưới đây dùng để in ra một số nguyên dài? B. “%x” C. “%d” A. “%ld” D. “%o” 44. Xâu định dạng nào dưới đây dùng để in ra một số nguyên ở hệ 8? B. “%x” A. “%ld” C. “%o” D. “%u” 45. Xâu định dạng nào sau đây dùng để in ra một số thực có độ chính xác đơn? B. “%e” D. “%o” C. “%f” A. “%u” 46. Tìm lỗi sai trong chương trình sau (in ra kết quả là tổng của 453 và 343)? B. Thiếu dấu phẩy (,) C. Thiếu kí tự đặc tả D. Cả 3 ý trên A. Thiếu dấu chấm phẩy(;) 47. Một biến được gọi là biến toàn cục nếu? C. Nó được khai báo bên ngoài hàm main() D. Nó được khai báo bên trong hàm main() B. Nó được khai báo ngoài tất cả các hàm kể cả hàm main() A. Nó được khai báo tất cả các hàm, ngoại trừ hàm main() 48. Sự hiệu chỉnh các kiểu dữ liệu số học khi tính toán là? D. long -> int -> float -> double -> long double C. int -> double -> float ->long -> long double B. int -> float -> long -> double -> long double A. int -> long -> float -> double -> long double 49. Xâu định dạng nào dưới đây dùng để in ra một số nguyên? D. “%p” C. “%d” B. “%e” A. “%u” 50. Những tên biến nào dưới đây được viết đúng theo quy tắc đặt tên của ngôn ngữ lập trình C? A. diem toan B. 3diemtoan C. _diemtoan D. -diemtoan 51. Giả sử a và b là 2 số thực. Biểu thức nào dưới đây là không được phép? B. (a-=b) C. (a>>=b) A. (a+=b) D. (a*=b) 52. Có các khai báo sau. Trong các câu lệnh sau, câu nào đúng? C. mang=”chao ban”; D. gets(tb); A. tb=”chào bạn”; B. gets(mang); 53. Sử dụng cách truyền nào trong hàm sẽ không làm thay đổi giá trị của biến trong chương trình chính? A. Truyền bằng trị C. Cả a và b đều đúng B. Truyền bằng giá trị địa chỉ của tham số D. Cả a và b đều sai 54. Trong các hàm sau, hàm nào là hàm không định dạng để nhập một kí tự từ bàn phím? D. getche(); A. scanf(); C. getch(); B. getchar(); 55. Phép cộng 1 con trỏ với một số nuyên sẽ là? A. Một con trỏ có cùng kiểu B. Một số nguyên C. Cả hai kết quả đều đúng D. Cả hai kết quả đều sai 56. Kết quả của chương trình sau là gì? A. 69 B. 66 D. Kết quả khác C. Lỗi khi xây dựng chương trình 57. Xâu định dạng nào dưới đây dùng để in ra một số thực có độ chính xác kép? B. “%e” C. “%o” D. “%p” A. “%u” 58. 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) D. (a*=b) C. (a>>=b) 59. Nếu x là một biến toàn cục và x không phải là một con trỏ thì? C. Miền nhớ dành cho x sẽ thay đổi bởi những thao tác với x trong tất cả các hàm, kể cả hàm main() B. Miền nhớ dành cho x chỉ có thay đổi bởi những thao tác với x bên trong hàm main() A. Miền nhớ dành cho x có thể thay đổi trong quá trình thực hiện chương trình D. Miền nhớ giành cho x không bị thay đổi trong quá trình thực hiện chương trình 60. Xâu định dạng nào dưới đây dùng để in ra một kí tự? A. “%f” D. “%c” B. “%x” C. “%s” 61. Cho các khai báo sau. Phép gán nào là không hợp lệ? A. tongquat=nguyen; C. kitu=(char)tongquat; B. *nguyen=*tongquat; D. tongquat=kitu; 62. Dạng tổng quát của hàm printf() là: printf(“dãy mã quy cách”, dãy mã biểu thức); Trong đó, dãy mã quy cách sẽ là? C. Các xâu kí tự mang tính chất thông báo D. Cả 3 phương án trên B. Con trỏ của xâu kí tự A. Dãy các mã định dạng dữ liệu hiển thị 63. Kết quả in ra màn hình của chương trình sau? A. 5 D. 0 B. 6 C. 1 64. Cho a=3, b=2. Biến c=(a<<=b) sẽ có giá trị nào dưới đây? A. c=9 D. c=6 C. c=8 B. c=12 65. Kiểu dữ liệu float có thể xử lí dữ liệu trong phạm vi nào? A. 3 C. -128 đến 127 B. -32768 đến 32767 D. 0…65535 66. Những phát biểu nào sau đây là đúng? A. Rẽ nhánh là việc chọn ra một trong hai hay nhiều con đường cho việc thực hiện tính toán sau đó C. Kiểu kí tự chứa một kí tự nằm trong dấu nháy kép B. Lưu đồ có thể có nhiều điểm bắt đầu và kết thức D. Trong các lệnh if lồng nhau, else thuộc về if phía trước gần nó nhất 67. Lệnh nào trong các lệnh sau cho phép đã chuyển tới một nơi nào đó đã được gán nhãn? B. goto D. exit A. break C. continue 68. Lệnh nào trong các lệnh sau cho phép chuyển sang vòng lặp tiếp theo mà không cần phải thực hiện phần còn lại của vòng lặp? D. return A. break C. continue B. goto 69. Trong các hàm sau, hàm nào là hàm không định dạng để in một chuỗi kí tự ra màn hình? D. gets() A. puts() B. printf() C. scanf() 70. Kết quả in ra màn hình của biểu thức sau là gì: -3+4%5/2? B. -3 D. Kết quả khác C. 1 A. -1 71. Xâu định dạng nào dưới đây dùng để in ra một số nguyên hệ 16? C. “%i” A. “%d” B. “%x” D. “%u” 72. Khi khai báo mảng, ta khởi tạo luôn giá trị của mảng như sau? B. x[0]=4, x[1]=2, x[2]=6; D. Kết quả khác A. x[1]=4, x[2]=2, x[3]=6 C. Khai báo không đúng 73. Lệnh nào trong các lệnh sau cho phép dừng câu lệnh điều khiển? C. continue A. break B. goto D. Cả 3 phương án trên 74. Khi biến con trỏ không chứa bất kì một địa chỉ nào thì giá trị của nó sẽ là? C. Cả hai phương án trên đều đúng B. NULL D. Cả hai phương án trên đều sai A. 0 75. Giả sử a, b là hai số thực. Biểu thức nào dưới đây viết không đúng theo cú pháp của ngôn ngữ lập trình C? A. (a+=b) C. (a=b) B. (a*=b) D. (a&=b) 76. Dữ liệu kí tự bao gồm? A. Các kí tự số chữ số C. Các kí tự đặc biệt B. Các kí tự chữ cái D. Cả a,b và c 77. Trong các hàm sau, hàm nào để nhập một kí tự từ bàn phím ngay sau khi gõ, không chờ nhấn Enter và không hiện ra màn hình? D. getche(); C. getch(); B. getchar(); A. scanf(); 78. : Kết quả của chương trình sau là gì ? A. “ 1 2 3 4” B. “ 4” D. Kết quả khác C. “ 3” 79. Kết quả chương trình sau là gì? B. “15 21” A. “21 15” D. Kết quả khác C. Báo lỗi khi thực hiện chương trình 80. Cho biết giá trị của biểu thức 2+4>2&&4<2? B. 0 C. -1 A. 1 D. Tất cả đều sai 81. Kết quả in ra màn hình của chương trình sau? C. 65 A. A D. Kết quả khác B. a 82. Nếu có các khai báo sau. Câu nào sau đây sẽ là đúng? B. msg=value; D. Không câu nào đúng A. msg[2]=value; C. Cả hai câu trên 83. Giả sử có câu lệnh ch=’A’. Vậy ch sẽ chứa bao nhiêu byte? B. 2 A. 1 D. 4 C. 3 Time's up # Tổng Hợp# Kỹ Thuật