1. Trang chủ
  2. » Công Nghệ Thông Tin

Đề thi môn tin học 2 docx

4 174 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 104,65 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

In ra kết quả không xác định Câu 12: Nội dung của value chiếm: a... The end of test d... Chương trình sai cú pháp Câu 25 Hãy chọn phát biểu đúng: a.. Chương trình sai cú pháp c.. Cả 3 c

Trang 1

Đềthi trắc nghiệm

Bảng trả lời câu hỏi:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

a

b

c

d

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

c

d

Chú ý: * Thí sinh đánh dấu chéo (X) vào ô cần chọn (ví dụ ở câu 31 ta chọn a)

* Nếu chọn sai thì thí sinh tô đen ô chọn trước đó rồi chọn câu khác (ví dụ như câu 32)

* Chỉ những câu có trả lời trong bảng trả lời câu hỏi mới được chấm điểm

* Thí sinh được phép sử dụng tài liệu

Câu 1: Cho đoạn chương trình:

switch(a=2,++b)

{

case 5: b+=2;

default : a += b ;

case 2: a ;

}

printf("%d %d",a, b);

Kết quả khi chạy đoạn chương trình là:

a Báo lỗi b 1 4

c 2 7 d 8 5

Câu 2: Cho đoạn chương trình

int a,b=4;

switch(a=2,++b)

{

case 5: b*=2;

default :

a == b ;

break;

case 2: a ;

}

printf("%d %d",a, b);

Kết quả khi chạy đoạn chương trình là:

a Báo lỗi b Không xác định

c 10 9 d 2 8

Câu 3:

Cho khai báo:

int a =17, b=3;

double c;

Các lệnh nào sau đây cho kết quả không chính xác

a c = double(a/b) b c = double(a)/b

c c = (double)a/b d c = a/b;

Câu 4:

Các khởi tạo nào dưới đây sai

a int a[5] = {1,2,3},*p =a;

b enum mau {trang, xanh, do};

c char *p = “1234”, **p1 =&p;

d int i; char *p =&i;

Câu 5: Cho đoạn chương trình:

if ((a++==3)&&(++b))

a+=3;

b+=a;

printf("%d %d",a,b);

Kết quả khi chay chương trình trên là:

a 3 4 b 3 5

c 3 7 d 6 11

Trang 2

Câu 6: Cho đoạn chương trình:

if ((a++==3)&&(++b)) ;

{

a+=3;

b+=a;

}

printf("%d %d",a,b);

Kết quả khi chay chương trình trên là:

a Sai syntax

b 3 4

c 6 10

d 6 11

Đoạn chương trình dùng cho câu 7 và 8

struct thu

{

}a,*pa;

char x1 ;

void main()

{

pa=&a;

printf("%d %d",a.x,a.y);

getch();

}

Câu 7 :

Kết quả chạy chương trình trên là :

a Không xác định b 2 -3

Câu 8 :

Các lệnh nào sau đây sai :

a *pa.x = a.y;

b a.c1 = &x1;

c *a.c1 = (char)pa->x;

d *pa->c1 = &x1;

Câu 9 :Cho đoạn chương trình:

int x =4161;

char *c;

c =(char*)&x;

printf("%d %d",*c, *(c+1));

Kết quả chạy chương trình trên là :

a 61 41 b 97 65

c 65 97 d 65 16

Câu 10 :

Cho đoạn chương trình:

int x =0x4161;

char *c;

c =(char*)&x;

*c++;

printf("%d %c",*c, x);

Kết quả chạy chương trình trên là :

a Sai syntax b 98 b

Cho đoạn chương trình dùng cho câu 11,12 :

#include<stdio.h>

