1. Trang chủ
  2. » Khoa Học Tự Nhiên

Đề thi cuối học kỳ môn Ngôn ngữ lập trình (Thi lần 1 - Đề số 4) - ĐH Công nghệ Thông tin TP.HCM

3 38 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 289,57 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề thi cuối học kỳ môn Ngôn ngữ lập trình giúp cho các bạn sinh viên nắm bắt được cấu trúc đề thi, dạng đề thi chính để có kế hoạch ôn thi một cách tốt hơn. Tài liệu hữu ích cho các các bạn sinh viên đang theo học chuyên ngành Công nghệ thông tin và những ai quan tâm đến môn học này dùng làm tài liệu tham khảo.

Trang 1

ĐỀ THI LẦN 1 Môn Lập trình

Thời gian 60 phút

Câu 1 Giá trị nhỏ nhất của biễn kiểu unsigned char là:

Câu 2 Biểu thức trong vòng lặp for(x = 0; x > 3; x++) được thực hiện bao nhiêu lần:

Câu 3 Cho hàm

int fn(int x) { if (x == 0 || x == 1) return 1;

if (x % 2 == 0) return (fn(x / 2) + 2);

return (fn(x – 1) + 3); } fn(8) trả về giá trị:

Câu 4 Để tìm vị trí của giá trị 3 trong mảng 1 2 3 4 5 6 7 8 bằng thuật toán chia đôi, cần tìm chỉ số trung bình

bao nhiêu lần:

Câu 5 Dòng lệnh: int c = 0; cout << c << c++; cho in ra màn hình:

Câu 6 Cho đoạn khai báo: int A[10], *p = A + 4; Khi sử dụng biến p trong biểu thức thì *(p - 2) là:

a) Giá trị của A[4] b) Địa chỉ của A[4] c) Giá trị của A[2]

Câu 7 Nếu char s[] = “0x123456789”; thì chỉ số cuối cùng của mảng s là:

Câu 8 Dòng nào không đúng trong C:

a) /* A comment */ b) class aClass{public:int x;}; c) char x=12;

Câu 9 Hàm nào là hàm tạo mặc định của lớp Aclass:

a) Aclass(Aclass& a) b) Aclass() c) ~Aclass()

Câu 10 Trường hợp nào lớp D có thể truy cập vào vùng protected của lớp B:

a) class B {…}; b) class D {… c) class B {…};

a) class D {…}; b) class B {…}}; c) class D: public B {…};

Câu 11 Đâu là lệnh giải phóng biến p đã cấp phát:

a) delete p; b) delete p[]; c) delete []p;

Câu 12 Cho đoạn chương trình:

struct queue {struct node { char c; node *next; } *front, *rear;};

char Delete(char c, queue *q){

queue::node *p = q->front; char c = p->c;

return c;

} Đoạn lệnh ở là:

a) q->front = q->front->next; delete p;

b) q->front = p->next; delete q;

c) q->rear = p; delete p;

Câu 13 Thuật toán sắp xếp nào là tối ưu đối với mảng: 1 2 3 5 4

a) Bubble sort b) Quick sort c) Insert sort

Câu 14 Cây nhị phân chứa các chữ cái được biểu diễn bằng mảng (0 – nút rỗng): A B C D E 0 0 F G H Khi

duyệt cây theo thứ tự giữa sẽ cho:

Trang 2

a) F D G B E H A C b) F D G B H E C A c) F D G B H E A C

Câu 15 Đâu là lệnh cấp phát biến:

a) char p=new char[20]; b) char *p=new char; c) char p=new char(20);

Câu 16 Cho char A[10] = {1, 2, 3, 4, 5, 6}; short *p = (short *)&A[1]; *p = 10; Bốn phần tử đầu tiên của A sẽ

là:

a) 1, 10, 0, 4 b) 1, 2, 10, 4 c) 1, 2, 0, 10

Câu 17 strcmp(“abc”, “Abc”) cho giá trị:

Câu 18 Toán tử ++ của class có mấy tham số:

Câu 19 Biểu thức 0 | 4 cho giá trị:

Câu 20 Biểu thức 1/9*9 cho giá trị:

Câu 21 Cho chương trình sau:

1

2

3

4

5

6

7

8

class Vect {

protected:

int size;

double *data;

public:

Vect(): size(0), data(NULL) Vect(int sz): size(sz) { data = new double[size]; } Vect(double *v, int sz): size(sz), data(v)

Vect(int sz, const double *v)

{

size = sz;

data = new double[size];

for (register int i = 0; i < size; i++)

data[i] = v[i];

}

~Vect() { if (data) delete[] data; } public:

int GetSize() { return size; } double& operator[](int index) { return data[index]; } };

class Sort: public Vect {

public:

Sort(int sz, const double *v): Vect(sz, v) {}

protected:

void Swap(int i, int j) { double t = data[i]; data[i] = data[j]; data[j] = t; }

virtual Sort& DoSort() = 0;

void Print(ostream& out)

{

for (int i = 0; i < size; i++)

out << ' ' << data[i];

} friend ostream& operator<<(ostream& out, Sort & v)

{

out << "original:";

v.Print(out);

Trang 3

9

10

11

out << "\nsorted:";

v.DoSort().Print(out);

return (out);

} };

class BubbleSort: public Sort {

public:

BubbleSort(int sz, const double *v): Sort(sz, *v) {}

private:

Sort& DoSort() {

return (*this);

} };

void main() {

double a[] = {1, 3, 5, 2, 4};

cout << new SelectionSort(4, A) << endl;

}

a) Những dòng lệnh nào sai? Sửa lại cho đúng

b) Thứ tự thực hiện các lệnh

c) Viết lại hàm DoSort của lớp BubbleSort để sắp xếp mảng theo thứ tự giảm dần

d) Cho biết kết quả hiện trên màn hình

Hướng dẫn:

1 Từ câu 1 đến câu 20: Kẻ bảng theo mẫu dưới đây:

Với mỗi câu, chọn 1 câu trả lời đúng bằng cách đánh dấu √ vào ô A, B hoặc C ở dòng tương ứng

2 Câu 21, thực hiện như đã hướng dẫn ôn tập

Ngày đăng: 17/10/2020, 17:00

HÌNH ẢNH LIÊN QUAN

Câu 5. Dòng lệnh: int c= 0; cout &lt;&lt; c &lt;&lt; c++; cho in ra màn hình: - Đề thi cuối học kỳ môn Ngôn ngữ lập trình (Thi lần 1 - Đề số 4) - ĐH Công nghệ Thông tin TP.HCM
u 5. Dòng lệnh: int c= 0; cout &lt;&lt; c &lt;&lt; c++; cho in ra màn hình: (Trang 1)
1. Từ câu 1 đến câu 20: Kẻ bảng theo mẫu dưới đây: - Đề thi cuối học kỳ môn Ngôn ngữ lập trình (Thi lần 1 - Đề số 4) - ĐH Công nghệ Thông tin TP.HCM
1. Từ câu 1 đến câu 20: Kẻ bảng theo mẫu dưới đây: (Trang 3)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm