Tải bản đầy đủ (.pdf) (36 trang)

nhap mon ve lap trinh de thi nhap mon lap trinh (co1003) nmlt 172 da cuuduongthancong com

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (405.79 KB, 36 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

Họ và tên:.............................................
MSSV:..................................................

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)
Khơng được phép dùng tài liệu
Đề thi số: 1721
Chú ý: Các khai báo về thư viện, các hàm cơ bản và khai báo
nghiệm chỉ chọn một đáp án đúng nhất. Phần I, II sinh viên

Thời gian làm bài: 90 phút

Được phép dùng tài liệu giấy
Đề thi gồm 2 trang.
khác (nếu cần thiết) được xem như đầy đủ. Mỗi câu hỏi trắc
làm trực tiếp vào đề. Sinh viên chỉ được tối đa 10 điểm

I. Các câu hỏi trắc nghiệm (4đ)
Câu
☛ 1.
✟ Khai báo mảng nào sau đây là sai
A
int a[2];

☛✠

B✠


int a[] = {1, 3};



C✠
int a[2] = malloc(2 * sizeof(2));



D
int*
✡ ✠ a = malloc(2 * sizeof(2));
Câu 2. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
học:
☛ ✟ tổng kết của một môn ☛

A
float
B✠
int



☛✟
☛✟
C✠
char
D✠
pointer



Câu 3. Hãy chọn phát biểu đúng về chú thích:
☛✟
A Trình biên dịch sẽ khơng dịch các chú thích

☛✠

B✠
Chú thích phải bắt đầu từ đầu dịng



C✠
Mọi chú thích phải bắt đầu bằng /* và kết

thúc bằng */

Câu 8. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
☛✟
☛ ✟ cho kiểu long là:
A✠
%s
B✠
%ld


☛✟


C✠

%e
D✠
%c


Câu 9. Dịng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
☛✟
A✠
0161
B✠
lệnh bị lỗi



☛✟

C✠
113
D✠
161


Câu 10. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
☛✟
A✠

73
B✠
74



☛✟

C✠
64
D✠
63


Câu 11. Đoạn chương trình sau xuất gì ra màn hình

Đoạn lệnh sau dùng cho 2 câu tiếp theo 4-5:
int i =0, j =1, s =0;
for ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}

Câu
☛ 4.
✟ Thực thi xong đoạn lệnh
☛ trên
✟ giá trị của s là:
A
31

B
15

✡✠
☛✠



C✠
7
D✠
16


Câu
☛ 5.
✟ Thực thi xong đoạn lệnh
☛ trên
✟ giá trị của j là:
A✠
16
B✠
32


☛✟


C
8

D
1
✡✠
✡✠
Câu
☛ 6.
✟ Hãy chọn phát biểu sai về các kiểu dữ liệu
A
int là kiểu số thực và chiếm 4 bytes trong bộ
✡✠
nhớ
☛✟
B✠
float là kiểu số thực dấu chấm động

☛✟
C✠
double chiếm 8 bytes trong bộ nhớ



D✠
char chiếm 1 bytes trong bộ nhớ

Câu 7. Với x là một biến kiểu int, &x sẽ:
☛✟
☛✟
A✠
lấy giá trị hiện tại của x✡
B✠

lấy địa chỉ của biến x

☛✟
C✠
lỗi cú pháp


int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
☛✟
A✠
5, 6
B✠
5


☛✟


C✠
6, 5
D✠
6


Đoạn lệnh sau dùng cho 2 câu 12-13:

int a , b ;
f o r ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}
Câu☛12.
thi đoạn chương trình
✟ Giá trị của a sau khi thực
☛✟
A✠
50
B✠
51


☛✟


C
41
D
Cả A, B và C đều sai
✡✠
✡✠
Câu☛13.
✟ Thực thi xong đoạn lệnh
☛ trên
✟ giá trị của b là:

A
22
B
50


✡✟

☛✟

C✠
32
D✠
16


Câu 14. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
☛✟
A✠
2
B✠
6.0


☛✟


C✠
256.0

D✠
4.0


Trang 1/2 − Mã đề 1721

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

Câu 15. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
☛✟
A
CPU

☛✠

B✠
Bộ tiền xử lý (Preprocessor)



C✠
Trình biên dịch (Compiler)



D
Bộ

✡ ✠ chuyển ngữ (Assembler)

Câu 16. Dòng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " ,
☛✟
A 21.1560

☛✠

C✠
21.16


21.156);
☛✟
B✠
00021.16



D
00021.15
✡✠

II. Các câu hỏi điền kết quả (2đ)

Câu 17. Biến kiểu long chiếm:
bộ nhớ.

byte(s) trong


)

Câu 18. Hãy hồn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết
cho 6
int i, sum=0;

sum =
Câu 19. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:
Câu 20. Giá trị của biểu thức 18|7 là:
)

for(i = 1;
if(

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Câu 22. (1.5đ) Viết chương trình tn theo các u cầu sau:
• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thông tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Chủ nhiệm Khoa/Bộ môn


Giảng viên ra đề

ThS. Võ Thanh Hùng

Trang 2/2 − Mã đề 1721

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)
Khơng được phép dùng tài liệu
Đề thi số: 1721

Thời gian làm bài: 90 phút
Được phép dùng tài liệu giấy

I. Các câu hỏi trắc nghiệm (4đ)
Câu 1. Khai báo mảng nào sau đây là sai
☛✟
A int a[2];

☛✠


B✠
int a[] = {1, 3};

C int a[2] = malloc(2 * sizeof(2));
☛✟
D
int* a = malloc(2 * sizeof(2));
✡✠
Câu 2. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
tổng kết của một môn học:
☛✟
A float
B✠
int


☛✟

C✠
char
D✠
pointer


Câu 3. Hãy chọn phát biểu đúng về chú thích:
A Trình biên dịch sẽ khơng dịch các chú thích
☛✟
B✠
Chú thích phải bắt đầu từ đầu dịng




C✠
Mọi chú thích phải bắt đầu bằng /* và kết

thúc bằng */
Đoạn lệnh sau dùng cho 2 câu tiếp theo 4-5:
int i =0, j =1, s =0;
for ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}

Câu 4. Thực thi xong đoạn lệnh trên giá trị của s là:
☛✟
A 31
B✠
15

☛✟


C✠
7
D✠
16


Câu 5. Thực thi xong đoạn lệnh trên giá trị của j là:
☛✟

A✠
16
B 32

☛✟
☛✟
C
8
D
1
✡✠
✡✠
Câu 6. Hãy chọn phát biểu sai về các kiểu dữ liệu
A int là kiểu số thực và chiếm 4 bytes trong bộ
nhớ
☛✟
B
float là kiểu số thực dấu chấm động
✡✠


C✠
double chiếm 8 bytes trong bộ nhớ



D
char
chiếm 1 bytes trong bộ nhớ
✡✠

Câu 7. Với x là một biến kiểu int, &x sẽ:
☛✟
A✠
lấy giá trị hiện tại của x

☛✟
B lấy địa chỉ của biến x ✡
C✠
lỗi cú pháp

Câu 8. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
cho kiểu long là:
☛✟
A %s
B %ld


☛✠
☛✟
C✠
%e
D✠
%c


Câu 9. Dòng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
A✠
0161


C 113

Câu 10. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
A 73

☛✠

C✠
64


☛✟
B✠
74

D 63

Câu 11. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
A 5, 6


☛✠

C✠
6, 5


B 5
☛✟
D✠
6


Đoạn lệnh sau dùng cho 2 câu 12-13:
int a , b ;
f o r ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}
Câu 12. Giá trị của a sau khi thực thi đoạn chương trình
☛✟
☛✟
A✠
50
B✠
51





C 41
D✠
Cả A, B và C đều sai

Câu 13. Thực thi xong đoạn lệnh trên giá trị của b là:
☛✟
A 22
B✠
50

☛✟


C✠
32
D✠
16


Câu 14. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
☛✟
A✠
2
B✠
6.0


☛✟

C✠
256.0
D 4.0

Trang 1/2 − Mã đề 1721

