‘Các mã C++ trong câu hỏi ôn tập được viết trên IDE Dev-C++Câu 1 Trong cấu trúc chương trình C++, lệnh #include dùng để làm gì?. Truyen ban sao cua bien vao hamCâu 90 Thế nào là truyền t
Trang 1‘Các mã C++ trong câu hỏi ôn tập được viết trên IDE Dev-C++
Câu 1
Trong cấu trúc chương trình C++, lệnh #include dùng để làm gì?
Khai báo thư viện
Trang 2Cách khai báo biến nào sau đây là đúng?
(12,1) <Kiểu dữ liệu> <Danh sách tên biến>;
(12,2) <Danh sách tên biến> : <Kiểu dữ liệu>;
(12,3) <Tên biến> = <Giá trị>;
(12,4) Tất cả đều không đúng
Câu 13
Quy tắc đặt tên biến nào sau đây là đúng?
(13,1) Là một chuỗi gồm một hoặc nhiều ký tự chữ, số hoặc ký tự gạch dưới, bắt đầu bằng một ký tự hoặc dấu gạch dưới
(13,2) Không chứa các ký hiệu đặc biệt hoặc dấu cách
(13,3) Không trùng với các từ khoá
(13,4) Tất cả các quy tắc đều đúng
Câu 14
Trang 3Kích thước của dữ liệu kiểu char là bao nhiêu byte?
Lệnh nào sau đây là SAI?
(20,1) string s = Hello world!;
(20,2) string s (Hello world!);
(20,3) string s = 1234;
Trang 4Lệnh nào sau đây là sai?
(22,1) string s = Hello world!;
(22,2) string s (Hello world!);
Trang 12(47,3) int age = 33; cout << My age is << age << \n; //cai nay la
do khi thay chinh no bi mat dau nhay Dap an dung la cau 4
Trang 13Kết quả đoạn lệnh sau là bao nhiêu? int x = 0;
Trang 14Nguyên lý của cấu trúc while là?
Lap lai khoi lenh cho den khi bieu thuc dieu kien saiCâu 58
Kết quả đoạn lệnh sau là bao nhiêu?
for (int i = 0; i < 3; i++) cout << i*i << ,;
Trang 150 1 4
Câu 59
Kết quả đoạn lệnh sau là bao nhiêu?
for (int i = 0; i <= 3; i++) cout << i*i << ,;
0 1 4 9
Câu 60
Kết quả đoạn lệnh sau là bao nhiêu?
for (;;) cout << i*i << ,;
ko in gì
Câu 61
Kết quả đoạn lệnh sau là bao nhiêu?
for (int i = 0,n = 4; n != i; i++,n ) cout << i << ,;
0 1
Câu 62
Kết quả đoạn lệnh sau là bao nhiêu?
for (int i = 0,n = 5; n != i; i++,n ) cout << i << ,;
0 1 2 3 4 … ( vô hạn )
Câu 63
Kết quả đoạn lệnh sau là bao nhiêu?
for (int i = 1; i < 5; i++) {
Trang 16Kết quả đoạn lệnh sau là bao nhiêu? for (int i = 1; i < 5; i++) {
case 1: cout << x is 1; break;
case 2: cout << x is 2; break;
default: cout << value of x unknown; }
Trang 17case 1: cout << x is 1;
case 2: cout << x is 2; break;
default: cout << value of x unknown; }
case 1: cout << x is 1; break;
case 2: cout << x is 2; break;
default: cout << value of x unknown; }
Trang 20Kết quả đoạn lệnh sau là bao nhiêu? int s;
for (int i = 0, j = 100; i != j; i++, j ) {
Trang 21(80,1) <Kiểu dữ liệu trả về> <Tên hàm> (Tham số 1, Tham số 2, ) { Khối lệnh }
(80,2) <Kiểu dữ liệu trả về> :<Tên hàm> (Tham số 1, Tham số 2, ) { Khối lệnh }
(80,3) <Tên hàm> (Tham số 1, Tham số 2, ) { Khối lệnh }
(80,4) <Tên hàm> { Khối lệnh }
Câu 81
Kết quả đoạn lệnh sau là bao nhiêu?
int addition (int a,int b) { return (a + b); }
Kết quả đoạn lệnh sau là bao nhiêu?
int addition (int a,int b) { return (a - b); }
Kết quả đoạn lệnh sau là bao nhiêu?
int addition (int a,int b) { return (a * b); }
Trang 22Kết quả đoạn lệnh sau là bao nhiêu?
int addition (int a,int b) { return (a + b) } int main() {
Kết quả đoạn lệnh sau là bao nhiêu?
int addition (int a,int b) { return (a + b); } int main() {
Kết quả đoạn lệnh sau là bao nhiêu?
int addition (int a,int b) { return (a + b); }
Trang 23int main() {
int x = 5, y = 3, z = 10 + addition(x,y); cout << z;
return 0;
}
18
Câu 87
Kết quả đoạn lệnh sau là bao nhiêu?
int addition (int a,int b) { return (a - b); } int main() {
int x = 5, y = 3, z = 10 + addition(x,y); cout << z;
return 0;
}
12
Câu 88
Kết quả đoạn lệnh sau là bao nhiêu?
int addition (int a,int b) { return (a + b); } void output(int a) { cout << a; }
int main() {
int x = 5, y = 3, z = 10 + addition(x,y); output(addition(x,y));
Trang 24Truyen ban sao cua bien vao ham
Câu 90
Thế nào là truyền tham biến?
Truyen dia chi cua bien vao ham Gia tri cua bien bi thay doi sau khi ham ket thuc
Câu 91
Kết quả đoạn lệnh sau là bao nhiêu?
void (int x,int& prev,int& next) { prev = x; next = ++x; }
void output(int a) { cout << a; }
Kết quả đoạn lệnh sau là bao nhiêu?
void prevnext(int x,int& prev,int& next) { prev = x; next = ++x; } void output(int a) { cout << a; }
Trang 25Câu 93
Kết quả đoạn lệnh sau là bao nhiêu?
void prevnext(int x,int& prev,int& next) { prev = x; next = ++x; } void output(int a) { cout << a; }
Kết quả đoạn lệnh sau là bao nhiêu?
void prevnext(int x,int& prev,int& next) { prev = x - 1; next = x + 1; } void output(int a) { cout << a; }
Kết quả đoạn lệnh sau là bao nhiêu?
void prevnext(int x,int& prev,int& next) { prev = x; next = x + 1; } void output(int a) { cout << a; }
int main() {
Trang 26Kết quả đoạn lệnh sau là bao nhiêu?
void prevnext(int& x,int& prev,int& next) { prev = x;}
void output(int a) { cout << a; }
Kết quả đoạn lệnh sau là bao nhiêu?
void prevnext(int x,int prev,int next) { prev = x; next = x + 2;} void output(int a) { cout << a; }
Trang 27Câu 98
Kết quả đoạn lệnh sau là bao nhiêu?
int divide (int a,int b = 2) { return (a / b); } void output(int a) { cout << a; }
Kết quả đoạn lệnh sau là bao nhiêu?
int divide (int a,int b = 2) { return (a / b); } void output(int a) { cout << a; }
Kết quả đoạn lệnh sau là bao nhiêu?
int divide (int a,int b) { return (a / b); } void output(int a) { cout << a; }
int main() {
int x = 100, y, z;
output(divide(12));
Trang 28Kết quả đoạn lệnh sau là bao nhiêu?
long facto (long a) {
Kết quả đoạn lệnh sau là bao nhiêu?
long facto (long a) {
Trang 29Câu 104
Kết quả đoạn lệnh sau là bao nhiêu? long facto (long a) {
if (a > 1) return (a * facto(a – 1)); else return (0);
void odd (int a) {
if ((a % 2) != 0) cout << Le;
else even(a);
}
void even (int a) {
if ((a % 2)= 0) cout << Chan;
else odd(a);
}
Trang 30void odd (int a) {
if ((a % 2) != 0) cout << Le;
else even(a);
}
void even (int a) {
if ((a % 2)= 0) cout << Chan;
Trang 31if ((a % 2) != 0) cout << Le;
else even(a);
}
void even (int a) {
if ((a % 2)= 0) cout << Chan;
void odd (int a) {
if ((a % 2) != 0) cout << Le;
else even(a);
}
void even (int a) {
if ((a % 2) 0) cout << Chan;
Trang 32void odd (int);
void even (int);
int main() {
int i = 10;
return 0;
}
void odd (int a) {
if ((a % 2) != 0) cout << Le;
else even(a);
}
void even (int a) {
if ((a % 2)= 0) cout << Chan;
Câu 111
Cách khai báo mảng nào là chính xác?
(111,1) <Kiểu dữ liệu mảng> <Tên mảng>[Số phần tử];
(111,2) <Kiểu dữ liệu mảng][] <Tên mảng>;
(111,3) <Kiểu dư liệu mảng> <Tên mảng>[] = new <Kiểu dữ liệu
mảng>[Số phần tử];
(111,4) Không có đáp án đúng
Trang 33Câu 112
Lệnh nào sau đây là đúng?
(112,1) int billy[5];
(112,2) int[] billy;
(112,3) int[] billy = new int[5];
(112,4) int billy[] = new int [5];
Trang 37Đoạn lệnh sau có kết quả bao nhiêu?
int prt(int arr[][], int size) {
int s = 0;
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
Đoạn lệnh sau có kết quả bao nhiêu?
int prt(int arr[][2], int size) {
int s = 0;
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
s += arr[i][j];
}
int main() {
int num[2][2] = { {1, 2}, {3, 4} };
Trang 38Đoạn lệnh sau có kết quả bao nhiêu?
char str[] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’, ‘ ‘, ‘m’, ‘y’, ‘ ‘, ‘d’, ‘e’, ‘a’, ‘r’ }; cout << str;
Toán tử tham chiếu & có tác dụng gì?
Trỏ đến địa chỉ của biến cơ bản
Câu 134
Toán tử phản tham chiếu * có tác dụng gì?
Tham chiếu đến giá trị của biến con trỏ
Trang 39Cách khai báo con trỏ nào sau đây là đúng?
(137,1) <Kiểu dữ liệu> * <Tên biến con trỏ>;
(137,2) <Kiểu dũ liệu> <Tên biến con trỏ>*;
(137,3) *<Kiểu dữ liệu> <Tên biến con trỏ>;
(137,4) Tất cả đúng
Câu 138
Đoạn lệnh sau có kết quả bao nhiêu?
int first, second, *p;
Đoạn lệnh sau có kết quả bao nhiêu?
int first, second, *p;
p = &first;
*p = 20;
Trang 40Đoạn lệnh sau có kết quả bao nhiêu?
int first = 5, second = 15, *p1, *p2;
Đoạn lệnh sau có kết quả bao nhiêu?
int first = 5, second = 15, *p1, *p2;
Trang 44Con trỏ của con trỏ là gì?
Là con trỏ trỏ đến địa chỉ của con trỏ khác.
Trang 45void incr(void * data,int size) {
if ( (size == sizeof(char) )
{ char* cp; cp = (char*)data; ++(*cp); }
else if ( (size == sizeof(int) )
{ int* ip; ip = (int*)data; ++(*ip); }
}
Tăng giá trị của con trỏ lên 1
//tang gia tri cua so nguyen va ky tu len 1
Câu 160
Đoạn lệnh sau có kết quả là bao nhiêu?
void incr(void * data,int size) {
if ( (size == sizeof(char) )
{ char* cp; cp = (char*)data; ++(*cp); }
else if ( (size == sizeof(int) )
{ int* ip; ip = (int*)data; ++(*ip); }
Đoạn lệnh sau có kết quả là bao nhiêu?
void incr(void * data,int size) {
if ( (size == sizeof(char) )
{ char* cp; cp = (char*)data; ++(*cp); }
Trang 46else if ( (size == sizeof(int) )
{ int* ip; ip = (int*)data; ++(*ip); }
Đoạn lệnh sau có kết quả là bao nhiêu?
int addition (int a,int b) { return (a + b); }
int subtraction (int a,int b) { return (a – b); }
int operation (int a,int b,int (*functocall) (int,int) { return (*functocall)(a,b); }
Đoạn lệnh sau có kết quả là bao nhiêu?
int addition (int a,int b) { return (a + b); }
int subtraction (int a,int b) { return (a – b); }
Trang 47int operation (int a,int b,int (*functocall) (int,int) { return (*functocall)(a,b); }
33 đéo biết đúng ko vì đ chạy đc
//sao ma khong chay duoc, = 8
Cách nào sau đây dùng để khai báo bộ nhớ động trong C++?
(166,1) 1.<Con trỏ> = new <Kiểu dữ liệu>;
(166,2) 2.<Con trỏ> = new <Kiểu dữ liêu>[số phần tử];
(166,3) 3.<Biến dữ liệu> = new <Kiểu dữ liệu>;
(166,4) Cả đáp án 1 và 2
Câu 167
Đoạn lệnh sau có kết quả bao nhiêu?
Trang 48int *p = new int[5];
Kết quả khi thực hiện đoạn lệnh trên là bao nhiêu?
char hoten[] = “Dai hoc Kinh doanh va Cong nghe Ha noi”;
int len = strlen(hoten);
cout << len++ << endl;
38
Câu 171
Cho khối lệnh như sau:
Trang 50Câu 173
Cho khối lệnh như sau:
enum mausac { DEN, LAM, LUC, TRANG };
Cho khối lệnh như sau:
enum mausac { DEN = 3, LAM, LUC, TRANG };
Trang 52cout << “Hoa, Ly”;
Chương trình thực hiện công việc gì?
#define length(a) (sizeof(a) / sizeof(*a))
int main() {
int mang[] = {12, 37, 48, 51, 2, 9};
int tk = 51, i;
bool check = false;
for (i = 0; i < length(mang); i++) {
Trang 531.define length(a) (sizeof(a) / sizeof(*a)) 2.int main() {
3 int mang[] = {12, 37, 48, 51, 2, 9};
4 int tk = 51, i;
5 bool check = false;
6 for (i = 0; i < length(mang); i++) {
Đoạn lệnh sau cho kết quả là bao nhiêu:
char chuoi[] = “peter pan put a pepper into pen”; int max = strlen(chuoi);
Trang 54Đoạn lệnh sau cho kết quả là bao nhiêu:
char chuoi[] = “hoi dong dang di den huyen dinh dong”;
int max = strlen(chuoi);
Trang 55ROME
Trang 56Nếu nhập vào từ bàn phím chuỗi Alvata, chương trình sẽ in ra kết quả?
CHA IN RA GI, CAU LENH SAI //uh thi no loi ma
Chương trình sau in ra kết quả là bao nhiêu:
const int row = 3;
const int col = 4;
int seasonTemp[row][col] = {
{ 26, 34, 22, 17 },
Trang 57for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
Trang 58for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
if (temp[i][j] > m) m += temp[i][j]; return m;
Trang 59for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
if (temp[i][j] < m) m += temp[i][j]; return m;
Trang 60for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
Chương trình sau in ra kết quả là bao nhiêu:
int BinSearch (char *item,char *table[],int n, int (*Sosanh)(const char*,const char*)) {
int bot = 0, top = n - 1, mid, cmp;
while (bot < top) {
mid = (bot + top) / 2;
if ((cmp = Sosanh(item,table[mid]))= 0) return mid;
else if (cmp < 0) top = mid - 1;
else bot = mid + 1;
}
Trang 61return -1;
}
int main() {
char *cities[] = { “Boston”, “London”, “Sydney”, “Tokyo” };
cout << BinSearch (“Sydney”,cities,4,strcmp) << endl;
}
//2, lam sao ma tinh ra dc -1 vay????
-1
Câu 190
Chương trình sau thực hiện công việc gì?
int BinSearch (char *item,char *table[],int n, int (*Sosanh)(const char*,const char*)) {
int bot = 0, top = n - 1, mid, cmp;
while (bot < top) {
mid = (bot + top) / 2;
if ((cmp = Sosanh(item,table[mid]))= 0) return mid;
else if (cmp < 0) top = mid - 1;
else bot = mid + 1;
}
return -1;
}
int main() {
char *cities[] = { “Boston”, “London”, “Sydney”, “Tokyo” };
cout << BinSearch (“Sydney”,cities,4,strcmp) << endl;
}
//tim 1 chuoi trong 1 mang chuoi ky tu, tim nhi phan dau ma tim nhi phan, toi dat ten ham nhu the cho vui thoi, kekeke
TÌM KIẾM MÃ NHỊ PHÂN
Trang 63Câu 193
Chương trình sau in ra kết quả bao nhiêu
void functionS w (int *x, int *y) {
Chương trình sau thực hiện công việc gì?
char* ReChar (char* str) {
int len = strlen (str);
char* ketqua = new char[len+1];
for (int i = 0; i < len; i++) ketqua[i] = str[len-i-1]; ketqua[len] = '\0';
Trang 64Chương trinh test.exe có code như sau:
int main(int argc,char* argv[]) {
Trang 65Chương trinh test.exe có code như sau:
int main(int argc,char* argv[]) {
Chương trình sau in kết quả là bao nhiêu:
void inc (void* data,int psize) {
Trang 67cout << hs[1].namsinh << endl;
Trang 68double bac3 (double a,int x) {
Chương trình sau có kết quả là bao nhiêu?
double bac3 (double a, int x) {
for (int i = 0; i < x; i++) a = a * a;
Trang 69Cho đoạn chương trình sau:
void stringRear (char s[], char d[], int x) { for (int i = strlen(s); i > x; i ) d[i-x] = s[i]; d[0] = s[x];
Trang 70Cho đoạn chương trình sau:
void stringRear (char s[], char d[], int x) {
for (int i = strlen(s); i > x; i ) d[i-x] = s[i];
Trang 71Câu 208
Cho đoạn chương trình sau:
void stringRear (char s[], char d[], int x) {
for (int i = strlen(s); i > x; i ) d[i-x] = s[i];
Cho đoạn chương trình sau:
void stringRear (char s[], char d[], int x) {
for (int i = strlen(s); i > x; i ) d[i-x] = s[i];
d[0] = s[x];
}
Trang 72Cho đoạn chương trình sau:
void stringRear (char s[], char d[], int x) {
for (int i = strlen(s); i > x; i ) d[i-x] = s[i];
Trang 73Cho đoạn chương trình sau:
typedef struct tagcomplex {
float thuc,ao;
} complex;
complex tich (complex a,complex b) {
complex c;
c.thuc = a.thuc * b.thuc - a.ao * b.ao;
c.ao = a.thuc * b.ao + a.ao * b.thuc;
return c;
}
void print_complex (complex a) {
printf(%.2f + %.2fi, a.thuc, a.ao);
}
int main() {
complex a, b, c;
Trang 74Cho đoạn chương trình sau:
typedef struct tagcomplex {
float thuc,ao;
} complex;
complex thuong (complex a,complex b) {
complex c;
float tong = b.thuc * b.thuc + b.ao * b.ao;
c.thuc = (a.thuc * a.ao + b.thuc * b.ao) / tong; c.ao = (a.ao * b.thuc - a.thuc * b.ao) / tong; return c;
}
void print_complex (complex a) {
printf(%.2f + %.2fi, a.thuc, a.ao);
Trang 75float modul (complex a) {
return sqrt(a.thuc * a.thuc + a.ao * a.ao);
float doiso (complex a) {
return acos (a.thuc / sqrt(a.thuc * a.thuc + a.ao * a.ao)); }
int main() {
Trang 76float doiso (complex a) {
return acos (a.thuc / sqrt(a.thuc * a.thuc + a.ao * a.ao)); }
float modul (complex a) {
return sqrt (a.thuc * a.thuc + a.ao * a.ao);