câu hỏi trắc nghiệm lập trình c
Mỗi câu hỏi trắc nghiệm đều được mình giải thích chi tiết. Nếu các bạn có gì thắc mắc, feedback cho mình nhé.!!! Khái niệm cơ bản ngôn ngữ lập trình C. Biến, toán tử và biểu thức toán học. Vòng lặp for, do while. If/else, switch case, goto. Con trỏ, mảng, string. Struct, Union
Trắc nghiệm Tin 10 Cánh diều Bài 1 (có đáp án): Nhóm nghề thiết kế và lập trình. Câu 1. Nghề thiết kế lập trình được giới trẻ yêu thích vì: A. Lướt web không tốn tiền. B. Không cần khả năng cao. C. Không cần sáng tạo. D. Nhiều cơ hội việc làm, thu nhập
160 câu hỏi trắc nghiệm môn kỹ thuật mạng máy tính kèm đáp án Bài tập lập trình windows form c# có hướng dẫn Bài Tập SQL Server quản lý bán hàng đề thi trắc nghiệm lập trình C có đáp án Câu hỏi trắc nghiệm môn lập trình hướng đối tượng
24) → m1 = 3,38kg Vậy phải pha thêm 3,38kg hay 3,38l nước sôi vào 15l nước lạnh 240C để pha nước tắm nhiệt độ 380 C Đáp án cần chọn là: B Bài 8: Pha lượng nước 80 0C vào bình 500g nước Miếng đồng nguội từ 80 0C xuống 200C Hỏi
320 Câu hỏi trắc nghiệm lập trình C có đáp án. Tổng hợp 320 câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức. Để ôn tập hiệu quả các bạn có thể ôn theo từng phần trong bộ câu hỏi này bằng cách
Rencontre Gratuite Nord Pas De Calais. Tổng hợp 320 câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức. Để ôn tập hiệu quả các bạn có thể ôn theo từng phần trong bộ câu hỏi này bằng cách trả lời các câu hỏi và xem lại đáp án và lời giải chi tiết. Sau đó các bạn hãy chọn tạo ra đề ngẫu nhiên để kiểm tra lại kiến thức đã ôn. Chọn hình thức trắc nghiệm 50 câu/60 phút Ôn tập từng phần Trộn đề tự động Chọn phần Câu 1 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? A. Ngôn ngữ B B. Ngôn ngữ BCPL C. Ngôn ngữ DEC PDP D. Ngôn ngữ B và BCPL ANYMIND360 / 1 Câu 2 Ngôn ngữ lập trình được Dennish đưa ra vào năm nào? A. 1967 B. 1972 C. 1970 D. 1976 Câu 3 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? A. Ngôn ngữ Assembler B. Ngôn ngữ C và Pascal C. Ngôn ngữ Cobol. D. a, b và c Câu 4 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 ZUNIA12 Câu 5 Một biến được gọi là biến toàn cục nếu A. Nó được khai báo tất cả các hàm, ngoại trừ hàm main B. Nó được khai báo ngoài tất cả các hàm kể cả hàm main 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 Câu 6 Một biến được gọi là một biến địa phương nếu A. Nó được khai báo bên trong các hàm hoặc thủ tục, kể cả hàm main B. Nó đươc khai báo bên trong các hàm ngoại trừ hàm main 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 ADMICRO Câu 7 Nếu x là một biến toàn cục và x không phải là một con trỏ thì A. Miền nhớ dành cho x có thể thay đổi trong quá trình thực hiện chương trình 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 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 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 Câu 8 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 A. Kiểu double B. Kiểu con trỏ C. Kiểu hợp D. Kiểu mảng Câu 9 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 B. a*=b C. a=b D. a&=b Câu 10 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 11 Xâu định dạng nào dưới đây dùng để in ra một số nguyên hệ 16 A. “%d” B. “%x” C. “%i” D. “%u” Câu 12 Xâu định dạng nào dưới đây dùng để in ra một số nguyên ở hệ 8 A. “%ld” B. “%x” C. “%o” D. “%u” Câu 13 Xâu định dạng nào dưới đây dùng để in ra một kí tự A. “%f” B. “%x” C. “%s” D. “%c” Câu 14 Xâu định dạng nào dưới đây dùng để in ra một xâu kí tự A. “%f" B. “%x” C. “%s” D. “%c” Câu 15 Xâu định dạng nào dưới đây dùng để in ra một số nguyên dài A. “%ld” B. “%x” C. “%d” D. “%o” Câu 16 Xâu định dạng nào dưới đây dùng để in ra địa chỉ của một biến A. “%u” B. “%e” C. “%o” D. “%p” Câu 17 Xâu định dạng nào dưới đây dùng để in ra một số nguyên A. “%u” B. “%e” C. “%d” D. “%p” Câu 18 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 A. “%u” B. “%e” C. “%o” D. “%p” Câu 19 Xâu định dạng nào sau đây dùng để in ra một số thực có độ chính xác đơn A. “%u” B. “%e” C. “%f” D. “%o” Câu 20 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 B. -32768…32767 C. -128…127 D. 0…65535 Câu 21 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 A. c=a & b B. c=a && b C. c= a/b D. c= a>=b D. a*=b Câu 23 Cho a=3, b=2. Biến c=a void main { int a, b; a = 100; b = 56; printf“ % d”, a 1 A. -1 B. 0 C. 1 D. Tất cả đều sai Câu 29 Cho biết giá trị của biểu thức 2+4>2&&4 void main { int ch = ’A’; printf“ % d”, ch; } A. A B. a C. 65 D. Kết quả khác Câu 39 Kết quả của chương trình sau include void main { int i = 98; printf“ % c”, i; }; A. 98 B. B C. b D. Kết quả khác Câu 40 Kết quả in ra màn hình của chương trình sau include void main { int i = 5, j = 6; i = i - -j; printf“ % d”, i; }; A. 5 B. 6 C. 1 D. 0 Câu 41 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à A. Dãy các mã định dạng dữ liệu hiển thị B. Con trỏ của xâu kí tự C. Các xâu kí tự mang tính chất thông báo D. Cả 3 phương án trên Câu 42 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 A. scanf; B. getchar; C. getch; D. getche; Câu 43 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 A. scanf; B. getchar; C. getch; D. getche; Câu 44 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; Câu 45 Kết quả in ra màn hình của chương trinh sau là gì include void main { int i; for i = 2; i void main { int i; for i = 2;; i++ printf“ % 3 d”, i; }; A. Vòng lặp vô hạn B. “ 2” C. “ 1 2” D. Kết quả khác Câu 47 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 A. break B. goto C. continue D. exit Câu 48 Lệnh nào trong các lệnh sau cho phép dừng câu lệnh điều khiển A. break B. goto C. continue D. Cả 3 phương án trên Câu 49 Trong ngôn ngữ C, khai báo “int array[3][5]” có nghĩa là A. Các phần tử của mảng là các số nguyên 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 C. array[3][5] là một phần tử của mảng D. Tất cả đều sai Câu 50 Tìm lỗi sai trong chương trình sau in ra kết quả là tổng của 453 và 343 include void main { int sum; sum = 453 + 343 printf“\Ket qua la “sum; }; A. Thiếu dấu chấm phẩy; B. Thiếu dấu phẩy , C. Thiếu kí tự đặc tả D. Cả 3 ý trên
Trong các bài viết trước, bạn đã được học về Flowchart - sơ đồ thuật toán, biến và kiểu dữ liệu, toán tử và biểu thức, nhập xuất dữ liệu, điều kiện rẽ nhánh, vòng lặp - loop. Để giúp bạn ôn tập và hiểu rõ hơn về những kiến thức đó, bài viết này sẽ tổng hợp một số câu hỏi trắc nghiệm lập trình C kèm theo đáp án. Tuy nhiên, bạn cố gắng suy nghĩ để tìm ra cách giải quyết, trước khi xem lời giải nhé. Mục lục Câu hỏi trắc nghiệm về Flowchart - sơ đồ thuật toán Câu hỏi trắc nghiệm về cấu trúc chương trình C Câu hỏi trắc nghiệm về biến và kiểu dữ liệu Câu hỏi trắc nghiệm về toán tử và biểu thức Câu hỏi trắc nghiệm về nhập xuất dữ liệu Câu hỏi trắc nghiệm về điều kiện rẽ nhánh Câu hỏi trắc nghiệm về vòng lặp - loop Câu hỏi trắc nghiệm về Flowchart - sơ đồ thuật toán Câu hỏi 1 Những phát biểu nào sau đây về flowchart là đúng? A. Flowchart là một dạng mã giả, sử dụng chữ để minh họa sơ đồ thuật toán. B. Flowchart là một dạng sơ đồ, sử dụng các hình để minh họa sơ đồ thuật toán. C. Flowchart có thể có điểm đầu và điểm cuối tùy thuộc vào mỗi bài toán khác nhau. D. Flowchart bắt buộc phải có điểm đầu và điểm cuối với mọi bài toán. Xem lời giải Đáp án đúng là B, D Flowchart là một dạng sơ đồ, sử dụng các hình để minh họa sơ đồ thuật toán. Và Flowchart luôn phải có điểm đầu và điểm cuối với mọi bài toán khác nhau. Câu hỏi 2 Phát biểu nào sau đây về ý nghĩa của các dạng hình học trong Flowchart là đúng? A. Hình A - bắt đầu hoặc kết thúc Hình B - tính toán Hình D - nhập xuất dữ liệu Hình E - điều kiện rẽ nhánh B. Hình A - tính toán Hình B - điều kiện rẽ nhánh Hình D - bắt đầu hoặc kết thúc Hình E - nhập xuất dữ liệu C. Hình A - bắt đầu hoặc kết thúc Hình B - nhập xuất dữ liệu Hình D - tính toán Hình E - điều kiện rẽ nhánh D. Hình A - tính toán Hình B - nhập xuất dữ liệu Hình D - điều kiện rẽ nhánh Hình E - bắt đầu hoặc kết thúc Câu hỏi 3 Cho flowchart sau Hỏi đáp án nào sau đây là đúng? A. N = 1, Sum = 1 B. N = 4, Sum = 6 C. N = 5, Sum = 6 D. N = 5, Sum = 4 Xem lời giải Đáp án đúng là C Giải thích Sơ đồ thuật toán trên minh họa cho bài toán tính tổng các số tự nhiên chẵn nhỏ hơn N. Do đó Với N = 1 thì Sum = 0. Suy ra, đáp án A là sai. Với N = 4 thì Sum = 2. Suy ra, đáp án B là sai. Với N = 5 thì Sum = 2 + 4 = 6. Suy ra, đáp án C là đúng và đáp án D là sai. Câu hỏi trắc nghiệm về cấu trúc chương trình C Câu hỏi 1 Chương trình C có bao nhiêu hàm main? Xem lời giải Đáp án đúng là A Mọi chương trình C đều phải có 1 và chỉ 1 hàm main. Đây chính là điểm bắt đầu của chương trình C. Câu hỏi 2 Đâu là cặp kí hiệu dùng để bắt đầu và kết thúc một block code trong ngôn ngữ lập trình C? Câu hỏi 3 Đâu là kí tự dùng để kết thúc một câu lệnh trong ngôn ngữ lập trình C? A. Dấu phẩy , B. Dấu chấm . C. Dấu chấm phẩy ; D. Không cần kí tự nào để kết thúc một câu lệnh Câu hỏi 4 Những cách bình luận commment chính xác trong ngôn ngữ lập trình C là gì? A. // Đây là comment 1 dòng B. / Đây là comment 1 dòng / C. /* Đây là comment nhiều dòng */ D. /*/ Đây là comment nhiều dòng /*/ E. F. Đây là comment 1 dòng G. \* Đây là comment nhiều dòng *\ H. \\ Đây là comment 1 dòng Xem lời giải Đáp án đúng là A, C, D Giải thích Trong ngôn ngữ lập trình C có 2 cách comment code là dùng cặp dấu \\ và cặp dấu /**/ Cặp dấu \\ dùng để comment trên 1 dòng Cặp dấu /**/ dùng để comment trên nhiều dòng Câu hỏi trắc nghiệm về biến và kiểu dữ liệu Câu hỏi 1 Những cách đặt tên biến nào sau đây là hợp lệ? A. tongChan B. tong-le C. count1 D. giatri_Min E. F. _int_ G. continue H. Printf I. 2var Xem lời giải Đáp án đúng là A, C, D, F, H Giải thích Trong lập trình C, quy tắc đặt tên biến là Chữ cái đầu tiên là chữ cái thường a-z hoặc chữ cái viết hoa A-Z hoặc dấu gạch dưới _ Các chữ cái tiếp theo cũng tương tự như chữ cái đầu, ngoài ra có thể là chữ số 0-9 Tên biến không được trùng với từ khóa trong ngôn ngữ lập trình C Tên biến phân biệt hoa thường Các đáp án sai Đáp án B sai vì chứa kí tự gạch ngang - Đáp án E sai vì chứa kí tự chấm . Đáp án G sai vì trùng với từ khóa continue trong ngôn ngữ lập trình C Đáp án I sai vì bắt đầu bằng số Câu hỏi 2 Phát biểu nào sau đây là đúng? A. int số thực, float số tự nhiên, double số nguyên, char chuỗi kí tự B. int số nguyên, float số thực, double số tự nhiên, char kí tự C. int số nguyên, float số thực, double số thực, char kí tự D. int số tự nghiên, float số nguyên, double số thực, char kí tự Xem lời giải Đáp án đúng là C Ngôn ngữ lập trình C có một số kiểu dữ liệu cơ bản là int kiểu số nguyên thường là 4 bytes - đối với máy tính hệ 64bit như hiện nay float kiểu số thực 4 bytes - độ chính xác 6 chữ số sau dấu phẩy double kiểu số thực 8 bytes - độ chính xác 10 chữ số sau dấu phẩy char kiểu kí tự 1 byte, dùng để biểu diễn 256 kí tự trong bảng mã ASCII Câu hỏi 3 Cách khai báo biến nào sau đây là đúng? A. int x, y, z B. x, y, z float C. double x, y, z; D. x = 0, y = 1, z = 2; Xem lời giải Đáp án đúng là C Giải thích Cú pháp khai báo biến trong ngôn ngữ lập trình C là ; Chú ý cần có dấu chấm phẩy để kết thúc câu lệnh Câu hỏi trắc nghiệm về toán tử và biểu thức Câu hỏi 1 Đâu là cách gán giá trị cho biến int x; chính xác? A. x = 6; B. x = 6; C. x = 6 D. x y B. x y H. x >= y I. x Nhỏ hơn = Nhỏ hơn hoặc bằng và = C. if {biểu thức} D. if biểu thức Câu hỏi 2 Cho đoạn code sau int a = 3, b = 4, x = 0; if a != 3 x++; x += b; if b == 4 { x-; x *= a; } Hỏi kết quả của biến x sau đoạn code trên là bao nhiêu? Xem lời giải Đáp án đúng là D Giải thích Với mệnh đề if, nếu điều kiện trong if đúng thì câu lệnh hoặc khối lệnh ngay sau if sẽ được thực hiện. Ngược lại, nếu điều kiện trong if sai thì câu lệnh hoặc khối lệnh ngay sau if sẽ không được thực hiện. Với mệnh đề if đầu tiên, a có giá trị 3 nên a != 3 là sai. Do đó câu lệnh ngay sau if là x++ không được thực hiện. Câu lệnh tiếp theo x += b không liên quan đến if nên vẫn thực hiện bình thường. Sau biểu thức này, x = x + b = 0 + 4 = 4; Với mệnh đề if tiếp theo, điều kiện b == 4 là đúng, nên khối lệnh tiếp theo if sẽ được thực hiện. Kết quả là x-; // -> x = x - 1 = 4 - 1 = 3 x *= a; // -> x = x * a = 3 * 3 = 9 Câu hỏi 3 Cho đoạn code sau int x = 3; if x == 1 printf"One"; else if x == 2 printf"Two"; else if x == 3 printf"Three"; else printf"Other"; Hỏi kết quả hiển thị ra màn hình console là gì? A. One B. Two C. Three D. Other Xem lời giải Đáp án đúng là C Giải thích Trong chuỗi câu lệnh if-else-if liên tiếp nhau, thứ tự thực hiện là từ trên xuống dưới. Bất cứ khi nào một điều kiện if là đúng thì câu lệnh hoặc khối lệnh ngay sau if sẽ được thực hiện. Những đoạn if-else phía sau sẽ không được thực hiện. Với x = 3, thì x == 1 hay x == 2 đều sai. Chỉ có x == 3 cho giá trị đúng. Nên câu lệnh ứng với if đó được thực hiện. Câu hỏi 4 Cho đoạn code sau int x = 3; switchx { case 1 printf"One"; case 2 printf"Two"; case 3 printf"Three"; default printf"Other"; } Hỏi kết quả hiển thị lên màn hình console là gì? A. Three B. OneTwoThree C. ThreeOther D. OneTwoThreeOther Xem lời giải Đáp án đúng là C Giải thích Switch dùng để kiểm tra điều kiện và rẽ nhánh. Biểu thức được dùng để kiểm tra điều kiện phải có giá trị là số kí tự bản chất cũng là số Giá trị ứng với các case phải là hằng số. Khi giá trị của case bằng với giá trị của biểu thức kiểm tra điều kiện thì các câu lệnh ứng với case đó sẽ được thực hiện. Ở đây, biểu thức dùng để kiểm tra điều kiện là x, giá trị của x bằng 3. Nên các câu lệnh ứng với case 3 sẽ được thực hiện. Khi đó câu lệnh printf"Three" sẽ thực hiện in ra màn hình chữ Three. Tuy nhiên, đối với switch-case, nếu ta không sử dụng từ khóa break ở cuối mỗi case thì các câu lệnh ứng với các case sau và default sẽ được thực hiện. Do đó câu lệnh printf"Other" sẽ thực hiện in ra tiếp chữ Other. Tóm lại, kết quả thu được là ThreeOther Để kết quả hiển thị chỉ tương ứng với những case đúng Three thì bạn cần thêm từ khóa break ở cuối mỗi case như sau int x = 3; switchx { case 1 printf"One"; break; case 2 printf"Two"; break; case 3 printf"Three"; break; default printf"Other"; } Câu hỏi trắc nghiệm về vòng lặp - loop Câu hỏi 1 Cho đoạn code sau int i, N = 10; for i = 0; i < N; i += 2 { printf"%d ", i; } Hỏi kết quả hiển thị trên màn hình console là gì? A. 0 1 2 3 4 5 6 7 8 9 10 B. 0 1 2 3 4 5 6 7 8 9 C. 0 2 4 6 8 10 D. 0 2 4 6 8 Xem lời giải Đáp án đúng là D Giải thích Cú pháp của vòng lặp for là for khởi tạo vòng lặp; điều kiện thực hiện; thực hiện sau vòng lặp { } Đoạn code trên khởi tạo vòng lặp với i = 0 Điều kiện để vòng lặp thực hiện là i < N Sau mỗi vòng lặp, thực hiện tăng i lên 2 đơn vị i += 2 Trong mỗi vòng lặp, thực hiện in ra giá trị của i Giải thích các vòng lặp Vòng 1 i = 0, i < N đúng. Như vậy, in ra giá trị của i là 0. Sau khi in ra i, tăng giá trị của i lên 2 đơn vị, ta được i = 2 Vòng 2 i = 2, i < N đúng. Như vậy, in ra giá trị của i là 2. Sau khi in ra i, tăng giá trị của i lên 2 đơn vị, ta được i = 4 Vòng 3 i = 4, i < N đúng. Như vậy, in ra giá trị của i là 4. Sau khi in ra i, tăng giá trị của i lên 2 đơn vị, ta được i = 6 Vòng 4 i = 6, i < N đúng. Như vậy, in ra giá trị của i là 6. Sau khi in ra i, tăng giá trị của i lên 2 đơn vị, ta được i = 8 Vòng 5 i = 8, i < N đúng. Như vậy, in ra giá trị của i là 8. Sau khi in ra i, tăng giá trị của i lên 2 đơn vị, ta được i = 10 Vòng 6 i = 10, i < N sai. Như vậy, vòng lặp kết thúc. Tóm lại, kết quả thu được là đáp án D. Câu hỏi 2 Cho đoạn code sau int x = 4; while x { printf"%d ", x-; } Hỏi kết quả hiển thị trên màn hình console là gì? A. 4 3 2 1 0 B. 4 3 2 1 C. 3 2 1 0 D. 4 3 2 1 0 -1 -2 ... vô hạn Xem lời giải Đáp án đúng là B Giải thích Cú pháp của vòng lặp while là Vòng lặp while sẽ luôn được thực hiện nếu điều kiện trong while là đúng. Giải thích các vòng lặp Vòng 1 x = 4, TRUE. Như vậy, in ra giá trị của x là 4. Sau đó, x- nên giá trị của x giảm đi 1, còn là 3 Vòng 2 x = 3, TRUE. Như vậy, in ra giá trị của x là 3. Sau đó, x- nên giá trị của x giảm đi 1, còn là 2 Vòng 3 x = 2, TRUE. Như vậy, in ra giá trị của x là 2. Sau đó, x- nên giá trị của x giảm đi 1, còn là 1 Vòng 4 x = 1, TRUE. Như vậy, in ra giá trị của x là 1. Sau đó, x- nên giá trị của x giảm đi 1, còn là 0 Vòng 5 x = 0, FALSE. Như vậy vòng lặp while kết thúc. Tóm lại, kết quả là đáp án B. Câu hỏi 3 Cho đoạn code sau int x = 0; do { x++; if x == 1 { printf"One"; continue; } printf"%d", x; if x == 3 { printf"Three"; break; } } while x < 5; Hỏi kết quả hiển thị trên màn hình console là gì? A. One23 B. 23Three C. One23Three D. Vòng lặp vô hạn Xem lời giải Đáp án đúng là C Giải thích Cú pháp của vòng lặp do-while là Vòng lặp do-while sẽ thực hiện khối lệnh bên trong do-while trước sau đó kiểm tra điều kiện trong while. Nếu điều kiện đó vẫn TRUE thì vòng lặp tiếp tục, ngược lại thì dừng ngay vòng lặp. Giải thích các vòng lặp Ban đầu khởi tạo x = 0 Vòng lặp 1 x++, nên x tăng lên 1 được x = 1. Nên x == 1 TRUE. Do đó, khối lệnh tương ứng với mệnh đề ifx==1 sẽ được thực hiện. Câu lệnh printf"One" in ra màn hình chữ One. Tiếp theo, từ khóa continue được thực hiện. Từ khóa này sẽ bỏ qua đoạn câu lệnh phía dưới còn lại của vòng lặp để quay về đầu vòng lặp. Vòng lặp 2 x++, nên x tăng lên 1 được x = 2. Nên x == 1 FALSE. Do đó, khối lệnh tương ứng với mệnh đề ifx==1 không được thực hiện. Tiếp theo, câu lệnh printf"%d", x sẽ được thực hiện. Nên nó lại in ra màn hình giá trị ứng với x lúc này là 2. Tiếp theo, mệnh đề ifx==3 không thực hiện vì x == 3 FALSE. Vòng lặp 3 x++, nên x tăng lên 1 được x = 3. Nên x == 1 FAlSE. Do đó, khối lệnh tương ứng với mệnh đề ifx==1 không được thực hiện. Tiếp theo, câu lệnh printf"%d", x sẽ được thực hiện. Nên nó lại in ra màn hình giá trị ứng với x lúc này là 3. Tiếp theo, mệnh đề ifx==3 TRUE nên khối lệnh tương ứng sẽ được thực hiện. Câu lệnh printf"Three" sẽ in ra màn hình chữ Three. Tiếp tục, gặp từ khóa break. Từ khóa này sẽ dừng vòng lặp ngay lập tức. Tóm lại kết quả thu được là đáp án C.
Ngày đăng 16/05/2015, 1400 Trắc nghiệm lập trình C Page 1 Title Trắc nghiệm lập trình C Author Vu Hong Viet Date 07/09/2014 Các câu hỏi trắc nghiệm được thành viên diễn đàn vncoding sưu tập và biên soạn dựa trên quá trình học tập và kinh nghiệm thực tế. Chúng tôi đã chủ định biên soạn các câu hỏi trắc nghiệm bằng tiếng anh, vì đa số các đề thi trắc nghiệm lập trình vào các công ty phần mềm bằng tiếng anh. Đáp án được giải thích chi tiết tại diễn đàn 1. Khái niệm cơ bản ngôn ngữ lập trình C 1. What is the correct value to return to the operating system upon the successful completion of a program? A. 0 B. -1 C. 1 D. Do not return a value 2. What is the only function all C programs must contain? A. start B. system C. main D. program 3. What punctuation is used to signal the beginning and end of code blocks? A. { } B. -> and var; B. C. b-var; D. b>var; 31. Which of the following accesses a variable in a pointer to a structure, *b? A. b->var; B. C. b-var; D. b>var; 32. Which of the following is a properly defined struct? A. struct {int a;} B. struct a_struct {int a;} C. struct a_struct int a; D. struct a_struct {int a;}; 33. Which properly declares a variable of struct foo? A. struct foo; B. struct foo var; C. foo; D. int foo; Trắc nghiệm lập trình C Page 6 34. Which of the following correctly declares an array? A. int anarray[10]; B. int anarray; C. anarray{10}; D. array anarray[10]; 35. What is the index number of the last element of an array with 29 elements? A. 29 B. 28 C. 0 D. Programmer-defined 36. Which of the following is a two-dimensional array? A. array anarray[20][20]; B. int anarray[20][20]; C. int array[20, 20]; D. char array[20]; 37. Which of the following correctly accesses the seventh element stored in foo, an array with 100 elements? A. foo[6]; B. foo[7]; C. foo7; D. foo; 38. Which of the following gives the memory address of the first element in array foo, an array with 100 elements? A. foo[0]; B. foo; C. &foo; D. foo[1]; 39. Which of the following is a string literal? A. Static String B. "Static String" C. 'Static String' D. char string[100]; 40. What character ends all strings? A. '.' B. ' ' C. '\0' D. '/0' 41. Which of the following reads in a string named x with one hundred characters? Trắc nghiệm lập trình C Page 7 A. fgetsx, 101, stdin; B. fgetsx, 100, stdin; C. readlinex, 100, '\n'; D. readx; 42. Which of the following functions compares two strings? A. compare; B. stringcompare; C. cmp; D. strcmp; 43. Which of the following adds one string to the end of another? A. append; B. stringadd; C. strcat; D. stradd; 2. Biến, toán tử và biểu thức toán học 1. What will be output when you will execute following c code? Code include int main{ printf"%d\t",sizeof printf"%d\t",sizeof90000; printf"%d",sizeof'A'; return 0; } Biết kích thước kiểu char 1 byte, float 4 byte, int 4 byte, double 8 byte, long 4 byte. A. 8 4 1 B. 8 2 1 C. 4 4 1 D. Depend on complier 2. What will be output when you will execute following c code? Code include int main{ double num= int var=5; printf"%d\t",sizeof!num; printf"%d\t",sizeofvar=15/2; printf"%d",var; return 0; } Trắc nghiệm lập trình C Page 8 A. 1 4 5 B. 1 4 7 C. 8 4 7 D. Another 3. What value gets printed by the program below? Code int w = 3; int x = 31; int y = 10; double z = x / y % w; printf"%f\n", z; A. 1 B. 0 C. 4. What will be output when you will execute following c code? Code include int main{ char a=250; int expr; expr= a+ !a + ~a + ++a; printf"%d",expr; return 0; } A. - 6 B. 4 C. 5 D. Another 5. What will be output when you will execute following c code? Code include int main{ int a=-5; unsigned int b=-5u; // * ifa==b printf"Avatar"; else printf"Alien"; return 0; } A. Avatar B. Alien C. Error at * Trắc nghiệm lập trình C Page 9 D. Another 6. What will be output when you will execute following c code? Code include include void main { int x = 3; printf"%d", x++ + ++x; getch; } A. 7 B. 8 C. 9 D. Another 7. What output is? Code void main { int i=5,j=6,k; k=i&j; printf"%d",k; getch; } A. 4 B. 0 C. 1 D. 5 8. What output is? Code void main { int i=5,j=6; printf"%d", i j; getch; } A. 7 B. 6 C. 5 D. 1 9. Output of following code Trắc nghiệm lập trình C Page 10 Code include include " extern int x=0; void main { x++; printf"%d",x; getch; } A. 0 B. Error C. 1 D. x isn't defined 10. Output of following code Code extern int x=0; void main { { int x=1; } printf"%d",x; getch; } A. 0 B. 1 C. Error Comlier 11. Output of following code Code int y=0; void main { { int x=0; x++; ++y; } printf"%d\t%d",x,y; getch; } A. 1 1 B. 1 0 C. 'x' undeclared identifier [...]... 15 C 15 10 5 D Run time error 17 What output is? Code include int main{ asm{ mov bx,8; mov cx,10 add bx,cx; } printf"%d",_BX; return 0; Page 12 Tr c nghiệm lập trình C } A 18 B 8 C 0 D Complie error 18 What output is? Code include int main{ char *url= "c \tc\bin\rw .c" ; printf"%s",url; return 0; } A c \tc\bin\rw .c B c /tc/bin/rw .c C c c inw .c D c cinw .c E w .c. .. { int check = 20, arr[] = {10, 20, 30}; switch check { case arr[0] printf"A "; case arr[1] printf"B"; case arr[2] printf "C" ; } getch; } A ABC B BC C B D Complier Error 5 Con trỏ,mảng,string 1 What output is? Code void myfuncchar** param Page 29 Tr c nghiệm lập trình C { ++param; } void main { char* string = char*malloc64; strcpystring, "hello_World"; myfunc&string;... output is? Code include int main{ const int i=5; i++; printf"%d",i; return 0; } A 5 B 6 C 0 D Complier error 20 What output is? Code include include void main { char c= 125; c= c+10; printf"%d" ,c ; getch; } Page 13 Tr c nghiệm lập trình C A 135 B 8 C -121 D 121 21 What output is? Code include include int main { char c= 48; int... Error C 1 16 How many times will "vncoding" is printed on screen? Code include include int main { int i = 1024; for ; i; i >>= 1 printf"\nvncoding"; getch; } A 10 B 11 Page 20 Tr c nghiệm lập trình C C Infinite 17 What output is? Code include include void main { int i=2,j=2; whilei+1? ij++ printf"%d",i; getch; } A 1 B 2 C Complier... default a = 4; case 6 a ; case 5 a = a+1; case 1 a = a-1; } printf"%d \n", a; getch; } A 5 B 4 Page 28 Tr c nghiệm lập trình C C 3 18 What output is? Code include include int main { int x = 3; if x == 2; x = 0; if x == 3 x++; else x += 2; printf"x = %d", x; getch; } A x = 2 B x = 6 C x = 0 19 What output is? Code include include ... loop C Complie error D Another 12 What output is? Code void main { int a=15,b=10 ,c= 5; ifa>b >c printf"True"; else printf"False"; getch; } A True B False C Complier Error D Run time error 13 What output is? Code include include void main { int i = 0; switch i { case '0' printf"A"; break; case '1' printf"B"; Page 26 Tr c nghiệm lập trình C break;... A 5 B 0 C Exception D Another will be output when you will execute following c code? Code void main { char s[ ]="man"; int i; fori=0;s[ i ];i++ printf" %c% c %c% c\t",s[ i ],*s+i,*i+s,i[s]; getch; } A mmmm aaaa nnnn B mmm aaa nnn C mmmm aaa nnn D Another 3 What will be output when you will execute following c code? Code void main { int i = 0; char ch = 'A'; do { putchar ch; } whilei++... default printf"ABC"; } getch; } A A B B C ABC 14 What output is? Code include include " void main { int i = 3; switch i { case 0+1 printf"A"; break; case 1+2 printf"B"; break; default printf"ABC"; } getch; } A A B B C ABC 15 What output is? Code include include define A 0 define B 1 int main { int i = 3; switch i & 1 { case A printf"FALSE";... break; case B printf"TRUE"; break; default printf"Default"; } getch; Page 27 Tr c nghiệm lập trình C } A FALSE B TRUE C Default 16 What output is? Code include include int main { int i; if printf"0" i = 3; else i = 5; printf"%d", i; getch; } A 3 B 5 C 03 D 05 17 What output is? Code include include int main { int a = 5; switcha... getch; } A 1 2 3 B 0 1 2 3 C 0 1 2 14 What output is? Code Page 19 Tr c nghiệm lập trình C include include void main { int x; forx=1;x - Xem thêm -Xem thêm Trắc nghiệm lập trình C, Trắc nghiệm lập trình C,
Link tải bài tập trắc nghiệm C. Câu 1 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 a Ngôn ngữ B. b Ngôn ngữ BCPL. c Ngôn ngữ DEC PDP. d Ngôn ngữ B và BCPL. Câu 2 Ngôn ngữ lập trình được Dennish đưa ra vào năm nào? a 1967. b 1972. c 1970. d 1976. Câu 3 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? a Ngôn ngữ Assembler. b Ngôn ngữ C và Pascal. c Ngôn ngữ Cobol. d a, b và c. Câu 4Nhữ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 Câu 5 Một biến được gọi là biến toàn cục nếu a Nó được khai báo tất cả các hàm, ngoại trừ hàm main. b Nó được khai báo ngoài tất cả các hàm kể cả hàm main. 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. Câu 6 Một biến được gọi là một biến địa phương nếu a Nó được khai báo bên trong các hàm hoặc thủ tục, kể cả hàm main. b Nó đươc khai báo bên trong các hàm ngoại trừ hàm main. 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. Câu 7 Nếu x là một biến toàn cục và x không phải là một con trỏ thì a Miền nhớ dành cho x có thể thay đổi trong quá trình thực hiện chương trình. 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. 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. 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. Câu 8 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 a Kiểu double. b Kiểu con trỏ. c Kiểu hợp. d Kiểu mảng. Câu 9 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. b a*=b. c a=b. d a&=b. Câu 10 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 ab. b a-=b. c a>>=b. d a*=b. Câu 11Xâu định dạng nào dưới đây dùng để in ra một số nguyên hệ 16 a “%d”. b “%x”. c “%i”. d “%u”. Câu 12 Xâu định dạng nào dưới đây dùng để in ra một số nguyên ở hệ 8 a “%ld”. b “%x”. c “%o”. d “%u”. Câu 13Xâu định dạng nào dưới đây dùng để in ra một kí tự a “%f”. b “%x”. c “%s”. d “%c”. Câu 14 Xâu định dạng nào dưới đây dùng để in ra một xâu kí tự a “%f”. b “%x”. c “%s”. d “%c”. Câu 15 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”. d “%o”. Câu 16Xâu định dạng nào dưới đây dùng để in ra địa chỉ của một biến a “%u”. b “%e”. c “%o”. d “%p”. Câu 17 Xâu định dạng nào dưới đây dùng để in ra một số nguyên a “%u”. b “%e”. c “%d”. d “%p”. Câu 18Xâ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 a “%u”. b “%e”. c “%o”. d “%p”. Câu 19Xâu định dạng nào sau đây dùng để in ra một số thực có độ chính xác đơn a “%u”. b “%e”. c “%f”. d “%o”. Câu 20 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. b -32768…32767. c -128…127. d 0…65535. Câu 20Cho 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 a c=a & b. b c=a && b. c c= a/b. d c= a>=b. d a*=b. Câu 22 Cho a=3, b=2. Biến c=a void main { int a,b ; a=100 ; b=56 ; printf“%d”,a1 a -1. b 0. c 1. d Không câu nào đúng. Câu 28 Cho biết giá trị của biểu thức 2+4>2&&4 void main { int ch=’A’; printf“%d”,ch; } a A. b a. c 65. d Kết quả khác. Câu 38Kết quả của chương trình sau include void main { int i=98; printf“%c”,i; }; a 98. b b. c B. d Kết quả khác. Câu 39Kết quả in ra màn hình của chương trình sau include void main { int i=5, j=6; i= i- -j; printf“%d”,i; }; a 6. b 5. c 1. d 0. Câu 40 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à a Dãy các mã định dạng dữ liệu hiển thị. b Con trỏ của xâu kí tự. c Các xâu kí tự mang tính chất thông báo. d Cả 3 phương án trên. Câu 41 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. a scanf; b getchar; c getch; d getche; Câu 42 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 a scanf; b getchar; c getch; d getche; Câu 43Hàm nào đọc kí tự từ bàn phím ngay sau khi gõ, không chờ nhấn kí tự có hiện ra màn hình a scanf; b getchar; c getch; d getche; Câu 44 Kết quả in ra màn hình của chương trinh sau là gì include void main { int i; for i=2; i void main { int i; for i=2; ; i++ printf“%3d”,i; }; a Vòng lặp vô hạn. b “ 2”. c “ 1 2”. d Kết quả khác. Câu 46 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. a break. b goto. c continue. d exit. Câu 47 Lệnh nào trong các lệnh sau cho phép dừng câu lệnh điều khiển a break. b goto. c continue. d Cả 3 phương án trên. Câu 48 Trong ngôn ngữ C, khai báo “int array[3][5]” có nghĩa là a Các phần tử của mảng là các số nguyên. 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. c array[3][5] là một phần tử của mảng. d Tất cả đều sai. Câu 49Tìm lỗi sai trong chương trình sau in ra kết quả là tổng của 453 và 343 include void main { int sum; sum= 453+343 printf“\Ket qua la “ sum ; } ; a Thiếu dấu chấm phẩy;. b Thiếu dấu phẩy ,. c Thiếu kí tự đặc tả. d Cả 3 ý trên. Câu 50 Kết quả của chương trình sau là gì include void main { int i,j; for i=1; i void main { int a=40, b=4; whilea!=b if a>b a=a-b; else b=b-a; printf“%d”,a; }; a 2. b 16. c 4. d Kết quả khác. Câu 53 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 a Thứ 6. b Thứ 7. c Thứ 8. d Thứ 9. Câu 54Kết quả của chương trình sau là gì include void hoanviint *px, int *py { int z ; z=*px; *px=*py ; *py=z ; } ; void main { int a=15, b=21 ; hoanvia,b ; printf “%d %d”,a,b; }; a “15 21” . b “21 15”. c Báo lỗi khi thực hiện chương trình. d Kết quả khác. Câu 55 Kết quả chương trình sau là gì include void hoanviint px, int py { int pz; pz=px; px=py; py=pz; }; void main { int a=15, b=21; hoanvia,b; printf“%d %d”,a,b; }; a “21 15”. b “15 21”. c Báo lỗi khi thực hiện chương trình. d Kết quả khác. Câu 56 Phát biểu nào sau đây không phài là lợi ích của việc dùng hàm a Tránh dư thừa, lặp lại nhiều lần một đoạn lệnh. b Dễ bảo trì. c Khả năng sử dụng lại đoạn lệnh. d Tất cả đều sai. Câu 57 Khai báo các biến int m,n; float x,y; Lệnh nào sai a n=5 ; b x=10 ; c y= ; d m= ; Câu 58 Kết quả in ra màn hình của chương trình sau include void main { char *s; s=”chao cac ban”; strcpy&s[5],&s[9]; printf“%s”,s; }; a “chao”. b “chao cac”. c “chao ban”. d “chao cac ban”. Câu 59Kết quả in ra màn hình của chương trình sau include void main { int a=100, b=6; double f; f=doublea/doubleb; printf“% }; a “16”. b “ c “ d Kết quả khác. Câu 60 Kết quả in ra màn hình của biểu thức sau là gì-3+4%5/2. a -1. b -3. c 1. d Kết quả khác. Câu 61Có 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 a p=x; b p=&x; c p=*x; d Tất cả các lệnh đều đúng. Câu 62 Nếu có các khai báo sau char msg[10]; char value; Câu nào sau đây sẽ là đúng a msg[2]=value; b msg=value; c Cả hai câu trên. d Không câu nào đúng. Câu 63 Nếu có các khai báo sau char msg[10]; char *ptr; char value; Câu nào sau đây là đúng a ptr=value; b ptr=msg; c Cả hai câu trên đều đúng. d Cả hai câu trên đều sai. Câu 64Kí hiệu nào là con trỏ của phẩn tử thứ 3 của màng a có 4 kí tự a *a+3; b *a+2; c *a+3; d *a+4; Câu 65Cho các khai báo sau void *tongquat; int *nguyen; char *kitu; Phép gán nào là không hợp lệ a tongquat=nguyen; b *nguyen=*tongquat; c kitu=chartongquat; d tongquat=kitu; Câu 66 Cho biết kết quả của đoạn chương trình sau int p=4; p=10+ ++p; a 14. b 15. c 16. d Kết quả khác. Câu 67Có các khai báo sau char tb, mang[15]; Trong các câu lệnh sau, câu nào đúng a tb=”chào bạn”; b getsmang; c mang=”chaoban”; d getstb; Câu 68 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. Câu 69 Phép trừ 2 con trỏ có cùng kiểu sẽ là a Một con trỏ có cùng kiểu. b Một số nguyên. c Kết quả khác. d Không thực hiện được. Câu 70Phé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 *; b !; c &; d Kết quả khác. Câu 71Sự hiệu chỉnh các kiểu dữ liệu số học khi tính toán là a int à long à float à double à long double. b int à float à long à double à long double. c int à double à float àlong à long double. d long à int à float àdouble à long double. Câu 72Chương trình include void main { char c; int n; scanf“%d%c”,&n,&c; printf“%3d%c”,n,c; }; 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à a “ 29b”. b “ 29h b”. c “ 29h”. d Kết quả khác. Câu 73 Khi khai báo mảng, ta khởi tạo luôn giá trị của mảng như sau int x[3]={4,2,6}; Nghĩa là a x[1]=4, x[2]=2, x[3]=6. b x[0]=4, x[1]=2, x[2]=6; c Khai báo không đúng. d Kết quả khác. Câu 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à a 0. b NULL. c Cả hai phương án trên đều đúng. d Cả hai phương án trên đều sai. Câu 75Các kí hiệu đặc trưng cho sự tác động lên dữ liệu gọi là a Hàm. b Biểu thức. c Biến. d Toán tử. Câu 76 Kết quả của chương trình sau là gì include void main { int x, *p; x=3; x=6; p=&x; *p=9; printf“%d”,x; printf“%d”,*p; printf“%d”,x; }; a “369”. b “696”. c “999”. d Kết quả khác. Câu 77 Kết quả của chương trình sau là gì include int changeint a { a=10; return a; }; void main { int a=5; changei; printf“%d”,i; }; a 5. b 10. c 0. d Báo lỗi khi thực hiện chương trình. Câu 78 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 đó. b Lưu đồ có thể có nhiều điểm bắt đầu và kết thức. c Kiểu kí tự chứa một kí tự nằm trong dấu nháy kép. d Trong các lệnh if lồng nhau, else thuộc về if phía trước gần nó nhất. Câu 79 Kết quả của chương trình sau là gì include int changeint *a { *a=10; return *a; }; void main { int i=5; change&i; printf“%d”,i; }; a 5. b 10. c 0. d Báo lỗi khi thực hiện xây dựng chương trình. Câu 80 Kết quả của chương trình sau là gì include void main { int x, *p; x=6; p=&x; printf“%d”,x; printf“%d”,*p; }; a 69. b 66. c Lỗi khi xây dựng chương trình. d Kết quả khác. Câu 81Kết quả của chương trình sau là gì include void main { printf“%d”,3 void main { int i,k; fori=1; ; i++ k=5; printf“%d”,i; }; a 0. b 5. c Vòng lặp vô hạn. d Kết quả khác. Câu 84 Kết quả của chương trình sau là gì include void main { int i=1, k=0; for ; i include int main { clrscr; char str[80]; fflushstdin; scanf“%s”,str; cprintf“Dong van ban vua nhap la %s”,str; getch; return 0; }; a “Chao Cac Ban”. b “Chao Cac”. c “Chao”. d Không hiện kết quả gì. Câu 88 Kết quả của chương trình sau là gì include include void main { clrscr; int i; for i=1; i void main { int i=100; printf“%c”,i; }; a “d”. b “D”. c “100”. d Kết quả khác. Câu 91 Hằng có thể được định nghĩa theo cách nào a define string b const tên_kiểu tên_biến_hằng = giá trị; c Không có cách định nghĩa chung. d 1 và 2. Câu 92 Hàm gotoxyint x, int y là hàm a Đặt con trỏ tại dòng x, cột y. b Đặt con trỏ tại cột x, dòng y. c Lưu dữ tọa độ của con trỏ màn hình cột x, dòng y. d Lưu dữ tọa độ của con trỏ màn hình dòng x, cột y. Câu 93 Kết quả của chương trình sau là gì include include float x[] = { }; int n=sizeofx/sizeoffloat; void main { clrscr; int i,j; floar c; for i=0, j=n-1; i include include define EOL \n’ void main { clrscr; char chu[80]; int tong,dem; for dem=0; dem include void main { char c; clrscr; do c=getchar; while c!=’*’; getch; }; Yêu cầu của đoạn chương trình trên là a Nhập vào 1 kí tự cho đến khi gặp kí tự *’. b Nhập vào các kí tự cho tới khi gặp kí tự *’. c Nhập các kí tự *’. d Lỗi khi xây dựng chương trình. Câu 99 Kết quả của chương trình sau là gì include void main { printf“%d”,36; }; a 1. b 0. c true. d Kết quả khác. Câu 99Toán tử “++n” được hiểu a Giá trị n giảm đi sau khi giá trị của nó được sử dụng. b Giá trị n giảm đi trước khi giá trị của nó được sử dụng. c Giá trị của n được tăng sau khi giá trị của nó được sử dụng. d Giá trị của n được tăng lên trước khi giá trị của nó được sử dụng. Câu 100 Toán tử “n-“ được hiểu a Giá trị n giảm đi sau khi giá trị của nó được sử dụng. b Giá trị n giảm đi trước khi giá trị của nó được sử dụng. c Giá trị của n được tăng sau khi giá trị của nó được sử dụng. d Giá trị của n được tăng lên trước khi giá trị của nó được sử dụng. Câu 101Phép toán 1 ngôi nào dùng để xác định giá trị ở địa chỉ con trỏ trỏ tới a !; b &; d Kết quả khác. Câu 102 Phép trừ 1 con trỏ với một số nguyên sẽ là a Một số nguyên. b Một con trỏ cùng kiểu. c Cả hai kết quả trên đều đúng. d Cả hai kết quả trên đều sai. Câu 103 Đâu là kết quả của đoạn mã sau struct Employee { char Code[], name[]; long Salary; }; Employee e1= { “E089”, “Hoang so”, 12000}, e2=e1; printf“%ld”, -> Salary; a 24000. b 12000. c Đoạn mã bị lỗi. d Kết quả khác. Câu 104Đâu là kết quả của câu lệnh sau printf“%2f”, a b c d Kết quả khác. Câu 105 char S[20]=”aaaaaea”; char* p=strstrS,”e”; Nếu địa chỉ của S là 1000, thì giá trị của p là bao nhiêu a 1000. b 1005. c 1003. d Kết quả khác. Câu 106 Một số tác vụ sau sẽ được áp dụng để kiểm tra xem một số nguyên là lẻ hay chẵn 1- Beginbắt đầu. 2- Nhập số nguyên n. 3- Nếu số đó 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; 6- Endkết thúc. Theo bạn, thứ tự các bước nào sau đây là đúng a 1,2,3,4,5,6. b 1,5,4,3,2,6. c 1,2,5,3,4,6. d 1,5,3,4,2,6. Câu 107 Trong số các định dạng dưới đây, định dạng nào dùng để in ra địa chỉ a “%f”. b “%s”. c “%p”. d “%h”. Câu 108 Khai báo hàm tìm giá trị lớn nhất trong một màng các số long dưới đây, khai báo nào đúng a void Maxlong *a; b long Maxlong *a[]; c void Maxlong a[], int n; d long Maxlong *a, int n; Câu 109 Khai báo hàm tính tổng các phần tử trong một mảng các số nguyên dưới đây, khai báo nào đúng a void Sum int a[]; b long Sum int *a; c void Sumint a[], int n; d cả 3 phương án trên đều sai. Câu 110Để khai báo 1 hàm kiểm tra một mảng là tăng hay không ta dùng khai báo nào dưới đây a void CheckAscint a[], int n; b int CheckAscint *a, int n; c long CheckAscint *S; d double CheckAscint S[], int n; Câu 111Đoạn code nào sẽ hoán vị 2 số a và b a t=a; a=b; b=t; b t=a; a=b; t=b; c a=t; b=a; t=b; d t=b; b=a; a=t; Câu 112 Trong các câu sau, câu nào đúng a Giá trị của một biến có thể thay đổi được. b Giá trị của một biến không thể thay đổi được. c Có thể khai báo 2 biến trùng tên trong cùng một hàm. d Không thể khai báo 2 biến trùng tên trong cùng một hàm. Câu 113 Các kí hiệu đặc trưng cho sự tác động lên dữ liệu được gọi là a Toán tử. b Biểu thức. c Hàm. d Biến. Câu 114Kích thước của biến con trỏ là a 1 byte. b 2 byte. c 3 byte. d Không có đáp án nào đúng. Câu 115 Cho biết giá trị của biểu thức 2+4>2&&41&&num1num=1&&num0; n/=2 printf“%3d”,n; }; a “ 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1”. b “ 18 9 4 2 1”. c “ 18 9 4 2 1 0”. d Không câu nào đúng. Câu 119 Tìm kết quả của chương trình sau include main { int i, ch; for i=0, ch=’A’; i main { int i,ch; for i=0,ch=’A’; i, a; c 1 và 2 sai. d 1 và 2 đúng. Câu 169 Cho khai báo struct T {int x; float y;} t, *p, a[10]; Câu lệnh nào không hợp lệ a p=&t; b p=& c p=&a[5]; d p=&a; Câu 170 Cho các khai báo sau struct ngay{ int ng, th, n;} vaotruong, ratruong; typedef struct sinhvien{ char hoten; ngay ngaysinh;}; 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 “ “ “ để truy xuất đến các thành phần tương ứng. d 1, 2, 3 đúng. Câu 171 Trong các khởi tạo giá trị cho các cấu trúc sau, hãy chọn câu đúng struct S1{ int ngay, thang, nam;}; S1=2, 1, 3; struct S2{ char hoten[10]; struct S1 ngaysinh;}; S2={“Ly Ly”, {4, 5, 6}}; a S1 đúng. b S2 đúng. c Cả S1, S2 đều đúng. d Cả S1, S2 đều sai. Câu 172Đối với kiểu có cấu trúc, cách gán nào sau đây là không được phép a Gán biến cho nhau. b Gán hai phần tử mảng kiểu cấu trúc 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. d Gán hai mảng có cấu trúc có cùng số phần tử cho nhau. Câu 173 Cho đoạn chương trình sau struct { int to; float soluong;} x[10]; for int i=0; iSV1->SV2->…->SV3->SV4->…; Đổi SV2 cho SV4 { P=SV1->tiep; SV1->tiep = SV3->tiep; SV3->tiep = P; /*-*/ P=P->tiep; SV3->tiep->tiep = SV1->tiep->tiep; SV1->tiep-tiep = P; }; …->SV1->SV2->…->SV3->SV4->…; Đổi SV2 cho SV4 Cách 1 tương tự khai báo 1; Cách 2 { P = SV2->thongtin; SV2->thongtin = SV4->thongtin; SV4->thongtin = P; }; { WhileP != NULL {visitP->thongtin; P = P->tiep;}; }; Câu 176 Cho đoạn chương trình char S[] = “Helen”; char *p = S; char c = *p+3; Giá trị của c sẽ là a H’. b e’. c l’. d n’. Câu 177 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ả hai ý đều sai. Câu 178Toán tử nào sau đây sẽ truy xuất 1 thành phần của con trỏ cấu trúc a “.”Toán tử chấm. b “->”Toán tử mũi tên. c Cả hai đều đúng. d Cả hai đều sai. Câu 179Xem đoạn code sau typedef struct ST{ int d1,d2,d3;}; ST v= {5, 6, 7}; ST* p=&v; Giá trị của biến v là a {6, 6, 7}; b {5, 6, 7}; c Nhóm trị khác. d Đoạn code gây lỗi. *p.d1++;/ Câu 180 Xem đoạn code sau typedef struct STUDENT{ int d1, d2, d3;}; STUDENT v= {2, 3, 4}; Giá trị trung bình của các trường trong biến v là gì a b c Giá trị khác. d Có lỗi trong đoạn code. Câu 181 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;}; c typedef struct STUDENT {char Name[]; float s1,s2,s3;}; d typedef STUDENT { char Name[]; int s1, s2,s3;}; Câu 182Biến con trỏ có thể chứa a Địa chỉ vùng nhớ của một biến khác. b Giá trị của một biến khác. c Cả a và b đều đúng. d Cả a và b đều sai. Câu 183 Kết quả của chương trình sau là gì include void main { struct diem; { float k; float a; float l; }; struct diem m; = 8; = = 6; printf“% }; a “ b “ c “ d “ Câu 184Kiể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 a Mảng. b Con trỏ. c Tập tin. Câu 185 Chọn kết quả hợp lí cho chương trình sau void main { struct sv { float d; char ht[10]; }; struct sv m, *p; p=&m; printf“%p”,&m; printf“%p”,p; }; a “FFE6FFE6”. b “FFE6FFE7”. c “FFE66EFF”. d Kết quả khác. “FFE4FFE4”/ Câu 186 Chọn kết quả đúng cho chương trình sau include void main { clrscr; struct sv { float d; char ht[10]; }; struct sv m, *p; p=&m; *p.d=p->d=10; strcpy printf“% printf“%s”, }; a “ b “ c Kết quả khác. “NguyenVanTuan”// ht[10]. – Kết quả trên máy. d Chương trình bị lỗi. Câu 187 Chọn kết quả đúng cho chương trình sau include include void main { struct S1 { float d; float d1; float d2; }; struct S1 m={12, 1}; printf“% }; a “ b “ c Kết quả khác. d Chương trình bị lỗi. Câu 188 Chương trình sau cho kết quả là gì include void main { int *px, *py; int a[]={1,2,3,4,5,6}; px=a; py=&a[5]; printf“%d”,++px-py; }; a -4. b 2. c 5. d Không có kết quả đúng. Câu 189 Có bao nhiêu cách khai báo biến cấu trúc a 1. b 2. Có đặt tên cấu trúc và không đặt tên cấu trúc/ c 3. d 4. Câu 190Khi 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. b Khai báo 1 biến cho loại cấu trúc đó ta cần sử dụng từ khóa “struct”. c Không thể khai báo thêm biến cấu trúc nào nữa. - Lưu ý Test trên Turbo C++ không thấy có sự khác biệt. Câu 191Cho khai báo sau struct Date { unsigned int ngay5; unsigned int thang; unsigned int nam 11; } sn1; Số lượng bít sử dụng trong biến cấu trúc trên là bao nhiêu a 16. b 20. c 32. d 48. Câu 192Chọ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. c Cho phép lấy địa chỉ trường kiểu nhóm bít. d Xây dựng được các mảng kiểu nhóm bít. Câu 193 Đâu là định nghĩa đúng về cấu trúc tự trỏ 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. 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ó. d Tất cả các ý trên. Câu 194 Trong các khai báo sau, khai báo nào không đúng a struct Date{int ngay, thang, nam;}; b struct { int ngay, thang, nam;} D1,D2; c typedef struct { int ngay, thang, nam;} Date; d struct Date { long int ngay7; long int thang6; long int nam5; }; Câu 195 Đâu là phát biểu dúng về danh sach moc nối 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. ?. 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. Câu 196 Phát biểu nào không đúng về onion 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. 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. c Có thể khai báo các biến trong union có nhiều kiểu khác nhau. 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. Câu 197 Cho đoạn chương trình struct ng { unsigned ngay; unsigned thang; unsigned nam; }; struct diachi { int sonha; char tenpho[20]; }; union u { struct ng date; struct diachi address; } diachi_ngaysinh; Kích thước của biến u là bao nhiêu byte a 20. b 22. c 28. d Đáp án khác. Câu 198 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; Biết con trỏ “head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Cho biết mục đích của câu lệnh sau { head->next->next->info=111;}; a Câu lệnh bị lỗi. b Giá trị “info” trong phần tử thứ 3 đã bị thay đổi. 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. Câu 199 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; Biết con trỏ “head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Cho biết mục đích của câu lệnh sau {head->next=head->next->next;}; 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. c Loại bỏ phần tử thứ 3 ra khỏi danh sách. d Câu lệnh bị lỗi. Câu 200Mộ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. b Queue; c Cây nhị phân. d Cả 3 đáp án trên. Câu 201 Đâ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. Câu 202 Đâu là phát biểu đúng về danh sach 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. c Có thể xóa một phần tử tại vị trí bất kì trong danh sách. d Tất cả đều sai. Câu 203 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 a calloc; b malloc; c realloc; d Cả 3 đáp án trên. Câu 204 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; 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. Câu 205 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; 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 xóa phần tử đầu tiên ra khỏi danh sách a head->next=head; b head=head->next; c head=head->next->next; d 2,3. Câu 206Đâ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ỉ. 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. d Tất cả các đáp án đều sai. Câu 207 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ị. 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. d Cần ít nhất một bộ nhớ cho cùng dữ liệu. Câu 208 Làm thế nào có thể biểu diễn phần tử “hoten” của SV1 struct SV { char hoten[20]; } SV1, *p; p=&SV1; a b p->hoten; c &hoten; d 1 và 2. Câu 209 Đâu là phát biểu sai 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. d Không thể truyền tham số là phần tử của struct cho hàm. Câu 210 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ử a A[chỉ số].tên_trường; b c & d &A[chỉ số].tên_trường; Câu 211 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ớ. b Luôn lưu trữ liên tục trong bộ nhớ. c Lưu trữ theo kiểu phân trang. d Lưu trữ theo kiểu phân đoạn. Câu 212 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. b Tìm vị trí thích hợp cho x trên toàn bộ cây. c Tìm vị trí thích hợp cho nhánh cây con ở bên trái. d Không ý nào đúng. Câu 213Dấ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 a p->info!=NULL; b p->info==NULL; c p->next!=NULL; d p->next==NULL; Câu 214 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. Câu 215 Cơ chế nào dưới đây được cài đặt cho hàng đợi a FIFO. b Round Robin. c Tuần tự. d FILO. Câu 216 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; b p->info==NULL; c p==NULL; d p->next==NULL; Câu 217 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; b p->left!=NULL; c p->right!=NULL&&p->right->right==NULL; d p->right!=NULL&&p->right->right!=NULL; Câu 218 Cơ chế nào dưới đây được cài đặt cho Stack a FILO. b Tuần tự. c Round Robin. d FIFO. Câu 219 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. 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. 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âu 220 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 a Kiểm tra sự tồn tại của p và các lá bên phải p; 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. d Không cần thực hiện cả 3 điểu kiện nêu trong câu hỏi. Câu 221 Cho đoạn chương trình sau int a, *p, *q; float *t; a=5; p=&a; p=q; t=p; printf“%d%f”,a,t; Kết quả a 5-12. b 5. c Chương trình lỗi. Can’t convert int* to float*/ d Kết quả khác. Câu 222Số 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. b Độ phân giải màn hình. c Do kích thước màn hình. d Không phải 3 yếu tố trên. Câu 223 Trong chế độ 256 màu, số bít cho mỗi pixel là a 5. b 6. c 7. d 8. Câu 224 Các file tối thiểu cần cho việc vẽ đồ họa a *.BGI, *.CHR. b *.TXT, *.DOC. c *.BGI, *.TXT, *.DOC. d *.CHR, *.TXT, *.DOC. Câu 225 Một chương trình đồ họa gồm bao nhiêu đoạn a 2. b 3. Khởi tạo, detect, link/ c 4. d 5. Câu 226 Trong chế độ graphic, gốc tọa độ là a Góc trên bên trái. b Góc trên bên phải. c Góc dưới bên trái. d Góc dưới bên phải. Câu 227 Ba màu cơ bản trong máy tính là b RED, YELLOW, BLUE. c BLUE, YELLOW, BLUE. d GREEN, RED, PING. Câu 228 Hàm getpixelint 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; c Vẽ một điểm tại vị trí con trỏ. d Cả 3 phương án đều sai. Câu 229Sau khi hàm setwiewportint 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. c Góc trên trái của màn hình. d Góc trên trái của viewport. Câu 230 Trong chế độ đồ họa, hàm nào thường được dùng để hiện nội dung xâu a printf; b outtextchar far * textstring; c outtextxyint x, int y, char far *textstring; d putchar; Câu 231 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. Câu 232 Khẳng định nào dưới đây là sai a Hàm movetoint 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 linetoint 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 linerelint x, int y vẽ đường thẳng tử gốc tọa độ tới điểm có tọa độ x,y; d lineint 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; Câu 233Hàm putpixelint x, int y dùng để làm gì a Vẽ một điểm tại tọa độ x,y; b Lấy màu của điểm có tọa độ x,y; c Vẽ một điểm tại vị trí con trỏ. d Cả 3 phương án trên đều sai. Câu 234Lệnh nào dùng để đóng chế độ đồ họa a getch; b closegraph; c Cả 2 phương án trên đều sai. d Cả 2 phương án trên đều đúng; Câu 235 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. b Dùng để dừng màn hình. c Dùng để xóa màn hình. d Cả 3 phương án trên đều sai. Câu 236 Phát biểu nào là đúng khi nói về 2 hàm rectangleint x1, int y1, int x2, int y2 và barint x1, int y1, int x2, int y2 a Cả 2 hàm đều vẽ hình chữ nhật. 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. d Cả hai hàm đều vẽ hình chữ nhật và tô cả màu bên trong. Câu 237 Chế độ đồ họa bao gồm các vấn đề a Bao nhiêu màu. b Gồm những màu gì. c Độ phân giải của màn hình là bao nhiêu. d Cả 3 phương án trên. Câu 238 Hàm setcolorint color làm nhiệm vụ gì a Thiết lập màu nền. b Đặt màu vẽ hiện tại. c Cả 2 ý trên đều đúng. d Cả hai ý trên đều sai. Câu 239 Tham số clip trong hàm setviewportint 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. 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. d Cả 2 đều sai. Câu 240 Điểu gì là đúng nhất khi nói về hàm floodfillint x, int y, int Border; a Dùng để tô màu hình tròn 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; d Dùng để tô màu miền kín bất kì chứa điểm x,y; Câu 241 Trong chế độ đồ họa, hàm nào sau đây xác lập kiểu chữ, cỡ chữ a outtextxyint x, int y, char far * textstring; b outtextchar far *textstring; c settextstyleint font, int direction, int charsize; d Cả 3 phương án trên.
câu hỏi trắc nghiệm lập trình c