Ngày thi: 4/6/2018
CuuDuongThanCong.com

☛✟
B✠
lệnh bị lỗi



D✠
161


/>

Câu 15. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính

Câu 16. Dịng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " , 2 1 . 1 5 6 ) ;

A CPU
☛✟
B✠
Bộ tiền xử lý (Preprocessor)




C✠
Trình biên dịch (Compiler)



D
Bộ
✡ ✠ chuyển ngữ (Assembler)

☛✟
A 21.1560

☛✠

C✠
21.16


B 00021.16
☛✟
D✠
00021.15


II. Các câu hỏi điền kết quả (2đ)
Câu 17. Biến kiểu long chiếm:
bộ nhớ.


8 byte(s) trong

&& (i % 6 != 0)

Câu 18. Hãy hồn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6
int i, sum=0;
for(i = 1; i <= 50; i++

)

sum = sum + i*i*i;
Câu 19. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:
21.5
Câu 20. Giá trị của biểu thức 18|7 là:

23

)

if((i % 2 == 0 || i % 3 == 0)

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Lời giải.
Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:

• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Lời giải. Gợi ý giải (sinh viên có thể dùng cách khác, miễn kết quả phù hợp):
#include <s t d i o . h>
int main ( ) {
int n ;
do {
p r i n t f ( "Nhap vao s o n : " ) ;
s c a n f ( "%d" , &n ) ;
} while ( n <= 0 ) ;
f o r ( int i = 1 ; i <= n ; ++i )
i f ( n % i == 0 )
p r i n t f ( "%d\n" , i ) ;
return 0 ;
}
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thông tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Lời giải. Gợi ý giải, sinh viên có thể làm theo cách khác

Trang 2/2 − Mã đề 1721

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

Họ và tên:.............................................
MSSV:..................................................

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)

Thời gian làm bài: 90 phút

Không được phép dùng tài liệu
Được phép dùng tài liệu giấy
Đề thi số: 1723
Đề thi gồm 2 trang.
Chú ý: Các khai báo về thư viện, các hàm cơ bản và khai báo khác (nếu cần thiết) được xem như đầy đủ. Mỗi câu hỏi trắc
nghiệm chỉ chọn một đáp án đúng nhất. Phần I, II sinh viên làm trực tiếp vào đề. Sinh viên chỉ được tối đa 10 điểm

I. Các câu hỏi trắc nghiệm (4đ)
Câu
☛ 1.
✟ Hãy chọn phát biểu sai về các kiểu dữ liệu
A
char chiếm 1 bytes trong bộ nhớ

☛✠

B✠
int là kiểu số thực và chiếm 4 bytes trong bộ


nhớ
☛✟
C✠
float là kiểu số thực dấu chấm động



D
double
chiếm 8 bytes trong bộ nhớ
✡✠
Câu 2. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
☛✟
A✠
4.0
B✠
2



☛✟

C✠
6.0
D✠
256.0


Câu 3. Dòng lệnh sau xuất giá trị gì ra màn hình?

p r i n t f ( " %08.2 f " ,
☛✟
A 00021.15

☛✠

C✠
00021.16


21.156);
☛✟
B✠
21.1560



D✠
21.16


Câu 4. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
☛✟
A
6
3
B✠

73



☛✟


C
7
4
D
64
✡✠
✡✠
Câu 5. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
☛✟
A✠
Bộ chuyển ngữ (Assembler)

☛✟
B
CPU
✡✠


C✠
Bộ tiền xử lý (Preprocessor)




D✠
Trình biên dịch (Compiler)


Câu 8. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
☛✟
A
6
B✠
5, 6




☛✟

C
5
D
6, 5
✡✠
✡✠
Câu 9. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
học:

☛ ✟ tổng kết của một môn ☛

A
pointer
B✠
float



☛✟


C✠
int
D✠
char


Câu 10. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
☛ ✟ cho kiểu long là:
☛✟
A✠
%c
B✠
%s


☛✟



C✠
%ld
D✠
%e


Câu 11. Dịng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
☛✟
A✠
161
B✠
0161


☛✟


C✠
lệnh bị lỗi
D✠
113


Câu 12. Hãy chọn phát biểu đúng về chú thích:
☛✟
A✠
Trình biên dịch sẽ khơng dịch các chú thích


☛✟
B
Mọi chú thích phải bắt đầu bằng /* và kết
✡✠
thúc
bằng */
☛✟
C✠
Chú thích phải bắt đầu từ đầu dòng

Đoạn lệnh sau dùng cho 2 câu 13-14:

Đoạn lệnh sau dùng cho 2 câu tiếp theo 6-7:
int i =0, j =1, s =0;
for ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}

int a , b ;
f o r ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}

Câu
☛ 6.
✟ Thực thi xong đoạn lệnh

☛ trên
✟ giá trị của s là:
A
16
B
31


✡✟

☛✟

C✠
15
D✠
7



Câu☛13.
thi đoạn chương trình
✟ Giá trị của a sau khi thực
☛✟
A
50
B
41

✡✠
☛✠




C✠
51
D✠
Cả A, B và C đều sai



Câu
☛ 7.
✟ Thực thi xong đoạn lệnh
✟ giá trị của j là:
☛ trên
A
1
B
16


✡✟


☛✟
C
32
D
8
✡✠

✡✠

Câu☛14.
✟ Thực thi xong đoạn lệnh
✟ giá trị của b là:
☛ trên
A
16
B
22


✡✟


☛✟
C
50
D
32
✡✠
✡✠
Trang 1/2 − Mã đề 1723

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

Câu 15. Với x là một biến kiểu int, &x sẽ:

☛✟
☛✟
A✠
lấy giá trị hiện tại của x✡
B✠
lỗi cú pháp

☛✟
C
lấy
địa
chỉ
của
biến
x
✡✠

Câu☛16.
✟ Khai báo mảng nào sau đây là sai
A
int* a = malloc(2 * sizeof(2));


☛✟
B✠
int a[2];



C

int
a[] = {1, 3};
✡✠


D✠
int a[2] = malloc(2 * sizeof(2));


II. Các câu hỏi điền kết quả (2đ)
Câu 17. Giá trị của biểu thức 18|7 là:

)

Câu 18. Hãy hoàn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6
int i, sum=0;

sum =
Câu 19. Biến kiểu long chiếm:
bộ nhớ.

byte(s) trong

)

for(i = 1;


Câu 20. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:
if(

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:
• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thơng tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Chủ nhiệm Khoa/Bộ môn

Giảng viên ra đề

ThS. Võ Thanh Hùng

Trang 2/2 − Mã đề 1723

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————


THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)
Khơng được phép dùng tài liệu
Đề thi số: 1723

Thời gian làm bài: 90 phút
Được phép dùng tài liệu giấy

I. Các câu hỏi trắc nghiệm (4đ)
Câu 1. Hãy chọn phát biểu sai về các kiểu dữ liệu
☛✟
A✠
char chiếm 1 bytes trong bộ nhớ

B int là kiểu số thực và chiếm 4 bytes trong bộ
nhớ
☛✟
C
float là kiểu số thực dấu chấm động
✡✟


D
double
chiếm 8 bytes trong bộ nhớ
✡✠
Câu 2. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
A 4.0

B✠
2

☛✟


C✠
6.0
D✠
256.0


Câu 3. Dòng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " , 2 1 . 1 5 6 ) ;
☛✟
A✠
00021.15

C 00021.16

☛✟
B✠
21.1560



D
21.16
✡✠


Câu 4. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
B✠
73



D✠
64


A 63
☛✟
C✠
74


Câu 5. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
☛✟
A✠
Bộ chuyển ngữ (Assembler)

B CPU
☛✟
C✠
Bộ tiền xử lý (Preprocessor)




D✠
Trình biên dịch (Compiler)

Đoạn lệnh sau dùng cho 2 câu tiếp theo 6-7:
int i =0, j =1, s =0;
for ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}

Câu 8. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
A✠
6

C 5

☛✟
B✠
5, 6



D✠

6, 5


Câu 9. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
tổng kết của một môn học:
☛✟
A pointer
B float

