0% found this document useful (0 votes)
49 views3 pages

De Thi 1

de thi ktlt et2031
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views3 pages

De Thi 1

de thi ktlt et2031
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

TRƯỜNG ĐHBK HÀ NỘI ĐỀ THI HỌC PHẦN Chữ ký giảng viên

VIỆN ĐIỆN KỸ THUẬT LẬP TRÌNH


phụ trách HP

ĐỀ SỐ: 01
THỜI GIAN LÀM BÀI: 90 phút

(Được sử dụng tài liệu, đề thi gồm 02 trang. Bài làm chỉ được chấm khi nộp cùng đề thi)
Họ và tên SV: MSSV:
Phần 1: Lý thuyết (7 điểm)

float x = n/3.;
1. Cho file mã nguồn sau. Chương trình sau 7. Đoạn chương trình sau in ra gì? (a là số
khi dịch được đặt tên “main.exe”. Chương cuối của MSSV)
trình được chạy dòng lệnh: “main.exe enum cmd{dong = a, mo};
Nguyen Van A”. Hỏi chương trình in ra enum cmd action = dong;
màn hình nội dung gì? printf("%d", action);
#include <stdio.h> 8. Khai báo cấu trúc point để biểu diễn điểm
int main(int argc, char argv[]) { trong mặt phẳng 2D với thuộc tính là tọa
int c = argc; độ x, y.
print("%d %s", c, argv[1]); 9. Đoạn chương trình sau in ra gì? Biết a là
return 0; số cuối của MSSV.
} int m[]= {a, a+1, a+2, a+3, a+4};
2. Đoạn chương trình sau in ra gì? Biết a là printf("%d", m[1]);
số cuối của MSSV. 10. Đoạn chương trình sau in ra gì?
switch ((a+1)%3) { int m[]={1,2,3,4,5};
case 0: printf("0 "); printf("%d",
case 1: printf("1 "); sizeof(m)/sizeof(m[0]));
case 2: printf("2 "); 11. Trong ANSI đoạn chương trình sau có dịch
default: printf("default "); được không? Tại sao?
} #include <stdio.h>
3. Đoạn chương trình sau có đúng không? void main() {
Sửa lại nếu cần. int x;
float x; scanf("%d",&x);
printf("Nhap canh hinh vuong:"); }
scanf("%f", &x); 12. Đoạn chương trình sau in ra gì? Biết a là
4. Sau đoạn chương trình sau, biến x có giá số cuối của MSSV.
trị là bao nhiêu? (a là số cuối của mã số int x;
sinh viên, ví dụ: MSSV là 20132006, a là for (x=a; x<a+10; x++) {
6). if (x == a+2) break;
int n = a+1; printf("%d ", x);
float x = n/3; }
5. Sau đoạn chương trình sau,biến c bằng bao 13. Đoạn chương trình sau in ra gì? Biết a là
nhiêu? Biết a là số cuối của MSSV. số cuối của MSSV.
char c = (0xF1 << 1) | a; short *p1, *p2, m[30];
6. Sau đoạn chương trình sau, biến x có giá p1=m+5; p2=m+a;
trị là bao nhiêu? (a là số cuối của mã số printf("%d", p1-p2);
sinh viên, ví dụ: MSSV là 20132006, a là 14. Đoạn chương trình sau in ra gì? Biết a là
6). số cuối của MSSV.
int n = a+1; int x = a;
1
void fff(int x, int y = 5) { 20. Sau đoạn chương trình sau,biến c bằng bao
printf("%d", (x + y)); nhiêu? Biết a là số cuối của MSSV.
} char c = 0x0A & a;
fff(4,2);
15. Trong C++, đoạn chương trình sau có dịch 21. Viết khai báo và cài đặt lớp số phức có
được không? (thừa bị trừ điểm): (1 điểm)
class BanTin{ - 2 thuộc tính x, y dạng float phạm vi
static count; private
char header[2], data[8]; - 1 phương thức khởi tạo có tham số
int checksum; - 1 phương thức trả về liên hợp của số
}; phức
/*...*/ - 1 phương thức setX cài đặt thuộc tính x
Bantin::count++ 22. Đoạn chương trình sau có dịch được
16. Sử dụng con trỏ như sau có đúng không? không?
float* fff(float b, float c) { class A {
float *kq=malloc(sizeof(float)); protected:
*kq = b+c; int n;
return kq; int getData() {return n;}
} public:
17. Đoạn chương trình sau in ra gì? a là số A() {n=0;}
cuối MSSV. }
char* s = (char*)malloc(10+a); class B:public A{
printf("%d", sizeof(s)); public:
18. Đoạn chương trình sau in ra gì? a là B() {}
MSSV. }
#define prod(x,y) x*y int main() {
printf("%d", prod(1+a, 2+a)); B b;
19. Viết khai báo hàm trả về giá trị lớn nhất b.getData();
của 2 tham số đầu vào. }

Phần II: Bài tập (3 điểm)


1. Viết chương trình C thực hiện các công việc sau (1.5 điểm):
a. Tạo cấu trúc hình chữ nhật (sHCN) với thuộc tính chiều dài, chiều rộng (0.25
điểm)
b. Viết hàm dientich nhận vào một biến thuộc sHCN trả về diện tích tương ứng (0.25
điểm)
c. Viết chương trình chính (1 điểm):
i. tạo mảng 10+a phần tử thuộc cấu trúc sHCN, a là số cuối MSSV.
ii. nhập dữ liệu cho chúng từ bàn phím
iii. sử dụng hàm ở câu b để tính tổng diện tích của chúng.
iv. hiển thị tổng diện tích ra màn hình.

2. Viết chương trình C++ thực hiện các công việc sau (1.5 điểm):
a. Tạo lớp hình chữ nhật (cHCN) với thuộc tính chiều dài, chiều rộng dạng thực float
có sử dụng các khái niệm: biến private, hàm khởi tạo mặc định (dài = rộng = 0),
hàm khởi tạo có tham số, hàm tính diện tích) (0.5 điểm).
b. Sử dụng lớp ở câu a, viết một chương trình (1 điểm):
i. Tạo đối tượng c1 thuộc lớp cHCN với chiều dài = 10*(a+1), chiều rộng =
a+1, a là số cuối của MSSV. (0.25điểm)
2
ii. Tạo đối tượng c2 thuộc lớp cHCN với chiều dài = 100, chiều rộng = a+1, a
là số cuối của MSSV. (0.25điểm)
iii. Tính tổng diện tích của c1 và c2. (0.25 điểm)
iv. Hiển thị tổng tính được ra màn hình (0.25 điểm).

You might also like