Tải bản đầy đủ (.doc) (19 trang)

ĐỀ THI THỬ TIN HỌC ĐẠI CƯƠNG

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 (96.44 KB, 19 trang )

Đề Thi Thử THĐC 2013_2014 - Attempt 1
Question 1
Marks: 1
Hãy điền vào "...." để đoạn chương trình sau tính s = 1+3+5+7+9?
int s = 0;
for(int i = 9; i > 0; ....) s+= i;
Choose one answer.
a. i++
b. i+= 2
c. i-d. i-= 2
Question 2
Marks: 1
Đoạn chương trình sau xuất ra kết quả gi?
tinh(int *p){
int i;
for(i = 0;i < 4;i++){
*p = *p-1;
p++;
}
}
int main(){
int a[] = {6,7,8,9},i;
tinh(a);
for(i = 3;i > = 0;i--) printf(“%d”,a[i]);
return 0;
}
Choose one answer.
a. 5, 6, 7, 8
b. 6, 7, 8, 9
c. 8, 7, 6, 5
d. Biên dịch lỗi


Question 3
Marks: 1
Cho hàm void f(int n)
{
if (n > ’A’){
printf("%c",n) ; f(n-1);

1


}
}
Lệnh f(‘F’) có kết quả là gì?
Choose one answer.
a. Bị lỗi vì tham số không phải kiểu int
b. FEDCBA
c. ABCDEF
d. EBCDA
Question 4
Marks: 1
Cho biết ‘0’ có mã ASCII là 48. Cho biết kết quả của đoạn lệnh sau:
int m, a[] = {‘1’, 6, -6, 44, 8, 33};
m = a[0];
for (i = 0; i < 6; i++)
if (m < a[i]) m = a[i]; printf(“ m = %d”, m);
Choose one answer.
a. 44
b. 49
c. 33
d. -6

Question 5
Marks: 1
Hãy điền vào chỗ "...." để đoạn chương trình sau tính tổng các chữ số của một số nguyên
dương a?
unsigned int a = 1234, s = 0;
while ( .... ){
s+ = a%10;
a/ = 10;
}
Choose one answer.
a. a>0
b. a!=0
c. a
d. tất cả đều đúng
Question 6
Marks: 1

2


Kết quả của chương trình sau là gì ?
#include < stdio.h >
void hoandoi(int a, int b)
{ int t = a;a = b; b = t; }
main()
{
int a = 100, b = 200;
hoandoi(&a, &b);
printf("%d %d", a, b);
}

Choose one answer.
a. 100 200
b. 200 100
c. Chương trình bị lỗi
d. Kết quả khác
Question 7
Marks: 1
Hãy chọn kết quả của phép tính: 21&15^11|13
Choose one answer.
a. 13
b. 15
c. 14
d. 16
Question 8
Marks: 1
Cho nguyên mẫu hàm: void f(void); Lệnh nào sau đây là hợp lệ?
Choose one answer.
a. x=f();
b. f();
c. f( void)
d. Tất cả đều không hợp lệ
Question 9
Marks: 1
Với đoạn lệnh:
int x[5] = {5, 10, 15, 20, 25};
int *px = x;
px + = 3;
Khi đó, px là gì?
Choose one answer.
a. địa chỉ của x[0]


3


b. địa chỉ của x[3]
c. giá trị của phần tử x[3]
d. 20
Question 10
Marks: 1
Hãy cho biết đoạn chương trình sau xuất gì ra màn hình
int n = 8;
for(int i = 1; i < n; i++)
if(i%3 = = 0) {printf("%d ",i); break;}
Choose one answer.
a. 1
b. 3 6
c. 3
d. không in gì
Question 11
Marks: 1
Kết quả in ra p bằng bao nhiêu khi thực hiện thuật toán sau:
Bước 1 : Gán p = 1; i = 1;
Bước 2 : Tính p = p*i;
Bước 3 : Tính i = i+2;
Bước 4 : Nếu (i < 8) thì quay lại bước 2, ngược lại in kết quả p
Bước 5 : Kết thúc
Choose one answer.
a. 103
b. 105
c. 107