☛✠

☛✟
C✠
int
D✠
char


Câu 10. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
cho kiểu long là:
☛✟
☛✟
A✠
%c
B✠
%s





D✠
%e
C %ld

Câu 11. Dòng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
A 161

☛✠

C✠
lệnh bị lỗi


☛✟
B✠
0161

D 113

Câu 12. Hãy chọn phát biểu đúng về chú thích:
A Trình biên dịch sẽ khơng dịch các chú thích
☛✟
B✠
Mọi chú thích phải bắt đầu bằng /* và kết

thúc
bằng */
☛✟

C✠
Chú thích phải bắt đầu từ đầu dòng

Đoạn lệnh sau dùng cho 2 câu 13-14:
int a , b ;
f o r ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}

Câu 6. Thực thi xong đoạn lệnh trên giá trị của s là:
☛✟
A✠
16
B 31

☛✟
☛✟
C
15
D
7
✡✠
✡✠

Câu 13. Giá trị của a sau khi thực thi đoạn chương trình
☛✟
A✠

50
B 41

☛✟
☛✟
C
51
D
Cả A, B và C đều sai
✡✠
✡✠

Câu 7. Thực thi xong đoạn lệnh trên giá trị của j là:
☛✟
☛✟
A
1
B✠
16
✡✠



C 32
D
8
✡✠

Câu 14. Thực thi xong đoạn lệnh trên giá trị của b là:
☛✟

A✠
16
B 22

☛✟
☛✟
C
50
D
32
✡✠
✡✠
Trang 1/2 − Mã đề 1723

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

Câu 15. Với x là một biến kiểu int, &x sẽ:
☛✟
A✠
lấy giá trị hiện tại của x

☛✟
B
lỗi cú pháp
✡✠
C lấy địa chỉ của biến x


Câu 16. Khai báo mảng nào sau đây là sai
☛✟
A✠
int* a = malloc(2 * sizeof(2));

☛✟
B
int a[2];
✡✠


C✠
int a[] = {1, 3};

D int a[2] = malloc(2 * sizeof(2));

II. Các câu hỏi điền kết quả (2đ)
Câu 17. Giá trị của biểu thức 18|7 là:

23

&& (i % 6 != 0)

Câu 18. Hãy hồn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6
int i, sum=0;
for(i = 1; i <= 50; i++


)

sum = sum + i*i*i;
Câu 19. Biến kiểu long chiếm:
bộ nhớ.

8 byte(s) trong

)

if((i % 2 == 0 || i % 3 == 0)

Câu 20. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:
21.5

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Lời giải.
Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:
• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Lời giải. Gợi ý giải (sinh viên có thể dùng cách khác, miễn kết quả phù hợp):
#include <s t d i o . h>
int main ( ) {
int n ;
do {
p r i n t f ( "Nhap vao s o n : " ) ;
s c a n f ( "%d" , &n ) ;
} while ( n <= 0 ) ;

f o r ( int i = 1 ; i <= n ; ++i )
i f ( n % i == 0 )
p r i n t f ( "%d\n" , i ) ;
return 0 ;
}
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thơng tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Lời giải. Gợi ý giải, sinh viên có thể làm theo cách khác

Trang 2/2 − Mã đề 1723

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

Họ và tên:.............................................
MSSV:..................................................

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)

Thời gian làm bài: 90 phút


Không được phép dùng tài liệu
Được phép dùng tài liệu giấy
Đề thi số: 1725
Đề thi gồm 2 trang.
Chú ý: Các khai báo về thư viện, các hàm cơ bản và khai báo khác (nếu cần thiết) được xem như đầy đủ. Mỗi câu hỏi trắc
nghiệm chỉ chọn một đáp án đúng nhất. Phần I, II sinh viên làm trực tiếp vào đề. Sinh viên chỉ được tối đa 10 điểm

I. Các câu hỏi trắc nghiệm (4đ)
Câu 1. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
☛✟
A
5,
6
B✠
6




☛✟

C
5

D
6, 5
✡✠
✡✠
Câu 2. Hãy chọn phát biểu đúng về chú thích:
☛✟
A Chú thích phải bắt đầu từ đầu dịng

☛✠

B✠
Trình biên dịch sẽ khơng dịch các chú thích



C✠
Mọi chú thích phải bắt đầu bằng /* và kết

thúc bằng */

int i =0, j =1, s =0;
f o r ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}

Câu
☛ 8.
✟ Thực thi xong đoạn lệnh
☛ trên

✟ giá trị của s là:
A
31
B
16


✡✟

☛✟

C
15
D
7
✡✠
✡✠
Câu
✟ Thực thi xong đoạn lệnh
✟ giá trị của j là:
☛ 9.
☛ trên
A
16
B
1

✡✠
☛✠




C✠
32
D✠
8


Câu 10. Dòng lệnh sau xuất giá trị gì ra màn hình?

Câu 3. Dịng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
☛✟
A✠
0161
B✠
161


☛✟


C✠
lệnh bị lỗi
D✠
113


Câu 4. Với x là một biến kiểu int, &x sẽ:

☛✟
☛✟
A✠
lấy địa chỉ của biến x ✡
B✠
lấy giá trị hiện tại của x

☛✟
C✠
lỗi cú pháp


p r i n t f ( " %08.2 f " ,
☛✟
A✠
21.1560

☛✟
C
00021.16
✡✠

21.156);
☛✟
B✠
00021.15



D

21.16
✡✠

Câu 11. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
☛✟
A✠
2
B✠
4.0


☛✟


C✠
6.0
D✠
256.0


Đoạn lệnh sau dùng cho 2 câu 12-13:

Câu 5. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
☛✟
A✠
73

B✠
63


☛✟


C✠
74
D✠
64


Câu 6. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
☛ ✟ cho kiểu long là:
☛✟
A✠
%s
B✠
%c


☛✟


C✠
%ld
D✠
%e



Câu
☛ 7.
✟ Hãy chọn phát biểu sai về các kiểu dữ liệu
A
int là kiểu số thực và chiếm 4 bytes trong bộ
✡✠
nhớ
☛✟
B
char chiếm 1 bytes trong bộ nhớ
✡✠


C✠
float là kiểu số thực dấu chấm động



D
double
chiếm 8 bytes trong bộ nhớ
✡✠
Đoạn lệnh sau dùng cho 2 câu tiếp theo 8-9:

int a , b ;
f o r ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )

{ b += 3 ; continue ; }
}

Câu☛12.
thi đoạn chương trình
✟ Giá trị của a sau khi thực
☛✟
A
51
B
50


✡✟

☛✟

C✠
41
D✠
Cả A, B và C đều sai


Câu☛13.
✟ Thực thi xong đoạn lệnh
✟ giá trị của b là:
☛ trên
A
22
B

16

✡✠



☛✠
C✠
50
D✠
32


Câu 14. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
học:
☛ ✟ tổng kết của một môn ☛

A
float
B✠
pointer



☛✟
☛✟
C✠
int
D✠
char



Trang 1/2 − Mã đề 1725

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

Câu 15. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
☛✟
A
CPU

☛✠

B✠
Bộ chuyển ngữ (Assembler)



C✠
Bộ tiền xử lý (Preprocessor)



D
Trình
biên dịch (Compiler)
✡✠


Câu☛16.
✟ Khai báo mảng nào sau đây là sai
A
int a[2];


☛✟
B✠
int* a = malloc(2 * sizeof(2));



C
int
a[] = {1, 3};
✡✠


D✠
int a[2] = malloc(2 * sizeof(2));


II. Các câu hỏi điền kết quả (2đ)

Câu 17. Giá trị của biểu thức 18|7 là:

int i, sum=0;
for(i = 1;


Câu 18. Biến kiểu long chiếm:
bộ nhớ.

)

byte(s) trong
if(
)

Câu 19. Hãy hồn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6

sum =
Câu 20. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:
• Nhập vào một số ngun dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thông tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Chủ nhiệm Khoa/Bộ môn


Giảng viên ra đề

ThS. Võ Thanh Hùng

Trang 2/2 − Mã đề 1725

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)
Khơng được phép dùng tài liệu
Đề thi số: 1725

Thời gian làm bài: 90 phút
Được phép dùng tài liệu giấy

I. Các câu hỏi trắc nghiệm (4đ)
Câu 1. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;

☛✟
A✠
5, 6

C 5

☛✟
B✠
6



D✠
6, 5


Câu 2. Hãy chọn phát biểu đúng về chú thích:
☛✟
A✠
Chú thích phải bắt đầu từ đầu dịng

B Trình biên dịch sẽ khơng dịch các chú thích
☛✟
C✠
Mọi chú thích phải bắt đầu bằng /* và kết

thúc bằng */
Câu 3. Dòng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟

A 0161


☛✠
C✠
lệnh bị lỗi


☛✟
B✠
161

D 113

Câu 4. Với x là một biến kiểu int, &x sẽ:
A lấy địa chỉ của biến x
☛✟
B✠
lấy giá trị hiện tại của x



C✠
lỗi cú pháp

Câu 5. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
A✠

73

☛✟
C
74
✡✠

B 63
☛✟
D
64
✡✠

Câu 6. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
cho kiểu long là:
☛✟
☛✟
A
%s
B✠
%c
✡✠



C %ld
D
%e
✡✠
Câu 7. Hãy chọn phát biểu sai về các kiểu dữ liệu

A int là kiểu số thực và chiếm 4 bytes trong bộ
nhớ
☛✟
B
char chiếm 1 bytes trong bộ nhớ
✡✟


C✠
float là kiểu số thực dấu chấm động



D
double
chiếm 8 bytes trong bộ nhớ
✡✠
Đoạn lệnh sau dùng cho 2 câu tiếp theo 8-9:

int i =0, j =1, s =0;
f o r ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}
Câu 8. Thực thi xong đoạn lệnh trên giá trị của s là:
☛✟
A 31
B✠
16


☛✟


C✠
15
D✠
7


Câu 9. Thực thi xong đoạn lệnh trên giá trị của j là:
☛✟
☛✟
A✠
16
B✠
1




D✠
8
C 32

Câu 10. Dịng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " , 2 1 . 1 5 6 ) ;
☛✟
A✠
21.1560


C 00021.16

Câu 11. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
A 2
B 4.0

☛✟
☛✠

C
6.0
D
256.0
✡✠
✡✠
Đoạn lệnh sau dùng cho 2 câu 12-13:
int a , b ;
f o r ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}
Câu 12. Giá trị của a sau khi thực thi đoạn chương trình
☛✟
☛✟
A✠
51
B✠

50




C 41
D
Cả A, B và C đều sai
✡✠
Câu 13. Thực thi xong đoạn lệnh trên giá trị của b là:
☛✟
A 22
B✠
16

☛✟


C
50
D
32
✡✠
✡✠
Câu 14. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
tổng kết của một môn học:
☛✟
A float
B✠
pointer


☛✟


C✠
int
D✠
char


Trang 1/2 − Mã đề 1725

Ngày thi: 4/6/2018
CuuDuongThanCong.com

☛✟
B✠
00021.15



D
21.16
✡✠

/>

Câu 15. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
A CPU
☛✟

B✠
Bộ chuyển ngữ (Assembler)



C✠
Bộ tiền xử lý (Preprocessor)



D
Trình
biên dịch (Compiler)
✡✠

Câu 16. Khai báo mảng nào sau đây là sai
☛✟
A✠
int a[2];

☛✟
B
int* a = malloc(2 * sizeof(2));
✡✠


C✠
int a[] = {1, 3};

D int a[2] = malloc(2 * sizeof(2));


II. Các câu hỏi điền kết quả (2đ)
Câu 17. Giá trị của biểu thức 18|7 là:

23

int i, sum=0;
for(i = 1; i <= 50; i++

Câu 18. Biến kiểu long chiếm:
bộ nhớ.

8 byte(s) trong
if((i % 2 == 0 || i % 3 == 0)
&& (i % 6 != 0)
)

Câu 19. Hãy hoàn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6

sum = sum + i*i*i;
Câu 20. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:
21.5

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Lời giải.

Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:
• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Lời giải. Gợi ý giải (sinh viên có thể dùng cách khác, miễn kết quả phù hợp):
#include <s t d i o . h>
int main ( ) {
int n ;
do {
p r i n t f ( "Nhap vao s o n : " ) ;
s c a n f ( "%d" , &n ) ;
} while ( n <= 0 ) ;
f o r ( int i = 1 ; i <= n ; ++i )
i f ( n % i == 0 )
p r i n t f ( "%d\n" , i ) ;
return 0 ;
}
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thơng tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Lời giải. Gợi ý giải, sinh viên có thể làm theo cách khác

Trang 2/2 − Mã đề 1725

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>
)



TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

Họ và tên:.............................................
MSSV:..................................................

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)

Thời gian làm bài: 90 phút

Không được phép dùng tài liệu
Được phép dùng tài liệu giấy
Đề thi số: 1727
Đề thi gồm 2 trang.
Chú ý: Các khai báo về thư viện, các hàm cơ bản và khai báo khác (nếu cần thiết) được xem như đầy đủ. Mỗi câu hỏi trắc
nghiệm chỉ chọn một đáp án đúng nhất. Phần I, II sinh viên làm trực tiếp vào đề. Sinh viên chỉ được tối đa 10 điểm

I. Các câu hỏi trắc nghiệm (4đ)
Câu
☛ 1.
✟ Hãy chọn phát biểu sai về các kiểu dữ liệu
A
int là kiểu số thực và chiếm 4 bytes trong bộ
✡✠
nhớ
☛✟

B
double chiếm 8 bytes trong bộ nhớ
✡✠


C✠
float là kiểu số thực dấu chấm động



D
char
chiếm 1 bytes trong bộ nhớ
✡✠
Câu 2. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
☛✟
A
2
B✠
256.0



☛✟


C
6.0
D

4.0
✡✠
✡✠
Câu 3. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
☛✟
A✠
CPU

☛✟
B
Trình biên dịch (Compiler)
✡✠


C✠
Bộ tiền xử lý (Preprocessor)



D✠
Bộ chuyển ngữ (Assembler)

Đoạn lệnh sau dùng cho 2 câu tiếp theo 4-5:
int i =0, j =1, s =0;
for ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}
Câu
☛ trên

☛ 4.
✟ Thực thi xong đoạn lệnh
✟ giá trị của s là:
A
31
B
7

✡✠
☛✠



C✠
15
D✠
16


Câu
✟ Thực thi xong đoạn lệnh
☛ trên
✟ giá trị của j là:
☛ 5.
A
16
B
8



✡✟

☛✟

C✠
32
D✠
1


Câu 6. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
☛ ✟ cho kiểu long là:
☛✟
A✠
%s
B✠
%e


☛✟


C✠
%ld
D✠
%c


Đoạn lệnh sau dùng cho 2 câu 7-8:
int a , b ;

for ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}

Câu
thi đoạn chương trình
☛✟
✟ Giá trị của a sau khi thực
☛ 7.
A
51
B
41

✡✠
☛✠



C✠
50
D✠
Cả A, B và C đều sai


Câu
✟ Thực thi xong đoạn lệnh

✟ giá trị của b là:
☛ 8.
☛ trên
A 22
B✠
32



☛✠


C
50
D
16
✡✠
✡✠
Câu 9. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
học:
☛ ✟ tổng kết của một mơn ☛

A
float
B✠
char



☛✟

☛✟
C✠
int
D✠
pointer


Câu 10. Dịng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " , 2 1 . 1 5 6 ) ;
☛✟
☛✟
A✠
21.1560
B✠
21.16



☛✟

C✠
00021.16
D✠
00021.15


Câu 11. Dòng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
☛✟

A✠
0161
B✠
113



☛✟

C✠
lệnh bị lỗi
D✠
161


Câu☛12.
✟ Khai báo mảng nào sau đây là sai
A int a[2];

☛✠

B✠
int a[2] = malloc(2 * sizeof(2));

☛✟
C✠
int a[] = {1, 3};




D✠
int* a = malloc(2 * sizeof(2));

Câu 13. Hãy chọn phát biểu đúng về chú thích:
☛✟
A✠
Chú thích phải bắt đầu từ đầu dịng

☛✟
B
Mọi chú thích phải bắt đầu bằng /* và kết
✡✠
thúc
bằng */
☛✟
C✠
Trình biên dịch sẽ khơng dịch các chú thích

Câu 14. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
☛✟
A✠
5, 6
B✠
6, 5



☛✟


C✠
5
D✠
6


Trang 1/2 − Mã đề 1727

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

Câu 15. Với x là một biến kiểu int, &x sẽ:
☛✟
☛✟
A✠
lấy địa chỉ của biến x ✡
B✠
lỗi cú pháp

☛✟
C
lấy
giá

trị
hiện
tại
của
x
✡✠

Câu 16. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
☛✟
A✠
73
B✠
64


☛✟


C✠
74
D✠
63



II. Các câu hỏi điền kết quả (2đ)
Câu 17. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:


int i, sum=0;
)

for(i = 1;
if(

Câu 18. Giá trị của biểu thức 18|7 là:

)
Câu 19. Hãy hồn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6

sum =
Câu 20. Biến kiểu long chiếm:
bộ nhớ.

byte(s) trong

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:
• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thơng tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức

• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Chủ nhiệm Khoa/Bộ môn

Giảng viên ra đề

ThS. Võ Thanh Hùng

Trang 2/2 − Mã đề 1727

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)
Khơng được phép dùng tài liệu
Đề thi số: 1727

Thời gian làm bài: 90 phút
Được phép dùng tài liệu giấy

I. Các câu hỏi trắc nghiệm (4đ)
Câu 1. Hãy chọn phát biểu sai về các kiểu dữ liệu
A int là kiểu số thực và chiếm 4 bytes trong bộ

nhớ
☛✟
B✠
double chiếm 8 bytes trong bộ nhớ

☛✟
C✠
float là kiểu số thực dấu chấm động



D✠
char chiếm 1 bytes trong bộ nhớ

Câu 2. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
☛✟
A✠
2
B✠
256.0


☛✟
C✠
6.0
D 4.0

Câu 3. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
A CPU

☛✟
B✠
Trình biên dịch (Compiler)



C
Bộ tiền xử lý (Preprocessor)
✡✠


D✠
Bộ chuyển ngữ (Assembler)

Đoạn lệnh sau dùng cho 2 câu tiếp theo 4-5:
int i =0, j =1, s =0;
for ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}
Câu 4. Thực thi xong đoạn lệnh trên giá trị của s là:
☛✟
A 31
B✠
7


☛✟

C✠

15
D✠
16


Câu 5. Thực thi xong đoạn lệnh trên giá trị của j là:
☛✟
☛✟
A✠
16
B✠
8




C 32
D✠
1

Câu 6. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
cho kiểu long là:
☛✟
☛✟
A✠
%s
B✠
%e





C %ld
D✠
%c

Đoạn lệnh sau dùng cho 2 câu 7-8:
int a , b ;
for ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}

Câu 7. Giá trị của a sau khi thực thi đoạn chương trình
☛✟
A 51
B 41


☛✟
☛✠
C✠
50
D✠
Cả A, B và C đều sai


Câu 8. Thực thi xong đoạn lệnh trên giá trị của b là:

☛✟
A 22
B✠
32

☛✟


C✠
50
D✠
16


Câu 9. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
tổng kết của một môn học:
☛✟
A float
B✠
char

☛✟


C✠
int
D✠
pointer



Câu 10. Dịng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " , 2 1 . 1 5 6 ) ;
☛✟
A✠
21.1560

C 00021.16

Câu 11. Dòng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
A 0161

☛✠

C✠
lệnh bị lỗi


B 113
☛✟
D✠
161


Câu 12. Khai báo mảng nào sau đây là sai
☛✟
A✠
int a[2];


B int a[2] = malloc(2 * sizeof(2));
☛✟
C✠
int a[] = {1, 3};



D
int* a = malloc(2 * sizeof(2));
✡✠
Câu 13. Hãy chọn phát biểu đúng về chú thích:
☛✟
A✠
Chú thích phải bắt đầu từ đầu dịng

☛✟
B
Mọi chú thích phải bắt đầu bằng /* và kết
✡✠
thúc bằng */
C Trình biên dịch sẽ khơng dịch các chú thích
Câu 14. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
A✠
5, 6


C 5

☛✟
B✠
6, 5



D✠
6

Trang 1/2 − Mã đề 1727

Ngày thi: 4/6/2018
CuuDuongThanCong.com

☛✟
B✠
21.16



D✠
00021.15


/>

Câu 15. Với x là một biến kiểu int, &x sẽ:

☛✟
A lấy địa chỉ của biến x ✡
B✠
lỗi cú pháp
☛✟
C✠
lấy giá trị hiện tại của x


Câu 16. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
A 73

☛✠

C✠
74


☛✟
B✠
64

D 63

II. Các câu hỏi điền kết quả (2đ)
Câu 17. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:
21.5


int i, sum=0;
for(i = 1; i <= 50; i++

Câu 18. Giá trị của biểu thức 18|7 là:

if((i % 2 == 0 || i % 3 == 0)
&& (i % 6 != 0)
)

23

Câu 19. Hãy hồn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6

)

sum = sum + i*i*i;
Câu 20. Biến kiểu long chiếm:
bộ nhớ.

8 byte(s) trong

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Lời giải.
Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:

• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Lời giải. Gợi ý giải (sinh viên có thể dùng cách khác, miễn kết quả phù hợp):
#include <s t d i o . h>
int main ( ) {
int n ;
do {
p r i n t f ( "Nhap vao s o n : " ) ;
s c a n f ( "%d" , &n ) ;
} while ( n <= 0 ) ;
f o r ( int i = 1 ; i <= n ; ++i )
i f ( n % i == 0 )
p r i n t f ( "%d\n" , i ) ;
return 0 ;
}
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thơng tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Lời giải. Gợi ý giải, sinh viên có thể làm theo cách khác

Trang 2/2 − Mã đề 1727

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

Họ và tên:.............................................
MSSV:..................................................

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)

Thời gian làm bài: 90 phút

Không được phép dùng tài liệu
Được phép dùng tài liệu giấy
Đề thi số: 1729
Đề thi gồm 2 trang.
Chú ý: Các khai báo về thư viện, các hàm cơ bản và khai báo khác (nếu cần thiết) được xem như đầy đủ. Mỗi câu hỏi trắc
nghiệm chỉ chọn một đáp án đúng nhất. Phần I, II sinh viên làm trực tiếp vào đề. Sinh viên chỉ được tối đa 10 điểm

I. Các câu hỏi trắc nghiệm (4đ)
Câu 1. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
☛✟
A✠
63
B✠
73



☛✟


C✠
64
D✠
74


Câu 2. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
☛✟
A✠
4.0
B✠
2


☛✟


C✠
256.0
D✠
6.0


Câu 3. Hãy chọn phát biểu đúng về chú thích:
☛✟
A✠

Mọi chú thích phải bắt đầu bằng /* và kết

thúc
bằng */
☛✟
B
Trình
biên dịch sẽ khơng dịch các chú thích
✡✠


C✠
Chú thích phải bắt đầu từ đầu dịng

Đoạn lệnh sau dùng cho 2 câu 4-5:
int a , b ;
for ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}
Câu
thi đoạn chương trình
☛✟
✟ Giá trị của a sau khi thực
☛ 4.
A
41
B

50

✡✠
☛✠



C✠
51
D✠
Cả A, B và C đều sai


Câu
☛ 5.
✟ Thực thi xong đoạn lệnh
☛ trên
✟ giá trị của b là:
A
16
B
22

✡✠



☛✠
C✠
32

D✠
50


Câu 6. Dịng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " ,
☛✟
A 00021.15

☛✠

C✠
21.16


21.156);
☛✟
B✠
21.1560



D
00021.16
✡✠

Câu 7. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
☛✟
☛ ✟ cho kiểu long là:
A✠

%c
B✠
%s


☛✟


C
%e
D
%ld
✡✠
✡✠
Câu 8. Với x là một biến kiểu int, &x sẽ:
☛✟
☛✟
A✠
lỗi cú pháp
B✠
lấy giá trị hiện tại của x


☛✟
C✠
lấy địa chỉ của biến x


Câu 9. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
☛✟

A✠
Bộ chuyển ngữ (Assembler)

☛✟
B
CPU
✡✠


C✠
Trình biên dịch (Compiler)



D✠
Bộ tiền xử lý (Preprocessor)

Đoạn lệnh sau dùng cho 2 câu tiếp theo 10-11:
int i =0, j =1, s =0;
f o r ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}
Câu☛10.
☛ trên
✟ Thực thi xong đoạn lệnh
✟ giá trị của s là:
A✠
16
B✠

31


☛✟


C
7
D
15
✡✠
✡✠
Câu☛11.
✟ Thực thi xong đoạn lệnh
☛ trên
✟ giá trị của j là:
A 1
B✠
16


☛✠



C
8
D
32
✡✠

✡✠
Câu☛12.
✟ Hãy chọn phát biểu sai về các kiểu dữ liệu
A
char chiếm 1 bytes trong bộ nhớ


☛✠
B✠
int là kiểu số thực và chiếm 4 bytes trong bộ

nhớ
☛✟
C
double
chiếm 8 bytes trong bộ nhớ
✡✟


D
float

kiểu số thực dấu chấm động
✡✠
Câu 13. Dịng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
☛✟
A✠
161

B✠
0161


☛✟


C✠
113
D✠
lệnh bị lỗi


Câu 14. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
học:
☛ ✟ tổng kết của một môn ☛

A
pointer
B✠
float



☛✟
☛✟
C✠
char
D✠
int



Câu 15. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
☛✟
A✠
6
B✠
5, 6


☛✟


C✠
6, 5
D✠
5


Trang 1/2 − Mã đề 1729

Ngày thi: 4/6/2018
CuuDuongThanCong.com


/>

Câu☛16.
✟ Khai báo mảng nào sau đây là sai
A
int* a = malloc(2 * sizeof(2));


☛✟
B✠
int a[2];



C
int a[2] = malloc(2 * sizeof(2));
✡✠


D✠
int a[] = {1, 3};


II. Các câu hỏi điền kết quả (2đ)

Câu 17. Giá trị của biểu thức 18|7 là:

)

Câu 18. Hãy hồn thiện đoạn chương trình tính tổng lập

phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6
int i, sum=0;

sum =
Câu 19. Biến kiểu long chiếm:
bộ nhớ.

byte(s) trong

)

for(i = 1;

Câu 20. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:
if(

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:
• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thông tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Chủ nhiệm Khoa/Bộ môn


Giảng viên ra đề

ThS. Võ Thanh Hùng

Trang 2/2 − Mã đề 1729

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)
Khơng được phép dùng tài liệu
Đề thi số: 1729

Thời gian làm bài: 90 phút
Được phép dùng tài liệu giấy

I. Các câu hỏi trắc nghiệm (4đ)
Câu 1. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
B✠

73



D✠
74


A 63
☛✟
C✠
64


Câu 2. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
B✠
2
A 4.0

☛✟


C
256.0
D
6.0
✡✠
✡✠
Câu 3. Hãy chọn phát biểu đúng về chú thích:

☛✟
A✠
Mọi chú thích phải bắt đầu bằng /* và kết

thúc bằng */
B Trình biên dịch sẽ khơng dịch các chú thích
☛✟
C✠
Chú thích phải bắt đầu từ đầu dịng

Đoạn lệnh sau dùng cho 2 câu 4-5:
int a , b ;
for ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}
Câu 4. Giá trị của a sau khi thực thi đoạn chương trình
☛✟
B✠
50
A 41

☛✟


C
51
D

Cả A, B và C đều sai
✡✠
✡✠
Câu 5. Thực thi xong đoạn lệnh trên giá trị của b là:
☛✟
A✠
16
B 22

☛✟
☛✟
C✠
32
D✠
50


Câu 6. Dịng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " , 2 1 . 1 5 6 ) ;
☛✟
A 00021.15

☛✠

C✠
21.16


☛✟
B✠

21.1560

D 00021.16

Câu 7. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
cho kiểu long là:
☛✟
☛✟
A✠
%c
B✠
%s


☛✟
C✠
%e
D %ld


Câu 8. Với x là một biến kiểu int, &x sẽ:
☛✟
A lỗi cú pháp

☛✠

B✠
lấy giá trị hiện tại của x

C lấy địa chỉ của biến x

Câu 9. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
☛✟
A✠
Bộ chuyển ngữ (Assembler)

B CPU
☛✟
C✠
Trình biên dịch (Compiler)



D
Bộ tiền xử lý (Preprocessor)
✡✠
Đoạn lệnh sau dùng cho 2 câu tiếp theo 10-11:
int i =0, j =1, s =0;
f o r ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}
Câu 10. Thực thi xong đoạn lệnh trên giá trị của s là:
☛✟
A✠
16
B 31

☛✟
☛✟
C

7
D
15
✡✠
✡✠
Câu 11. Thực thi xong đoạn lệnh trên giá trị của j là:
☛✟
☛✟
A
1
B✠
16



☛✟
C
8
D
32
✡✠
Câu 12. Hãy chọn phát biểu sai về các kiểu dữ liệu
☛✟
A✠
char chiếm 1 bytes trong bộ nhớ

B int là kiểu số thực và chiếm 4 bytes trong bộ
nhớ
☛✟
C

double
chiếm 8 bytes trong bộ nhớ
✡✟


D✠
float là kiểu số thực dấu chấm động

Câu 13. Dòng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
A✠
161

C 113

Câu 14. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
tổng kết của một môn học:
☛✟
A pointer
B float

☛✠

☛✟
C✠
char
D✠
int



Trang 1/2 − Mã đề 1729

Ngày thi: 4/6/2018
CuuDuongThanCong.com

☛✟
B✠
0161



D✠
lệnh bị lỗi


/>

Câu 15. Đoạn chương trình sau xuất gì ra màn hình

Câu 16. Khai báo mảng nào sau đây là sai
☛✟
A✠
int* a = malloc(2 * sizeof(2));

☛✟
B
int a[2];
✡✠
C int a[2] = malloc(2 * sizeof(2));

☛✟
D✠
int a[] = {1, 3};


int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
A✠
6

☛✟
C✠
6, 5


☛✟
B✠
5, 6

D 5

II. Các câu hỏi điền kết quả (2đ)
Câu 17. Giá trị của biểu thức 18|7 là:

23


&& (i % 6 != 0)

Câu 18. Hãy hồn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6
int i, sum=0;
for(i = 1; i <= 50; i++

)

sum = sum + i*i*i;
Câu 19. Biến kiểu long chiếm:
bộ nhớ.

8 byte(s) trong

)

if((i % 2 == 0 || i % 3 == 0)

Câu 20. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:
21.5

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Lời giải.
Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:
• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)

• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Lời giải. Gợi ý giải (sinh viên có thể dùng cách khác, miễn kết quả phù hợp):
#include <s t d i o . h>
int main ( ) {
int n ;
do {
p r i n t f ( "Nhap vao s o n : " ) ;
s c a n f ( "%d" , &n ) ;
} while ( n <= 0 ) ;
f o r ( int i = 1 ; i <= n ; ++i )
i f ( n % i == 0 )
p r i n t f ( "%d\n" , i ) ;
return 0 ;
}
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.
• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thơng tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Lời giải. Gợi ý giải, sinh viên có thể làm theo cách khác

Trang 2/2 − Mã đề 1729

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

—————————————————

Họ và tên:.............................................
MSSV:..................................................

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)

Thời gian làm bài: 90 phút

Không được phép dùng tài liệu
Được phép dùng tài liệu giấy
Đề thi số: 1731
Đề thi gồm 2 trang.
Chú ý: Các khai báo về thư viện, các hàm cơ bản và khai báo khác (nếu cần thiết) được xem như đầy đủ. Mỗi câu hỏi trắc
nghiệm chỉ chọn một đáp án đúng nhất. Phần I, II sinh viên làm trực tiếp vào đề. Sinh viên chỉ được tối đa 10 điểm

I. Các câu hỏi trắc nghiệm (4đ)
Câu
☛ 1.
✟ Hãy chọn phát biểu sai về các kiểu dữ liệu
A
int là kiểu số thực và chiếm 4 bytes trong bộ
✡✠
nhớ
☛✟
B
char chiếm 1 bytes trong bộ nhớ
✡✠



C✠
double chiếm 8 bytes trong bộ nhớ



D
float
là kiểu số thực dấu chấm động
✡✠

Đoạn lệnh sau dùng cho 2 câu 8-9:
int a , b ;
f o r ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}

Câu 2. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
☛✟
A✠
5, 6

B✠
6


☛✟


C✠
6, 5
D✠
5


Đoạn lệnh sau dùng cho 2 câu tiếp theo 3-4:
int i =0, j =1, s =0;
for ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}
Câu
☛ 3.
✟ Thực thi xong đoạn lệnh
☛ trên
✟ giá trị của s là:
A
31
B
16

✡✠




☛✠
C✠
7
D✠
15


Câu
☛ 4.
✟ Thực thi xong đoạn lệnh
☛ trên
✟ giá trị của j là:
A
16
B
1


✡✟

☛✟

C✠
8
D✠
32



Câu 5. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
☛✟
A✠
2
B✠
4.0


☛✟


C✠
256.0
D✠
6.0


Câu 6. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
☛✟
A
CPU

☛✠

B✠
Bộ chuyển ngữ (Assembler)




C✠
Trình biên dịch (Compiler)



D
Bộ
✡ ✠ tiền xử lý (Preprocessor)
Câu 7. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
☛✟
A✠
73
B✠
63




☛✟
C
6
4
D
74
✡✠
✡✠


Câu
thi đoạn chương trình
☛✟
☛ 8.
✟ Giá trị của a sau khi thực
A
41
B
51


✡✟

☛✟

C
50
D
Cả A, B và C đều sai
✡✠
✡✠
Câu
✟ Thực thi xong đoạn lệnh
✟ giá trị của b là:
☛ trên
☛ 9.
A
22
B

16


✡✟


☛✟
C
32
D
50
✡✠
✡✠
Câu 10. Hãy chọn phát biểu đúng về chú thích:
☛✟
A✠
Mọi chú thích phải bắt đầu bằng /* và kết

thúc
bằng */
☛✟
B✠
Chú thích phải bắt đầu từ đầu dịng



C
Trình
biên dịch sẽ khơng dịch các chú thích
✡✠

Câu 11. Dịng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " ,
☛✟
A 21.1560

☛✠

C✠
21.16


Câu 12. Với x là một biến kiểu int, &x sẽ:
☛✟
☛✟
A✠
lỗi cú pháp
B✠
lấy địa chỉ của biến x


☛✟
C✠
lấy giá trị hiện tại của x

Câu 13. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
học:
☛ ✟ tổng kết của một môn ☛

A
float

B✠
pointer



☛✟


C✠
char
D✠
int


Câu 14. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
☛ ✟ cho kiểu long là:
☛✟
A✠
%s
B✠
%c


☛✟


C✠
%e
D✠
%ld



Câu☛15.
✟ Khai báo mảng nào sau đây là sai
A
int a[2];


☛✟
B✠
int* a = malloc(2 * sizeof(2));



C
int
a[2] = malloc(2 * sizeof(2));
✡✠


D✠
int a[] = {1, 3};

Trang 1/2 − Mã đề 1731

Ngày thi: 4/6/2018
CuuDuongThanCong.com

21.156);
☛✟

B✠
00021.15



D✠
00021.16


/>

Câu 16. Dịng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
☛✟
A✠
0161
B✠
161


☛✟


C
113
D
lệnh bị lỗi
✡✠
✡✠


II. Các câu hỏi điền kết quả (2đ)

Câu 17. Hãy hoàn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6
int i, sum=0;
for(i = 1;

)

sum =
Câu 18. Giá trị của biểu thức 18|7 là:
) Câu 19. Biến kiểu long chiếm:
bộ nhớ.

if(

byte(s) trong

Câu 20. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Câu 22. (1.5đ) Viết chương trình tn theo các u cầu sau:
• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.

• Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thông tin một đa thức cụ thể nào đó
• Viết hàm nhap để nhập vào một đa thức
• Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
• Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x
Chủ nhiệm Khoa/Bộ môn

Giảng viên ra đề

ThS. Võ Thanh Hùng

Trang 2/2 − Mã đề 1731

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)
Khơng được phép dùng tài liệu
Đề thi số: 1731

Thời gian làm bài: 90 phút
Được phép dùng tài liệu giấy

I. Các câu hỏi trắc nghiệm (4đ)

Câu 1. Hãy chọn phát biểu sai về các kiểu dữ liệu
A int là kiểu số thực và chiếm 4 bytes trong bộ
nhớ
☛✟
B✠
char chiếm 1 bytes trong bộ nhớ

☛✟
C✠
double chiếm 8 bytes trong bộ nhớ



D✠
float là kiểu số thực dấu chấm động

Câu 2. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)
p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
A✠
5, 6

☛✟
C
6, 5
✡✠


☛✟
B✠
6

D 5

Đoạn lệnh sau dùng cho 2 câu tiếp theo 3-4:
int i =0, j =1, s =0;
for ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}

Câu 3. Thực thi xong đoạn lệnh trên giá trị của s là:
☛✟
A 31
B✠
16

☛✟


C✠
7
D✠
15


Câu 4. Thực thi xong đoạn lệnh trên giá trị của j là:

☛✟
☛✟
A
16
B✠
1



☛✟
C
8
D
32
✡✠
Câu 5. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
A✠
2
B 4.0

☛✟
☛✟
C✠
256.0
D✠
6.0


Câu 6. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính

A CPU
☛✟
B✠
Bộ chuyển ngữ (Assembler)



C
Trình biên dịch (Compiler)
✡✠


D✠
Bộ tiền xử lý (Preprocessor)


Câu 7. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
A✠
73

☛✟
C
6
✡✠ 4

B 63
☛✟

D
74
✡✠
Đoạn lệnh sau dùng cho 2 câu 8-9:

int a , b ;
f o r ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}
Câu 8. Giá trị của a sau khi thực thi đoạn chương trình
☛✟
B✠
51
A 41


☛✟

C✠
50
D✠
Cả A, B và C đều sai


Câu 9. Thực thi xong đoạn lệnh trên giá trị của b là:
☛✟
B✠

16
A 22

☛✟


C✠
32
D✠
50


Câu 10. Hãy chọn phát biểu đúng về chú thích:
☛✟
A✠
Mọi chú thích phải bắt đầu bằng /* và kết

thúc
bằng */
☛✟
B
Chú
thích
phải bắt đầu từ đầu dịng
✡✠
C Trình biên dịch sẽ khơng dịch các chú thích
Câu 11. Dịng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " , 2 1 . 1 5 6 ) ;
☛✟
A 21.1560


☛✠

C✠
21.16


Câu 12. Với x là một biến kiểu int, &x sẽ:
☛✟
A✠
lỗi cú pháp
B lấy địa chỉ của biến x

☛✟
C
lấy
giá
trị
hiện
tại
của
x
✡✠
Câu 13. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
tổng kết của một môn học:
☛✟
A float
B✠
pointer


☛✟


C✠
char
D✠
int


Trang 1/2 − Mã đề 1731

Ngày thi: 4/6/2018
CuuDuongThanCong.com

☛✟
B✠
00021.15

D 00021.16

/>

Câu 14. Định dạng dữ liệu khi đọc/ghi bằng scanf, printf
cho kiểu long là:
☛✟
☛✟
A✠
%s
B✠
%c



☛✟
C✠
%e
D %ld


Câu 16. Dòng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
A✠
0161

C 113

Câu 15. Khai báo mảng nào sau đây là sai
☛✟
A int a[2];

☛✠

B✠
int* a = malloc(2 * sizeof(2));

C int a[2] = malloc(2 * sizeof(2));
☛✟
D
int a[] = {1, 3};
✡✠


☛✟
B✠
161



D✠
lệnh bị lỗi


II. Các câu hỏi điền kết quả (2đ)
Câu 17. Hãy hoàn thiện đoạn chương trình tính tổng lập
phương của các số từ 1 đến 50 thỏa mãn chia hết
cho 2 hoặc chia hết cho 3 nhưng không chia hết cho
6
int i, sum=0;
for(i = 1; i <= 50; i++

&& (i % 6 != 0)

)

sum = sum + i*i*i;
Câu 18. Giá trị của biểu thức 18|7 là:
) Câu 19. Biến kiểu long chiếm:
bộ nhớ.

if((i % 2 == 0 || i % 3 == 0)


23
8 byte(s) trong

Câu 20. Giá trị của biểu thức 5 ∗ (int)4.5 + 1.5 là:
21.5

III. Phần tự luận (5đ)
Câu 21. (1đ) Đây là câu dùng chấm phong cách lập trình. Để được điểm phần này, sinh viên phải làm được ít nhất một phần
(có điểm dương) của một trong các câu ở dưới.
Lời giải.
Câu 22. (1.5đ) Viết chương trình tuân theo các yêu cầu sau:
• Nhập vào một số nguyên dương N từ bàn phím. Nếu nhập sai thì u cầu nhập lại (N <= 0)
• Tìm và in ra màn hình tất cả các ước dương của số N vừa nhập vào
Lời giải. Gợi ý giải (sinh viên có thể dùng cách khác, miễn kết quả phù hợp):
#include <s t d i o . h>
int main ( ) {
int n ;
do {
p r i n t f ( "Nhap vao s o n : " ) ;
s c a n f ( "%d" , &n ) ;
} while ( n <= 0 ) ;
f o r ( int i = 1 ; i <= n ; ++i )
i f ( n % i == 0 )
p r i n t f ( "%d\n" , i ) ;
return 0 ;
}
Câu 23. (2.5đ) Cho đa thức có dạng biểu diễn: a0 ∗ x0 + a1 ∗ x1 + a2 ∗ x2 + ... + an ∗ xn với n < 20.






Hãy dùng cấu trúc dữ liệu phù hợp để lưu trữ thông tin một đa thức cụ thể nào đó
Viết hàm nhap để nhập vào một đa thức
Viết hàm tong để tính tổng của 2 đa thức, kết quả là một đa thức mới
Cho phép người dùng nhập vào 1 giá trị x, tính giá trị của đa thức tại x

Lời giải. Gợi ý giải, sinh viên có thể làm theo cách khác

Trang 2/2 − Mã đề 1731

Ngày thi: 4/6/2018
CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
—————————————————

Họ và tên:.............................................
MSSV:..................................................

THI CUỐI KỲ - NIÊN KHĨA 2017-2018
Mơn thi: Nhập mơn lập trình (CO1003)

Thời gian làm bài: 90 phút

Không được phép dùng tài liệu
Được phép dùng tài liệu giấy

Đề thi số: 1733
Đề thi gồm 2 trang.
Chú ý: Các khai báo về thư viện, các hàm cơ bản và khai báo khác (nếu cần thiết) được xem như đầy đủ. Mỗi câu hỏi trắc
nghiệm chỉ chọn một đáp án đúng nhất. Phần I, II sinh viên làm trực tiếp vào đề. Sinh viên chỉ được tối đa 10 điểm

I. Các câu hỏi trắc nghiệm (4đ)
Câu 1. Lời gọi hàm sqrt(16) trả về giá trị:
☛✟
☛✟
A✠
2
B✠
256.0


☛✟


C
4.0
D
6.0
✡✠
✡✠
Câu 2. Giá trị in ra của đoạn lệnh C sau là
int x = 3 , y = 7 ;
p r i n t f ( "%d %d" , − −y , x++);
☛✟
☛✟
A✠

73
B✠
64


☛✟


C✠
63
D✠
74


Đoạn lệnh sau dùng cho 2 câu 3-4:
int a , b ;
for ( a = 1 , b = 1 ; a<=50; a+=2){
i f ( b>=20)
break ;
i f ( ( a+b ) % 3 == 1 )
{ b += 3 ; continue ; }
}
Câu
thi đoạn chương trình
✟ Giá trị của a sau khi thực
☛✟
☛ 3.
A
50
B

41

✡✠


☛✠

C✠
51
D✠
Cả A, B và C đều sai


Câu
☛ trên
☛ 4.
✟ Thực thi xong đoạn lệnh
✟ giá trị của b là:
A✠
22
B✠
32


☛✟


C
16
D

50
✡✠
✡✠
Câu 5. Hãy chọn phát biểu đúng về chú thích:
☛✟
A Trình biên dịch sẽ khơng dịch các chú thích

☛✠

B✠
Chú thích phải bắt đầu từ đầu dịng



C
Mọi chú thích phải bắt đầu bằng /* và kết
✡✠
thúc bằng */
Câu 6. Kiểu dữ liệu nào sau đây phù hợp nhất để lưu điểm
học:
☛ ✟ tổng kết của một môn ☛

A✠
float
B✠
char


☛✟
☛✟

C
pointer
D
int
✡✠
✡✠
Câu 7. Thiết bị nào sau đây thuộc về phần cứng (hardware) trong máy tính
☛✟
A✠
CPU

☛✟
B✠
Trình biên dịch (Compiler)



C
Bộ chuyển ngữ (Assembler)
✡✠


D✠
Bộ tiền xử lý (Preprocessor)


Câu 8. Đoạn chương trình sau xuất gì ra màn hình
int x = 4 , y = 5 ;
i f ( y− − < 5 ) p r i n t f ( "%d , " , ++y ) ;
i f ( x > 6)

p r i n t f ( "%d" , − −y ) ;
e l s e p r i n t f ( "%d" , ++y ) ;
☛✟
☛✟
A
5,
6
B✠
6, 5




☛✟

C
6
D
5
✡✠
✡✠
Câu
☛ 9.
✟ Khai báo mảng nào sau đây là sai
A✠
int a[2];

☛✟
B
int a[2] = malloc(2 * sizeof(2));

✡✠


C✠
int* a = malloc(2 * sizeof(2));



D✠
int a[] = {1, 3};

Câu 10. Dòng lệnh sau xuất giá trị gì ra màn hình:
p r i n t f ( "%d" , 0 1 6 1 ) ;
☛✟
☛✟
A✠
0161
B✠
113



☛✟

C✠
161
D✠
lệnh bị lỗi



Đoạn lệnh sau dùng cho 2 câu tiếp theo 11-12:
int i =0, j =1, s =0;
f o r ( i =0; i < 5 ; ++i ) {
s = s + j;
j = j ∗ 2;
}
Câu☛11.
✟ Thực thi xong đoạn lệnh
☛ trên
✟ giá trị của s là:
A
31
B
7


✡✠
☛✟


C
16
D
15
✡✠
✡✠
Câu☛12.
☛ trên
✟ Thực thi xong đoạn lệnh
✟ giá trị của j là:

A
16
B
8


✡✠
☛✟


C
1
D
32
✡✠
✡✠
Câu☛13.
✟ Hãy chọn phát biểu sai về các kiểu dữ liệu
A
int là kiểu số thực và chiếm 4 bytes trong bộ
✡✠
nhớ
☛✟
B
double chiếm 8 bytes trong bộ nhớ
✡✠


C✠
char chiếm 1 bytes trong bộ nhớ




D
float là kiểu số thực dấu chấm động
✡✠
Câu 14. Dòng lệnh sau xuất giá trị gì ra màn hình?
p r i n t f ( " %08.2 f " ,
☛✟
A 21.1560

☛✠

C✠
00021.15


Trang 1/2 − Mã đề 1733

Ngày thi: 4/6/2018
CuuDuongThanCong.com

21.156);
☛✟
B✠
21.16



D✠

00021.16


/>

×