You are on page 1of 4

Đề thi giữa kì môn Kỹ Thuật Lập Trình Khoa/Bộ môn: …….. .

(Thời gian: 90 phút – Không sử dụng tài liệu)

Họ và tên: Điểm: / 100


Nhóm: 91

Câu 1 (1 đ): Vẽ một hình vẽ mà bạn thích

Câu 2 (5đ): Hãy chỉ rõ một từ khóa (keyword), hai từ định danh (identifier), hai hằng giá trị (literal), một toán tử, một
chỉ thị tiền xử lí trong chương trình sau
#include <iostream> Trả lời:
int main(){
std::cout << "Hello, world!\n";
return 0;
}

Câu 2 (4đ): Vòng tròn các tên biến hợp lệ trong danh sách sau (chọn 4):

Sinhvien-KTLT Double Ngoi* sinh_vjen __Bien chuso

Câu 3 (5đ):
Điền vào chổ trống trong đoạn mã ở bên để thực hiện: #include <iostream>
- Khai báo biến x kiểu số nguyên using namespace std;
- In ra màn hình câu “Nhap gia tri cho x ”
- Đọc giá trị của x từ bàn phím
- Xuống dòng int main(){
- In ra màn hình giá trị của x cộng 3 …………………………..
…………………………..
…………………………..
…………………………..
…………………………..
return 0;
}

Câu 4 (5đ): Giả sử x = 2, y = 3. Hãy cho biết giá trị của các biểu thức điều kiện sau đây đúng hay sai:

- (x < y - x) || (( x > y )&&(y  != 0)) ……….


- (x%(y - 1)) != 0 ……….
- (2 == x) ……….
-  !(x == y) ……….
-  !(x = y) ……….
Câu 5 (5đ): Đoạn chương trình sau sẽ in ra cái gì (xét các trường hợp khác nhau của giá trị x) ?
#include <iostream>
Trả lời : using namespace std;

int main() {
int x; cout << “Nhap x: ”; cin >> x; cout << endl;
switch(x) {
case 1:
cout << "x la 1\n";
case 2:
break;
case 3:
cout << "x la 2 hoac 3\n";
break;
default:
cout << "x khong phai la 1, 2, 3";
}
return 0;
}

Câu 6 (5đ): Đoạn chương trình sau sẽ in ra cái gì ?


#include <iostream> Trả lời:
using namespace std;
int main()
{
for (int x = 0; x < 4; x = x + 2) {
for (int y = 10; y > 0; y = y - 2)
cout << y;
cout << "\n";
}
return 0;
}

Câu 7 (5đ):
#include <iostream>
using namespace std; int main ()
double canBacHai(double so) { {
double giaTriNho = 1.0; double uocLuong; ……………………
double giaTriLon = so; ……………………
for (int i=0; i<30;i=i+1) { ……………………
uocLuong = (giaTriNho+giaTriLon)/2; ……………………
if (uocLuong*uocLuong > so) { ……………………
double giaTriLonMoi = uocLuong; ……………………
giaTriLon = giaTriLonMoi; return 0;
} else { }
giaTriNho = uocLuong;
} Điền vào chổ trống để thực hiện đoạn chương trình :
} - Khai báo biến x kiểu số thực (double)
- In ra màn hình dòng “Nhap gia tri cho x ”
return uocLuong; // OK
- Đọc giá trị từ bàn phím vào x
} - Xuống dòng
- In ra màn hình dòng “Can bac 2 cua x+1 la ”
In ra giá trị căn bậc 2 của x+1 tính toán được từ hàm
canBacHai().

Câu 8 (5đ): Đánh dấu điểm bắt đầu và kết thúc phạm vi của biến uocLuong
double canBacHai(double so) {
double giaTriNho = 1.0; double giaTriLon = so;
for (int i=0; i<30;i=i+1) {
double uocLuong;
uocLuong = (giaTriNho+giaTriLon)/2;
if (uocLuong*uocLuong > so) {
double giaTriLonMoi = uocLuong;
giaTriLon = giaTriLonMoi;
} else {
giaTriNho = uocLuong;
}
}
return (giaTriLon+giaTriNho)/2;
}

Câu 9 (5đ): Cho khai báo mảng sau.Viết dòng lệnh gán giá trị cho 1 phần tử của mảng để mảng trở thành {1,2,3,3,5}

int mang[5]={1,2,3,4,5};
......................................... Đồng thời cho biết giá trị mang[5] bằng bao nhiêu?
..............................................................

Câu 10 (5đ): Một lập trình viên thông thái viết đoạn mã sau nhằm khai báo biến số thực i và một tham chiếu p đến nó.
Tìm và sửa lỗi (2 dòng lệnh):
double i = 100;
int& p; ……………………………
……………………………
p = i;
Câu 11 (5đ): Cho biết giá trị của biến x sau đoạn mã sau đây:
double x = 10;
double* p = &x ; x = ………………….
double& r = x;
(*p) = r * (*p)  - x;

Câu 12 (5đ): Tên của một mảng chứa địa chỉ phần tử đầu tiên của mảng đó. Hãy phân biệt nó với con trỏ, và tham
chiếu.
Trả lời : ………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
Câu 13 (5đ): Cho biết đoạn mã sau sẽ in ra giá trị gì ?
int z[] = {3, 1, 4, 1, 5, 9}; …………………………………………
int* p = z+1 ; …………………………………………
…………………………………………
std::cout << *(p+2) - 1 ;

Câu 14 (10đ): Tìm 2 lỗi khi sử dụng con trỏ trong đoạn chương trình sau :
int *a = 100 ; a = &b ;
}

if (100 == *a) { cout << *a ;


int b = 100 ;

Câu 15 (10đ): Viết hàm nhập vào bán kính của hình tròn từ bàn phím và trả về chu vi và diện tích của nó (Gợi ý: để trả
về nhiều giá trị bạn có thể dùng con trỏ hoặc tham chiếu):
Câu 16 (10đ): Viết hàm tính tổng của tất cả các phần tử trong một mảng các số nguyên cho trước:

double TongCacPhanTu(double mang[], int so_phan_tu) {

Câu 17 (10đ): Viết hàm tìm số lượng kí tự có trong một chuỗi bao gồm cả kí tự NULL ('\0') đánh dấu kết thúc chuỗi:
Ví dụ:
char *str = “Ai cho toi tinh yeu”; cout << TimSoKiTu(str);

sẽ in ra giá trị là 20.

You might also like