Poll: trắc nghiệm C++ nho nhỏ

Tình hình là vài hôm nữa e thi môn C++ :smiley: e có 1 tệp ôn khoảng 170 câu trắc nghiệm :smile: e sẽ post dần dần vào đây để mn cùng thảo luận vui vẻ nhé :wink: tranh thủ kiểm tra kiến thức luôn :">

Câu 1: Đoạn lệnh sau có kết quả bao nhiêu?

int main() {
	int a = 20;
        a <<= 2;
	cout << a;
	return 0;
}
  • a. 6
  • b. 5
  • c. 10
  • d. 80

Câu 2: Đoạn lệnh sau cho kết quả là bao nhiêu nếu nhập 22.25 và 7 tại dấu nhắc?

int a, b;
cin >> a >> b;
cout << a * b;
  • a. 22.25
  • b. 7
  • c. 29.25
  • d. 155.75
3 Likes

Chiêu cũ, khó quá, chạy thôi :running:

tung đề khó như này ai mà giải được :frowning:

1 Like

e dạo 1 vòng r lọc mấy câu e ko làm đc r lên hỏi ý mà :wink: a @ltd giúp e vs :smiley: nhất là cái “<<=” e ko hiểu là gì luôn =))

Cái dấu này anh cũng chưa xài bao giờ. Nhưng có thể hiểu như sau

a <<= 2 là tương đương với a = a << 2;

Muốn tính được thì em phải đổi ra nhị phân. Sau đó em đẩy bit là được.

1111 1110 << 2 
1111 1000

P/S: Mà khó thật, chạy thôi :running:

đền bù câu khác ạ : :wink:
Câu 69: Kết quả đoạn lệnh sau là bao nhiêu?

for (int i = 0; i < 5; i++) {
int s = 0;
s += i;
}
cout << s;	
  • a. 0
  • b. 10
  • c. 15
  • d. Lỗi biên dịch

0 :))))))))))))) chạy theo đây @ltd

1 Like

s symbols not found =))

2 Likes

Lỗi biên dịch :v biến s được khai báo trong vòng for. :running: cơ mà bài 2 ra nhiêu nhỉ -_-

1 Like

Các IDE C++ tài trợ cho trương trình này :trollface:

1 Like

câu 2 đề sai đúng k a :smiley: nhập vào số nguyên mà đáp án toàn số thực =))
e cũng nhập thử nhưng nó xuất ra cái khỉ gì ko biết :smile:

số thực ???

Câu 2 nhìn sơ có vẻ dễ, nhìn kỹ chẳng biết đường đâu mà lần, câu 1 với <<= thì lạ thật , ảo tung chưởng nếu cái này dùng được thì đây là một cách hay, thanks thớt

Để cho dễ hiểu, cái này sẽ tương đương với
a = a * pow(2, x);

với x = 2 thì tương đương
a = a * pow(2, 2);

=> kết quả là 80 phải ko anh @ltd :joy:

1 Like

Câu này hẳn là lỗi biên dịch rồi. Có 2 lý do:

  • Biến s khai báo trong vòng for nên bị hủy khi ra khỏi vòng for.

  • Dùng phương pháp loại trừ, giả sử biến s được khai báo bên trên vòng for, thì kết quả s là 4, ko tồn tại trong 3 đáp án A B C :joy:

Em có mẹo không cần đổi ra nhị phận,

  • Dịch trái (>>) số a n bit <=> lấy số a/2 n lần <=> a/(2^n)
  • Dịch phải (<<) số a n bit <=> lấy số a2 n lần <=> a(2^n)
1 Like

Câu này mình thường gặp, lỗi biên dịch vì s nằm trong for

D, theo kieu java la vay nhung cung giong nhau thoi, hêhheh :slight_smile:

Bạn có thể gửi cho mình toàn bộ câu hỏi được không? Cảm ơn nhiều!

Chắc mất rồi bạn ạ :joy: cái này cũng lâu rồi, tự nhiên ai đào mộ lên :smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?