lOMoARcPSD| 61549570
Câu 1: Ba thành phần căn bản của bất cứ ngôn
ngữ lập trình nào bao gồm :
A. Mô thức lập trình, trình dịch, ngữ nghĩa
B. Cú pháp, lập trình, ngôn ngữ
D. Cú pháp, mã lệnh, ngữ nghĩa Câu 2: Hàm
nào sau đây được gọi là hàm đệ quy
A. Hàm có nhiều hàm anh em của nó.
B. Hàm gọi đến hàm main.
C. Hàm được hàm main gọi đến.
D. Hàm gọi đến chính nó
Câu 3: Hàm nào sau đây được phép không có
return mà compiler vẫn chấp nhận
A. Hàm inline
B. Hàm lambda
C. Hàm main.
D. Hàm đệ quy
Câu 4: Trong các ví dụ sau đây về hàm của C, ví
dụ nào là minh họa prototype của hàm int
add(int x, int y)
A. add
(3,2);
C int add (int a, int b);
D. int add (int &x , int y=1000); Câu 5:
Trong C++, từ khóa nào có thể được sử
dụng để khai báo một biến mới? A. new
B. create
C. auto.
D. inialize
Câu 6: Trong C++, để kiểm tra xem một giá trị
có nằm trong một khoảng giá trị nào đó hay
không, chúng ta có thể sử dụng lệnh nào?
A.for
B.while
C. Mô thức lập trình, cú pháp, ng
nghĩa.
B. int add (int x, int y) {return
(x+y);}
C. Lời gọi hàm trong C++ có thể có
số đối số ít hơn so với số tham số
trong định nghĩa hàm.
A. Phương pháp lập trình mà tập
trung vào việc phát triển các đối
ợng và quan hệ giữa chúng.
lOMoARcPSD| 61549570
C.if
lOMoARcPSD| 61549570
D.switch
Câu 7: đầu ra của mã sau đây là
#include <iostream> using
namespace std; int main()
{
int main; main =
100;
cout << main++ << endl; system("pause");
}
A.100
B.101
C.không in ra gì
D.xảy ra lỗi
Câu 8: quy tắc đặt tên biến nào sau đây
đúng
A. Là một chuỗi gồm một hoặc nhiềuký
tự chữ, số hoặc ký tự gạch dưới, bắt đầu
bằng một ký tự hoặc dấu gạch dưới.
B. Không chứa các ký hiệu đặc biệt hoặc
dấu cách.
C. Không trùng với các từ khoá.
D. Tất cả các quy tắc đều đúng
Câu 9: Trong cấu trúc chương trình C++, lệnh
#include dùng để làm gì? A. Thông báo trong
chương trình sử dụng các lệnh nh toán,
thông báo các biến sử dụng trong thân
chương trình
B. Khai báo các câu lệnh được sử dụng
trong chương trình. Phải tạo các câu lệnh
trước thì mới sử dụng được trong chương
trình C++
C. Thông báo cho bộ ền biên dịch thêm
các thư viện chuẩn trong C++. Các lệnh được
sử dụng trong thân chương trình phải có
prototype nằm trong các thư viện chuẩn này.
D. Không có đáp án đúng
Câu 10: Trong cấu trúc chương trình C++ có
bao nhiêu hàm main?
A. 1
B. 2.
C. 3.
D. Con trỏ này giúp ta gán nó là địa
chỉ của bất kỳ biến nào.
lOMoARcPSD| 61549570
lOMoARcPSD| 61549570
D. 4.
A. int.
lOMoARcPSD| 61549570
Câu 11: Kết quả của chương trình
sau là gì: #include int main()
{ int i, j;
for (i=1;i<4;i++) j=i;
cout<<"\n"< <j;
return 0;
}
A. 1 2 3 4
B. 4
C. 3
D. Kết quả khác.
Câu 12: Các hàm quản lý bộ nhớ động
trong C thuộc thư viện nào?
A. mem
B. stdio
C. dynamic
D. stdlib.
Câu 13: #include<iostream> using
namespace std;
void func(int x, bool state = false) { if
(state== true ) { cout << "State: true, x =
" <<x/2;}
else{ count<<"State: false, x = "
<<x;}
}
Int main(){
Func(120);
Return 0;
}
A State: true, x = 60
B. State: false, x = 120
C State: true, x = 120
D State: false, x = 60
Câu 14: Một biến được gọi là biến toàn
cục nếu:
A. Nó được khai báo bên ngoài 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 trong tất cả các
hàm, ngoại trừ hàm main()
D. Nó được khai báo bên trong hàm
main()
Câu 15: Một biến được gọi là biến
B. oat
C. double
D. string
0
vùng nhớ.
A. 0.
B. 1
C. -1
Câu 31: Theo em nên khai báo cấu trúc dữ liệu
nào đ biểu thị danh sách các phòng trong các
t nhà chung cư của khu Vinhome Royal City (giả
s đã có cấu trúc Room biểu thị một phòng)
A. Khai báo mảng một chiều
B. Khai báo mảng hai chiều C.
Khai báo mảng ba chiều.
D. Khai báo mảng bốn chiều
Câu 32: Theo em thì nguyên nhân vì sao khiến hai
dòng lệnh dưới đây bị sai: int *p; *p = 10;
A. Vì biến 10 không được phép gán
cho con trỏ kiểu nguyên
B. Vì phép gán giá trị cho con trphải
là &p = 10;
C. Vì con trỏ p chưa được khai báo
kiểu dữ liệu vùng nhớ
D. Vì con trỏ p chưa được gán giá trị
E. Vì con trỏ p chưa được cấp phát
Câu 33: Các biến toàn cục là gì?
B. Các biến chỉ có thể được truy cập
từ trong một hàm cụ th
C. Các biến được sử dụng để lưu trữ
giá trị tạm thời trong chương trình D. Các
biến được sử dụng để tạo ra các trang web
Câu 34: Chỉ số của phần tử đầu ên trong một
mng là gì?
D. Tt cả các phương án đều sai
Câu 35: Kích thước của một mảng trong lập trình
đưc định nghĩa bởi
A. Các biến có thể được truy cập từ
bất kỳ đâu trong chương trình
.
lOMoARcPSD| 61549570
cục bộ nếu:
A. Nó được khai báo bên ngoài hàm
main( )
B. Nó được khai báo ngoài tất cả
cáchàm, kcả hàm main( )
D. Nó được khai báo bên trong hàm main( )
Câu 16: Trong C++, từ khóa nào được sử
dụng để chia một phần code thành các đoạn
nhỏ để tái sử dụng? A. funcon. B. module
C. segment
D. divide
Câu 17: Cho khai báo nguyên mẫu hàm và các
khai báo biến:
oat myfunct(int& a, oat b); int x = 10;
oat y = 4.5; lệnh gọi hàm nào sau đây sẽ
đúng về mặt cú pháp?
A y = myfunct(24, 4.5);
B myfunct(4.5, y);
C y = myfunct(x + 5, y);
D. y = 0.5 * myfunct(x, 4.5); Câu 18: Cho
biết kết quả khi biên dịch và thực thi
chương trình sau:
#include<iostream> using
namespace std; int func(int a =
10, int b){ int c;
c=a+b;
return c;
}
Int main(){
Cout<<func(10);
Return 0;
}
A 0
B. Lỗi biên dịch chương trình
C 10
D 20
Câu 19: Đâu là tệp mô tả các đối tượng luồng
vào ra chuẩn cin, cout, cerr và clog của C++?
C. Nó được khai báo trong tất cả các
hàm, kể cả hàm main( ).
lOMoARcPSD| 61549570
A. fstream
B. iostream.
C. stdlib
D. stdio
C2D222: Theo em nên khai báo cấu trúc dữ liệu nào để biểu thị danh sách các phòng trong các
toà nhà chung cư của khu Vinhome Royal City (giả sử đã có cấu trúc Room biểu thị một phòng)
A. Khai báo mảng một chiều
B. Khai báo mảng hai chiều
C. Khai báo mảng ba chiều
D. Khai báo mảng bốn chiều
ANC: C
C2D222: Theo em nên khai báo cấu trúc dữ liệu nào để biểu thị danh sách các con cờ trong
bàn cờ ớng A. Khai báo mảng một chiều
B. Khai báo mảng hai chiều
C. Khai báo mảng ba chiều
D. Khai báo mảng bốn chiềuANC: B
theo em mã nguồn sau đây có chứa cú pháp của C++ hay không?
#include <stdio.h> #include
<stdlib.h> int main() {
int n;
lOMoARcPSD| 61549570
long total=100, x, *arr;
prin("Nhap n = "); scanf("%d",&n);
arr = new long [n];
if (arr==NULL) {
prin("Cap phat khong thanh cong\n");
exit(1);
}
for (int i=0; i < n; i++){
prin("\n Vao so thu %d: ", i+1 );
scanf("%d", &arr[i] );
}
prin("Danh sach cac so: \n");
for (int i=0; i < n; i++) prin("%d ", arr[i]);
delete [] arr;
return 0;
}
A. Tất cả đều là cú pháp cho phép của C, không hề có cú pháp C++
B. Tất cả đều là cú pháp cho phép của C++, không hề có cú pháp C
C. Có new, delete là cú pháp của C++
D. Có new là cú pháp của C++
E. Có delete là cú pháp của C++
F. Có khai báo vòng lặp for là cú pháp của C++
G. Có new, delete và khai báo int i trong vòng for là cú pháp của C++ANC: G
C1D: Theo em thư viện nào giúp xử lý le
A. iostream
B. iomanip
lOMoARcPSD| 61549570
C. fstream.
D. cmath
E. cstring
ANC: C
C1D: Hãy điền vào chỗ trống :
A. A = trình biên dịch, B = trình liên kết, C = trình thông dịch
B. A = trình biên dịch, B = trình thông dịch, C = trình liên kết
C. A = trình biên dịch, B = trình liên kết, C = trình liên kết
D. Đáp án khác.
ANC: D
Vì A và B đều cùng input và output nên A và B phải giống nhau. C thì có liên kết với thư viện nên
C là trình liên kết => D
C1D: theo em quy tắc sau đây thuộc về nhóm nào? Quy tắc: trong chương trình C++ phải có
hàm mang tên là main thì chương trình đó mới chạy được. Đứng trước main phải có từ khoá
void hoặc int
A. mô thức lập trình
B. quy tắc cú pháp.
C. quy tắc ngữ nghĩa
D. Không có đáp án nào đúng
lOMoARcPSD| 61549570
E. mã nguồn C++ được phép viết main trước int
ANC: B
C1D: theo em quy tắc sau đây thuộc về nhóm nào? Quy tắc: le mã nguồn C++ không được
phép viết trong Microso Word, mà phải viết trong le text văn bản
A. mô thức lập trình.
B. quy tắc cú pháp
C. quy tắc ngữ nghĩa
D. Không có đáp án nào đúng
E. mã nguồn C++ viết trong Word thì vẫn biên dịch được
ANC: A
C1D: Theo em phát biểu nào đúng về các loại thanh ghi như sau:
A. Thanh ghi IR ghi địa chỉ lệnh kế ếp, thanh ghi PC ghi nội dung chi ết lệnh
B. Thanh ghi PC ghi địa chỉ lệnh kế ếp, thanh ghi IR ghi nội dung chi ết lệnh.
C. Thanh ghi IR ghi địa chỉ lệnh kế ếp và cả nội dung chi ết lệnh
D. Thanh ghi PC ghi địa chỉ lệnh kế ếp và cả ghi nội dung chi ết lệnh
ANC: B
Thanh ghi IR lưu nội dung chỉ thị, ta có thể đoán ra được vì IR = Instrucon Register. Còn thanh
ghi PC là viết tắt của Program Counter, ta cần phải nhớ thêm ở slide chương 1 về việc PC sẽ tự
động tăng khi chuẩn bị thực hiện chỉ thị ếp theo. Từ manh mối đó ta suy ra được PC có thể ghi
địa chỉ của lệnh kế ếp còn IR là ghi nội dung của chỉ thị. Chỉ có đáp án B thoả mãn được điều
đó
AC1D: Hãy điền vào chỗ trng
lOMoARcPSD| 61549570
A. A = Dừng, B = Bắt đầu, C = nhận lệnh, D = thực hiện lệnh B. D = Dừng, A =
Bắt đầu, C = nhận lệnh, B = thực hiện lệnh
C. D = Dừng, A = Bắt đầu, B = nhận lệnh, C = thực hiện lệnh.
D. A = Dừng, B = Bắt đầu, D = nhận lệnh, C = thực hiện lệnh
ANC: C
C1D: Theo em đâu không phải là ngôn ngữ lập trình A. C.
B. C++.
C. HTML
D. Tất cả 3 ngôn ngữ đều là ngôn ngữ lập trình.
E. Tất cả 3 ngôn ngữ đều không phải là ngôn ngữ lập trình.
ANC: C
C1D: Để truy cập vào giá trị của đối tượng thông qua con trỏ trong C++, ta sử dụng toán tử gì?
A. &
B. *
C. ->
D. Tt cả đều sai ANC: C
C1D: Trong lập trình, toán tử "&&" được sử dụng để làm gì? A. Kiểm tra
xem hai giá trị có bằng nhau hay không.
lOMoARcPSD| 61549570
B. Tính toán tổng hai giá trị.
C. Kiểm tra xem hai giá trị có đều đúng hay không
D. Kiểm tra xem hai giá trị có đều sai hay không.
ANC: C
C1D: Câu lệnh connue được sử dụng để làm gì trong lập trình?
A. Thoát khỏi vòng lặp hiện tại
B. Kiểm tra nh bảo mật của phần mềm
C. Kiểm tra lỗi trong phần mềm
D. Tất cả đều sai
E. Bỏ qua các câu lệnh còn lại trong vòng lặp và chuyển đến vòng lặp ếp theo.
ANC: E
C1D: Vòng lặp là gì trong lập trình?
A. Công cụ để kiểm tra lỗi trong phần mềm
B. Công cụ để kiểm tra nh bảo mật của phần mềm
C. Công cụ để thực hiện một tác vụ lặp đi lặp lại nhiều lần.
D. Công cụ để tạo ra các trang webANC: C
C1D: Toán tử "+" được sử dụng để làm gì trong lập trình
A. Thực hiện phép cộng giữa hai giá trị
B. Kiểm tra nh bảo mật của phần mềm.
C. Tạo ra các trang web.
D. Kiểm tra lỗi trong phần mềm.
ANC: A
C2D: Toán tử "==" được sử dụng để làm gì trong lập trình?
A. Kiểm tra nh bảo mật của phần mềm
B. Tạo ra các trang web
lOMoARcPSD| 61549570
C. So sánh hai giá trị và trả về true nếu chúng bằng nhau.
D. Kiểm tra lỗi trong phần mềmANC: C
C1D: Cú pháp là gì trong lập trình?
A. Các quy tắc và lệnh được sử dụng để viết chương trình
B. Công cụ để tạo ra các trang web.
C. Công cụ để kiểm tra lỗi trong phần mềm.
D. Công cụ để kiểm tra nh bảo mật của phần mềm.
ANC: A
C1K: Những ngôn ngữ lập trình phổ biến nhất hiện nay là gì?
A. Java, C++, Python, JavaScript
B. HTML, CSS, JavaScript, PHP.
C. SQL, Ruby, Swi, Objecve-C.
D. C#, Perl, HTML, Kotlin.ANC: A
C1D: Ngôn ngữ lập trình là gì?
A. Ngôn ngữ được sử dụng để tạo ra các trang web
B. Ngôn ngữ được sử dụng để kiểm tra lỗi trong phần mềmC. Ngôn ngữ được sử dụng để
kiểm tra nh bảo mật của phần mềm
D. Ngôn ngữ được sử dụng để tạo ra các chương trình máy nh.
E. Tất cả đều sai
ANC: D
C1D: Lập trình viên làm gì?
A. Viết mã để tạo ra các chương trình máy nh.
B. Tạo ra các trang web
C. Kiểm tra lỗi trong phần mềm
lOMoARcPSD| 61549570
D. Kiểm tra nh bảo mật của phần mềm
ANC: A
C1D: Kthuật lập trình là gì?
A. Phương pháp tạo ra các chương trình máy nh.
B. Phương pháp kiểm tra lỗi của phần mềm
C. Phương pháp kiểm tra nh bảo mật của phần mềm
D. Phương pháp cải thiện hiệu suất của phần mềm
ANC: A
C1D: "Integrated Development Environment" (IDE) là gì trong lập trình?
A. Một quy trình kiểm tra chất lượng phần mềm trước khi phát hành
B. Một phần mềm đồng bộ hoá các công cụ để giúp lập trình viên phát triển, kiểm thử và gỡ lỗi
phần mềm.
C. Một tập hợp các hướng dẫn và tài liệu về lập trình
D. Tất cả đều sai
ANC: B
C1D: Khi lập trình, định nghĩa "algorithm" là gì?
A. Một cách thức lập kế hoạch để phát triển phần mềm
B. Một cách thức kiểm tra chất lượng phần mềm
C. Một tập hợp các quy tắc hoặc chỉ thị cho việc giải quyết một vấn đề hoặc thực hiện một tác
vụ.
D. Tất cả đều sai
C1D: Trong lập trình, "syntax" đề cập đến điều gì?
A. Cách viết và đặt tên các biến, hàm và lớp trong mã nguồn
B. Cách phát triển và kiểm tra phần mềm
lOMoARcPSD| 61549570
C. Các quy tắc và ngữ pháp để sử dụng ngôn ngữ lập trình.
D. Tất cả đều sai
C1D: Khi lập trình, "object-oriented programming" (OOP) là gì?
A. Phương pháp lập trình mà tập trung vào việc phát triển các đối tượng và quan hệ gia
chúng.
B. Phương pháp lập trình dựa trên các hàm và thủ tục
C. Phương pháp lập trình dựa trên các kịch bản
D. Tất cả đều sai

Preview text:

lOMoAR cPSD| 61549570
Câu 1: Ba thành phần căn bản của bất cứ ngôn Câu 20: Chọn phát biểu ĐÚNG về hàm trong
ngữ lập trình nào bao gồm : các phát biểu sau : A.
Mô thức lập trình, trình dịch, ngữ nghĩa A.
Trong C/C++ lời gọi hàm phải có số đối
số đúng bằng và hợp tương ứng về kiểu so với
C. Mô thức lập trình, cú pháp, ngữ
tham số trong định nghĩa hàm nghĩa. B.
Hàm trong C/C++ chỉ có duy nhất1 cách
truyền tham số là truyền tham trị B.
Cú pháp, lập trình, ngôn ngữ
C. Lời gọi hàm trong C++ có thể có
số đối số ít hơn so với số tham số
D. Cú pháp, mã lệnh, ngữ nghĩa Câu 2: Hàm trong định nghĩa hàm.
nào sau đây được gọi là hàm đệ quy
D. Trong C/C++ tên hàm phải là duy nhất A.
Hàm có nhiều hàm anh em của nó.
Câu 21: Trong C++, để khai báo một mảng có B. Hàm gọi đến hàm main.
kích thước cố định, chúng ta sử dụng cú pháp C.
Hàm được hàm main gọi đến. nào? D. Hàm gọi đến chính nó A int array[];
Câu 3: Hàm nào sau đây được phép không có B int[] array;
return mà compiler vẫn chấp nhận C array; A. Hàm inline D. int array[size]; B. Hàm lambda
Câu 22: Trong C++, để đọc giá trị từ người C. Hàm main.
dùng vào một biến, chúng ta sử dụng lệnh D. Hàm đệ quy nào?
Câu 4: Trong các ví dụ sau đây về hàm của C, ví A. cin.
dụ nào là minh họa prototype của hàm int B. read add(int x, int y) C. input A. add D. get
B. int add (int x, int y) {return (3,2);
Câu 23: Trong C++, để kiểm tra một điều kiện (x+y);}
và thực hiện một hành động nếu điều kiện đó
đúng, chúng ta sử dụng lệnh nào? A. if. C int add (int a, int b); B. switch
D. int add (int &x , int y=1000); Câu 5:
Trong C++, từ khóa nào có thể được sử C. for
dụng để khai báo một biến mới? A. new D. while B. create
Câu 24: Khi lập trình, "objectoriented C. auto.
A. Phương pháp lập trình mà tập D. initialize
Câu 6: Trong C++, để kiểm tra xem một giá trị trung vào việc phát triển các đối
có nằm trong một khoảng giá trị nào đó hay
tượng và quan hệ giữa chúng.
không, chúng ta có thể sử dụng lệnh nào? programming" (OOP) là gì? A.for B.while lOMoAR cPSD| 61549570 C.if B.
Phương pháp lập trình dựa trên các hàm và thủ tục C.
Phương pháp lập trình dựa trên các
kịch bản D. Tất cả đều sai lOMoAR cPSD| 61549570 D.switch
Câu 25: Theo em tính năng nào không phải là
Câu 7: đầu ra của mã sau đây là gì
chỉ xuất hiện ở C++ mà không xuất hiện ở C? #include using A. Khai báo lớp namespace std; int main()
B. Khai báo các hàm trùng tên nhau {
C. Tự định nghĩa lại toán tử int main; main = (cộng/trừ/nhân/chia) 100;
D. Khai báo các cấu trúc.
cout << main++ << endl; system("pause"); E. Tất cả đều sai }
Câu 26: Theo em thư viện nào giúp xử lý file A.100 A. iostream B.101 B. iomanip C.không in ra gì C. fstream. D.xảy ra lỗi D. cmath
Câu 8: quy tắc đặt tên biến nào sau đây là E. cstring đúng
Câu 27: Theo em nên khai báo cấu trúc dữ A.
Là một chuỗi gồm một hoặc nhiềuký
liệu nào để biểu thị danh sách các con cờ
tự chữ, số hoặc ký tự gạch dưới, bắt đầu
trong bàn cờ tướng A. Khai báo mảng một
bằng một ký tự hoặc dấu gạch dưới. chiều B.
Không chứa các ký hiệu đặc biệt hoặc
B. Khai báo mảng hai chiều. dấu cách.
C. Khai báo mảng ba chiều C.
Không trùng với các từ khoá.
D. Khai báo mảng bốn chiều D.
Tất cả các quy tắc đều đúng
Câu 28: theo em phát biểu nào đúng về con
Câu 9: Trong cấu trúc chương trình C++, lệnh trỏ void
#include dùng để làm gì? A. Thông báo trong
A. Con trỏ này giúp ta gán giá trị cho vùng
chương trình sử dụng các lệnh tính toán,
nhớ mà không cần ép kiểu B. Có con trỏ này
thông báo các biến sử dụng trong thân
thì ta mới gọi được hàm malloc chương trình
C. Có con trỏ này thì ta mới gán được địa chỉ B.
Khai báo các câu lệnh được sử dụng
của các đối tượng mà được khởi tạo bằng
trong chương trình. Phải tạo các câu lệnh câu lệnh new
trước thì mới sử dụng được trong chương
D. Con trỏ này giúp ta gán nó là địa trình C++ C.
Thông báo cho bộ tiền biên dịch thêm
chỉ của bất kỳ biến nào.
các thư viện chuẩn trong C++. Các lệnh được
Câu 29: Theo em thì trong các hàm sau đây,
sử dụng trong thân chương trình phải có
hàm nào sẽ cho phép chúng ta ép kiểu của
prototype nằm trong các thư viện chuẩn này. con trỏ *void D. Không có đáp án đúng A. Hàm abs
Câu 10: Trong cấu trúc chương trình C++ có B. Hàm calloc. bao nhiêu hàm main? C. Hàm sqrt A. 1 D. Hàm main B. 2.
E. Tất cả các hàm còn lại đều sai C. 3.
F. Tất cả các hàm còn lại đều đúng lOMoAR cPSD| 61549570
Câu 30: Loại dữ liệu nào được sử dụng để lưu trữ các số nguyên? lOMoAR cPSD| 61549570 D. 4. A. int. lOMoAR cPSD| 61549570
Câu 11: Kết quả của chương trình B. float
sau là gì: #include int main() C. double { int i, j; D. string for (i=1;i<4;i++) j=i;
cout<<"\n"< Câu 31: Theo em nên khai báo cấu trúc dữ liệu return 0;
nào để biểu thị danh sách các phòng trong các }
toà nhà chung cư của khu Vinhome Royal City (giả A. 1 2 3 4
sử đã có cấu trúc Room biểu thị một phòng) B. 4 A.
Khai báo mảng một chiều C. 3 B.
Khai báo mảng hai chiều C. Khai báo mảng ba chiều. D. Kết quả khác.
D. Khai báo mảng bốn chiều
Câu 12: Các hàm quản lý bộ nhớ động
Câu 32: Theo em thì nguyên nhân vì sao khiến hai
trong C thuộc thư viện nào?
dòng lệnh dưới đây bị sai: int *p; *p = 10; A. mem A.
Vì biến 10 không được phép gán B. stdio cho con trỏ kiểu nguyên C. dynamic B.
Vì phép gán giá trị cho con trỏ phải D. stdlib. là &p = 10; Câu 13: #include using C.
Vì con trỏ p chưa được khai báo namespace std;
kiểu dữ liệu vùng nhớ
void func(int x, bool state = false) { if D.
Vì con trỏ p chưa được gán giá trị
(state== true ) { cout << "State: true, x = " <E.
Vì con trỏ p chưa được cấp phát
else{ count<<"State: false, x = " 0 <vùng nhớ. } A. 0.
A. Các biến có thể được truy cập từ Int main(){ B. 1
bất kỳ đâu trong chương trình . Func(120); C. -1
Câu 33: Các biến toàn cục là gì? Return 0; } B.
Các biến chỉ có thể được truy cập A State: true, x = 60
từ trong một hàm cụ thể B. State: false, x = 120 C.
Các biến được sử dụng để lưu trữ C State: true, x = 120
giá trị tạm thời trong chương trình D. Các D State: false, x = 60
biến được sử dụng để tạo ra các trang web
Câu 14: Một biến được gọi là biến toàn
Câu 34: Chỉ số của phần tử đầu tiên trong một cục nếu: mảng là gì?
A. Nó được khai báo bên ngoài 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 trong tất cả các D.
Tất cả các phương án đều sai
hàm, ngoại trừ hàm main() D.
Nó được khai báo bên trong hàm main()
Câu 35: Kích thước của một mảng trong lập trình
Câu 15: Một biến được gọi là biến được định nghĩa bởi lOMoAR cPSD| 61549570 cục bộ nếu: gì? A.
Nó được khai báo bên ngoài hàm A.
Số phần tử trong mảng. main( ) B.
Các giá trị được lưu trữ trong mảng B.
Nó được khai báo ngoài tất cả C.
Thứ tự các phần tử trong mảng D.
Tất cả các phương án đều saiCâu 36:
C. Nó được khai báo trong tất cả các
Theo em nên khai báo cấu trúc dữ liệu nào hàm, kể cả hàm main( ).
để biểu thị danh sách các phòng trong tổ hợp
cáchàm, kể cả hàm main( )
các khu đô thị của tập đoàn VinGroup (giả sử
đã có cấu trúc Room biểu thị một phòng)
A. Khai báo mảng một chiều
D. Nó được khai báo bên trong hàm main( )
B. Khai báo mảng hai chiều
Câu 16: Trong C++, từ khóa nào được sử
C. Khai báo mảng ba chiều
dụng để chia một phần code thành các đoạn
D. Khai báo mảng bốn chiều.
nhỏ để tái sử dụng? A. function. B. module
Câu 37: Một biến được đặt tên bằng chữ in C. segment
hoa trong lập trình để làm gì? A. Đánh dấu D. divide biến đó là hằng số.
Câu 17: Cho khai báo nguyên mẫu hàm và các B.
Đánh dấu biến đó là biến toàn cục khai báo biến: C.
Đánh dấu biến đó là biến cục bộ
float myfunct(int& a, float b); int x = 10; D.
Tất cả các phương án đều saiCâu 38:
float y = 4.5; lệnh gọi hàm nào sau đây sẽ
Trong lập trình, "Biến toàn cục" là gì? đúng về mặt cú pháp? A.
Biến được khai báo trong một hàm và A y = myfunct(24, 4.5);
chỉ có thể truy cập từ bên trong hàm đó. B myfunct(4.5, y); B.
Biến được khai báo trong một hàm và C y = myfunct(x + 5, y);
có thể truy cập từ bất kỳ đâu trong chương
D. y = 0.5 * myfunct(x, 4.5); Câu 18: Cho trình.
biết kết quả khi biên dịch và thực thi C.
Biến được khai báo trong một khối chương trình sau:
mã và chỉ có thể truy cập từ bên trong khối #include using
mã đó. D. Biến được khai báo ngoài tất cả các
namespace std; int func(int a =
hàm và khối mã và có thể truy cập từ bất kỳ 10, int b){ int c; đâu trong chương trình c=a+b;
Câu 39: Hàm nào sau đây được gọi là hàm đệ return c; quy } A.
Hàm có nhiều hàm anh em của nó. Int main(){ B. Hàm gọi đến hàm main. Cout<C.
Tất cả các phát biểu còn lại đều đúng Return 0; D.
Hàm được hàm main gọi đến. } E. Hàm gọi đến chính nó A 0
Câu 40: Theo em vì sao khai báo
B. Lỗi biên dịch chương trình C 10 D 20
Câu 19: Đâu là tệp mô tả các đối tượng luồng
vào ra chuẩn cin, cout, cerr và clog của C++? lOMoAR cPSD| 61549570 A. fstream
ma[] vẫn được nhưng mi[] như dưới đây lại B. iostream. lỗi: C. stdlib
char *ma[4] = {"mot", "hai", "ba", D. stdio "bon"}; int *mi[4] = {1, 2, 3, 4}; A.
Vì "mot", "hai", "ba", "bon" vẫn được
coi là kiểu dữ liệu tham chiếu, không phải
kiểu dữ liệu nguyên thủy như kiểu int. B.
Vì "mot", "hai", "ba", "bon" đã ghi đè
các vùng nhớ của 1, 2, 3, 4 C. Khai báo mi
như trên vẫn được, không hề lỗi
D. Khai báo ma như trên vẫn lỗi, không hề chạy được
C2D222: Theo em nên khai báo cấu trúc dữ liệu nào để biểu thị danh sách các phòng trong các
toà nhà chung cư của khu Vinhome Royal City (giả sử đã có cấu trúc Room biểu thị một phòng)
A. Khai báo mảng một chiều
B. Khai báo mảng hai chiều
C. Khai báo mảng ba chiều
D. Khai báo mảng bốn chiều ANC: C
C2D222: Theo em nên khai báo cấu trúc dữ liệu nào để biểu thị danh sách các con cờ trong
bàn cờ tướng A. Khai báo mảng một chiều
B. Khai báo mảng hai chiều
C. Khai báo mảng ba chiều
D. Khai báo mảng bốn chiềuANC: B
theo em mã nguồn sau đây có chứa cú pháp của C++ hay không? #include #include int main() { int n; lOMoAR cPSD| 61549570 long total=100, x, *arr;
printf("Nhap n = "); scanf("%d",&n); arr = new long [n]; if (arr==NULL) {
printf("Cap phat khong thanh cong\n"); exit(1); }
for (int i=0; i < n; i++){
printf("\n Vao so thu %d: ", i+1 ); scanf("%d", &arr[i] ); }
printf("Danh sach cac so: \n");
for (int i=0; i < n; i++) printf("%d ", arr[i]); delete [] arr; return 0; }
A. Tất cả đều là cú pháp cho phép của C, không hề có cú pháp C++
B. Tất cả đều là cú pháp cho phép của C++, không hề có cú pháp C
C. Có new, delete là cú pháp của C++
D. Có new là cú pháp của C++
E. Có delete là cú pháp của C++
F. Có khai báo vòng lặp for là cú pháp của C++
G. Có new, delete và khai báo int i trong vòng for là cú pháp của C++ANC: G
C1D: Theo em thư viện nào giúp xử lý file A. iostream B. iomanip lOMoAR cPSD| 61549570 C. fstream. D. cmath E. cstring ANC: C
C1D: Hãy điền vào chỗ trống :
A. A = trình biên dịch, B = trình liên kết, C = trình thông dịch
B. A = trình biên dịch, B = trình thông dịch, C = trình liên kết
C. A = trình biên dịch, B = trình liên kết, C = trình liên kết D. Đáp án khác. ANC: D
Vì A và B đều cùng input và output nên A và B phải giống nhau. C thì có liên kết với thư viện nên
C là trình liên kết => D
C1D: theo em quy tắc sau đây thuộc về nhóm nào? Quy tắc: trong chương trình C++ phải có
hàm mang tên là main thì chương trình đó mới chạy được. Đứng trước main phải có từ khoá void hoặc int A. mô thức lập trình B. quy tắc cú pháp. C. quy tắc ngữ nghĩa
D. Không có đáp án nào đúng lOMoAR cPSD| 61549570
E. mã nguồn C++ được phép viết main trước int ANC: B
C1D: theo em quy tắc sau đây thuộc về nhóm nào? Quy tắc: file mã nguồn C++ không được
phép viết trong Microsoft Word, mà phải viết trong file text văn bản A. mô thức lập trình. B. quy tắc cú pháp C. quy tắc ngữ nghĩa
D. Không có đáp án nào đúng
E. mã nguồn C++ viết trong Word thì vẫn biên dịch được ANC: A
C1D: Theo em phát biểu nào đúng về các loại thanh ghi như sau:
A. Thanh ghi IR ghi địa chỉ lệnh kế tiếp, thanh ghi PC ghi nội dung chi tiết lệnh
B. Thanh ghi PC ghi địa chỉ lệnh kế tiếp, thanh ghi IR ghi nội dung chi tiết lệnh.
C. Thanh ghi IR ghi địa chỉ lệnh kế tiếp và cả nội dung chi tiết lệnh
D. Thanh ghi PC ghi địa chỉ lệnh kế tiếp và cả ghi nội dung chi tiết lệnh ANC: B
Thanh ghi IR lưu nội dung chỉ thị, ta có thể đoán ra được vì IR = Instruction Register. Còn thanh
ghi PC là viết tắt của Program Counter, ta cần phải nhớ thêm ở slide chương 1 về việc PC sẽ tự
động tăng khi chuẩn bị thực hiện chỉ thị tiếp theo. Từ manh mối đó ta suy ra được PC có thể ghi
địa chỉ của lệnh kế tiếp còn IR là ghi nội dung của chỉ thị. Chỉ có đáp án B thoả mãn được điều đó
AC1D: Hãy điền vào chỗ trống lOMoAR cPSD| 61549570
A. A = Dừng, B = Bắt đầu, C = nhận lệnh, D = thực hiện lệnh B. D = Dừng, A =
Bắt đầu, C = nhận lệnh, B = thực hiện lệnh
C. D = Dừng, A = Bắt đầu, B = nhận lệnh, C = thực hiện lệnh.
D. A = Dừng, B = Bắt đầu, D = nhận lệnh, C = thực hiện lệnh ANC: C
C1D: Theo em đâu không phải là ngôn ngữ lập trình A. C. B. C++. C. HTML
D. Tất cả 3 ngôn ngữ đều là ngôn ngữ lập trình.
E. Tất cả 3 ngôn ngữ đều không phải là ngôn ngữ lập trình. ANC: C
C1D: Để truy cập vào giá trị của đối tượng thông qua con trỏ trong C++, ta sử dụng toán tử gì? A. & B. * C. ->
D. Tất cả đều sai ANC: C
C1D: Trong lập trình, toán tử "&&" được sử dụng để làm gì? A. Kiểm tra
xem hai giá trị có bằng nhau hay không. lOMoAR cPSD| 61549570
B. Tính toán tổng hai giá trị.
C. Kiểm tra xem hai giá trị có đều đúng hay không
D. Kiểm tra xem hai giá trị có đều sai hay không. ANC: C
C1D: Câu lệnh continue được sử dụng để làm gì trong lập trình?
A. Thoát khỏi vòng lặp hiện tại
B. Kiểm tra tính bảo mật của phần mềm
C. Kiểm tra lỗi trong phần mềm D. Tất cả đều sai
E. Bỏ qua các câu lệnh còn lại trong vòng lặp và chuyển đến vòng lặp tiếp theo. ANC: E
C1D: Vòng lặp là gì trong lập trình?
A. Công cụ để kiểm tra lỗi trong phần mềm
B. Công cụ để kiểm tra tính bảo mật của phần mềm
C. Công cụ để thực hiện một tác vụ lặp đi lặp lại nhiều lần.
D. Công cụ để tạo ra các trang webANC: C
C1D: Toán tử "+" được sử dụng để làm gì trong lập trình
A. Thực hiện phép cộng giữa hai giá trị
B. Kiểm tra tính bảo mật của phần mềm. C. Tạo ra các trang web.
D. Kiểm tra lỗi trong phần mềm. ANC: A
C2D: Toán tử "==" được sử dụng để làm gì trong lập trình?
A. Kiểm tra tính bảo mật của phần mềm B. Tạo ra các trang web lOMoAR cPSD| 61549570
C. So sánh hai giá trị và trả về true nếu chúng bằng nhau.
D. Kiểm tra lỗi trong phần mềmANC: C
C1D: Cú pháp là gì trong lập trình?
A. Các quy tắc và lệnh được sử dụng để viết chương trình
B. Công cụ để tạo ra các trang web.
C. Công cụ để kiểm tra lỗi trong phần mềm.
D. Công cụ để kiểm tra tính bảo mật của phần mềm. ANC: A
C1K: Những ngôn ngữ lập trình phổ biến nhất hiện nay là gì?
A. Java, C++, Python, JavaScript
B. HTML, CSS, JavaScript, PHP.
C. SQL, Ruby, Swift, Objective-C.
D. C#, Perl, HTML, Kotlin.ANC: A
C1D: Ngôn ngữ lập trình là gì?
A. Ngôn ngữ được sử dụng để tạo ra các trang web
B. Ngôn ngữ được sử dụng để kiểm tra lỗi trong phần mềmC. Ngôn ngữ được sử dụng để
kiểm tra tính bảo mật của phần mềm
D. Ngôn ngữ được sử dụng để tạo ra các chương trình máy tính. E. Tất cả đều sai ANC: D
C1D: Lập trình viên làm gì?
A. Viết mã để tạo ra các chương trình máy tính. B. Tạo ra các trang web
C. Kiểm tra lỗi trong phần mềm lOMoAR cPSD| 61549570
D. Kiểm tra tính bảo mật của phần mềm ANC: A
C1D: Kỹ thuật lập trình là gì?
A. Phương pháp tạo ra các chương trình máy tính.
B. Phương pháp kiểm tra lỗi của phần mềm
C. Phương pháp kiểm tra tính bảo mật của phần mềm
D. Phương pháp cải thiện hiệu suất của phần mềm ANC: A
C1D: "Integrated Development Environment" (IDE) là gì trong lập trình?
A. Một quy trình kiểm tra chất lượng phần mềm trước khi phát hành
B. Một phần mềm đồng bộ hoá các công cụ để giúp lập trình viên phát triển, kiểm thử và gỡ lỗi phần mềm.
C. Một tập hợp các hướng dẫn và tài liệu về lập trình D. Tất cả đều sai ANC: B
C1D: Khi lập trình, định nghĩa "algorithm" là gì?
A. Một cách thức lập kế hoạch để phát triển phần mềm
B. Một cách thức kiểm tra chất lượng phần mềm
C. Một tập hợp các quy tắc hoặc chỉ thị cho việc giải quyết một vấn đề hoặc thực hiện một tác vụ. D. Tất cả đều sai
C1D: Trong lập trình, "syntax" đề cập đến điều gì?
A. Cách viết và đặt tên các biến, hàm và lớp trong mã nguồn
B. Cách phát triển và kiểm tra phần mềm lOMoAR cPSD| 61549570
C. Các quy tắc và ngữ pháp để sử dụng ngôn ngữ lập trình. D. Tất cả đều sai
C1D: Khi lập trình, "object-oriented programming" (OOP) là gì?
A. Phương pháp lập trình mà tập trung vào việc phát triển các đối tượng và quan hệ giữa chúng.
B. Phương pháp lập trình dựa trên các hàm và thủ tục
C. Phương pháp lập trình dựa trên các kịch bản D. Tất cả đều sai