Tải bản đầy đủ (.ppt) (28 trang)

slide bài giảng lập trình nâng cao vu minh trí trắc nghiệm ôn tập

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 (576.53 KB, 28 trang )

1
Vũ Minh Trí

ÔN TẬP
Lập trình nâng cao
VC
VC
&
&
BB
BB
22
00D
10C
01B
Không xác địnhA
00D
Trắc nghiệm
Chọn kết quả in ra màn hình của đoạn
chương trình sau:
1
void main()
{
int c = 0;
printf(“%d%d”, c++, c);
{
VC
VC
&
&
BB


BB
33
Toán tử một ngôi

Ví dụ

int x = 0; y = x++;

int x = 0; y = ++x;

int x = 0; printf(“%d %d”, ++x, x);

int x = 0; printf(“%d %d”, x, ++x);

int x = 0; printf(“%d %d”, ++x, x);

int x = 0; printf(“%d %d”, x, x++, ++x);

int x = 0; printf(“%d %d”, ++x, x, x++);
Tin học cơ sở 2 - Đặng Bình Phương
VC
VC
&
&
BB
BB
44
int length; float width;A
Trắc nghiệm
Khai báo biến nào sau đây đúng?

int length, float width;B
int length; width;C
int length, int width;D
2
int length; float width;A
VC
VC
&
&
BB
BB
55
Chương trình bị lỗi do x được khai báo lạiD
x = 2, y = 2C
x = 2, y = 1B
x = 1, y = 2A
x = 2, y = 2C
Trắc nghiệm
Chọn kết quả in ra màn hình của đoạn
chương trình sau:
3
void main()
{
int x = 1;
int y = x = x + 1;
printf(“x = %d, y = %d”, x, y);
{
VC
VC
&

&
BB
BB
66
aA
Trắc nghiệm
Giả sử x là biến ký tự có giá trị ‘b’.
Câu lệnh printf(“%c”, ++x); in ra:
bB
cC
dD
4
cC
VC
VC
&
&
BB
BB
77
Chương trình biên dịch và thực thi bình thườngD
Báo lỗi thực thi do i kô có giá trị khởi tạo tại i = i + 4;C
Báo lỗi biên dịch (error) vì j không được khởi tạoB
Báo lỗi biên dịch vì i…A
Chương trình biên dịch và thực thi bình thườngD
Trắc nghiệm
Phân tích
đoạn mã sau:
5
#include <stdio.h>

void main()
{
int i, j;
printf(“Enter an integer: ”);
scanf(“%d”, &j);
i = i + 4;
}
VC
VC
&
&
BB
BB
88
7D
1C
6B
8A
6B
Trắc nghiệm
Giá trị cuối cùng của x bằng bao nhiêu khi x
có giá trị khởi tạo là 1.
6
if (x >= 0)
x += 5;
else if (x >= 5)
x += 2;
VC
VC
&

&
BB
BB
99
Không in gì cảD
x < 0 and z < 0C
x < 0 and z > 0B
x > 0 and y > 0A
x <0 and z > 0B
Trắc nghiệm
Giả sử x = 1, y = -1, z = 1.
Cho biết kết quả in ra của đoạn chương trình
sau:
7
if (x > 0)
if (y > 0)
printf(“x > 0 and y > 0”);
else if (z > 0)
printf(“x < 0 and z > 0”);
VC
VC
&
&
BB
BB
1010
4D
3C
2B
1A

2B
Trắc nghiệm
Cho biết giá trị cuối cùng của x.
8
int x = 3;
if (x == 2);
x = 0;
if (x == 3) x++;
else x += 2;
VC
VC
&
&
BB
BB
1111
4D
3C
2B
1A
2B
Trắc nghiệm
y bằng bao nhiêu sau khi thực thi phát biểu
switch sau:
9
int x = 3, y;
switch (++x + 3) {
case 6: y = 0;
case 7: y = 1;
default: y += 1;

}
VC
VC
&
&
BB
BB
1212
bbbD
bbC
bcdB
abcdA
bbbD
Trắc nghiệm
Kết quả xuất ra của phát biểu switch dưới
đây là gì?
10
char ch = ‘b’;
switch (ch) {
case ‘a’: printf(“%c”, ch);
case ‘b’: printf(“%c”, ch);
case ‘c’: printf(“%c”, ch);
case ‘d’: printf(“%c”, ch);
}
VC
VC
&
&
BB
BB

1313
Lặp vô hạnD
32C
10B
12A
32C
Trắc nghiệm
Kết xuất cuối cùng của giá trị S?
11
int S = 0, I;
while (i = 1) {
S = S + 2 * i;
i++;
if (i >= 5 || S > 30)
break;
}
printf(“%d”, S);
VC
VC
&
&
BB
BB
1414
Lặp vô hạnD
50C
55B
45A
45A
Trắc nghiệm

Kết xuất cuối cùng của giá trị S?
12
int i = 1, S = 0;
while (1) {
S += i++;
if (i % 10 == 0)
break;
}
printf(“%d”, S);
VC
VC
&
&
BB
BB
1515
8D
7C
6B
5A
6B
Trắc nghiệm
sum bằng bao nhiêu sau khi vòng lặp dưới
đây kết thúc?
13
int sum = 0;
int item = 0;
do {
item++;
sum += item;

if (sum > 4)
break;
} while (item < 5);
VC
VC
&
&
BB
BB
1616
0 1D
0 2C
1 3B
1 2A
0 1D
Trắc nghiệm
Cho biết đoạn chương trình sau đây xuất ra
màn hình những gì?
14
int i, a = 0;
for (i = 0; i < 3; i++) {
if (i == 2)
continue;
a += i;
if (i > 1) break;
printf(“%d ”, a);
}
VC
VC
&

&
BB
BB
1717
32D
5C
14B
60A
60A
Trắc nghiệm
Kết quả cuối cùng của giá trị S sau vòng lặp?
15
int i, S = 0;
for (i = 5; i < 20; i += 2) {
S += i;
if ((i%5 == 0) && (i%3 == 0))
break;
}
printf(“%d”, S);
VC
VC
&
&
BB
BB
1818
Kết quả khácD
5C
8B
32A

8B
Trắc nghiệm
Kết quả cuối cùng của giá trị S sau vòng lặp
16
int S = 0, i;
for (i = 5; i < 20; i += 2) {
switch (i % 2) {
case 0: S += S; break;
case 1: S += 1; break;
}
}
printf(“%d”, S);
VC
VC
&
&
BB
BB
1919
Kết quả khácD
4 5C
6 12B
5 10A
4 5C
Trắc nghiệm
Kết quả của đoạn chương trình sau là gì?
17
int a[] = {1, 2, 3, 4, 5}, N = 5, i;
for (i = 0; i < N/2; i++)
a[i] = a[N – i + 1];

printf(“%d %d”, a[3], a[4]);
VC
VC
&
&
BB
BB
2020
5 3 1 2 3D
5 4 3 2 1C
1 2 3 4 5B
3 4 1 5 2A
5 4 3 2 1C
Trắc nghiệm
Kết quả của đoạn chương trình sau?
18
int a[] = {3, 4, 1, 5, 2}, N=5, x, y,
t;
for (x = 0; x < N; x++)
for (y = 0; y < N; y++)
if (a[x] > a[y]) {
t = a[x];
a[x] = a[y];
a[y] = t;
}
for (x = 0; x < N; x++)
printf(“%d ”, a[x]);
VC
VC
&

&
BB
BB
2121
Tìm max của aD
Đảo ngược aC
Sắp xếp a giảmB
Kô thay đổi aA
Đảo ngược aC
Trắc nghiệm
Chức năng của đoạn chương trình sau là gì?
19
int a[] = {3, 4, 1, 5, 2}, N = 5, i, k;
for (i = 0; i < N/2; i++) {
k = a[i];
a[i] = a[N – i – 1];
a[N – i – 1] = k;
}
for (i = 0; i < N; i++)
printf(“%d ”, a[i]);
VC
VC
&
&
BB
BB
2222
21D
60C
63B

61A
21D
Trắc nghiệm
Cho biết kết
xuất của đoạn
chương trình
sau đây?
20
int tinhtong(int pa[][3]) {
int hang;
int tong_cot = 0;
for (hang=0; hang<2; hang++)
tong_cot += pa[hang][0];
return tong_cot;
}
void main() {
int a[2][3] = {{10, 20, 30},
{11, 21, 31}};
int tong;
tong = tinhtong(a);
printf(“%d”, tong);
}
VC
VC
&
&
BB
BB
2323
5D

4C
3B
2A
5D
Trắc nghiệm
Sau khi kết thúc đoạn chương trình sau đây,
giá trị myArray[1][2] là bao nhiêu?
21
int i, j, ctr = 0;
int myArray[2][3];
for (i = 0; i < 3; i++)
for (j = 0; j < 2; j++) {
myArray[j][i] = ctr;
ctr++;
}
VC
VC
&
&
BB
BB
2424
Tự luận
Gọi n là một số nguyên dương.
Viết hàm tính tổng các chữ số xuất hiện trong
n. Thao tác này được thực hiện liên tiếp cho
đến khi tổng tìm được là số có một chữ số.
Hàm trả về kết quả cuối cùng. Mẫu của hàm
được khai báo như sau:
int sumNumbers(int n);

Ví dụ: n = 1989

1 + 9 + 8 + 9 = 27

2 + 7 = 9
Vậy tổng cuối cùng là 9.
1
VC
VC
&
&
BB
BB
2525
Tự luận
Gọi S là chuỗi ký tự bao gồm ký tự khoảng
trắng và ký tự chữ. Một từ là dãy liên tiếp các
ký tự chữ, phân tách với từ bên cạnh bởi một
hoặc nhiều khoảng trắng. Viết hàm có nhiệm
vụ tìm và trả về số từ trong chuỗi.
Mẫu của hàm được khai báo như sau:
int countWords(char S[]);
Ví dụ: Với chuỗi S dưới đây thì hàm trả về 4.
S = “~~abcd~~~def~ghijk~~~lm~~~”
Dấu ‘~’ ký hiệu khoảng trắng.
2

×