Professional Documents
Culture Documents
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):
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:
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 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 ;
}
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:
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);