union test {

char c;

short x;

void main() {

value.x = 1322;

value.c = 65;

printf(" %d %d",cau1.c,cau1.x);

}

Câu 11 :

Kết quả chạy chương trình này là:

a 65 1322

b 65 1345

c 22 1322

d In ra kết quả không xác định

Câu 12: Nội dung của value chiếm:

a 1 byte b 2 byte

c 3 byte d 4 byte

Câu 13:Cho đoạn chương trình

union {

char c;

int x;

int x;

void main() {

for(; x<4;x++) cau1.x += 100*x +x;

printf(" %d %d",cau1.c,cau1.x);

} Kết quả chạy chương trình:

a Sai syntax

b In trị không xác định

c 606 606

d 94 606

Câu 14 :

Cho chương trình:

Trang 3

#include<stdio.h>

#include<string.h>

char s1[20] = "The end of test ";

char *s2 = "Computing ";

void main()

{

strcpy(s1,s2);

s1[strlen(s1)] = ' ';

printf("%s", s1);

}

Kết quả chương trình trên là:

a Computing test

b Computing

c The end of test

d Sai syntax

Câu 15:

int a=4,b=3;

b += a*b++ + ++b^b*4 + a++;

a += (a>b)? a+=++a*3:a+= a*7;

printf("%d %d",a,b);

Kết quả chạy chương trình trên là:

a 44 35 b 48 35

c 32 3 d Cả ba đều sai

Đoạn chương trình sau dùng cho câu 16,17,18

int sum(int *x)

{

static j=0;

*x+=j;

j+=*x;

return(j);

}

void main()

{

int a[]={1,4,6,8,9};

int *p ;

int t1=0,t2=0;

int i;

p = a;

for (i=1; i<5; i*=2) t1+= p[i];

for(i=0; i<=3; i++) t2 += sum(&a[i]);

for(i=0; i<4; i++) printf ("%d ",a[i]);

}

Câu 16: Giá trị t1 sau khi chạy chương trình là:

a 19 b 16

c 11 d 27

Câu 17: Giá trị t2 sau khi chạy chương trình là:

a 11 b 69

c 0 d 19

Câu 18: Xuất sau khi chạy chương trình là:

a 1 5 12 12 b 1 4 6 8

c 1 5 12 26 d 1 4 6 6

Câu 19 Cho đoạn chương trình sau:

int i=4,j=1;

if (i<j++) ;

else if (i+j <4)

i += 2;

else ; i+=2;

Trị của i và j tương ứng là:

a Sai syntax b 6 1

c 6 3 d 6 2 Đoạn chương trình sau dùng cho các câu 20,21,22,23,24,25:

#include <stdio.h>

double a,b;

void f1(int a);

int f2 (int a);

void f1(int a) {

int s=0, i=1;

if (!i<=a)

s -= 3;

else

s += 1;

printf("%d",s+i);

} int f2 (int a) {

int i=1;

for (;a%=i++;);

printf ("%d", a);

if (i==a) return a;

else return a/i;

} Câu 20) Khi gọi hàm f1(1)

a In ra 1

b In ra 2

c In ra -2

d In ra 12 Câu 21) Khi gọi hàm f2 (2):

a In ra 0

b In ra 1

c Không in ra gì cả

d Cả 3 câu trên đều sai Câu 22) Khi gọi hàm f1(f2(2))

a In ra 12

b In ra 02

c In ra 0-2

d In ra 0-3 Câu 23) Khi gọi hàm f2 ((int) f1(1))

a In ra 13

Trang 4

b In ra 31

c In ra 21

d Cả 3 câu trên đều sai

Câu 24) Khi gọi hàm f1(f2(0)+a=1)

a In ra 12

b In ra 02

c In ra 0-2

d Chương trình sai cú pháp

Câu 25) Hãy chọn phát biểu đúng:

a a=b+f1(a);

b f1(a) += f2(2);

c f1 (f2(b) + (double) 1);

d f2 ((int) f1(b));

Câu 26) Đoạn chương trình sau:

int x=2,y=1;

do

{

x++;

if (x==5)

break;

y -= x;

} while (x < 5);

printf ("%d %d",x,y);

Giá trị in ra từ đoạn chương trình trên là:

a 5 5 b -6 5

c 6 -5 d 5 -6

Câu 27) Cho khai báo biến sau:

int a, *p1; double **p2;

char c, *pc;

Hãy chọn phát biểu đúng:

a a=(int) (&p1–(int **)p2);

b p2=(double *) p1+ (int *)a;

c p1 = (double *) p2 – a =1;

d pc= &a + &c;

Câu 28) Cho chương trình sau

#include <stdio.h>

int doi (char *a);

main()

{

int x=0x0102;

char y;

y = *((char *)&x + 1);

doi(&y);

printf("%d",y);

doi(&y);

printf("%d",y);

}

int doi(char *a)

{

static tam;

*a+= tam =1;

return tam;

} Kết quả là:

a Chương trình in ra 33

b Chương trình sai cú pháp

c Chương trình in ra 23

d Chương trình in ra 22 Cho chương trình sau (dùng cho các câu 29,30)

#include<stdio.h>

int ham1(int a, int b);

void ham2(int *a, int *b);

main() { int a=1, b;

b=ham1(a,b=2);

printf("%d %d", a,b);

ham2(&a,&b);

} int ham1(int a, int b) {

a+=b++;

return a;

} void ham2(int *a, int *b) {

if(*a>*b) *a+= ham1(2,*b);

else *a-=2;

printf("%d %d", *a, *b);

return;

} Câu 29) Hàm printf trong hàm main() in ra:

c 1 3 d Cả 3 câu trên đều sai Câu 30) Hàm printf trong hàm ham2 in ra:

c 1 3 d Cả 3 câu trên đều sai

Ngày đăng: 12/08/2014, 06:20

HÌNH ẢNH LIÊN QUAN

Bảng trả lời câu hỏi: - Đề thi môn tin học 2 docx
Bảng tr ả lời câu hỏi: (Trang 1)

TỪ KHÓA LIÊN QUAN

w