d. Kết quả khác
Question 12
Marks: 1
Đổi số bát phân 555 sang số thập lục phân
Choose one answer.
a. 16C
b. 1D6
c. 16D
d. 1C6
Question 13
Marks: 1
Thuật toán là gì?
Choose one answer.
a. Chương trình thực thi trên máy tính.

4


b. Dữ liệu vào và các phép toán.
c. Các phép toán và kết quả.
d. Dãy trình tự các công việc để giải quyết một bài toán đặt ra.
Question 14
Marks: 1
Cho biết khai báo nguyên mẫu hàm nào sau đây là không đúng cú pháp?
Choose one answer.
a. void funct(char x, char y);
b. double funct(int x, y);
c. int funct();
d. char x();
Question 15

Marks: 1
Cho biết kết quả của đoạn mã sau:
x = 0;
switch(x)
{
case 1: printf( "One" );
case 0: printf( "Zero" );
case 2: printf( "Hello World" );
}
Choose one answer.
a. One
b. Zero
c. Hello World
d. ZeroHello World
Question 16
Marks: 1
Với đoạn lệnh:
int x[5] = {10, 20, 30, 40, 50};
int *px = x+1;
Khi đó, *px bằng bao nhiêu?
Choose one answer.
a. 11
b. 20
c. 21
d. Tất cả đều sai

5


Question 17

Marks: 1
Cho hàm sau:
int thi(int x, int *y)
{
x = 3; *y = 4;
return x+*y;
}
Hãy cho biết kết quả hiển thị lên màn hình khi thực hiện đoạn lệnh sau?
int x = 1, y = 2;
thi(y,&x);
printf("%d, %d",x,y);
Choose one answer.
a. 4, 3
b. 1, 4
c. 3, 4
d. 4, 2
Question 18
Marks: 1
Hãy cho biết đoạn chương trình sau xuất gì ra màn hình
int n = 10,s = 0;
for(int i = 0; i < n; i+ = 2) s+ = i;
printf("%d",s);
Choose one answer.
a. 30
b. 20
c. 22
d. 12
Question 19
Marks: 1
Cho biết kết quả khi chạy đoạn chương trình sau:

char c = 67;
printf("%c",(c >= 'C')?(c-1) : (c-2));
Choose one answer.
a. A
b. B
c. C
d. sai cú pháp
Question 20
Marks: 1
Cho hàm thực hiện trên mảng a gồm n phần tử
int func (int a[ ], int n, int *m)
{

6


int i, k;
k = 0; *m = a[k];
for(i = 0; i < n; i++)
if (a[i] > = *m) {*m = a[i]; k = i;}
return k;
}
Hàm này để:
Choose one answer.
a. Tính số lớn nhất trong mảng a
b. Tính số nhỏ nhất trong mảng a
c. Trả về vị trí của số lớn nhất đầu tiên trong mảng a và giá trị lớn nhất trong m
d. Trả về vị trí của số lớn nhất cuối cùng trong mảng a và giá trị lớn nhất trong m
Question 21
Marks: 1

Hãy cho biết đoạn chương trình sau xuất gì ra màn hình, biết rằng mã ASCII của ký tự ‘0’ là
48
int a = '1';
switch(a-49){
case 0 : printf("so khong"); break;
case 1: printf("so mot"); break;
case 2: printf("so hai");break;
default: printf("so khac");
}
Choose one answer.
a. so khac
b. so khong
c. so mot
d. so hai
Question 22
Marks: 1
Cho hàm
int stop(int n)
{
if (n = = 0) return 1;
return n+stop(n-1);
}
Lệnh stop(-3) có kết quả là gì?
Choose at least one answer.
a. 0
b. -6

7



c. Bị lỗi vì lệnh có if mà không có else
d. Bị lỗi vì không gặp được giá trị neo n=0
Question 23
Marks: 1
Để lấy địa chỉ phần tử thứ i của mảng a, ta viết: (Chọn 2 đáp án đúng)
Choose at least one answer.
a. &a[i]
b. *a+i
c. a+i
d. Tất cả đều đúng
Question 24
Marks: 1
Hãy cho biết đoạn chương trình sau xuất gì ra màn hình
int a[5] = {5, 1, 15, 20, 25};
int i, j, m;
i = ++a[1];
j = a[1]++;
m = a[i++];
printf("%d, %d, %d", i, j, m);
Choose one answer.
a. 2, 1, 15
b. 1, 2, 5
c. 3, 2, 15
d. 2, 3, 20
Question 25
Marks: 1
Đổi số thập lục phân CFA5 ra dãy nhị phân
Choose one answer.
a. 1100 1110 1010 0101
b. 1100 1101 1000 0101

c. 1100 1011 1000 0101
d. 1100 1111 1010 0101
Question 26
Marks: 1
Cho biết kết quả khi chạy đoạn lệnh sau và nhập: chao ban
char *a;
scanf("%s", &a);
printf("%s", a);
Choose one answer.
a. chao ban
b. chao
c. ban
d. đoạn lệnh không thể chạy

8


Question 27
Marks: 1
Cho biết kết quả khi chạy đoạn chương trình sau:
char a = -127,b = a << 1;
printf("%d, %d",b, a << 1);
Choose one answer.
a. -254, -254
b. 2, -254
c. 2, 2
d. cả a, b, c đều sai
Question 28
Marks: 1
Cho đoạn chương trình

int x = 5;
float y = 11.0;
int z; float t ;
z = y/x ;
t = (float) z/x ;
Hãy cho biết giá trị nằm trong biến z và t:
Choose one answer.
a. z = 2.2 , t = 0
b. z = 2.2 , t =0.4
c. z =2 , t =0.4
d. z = 2 , t = 0
Question 29
Marks: 1
Cho biết kết quả khi chạy đoạn chương trình sau:
char a = 0x80;
printf("%d",a >> 1);
Choose one answer.
a. -64
b. -15
c. 0x8c
d. 8c
Question 30
Marks: 1
Cho biết kết quả khi chạy đoạn chương trình sau:
int a = 3, b = 4;
int t = a;

9



a = b;
b = t;
printf("%d va %d", a, b);
Choose one answer.
a. a va b
b. b va a
c. 3 va 4
d. 4 va 3
Time Remaining

Đề Thi Thử THĐC 2013_2014 - Attempt 3
Question 1
Marks: 1
Đoạn chương trình sau xuất ra kết quả gi?
tinh(int *p){
int i;
for(i = 0;i < 4;i++){
*p = *p-1;
p++;
}
}
int main(){
int a[] = {6,7,8,9},i;
tinh(a);
for(i = 3;i > = 0;i--) printf(“%d”,a[i]);
return 0;
}
Choose one answer.
a. 5, 6, 7, 8
b. 6, 7, 8, 9

c. 8, 7, 6, 5
d. Biên dịch lỗi
Question 2
Marks: 1
Cho biết kết quả khi chạy đoạn chương trình sau:
char c = 67;
printf("%c",(c >= 'C')?(c-1) : (c-2));
Choose one answer.
a. A

10


b. B
c. C
d. sai cú pháp
Question 3
Marks: 1
Đổi số thập lục phân CFA5 ra dãy nhị phân
Choose one answer.
a. 1100 1110 1010 0101
b. 1100 1101 1000 0101
c. 1100 1011 1000 0101
d. 1100 1111 1010 0101
Question 4
Marks: 1
Hãy cho biết đoạn chương trình sau xuất gì ra màn hình
int n = 8;
for(int i = 1; i < n; i++)
if(i%3 = = 0) {printf("%d ",i); break;}

Choose one answer.
a. 1
b. 3 6
c. 3
d. không in gì
Question 5
Marks: 1
Cho biết ‘0’ có mã ASCII là 48. Cho biết kết quả của đoạn lệnh sau:
int m, a[] = {‘1’, 6, -6, 44, 8, 33};
m = a[0];
for (i = 0; i < 6; i++)
if (m < a[i]) m = a[i]; printf(“ m = %d”, m);
Choose one answer.
a. 44
b. 49
c. 33
d. -6
Question 6
Marks: 1
Hãy điền vào chỗ "...." để đoạn chương trình sau tính tổng các chữ số của một số nguyên
dương a?
unsigned int a = 1234, s = 0;
while ( .... ){

11


s+ = a%10;
a/ = 10;
}

Choose one answer.
a. a>0
b. a!=0
c. a
d. tất cả đều đúng
Question 7
Marks: 1
Cho hàm
int stop(int n)
{
if (n = = 0) return 1;
return n+stop(n-1);
}
Lệnh stop(-3) có kết quả là gì?
Choose at least one answer.
a. 0
b. -6
c. Bị lỗi vì lệnh có if mà không có else
d. Bị lỗi vì không gặp được giá trị neo n=0
Question 8
Marks: 1
Hãy điền vào "...." để đoạn chương trình sau tính s = 1+3+5+7+9?
int s = 0;
for(int i = 9; i > 0; ....) s+= i;
Choose one answer.
a. i++
b. i+= 2
c. i-d. i-= 2
Question 9
Marks: 1

Hãy cho biết đoạn chương trình sau xuất gì ra màn hình, biết rằng mã ASCII của ký tự ‘0’ là
48
int a = '1';
switch(a-49){
case 0 : printf("so khong"); break;
case 1: printf("so mot"); break;
case 2: printf("so hai");break;
default: printf("so khac");

12


}
Choose one answer.
a. so khac
b. so khong
c. so mot
d. so hai
Question 10
Marks: 1
Hãy cho biết đoạn chương trình sau xuất gì ra màn hình
int n = 10,s = 0;
for(int i = 0; i < n; i+ = 2) s+ = i;
printf("%d",s);
Choose one answer.
a. 30
b. 20
c. 22
d. 12
Question 11

Marks: 1
Kết quả in ra p bằng bao nhiêu khi thực hiện thuật toán sau:
Bước 1 : Gán p = 1; i = 1;
Bước 2 : Tính p = p*i;
Bước 3 : Tính i = i+2;
Bước 4 : Nếu (i < 8) thì quay lại bước 2, ngược lại in kết quả p
Bước 5 : Kết thúc
Choose one answer.
a. 103
b. 105
c. 107
d. Kết quả khác
Question 12
Marks: 1
Cho biết kết quả của đoạn mã sau:
x = 0;
switch(x)
{
case 1: printf( "One" );
case 0: printf( "Zero" );
case 2: printf( "Hello World" );
}

13


Choose one answer.
a. One
b. Zero
c. Hello World

d. ZeroHello World
Question 13
Marks: 1
Cho biết kết quả khi chạy đoạn lệnh sau và nhập: chao ban
char *a;
scanf("%s", &a);
printf("%s", a);
Choose one answer.
a. chao ban
b. chao
c. ban
d. đoạn lệnh không thể chạy
Question 14
Marks: 1
Cho đoạn chương trình
int x = 5;
float y = 11.0;
int z; float t ;
z = y/x ;
t = (float) z/x ;
Hãy cho biết giá trị nằm trong biến z và t:
Choose one answer.
a. z = 2.2 , t = 0
b. z = 2.2 , t =0.4
c. z =2 , t =0.4
d. z = 2 , t = 0
Question 15
Marks: 1
Với đoạn lệnh:
int x[5] = {5, 10, 15, 20, 25};

int *px = x;
px + = 3;
Khi đó, px là gì?
Choose one answer.
a. địa chỉ của x[0]

14


b. địa chỉ của x[3]
c. giá trị của phần tử x[3]
d. 20
Question 16
Marks: 1
Kết quả của chương trình sau là gì ?
#include < stdio.h >
void hoandoi(int a, int b)
{ int t = a;a = b; b = t; }
main()
{
int a = 100, b = 200;
hoandoi(&a, &b);
printf("%d %d", a, b);
}
Choose one answer.
a. 100 200
b. 200 100
c. Chương trình bị lỗi
d. Kết quả khác
Question 17

Marks: 1
Hãy chọn kết quả của phép tính: 21&15^11|13
Choose one answer.
a. 13
b. 15
c. 14
d. 16
Question 18
Marks: 1
Hãy cho biết đoạn chương trình sau xuất gì ra màn hình
int a[5] = {5, 1, 15, 20, 25};
int i, j, m;
i = ++a[1];
j = a[1]++;
m = a[i++];
printf("%d, %d, %d", i, j, m);
Choose one answer.
a. 2, 1, 15
b. 1, 2, 5

15


c. 3, 2, 15
d. 2, 3, 20
Question 19
Marks: 1
Cho hàm sau:
int thi(int x, int *y)
{

x = 3; *y = 4;
return x+*y;
}
Hãy cho biết kết quả hiển thị lên màn hình khi thực hiện đoạn lệnh sau?
int x = 1, y = 2;
thi(y,&x);
printf("%d, %d",x,y);
Choose one answer.
a. 4, 3
b. 1, 4
c. 3, 4
d. 4, 2
Question 20
Marks: 1
Cho biết kết quả khi chạy đoạn chương trình sau:
char a = -127,b = a << 1;
printf("%d, %d",b, a << 1);
Choose one answer.
a. -254, -254
b. 2, -254
c. 2, 2
d. cả a, b, c đều sai
Question 21
Marks: 1
Cho biết khai báo nguyên mẫu hàm nào sau đây là không đúng cú pháp?
Choose one answer.
a. void funct(char x, char y);
b. double funct(int x, y);
c. int funct();
d. char x();

Question 22
Marks: 1
Cho nguyên mẫu hàm: void f(void); Lệnh nào sau đây là hợp lệ?
Choose one answer.
a. x=f();
b. f();

16


c. f( void)
d. Tất cả đều không hợp lệ
Question 23
Marks: 1
Để lấy địa chỉ phần tử thứ i của mảng a, ta viết: (Chọn 2 đáp án đúng)
Choose at least one answer.
a. &a[i]
b. *a+i
c. a+i
d. Tất cả đều đúng
Question 24
Marks: 1
Đổi số bát phân 555 sang số thập lục phân
Choose one answer.
a. 16C
b. 1D6
c. 16D
d. 1C6
Question 25
Marks: 1

Cho biết kết quả khi chạy đoạn chương trình sau:
char a = 0x80;
printf("%d",a >> 1);
Choose one answer.
a. -64
b. -15
c. 0x8c
d. 8c
Question 26
Marks: 1
Cho hàm void f(int n)
{
if (n > ’A’){
printf("%c",n) ; f(n-1);
}
}
Lệnh f(‘F’) có kết quả là gì?
Choose one answer.
a. Bị lỗi vì tham số không phải kiểu int
b. FEDCBA
c. ABCDEF

17


d. EBCDA
Question 27
Marks: 1
Với đoạn lệnh:
int x[5] = {10, 20, 30, 40, 50};

int *px = x+1;
Khi đó, *px bằng bao nhiêu?
Choose one answer.
a. 11
b. 20
c. 21
d. Tất cả đều sai
Question 28
Marks: 1
Thuật toán là gì?
Choose one answer.
a. Chương trình thực thi trên máy tính.
b. Dữ liệu vào và các phép toán.
c. Các phép toán và kết quả.
d. Dãy trình tự các công việc để giải quyết một bài toán đặt ra.
Question 29
Marks: 1
Cho biết kết quả khi chạy đoạn chương trình sau:
int a = 3, b = 4;
int t = a;
a = b;
b = t;
printf("%d va %d", a, b);
Choose one answer.
a. a va b
b. b va a
c. 3 va 4
d. 4 va 3
Question 30
Marks: 1

Cho hàm thực hiện trên mảng a gồm n phần tử
int func (int a[ ], int n, int *m)
{

18


int i, k;
k = 0; *m = a[k];
for(i = 0; i < n; i++)
if (a[i] > = *m) {*m = a[i]; k = i;}
return k;
}
Hàm này để:
Choose one answer.
a. Tính số lớn nhất trong mảng a
b. Tính số nhỏ nhất trong mảng a
c. Trả về vị trí của số lớn nhất đầu tiên trong mảng a và giá trị lớn nhất trong m
d. Trả về vị trí của số lớn nhất cuối cùng trong mảng a và giá trị lớn nhất trong m
Time Remaining

19



×