150 câu hỏi ôn tập Tin học đại cương

Câu 145 .Có thể thực hiện các phép toán nào trên con trỏ ? A. Nhân, chia B. Nhân, chia, cộng, trừ C. Chia D. Cộng, trừ Câu 146 .Cho hàm thực hiện trên mảng một chiều a gồm n phần tử kiểu int sau đây : void thihocky(int *a, int *n) { int i; for(i=0; i

pdf32 trang | Chia sẻ: hachi492 | Ngày: 08/01/2022 | Lượt xem: 435 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu 150 câu hỏi ôn tập Tin học đại cương, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Jack001N 150 CÂU HỎI ÔN TẬP TIN HỌC ĐẠI CƯƠNG Câu 1.Nếu hàm func( ) không có tham số thì trong có thể khai báo: A. func( ) B. func(void) C. func(void) hoặc func() D. func Câu 2 .Nếu không khai báo kiểu trả về của hàm thì được mặc định là: A. Void B. Char C. Int D. float Câu 3 .Phạm vi gọi hàm: A. Các hàm được gọi hàm main( ) B. Các hàm không được gọi hàm main( ) C. Các hàm được gọi bởi hàm main( ) D. Các hàm được gọi bởi hàm main( ) và chúng có thể gọi lẫn nhau. Câu 4 .Tham số hình thức của hàm được khai báo : A. Như khai báo biến. B. Như khai báo mảng. C. Như khai báo biến nhưng không được khai báo chung. D. Khai báo khác Câu 5. Hàm được khai báo nguyên mẫu với: A. Tên hàm và danh sách tham số. B. Kiểu hàm và tên hàm. C. Kiểu hàm và danh sách tham số. D. Kiểu hàm, tên hàm và danh sách tham số. Câu 6. Hàm có thể khai báo nguyên mẫu và định nghĩa : A. Định nghĩa trong hàm main( ). B. Khai báo nguyên mẫu trong hàm main( ) và chỉ được gọi bởi hàm main( ). C. Khai báo nguyên mẫu ở đầu chương trình và chỉ được gọi bởi hàm main( ). D. Khai báo nguyên mẫu ở đầu chương trình và định nghĩa sau hàm main( ). Câu 7 .Danh sách tham số chỉ có tên hình thức thì có thể khai báo kiểu tham số: A. Sau ) với các tham số cùng kiểu cũng phải khai báo riêng. B. Sau ) với các tham số cùng kiểu có thể khai báo chung. C. Sau { với các tham số cùng kiểu cũng phải khai báo riêng. D. Sau { với các tham số cùng kiểu có thể khai báo chung. Câu 8 .Trong lệnh gọi hàm, danh sách tham số thực sự truyền cho hàm: A. Như danh sách tham số hình thức trong khai báo. B. Phải có kiểu tham số. C. Đúng kiểu như trong khai báo. D. Đúng kiểu và đúng số tham số như trong khai báo. Câu 9. Biến cục bộ: A. Là biến được khai báo bên ngoài tất cả các hàm. B. Là biến được khai báo bên trong một hàm. C. Là biến được khai báo bên trong một hàm và chỉ được dùng trong hàm đó. D. Là biến được khai báo bên trong hoặc bên ngoài các hàm. Câu 10. Giữa biến cục bộ và biến toàn cục: A. Có thể trùng tên. B. Không được trùng tên. C. Nếu trùng tên thì biến cục bộ phải khai báo bên ngoài các hàm. Jack001N D. Có thể trùng tên và lệnh trong hàm ưu tiên biến cục bộ. Câu 11 .Một hàm có thể được gọi ở: A. Hàm main( ). B. Các hàm khác. C. Hàm main( ) và các hàm khác. D. Hàm main( ), các hàm khác và chính nó. Câu 12 .Một hàm đệ quy: A. Không phải hàm main( ). B. Là hàm chuẩn. C. Là hàm do người dùng định nghĩa. D. Là hàm được định nghĩa qua chính nó. Câu 13 .Khi hàm được gọi thì các lệnh trong hàm được thực hiện: A. Cho đến hết hàm. B. Cho đến khi gặp lệnh break. C. Cho đến khi gặp lệnh exit. D. Cho đến khi gặp lệnh return hoặc đến hết hàm. Câu 14 .Cho hàm func(a, b : int){ a=b++ ;}. Hàm này bị lỗi vì: A. Không có khai báo kiểu trả về. B. Khai báo tham số không đúng. C. Không có lệnh return. D. Chưa có giá trị của biến b. Câu 15 .Cho hàm void swap (int a, int b){int temp=a ; a=b ; b=temp ;}. Với các lệnh ở hàm main( ) : int n=5, k=7 ; swap(n, k) ; thì giá trị của các biến như sau : A. n=7, k=5. B. n=7, k=5, temp=7. C. n=5, k=7, temp=7. D. n=5, k=7. Câu 16 .Cho hàm void inc(int a){a++ ;}. Với các lệnh ở hàm main( ): int a=5; inc(a) ; printf(" %d", a) ; Kết quả là : A. 6 B. Không có kết quả vì hàm trên bị lỗi. C. Không có kết quả vì biến trùng tên với tham số. D. 5 Câu 17 .Cho hàm sum(int *a, int n){ int i, s ; for (s=0, i=0 ; i<n ; i++) s+=a[i] ; return s;}. Hàm trên để tính: A. Tổng mảng a gồm n số nguyên kiểu int. B. Đếm số phần tử trong mảng a. C. Hàm bị lỗi vì không khai báo kiểu trả về. D. Hàm bị lỗi vì lệnh: s=0, i=0; Câu 18 .Cho hàm fact(int n){ int i, p=1 ; for (i=0 ; i<n ; i++) p*=i ; return p;}. Hàm trên để tính: A. Tích mảng p gồm n số nguyên kiểu int. B. Tính n!. C. Hàm bị lỗi vì không khai báo kiểu trả về. D. Kết quả trả về là 0. Câu 19 .Cho hàm fact(int n){ int i, p=1; for (i=2 ; i<=n ; i++) p*=i ; return p;}. Hàm trên để tính: A. Tích mảng p gồm n số nguyên kiểu int. B. Tính n!. Jack001N C. Hàm bị lỗi vì không khai báo kiểu trả về. D. Hàm bị lỗi vì lệnh i=2; Câu 20 .Cho hàm prod(int a[], int n){ int i, p=1; for (i=0 ; i<n ; i++) p*=a[i]; return p;}. Hàm trên để tính: A. Tính tích mảng p gồm n số nguyên kiểu int. B. Tính tích mảng a gồm n số nguyên kiểu int. C. Hàm bị lỗi vì không khai báo kiểu trả về. D. Hàm bị lỗi vì không khai báo kích thước mảng a. Câu 21 .Biến toàn cục: A. Khai báo bên ngoài hàm main( ) B. Khai báo trong tất cả các hàm, ngoại trừ hàm main( ) C. Khai báo bên trong hàm main( ) D. Khai báo ngoài tất cả các hàm kể cả hàm main( ) Câu 22 .Phạm vi sử dụng của biến toàn cục A. Bên trong hàm main( ) B. Bên ngoài hàm main( ) C. Bên trong các hàm ngoại trừ hàm main( ) D. Bên trong các hàm kể cả hàm main( ) Câu 23 .Phạm vi sử dụng của biến cục bộ A. Bên trong hàm main( ) B. Bên ngoài hàm main( ) C. Bên trong các hàm ngoại trừ hàm main( ) D. Bên trong hàm có khai báo nó Câu 24 .Nếu tham số của hàm là con trỏ thì trong lệnh gọi hàm: A. Truyền hằng B. Tuyền bằng địa chỉ của biến C. Truyền bằng địa chỉ của biến hoặc con trỏ D. Truyền biến Câu 25 .Hàm sau tính long int giai_thua(int n) { int i; long int p=1; for(i=2;i<n;i++) p=p*i; return(p); } A. n !! B. p! C. (n-1)! D. n! Câu 26 .Hàm sau tính double mu ( double a, int n) { double p; int i; for(p=1,i=1;i<=abs(n);i++) p=p*a; if(n<0) p=1/p; return(p); } A. an B. na C. Kết quả khác D. an Câu 27 .Cho hàm : Jack001N int kt(unsigned n) { if (n%2) return(1 ) ; else return(0) ; } Biểu thức 1+kt(4+1) có giá trị A. 1 B. 0 C. 6 D. 2 Câu 28 .Hàm sau tính double tinhs(double x,int n) { double s, a; int i; s=1;a=x;i=1; while(i<=abs(n)){ s=s+a; i++; a=a*x; } return(s); } A. x+x2+x3++xn B. x2+x3++xn C. Kết quả khác D. 1+x+x2+x3++xn Câu 29 .Cho biết kết quả của chương trình sau #include int fibo(int i); void main( ) { int i=5; printf("\n So Fibonacci thu %d la %d",i,fibo(i)); } int fibo(int i) { if (i<3) return(1); else return (fibo(i-2)+fibo(i-1)); } A. So Fibonacci thu 5 là 8 B. So Fibonacci thu 5 là 3 C. Kết quả khác D. So Fibonacci thu 5 là 5 Câu 30 .Cho biết kết quả của chương trình sau: Jack001N #include void main( ) { unsigned n=3; printf("\nTong cua %u so la : %u",n+1, tinhs(n)); } unsigned tinhs(unsigned n) { unsigned i,s; for(s=0,i=1;i<=2*n+1;i+=2) s=s+i; return(s); } A. Tong cua 4 so la 9 B. Tong cua 3 so la 9 C. Kết quả khác D. Tong cua 4 so la 16 Câu 31 .Biến cục bộ tĩnh A. Được khai báo bên trong thân hàm B. Được khai báo với từ khoá static C. Vẫn tồn tại ngay cả khi hàm kết thúc\ D. Tất cả đều đúng Câu 32 .Biến con trỏ có thể chứa A. Giá trị của một biến\ B. Giá trị của một vùng nhớ C. Giá trị một biến hoặc một vùng nhớ D. Địa chỉ của một biến Câu 33 .Cho khai báo: int n, *pn=&n; A. n là biến kiểu int B. *pn là biến con trỏ và n là biến kiểu int C. pn là biến con trỏ D. n là biến kiểu int và pn là biến con trỏ. Câu 34 .Toán tử truy cập giá trị mà con trỏ chỉ đến là A. > B. . C. & D. * Câu 35 .Có khai báo sau char *str=”HELLO”; Phép toán str++ sẽ A. Tăng str lên 1 byte B. Tăng str lên 1 char C. str trỏ tới ký tự ‘E’ D. Cả 3 đáp án trên đều đúng. Câu 36 .Có khai báo sau int num[]={5,10,15,20,25}; int *ptr = &num[0]; Phép toán ptr++ sẽ A. Tăng ptr lên 1 int B. Tăng ptr lên 2 byte. C. ptr trỏ tới num[1] D. Cả 3 đáp án trên đều đúng. Jack001N Câu 37 .Cho đoạn chương trình sau: int num[ ]={1,3,5,7,9}; int *ptr1=&num[1]; int *ptr2=&num[3]; int n=ptr2-ptr1; Kết quả của n là A. 3 B. 4 C. 5 D. 2 Câu 38 .Chọn phát biểu đúng ? A. Cách đặt tên hàm giống cách đặt tên biến. B. Số tham số hình thức bằng số tham số thực. C. Các tham số trong nguyên mẫu của hàm đặt cách nhau bởi dấu phẩy. D. Tất cả đều đúng. Câu 39 .Cho biết giá trị của hàm thi(6)? int thi(int i){ return (!i%3); A. 0 B. 1 C. 2 D. Hàm bị lỗi. Câu 40 .Cho biết kết quả hiển thị lên màn hình khi chạy dòng lệnh thi(5);? int thi(int n){ for(int i=1; i<n; ) printf("%d ",i++); return 0; } A. 0 1 2 3 4 B. 1 2 3 4 C. 4 3 2 1 D. Lệnh gọi hàm không đúng. Câu 41 .Cho hàm sau: int thi(int n){ if (n==0 ) return 1; return thi(n- 1)*n; } Cho biết kết quả hiện lên màn hình khi thực hiện dòng lệnh printf("%o", thi(4)); A. 10 B. 24 C. 30 D. 12 Câu 42 .Cho biết giá trị của hàm thi(4)? int thi(int n){ if(n==0) return 0; return thi(n- 1)+n;} A. 0 B. 10 C. 6 D. 15 Jack001N Câu 43 .Cho hàm sau: int thi(int x, int *y){ x*=2; *y+=1; 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 i=1; j=1; printf("%d %d %d ",i,j,thi(i,&j)); A. 1 1 4 B. 2 2 4 C. 1 2 4 D. 2 1 4 Câu 44 .Cho hàm sau: void thi(unsigned int n){ if(n<2) printf("%d",n); else{thi(n/2); printf("%d",n%2);} } Hãy cho biết kết quả hiển thị lên màn hình khi thực hiện lệnh thi(10);? A. 0101 B. 101 C. 1010 D. Hàm bị lỗi Câu 45 .Cho biết kết quả hiển thị lên màn hình khi gọi hàm thi(8); void thi(int i){ if(i<5) printf("%d ",i); else{thi(i-1); printf("%d ",i);} } A. 4 5 6 7 8 B. 8 7 6 5 4 C. 4 5 6 7 D. 7 6 5 4 Câu 46 .Hãy điền vào .... để hàm sau tính n!!=2*4*6*...*n với n chẵn hoặc n!!=1*3*5*...*n với n lẻ? int thi(unsigned int n){ if(n<=2) return n; return ....*n; } A. thi(n-2) B. thi(n-1) C. thi(n+2) D. Tất cả đều sai. Jack001N Câu 47 . Hãy điền vào .... để hàm sau kiểm tra n có phải là số nguyên tố hay không? int nguyento(unsigned int n) { int i; for( i=2; i<=sqrt(n); i++) if ( .... ) return 0; return 1; } A. !(n%i) B. n%i==1 C. n%i D. n==0 Câu 48 .Cho khai báo sau: int a=5,*b=&a ; Để truy cập đến giá trị của a có thể dùng: A. &b B. *b C. B D. Lỗi khai báo Câu 49 .Cho đoạn lệnh sau: char a,*b; char thi(char a, char *b){ return a; } Chọn lệnh đúng ? A. thi(a,*b); B. b=thi(65,&a); C. thi('A',&a); D. b=thi('A',b); Câu 50 .Số nguyên dương n là số hoàn hảo nếu n bằng tổng các ước số thực sự của n.Ví dụ 6=1+2+3. Hãy điền vào .... để hàm sau kiểm tra n có phải là số hoàn hảo hay không? int thi(unsigned int n){ int s=0, i; for(i=1; i<n; i++) if(!(n%i)) .... ; return n==s; } A. s+=i++ B. s=s+i C. s++ D. S+=i Câu 51 .Cho hàm sau: int thi(int n){ if(n ==0) return n; return thi(n- 2)+n; } Jack001N Hãy cho biết kết quả hiển thị lên màn hình khi thực hiện lệnh printf("%d",thi(6)); A. 6 B. 10 C. 12 D. 14 Câu 52 .Cho hàm sau: int *thi(int i){ return &i; } 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 i=010,*a=thi(i+012); printf("%o",*a); A. 20 B. 18 C. 22 D. Đoạn lệnh trên bị lỗi Câu 53 .Cho hàm sau: int thi(int n){ int s=0; do{if(n%2==0) s++; n/=2;}while(n); return s; } Hãy cho biết giá trị của hàm thi(36)? A. 2 B. 0 C. 4 D. 3 Câu 54 .Cho hàm sau: int thi(int x, int *y){ x=*y; *y=2*x; 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; printf("%d, %d, %d",thi(y,&x),x,y); A. 3, 1, 2 B. 3, 2, 2 C. 6, 1, 4 D. 6, 1, 2 Câu 55 .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); A. 4, 3 B. 1, 4 C. 3, 4 D. 4, 2 Câu 56 .Cho hàm sau: int thi(int x){ Jack001N x+=035; printf("%o",x); return 0; } Hãy cho biết kết quả hiển thị lên màn hình khi thực hiện lệnh thi(054); A. 089 B. 89 C. 111 D. 0111 Câu 57 .Cho hàm sau: int thi(int x, int y){ 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 lệnh sau: printf("%o",thi(0xA, 012)); A. 024 B. 24 C. 20 D. lệnh sai Câu 58 .Cho biết khai báo nguyên mẫu hàm nào là không thích hợp A. void funct(char x, char y); B. double funct(char x) C. int funct( ); D. char x( ); Câu 59 .Kiểu trả về của hàm sau đây là gì ? funct( char c, double x, float y); A. char B. double C. int D. float Câu 60 .Kết quả của đoạn chương trình sau là gì ? #include void hoandoi(int *a, int *b) { int t=*a; *a=*b; *b=t; } main( ) { int a=10, b=20; hoandoi(a, b); printf("%d %d", a, b); } A. 10 20 B. 20 10 C. Chương trình bị lỗi D. Kết quả khác Câu 61 .Kết quả của chương trình sau là gì ? #include void hoandoi(int a, int b) { int t=a; t=a; a=b; b=t; } main( ) { int a=100, b=200; hoandoi(&a, &b); printf("%d %d", a, b); { A. 100 200 B. 200 100 C. Chương trình bị lỗi Jack001N D. Kết quả khác Câu 62 .Ưu điểm của việc dùng hàm ? A. Tránh dư thừa, dễ quản lý chương trình. B. Giúp chương trình thực hiện nhanh hơn. C. Tận dụng kỹ năng lập trình của nhiều người. D. Tiết kiệm bộ nhớ. Câu 63 .Phát biểu nào sau đây là sai đối với lời gọi hàm? A. Tham số thực và tham số hình thức có thể trùng tên B. Số tham số thực phải bằng số tham số hình thức C. Tham số thực và tham số hình thức phải trùng tên D. Tham số thực có thể là biến Jack001N Câu 64 .Đối với hàm trả về giá trị kiểu float, giá trị hàm được dùng : A. Trong biểu thức B. Như câu lệnh C. Trong hàm main( ) D. Trong biểu thức hoặc như câu lệnh Câu 65 .Đối với hàm trả về kiểu void, lệnh gọi hàm được dùng : A. Trong biểu thức B. Như câu lệnh C. Trong hàm main( ) D. Trong biểu thức hoặc như câu lệnh Câu 66 .Chọn phát biểu sai trong ngôn ngữ C: A. Có thể định nghĩa hàm ở trước hàm main( ) B. Không được định nghĩa hàm trong hàm C. Có thể định nghĩa hàm trong hàm D. Các hàm được gọi bởi hàm main( ) Câu 67 .Hàm nào sau đây là đúng cú pháp A. int sum(int a, b) { return a+b; } B. void sum(int a, int b) { return a+b;} C. int sum(a, b) { int a,b,c; c=a+b; return c; } D. int sum(int a, int b) { return a+b; } Câu 68 .Khai báo nguyên mẫu hàm để hoán đổi 2 biến kiểu float A. int hoandoi(float *a, float b) ; B. void hoandoi(float a, float b); C. void hoandoi(float *a, float *b) ; D. float hoandoi(float a, float b) ; Câu 69 .Với khai báo float a, b; float *pa, *pb; Dãy lệnh nào dưới đây không đúng cú pháp A. b=5; a=b/2; pa=&a; B. a=10; b=a; *pb=a; C. a=b=5; pa=b; D. a=b=5; *pa=10; Câu 70 .Hàm dưới đây tính gì? int tinh( unsigned a) { int n =0; while (a!=0) { a=a/10; n++); return n; } A. Tổng các chữ số của số nguyên dương a B. Đếm số chữ số của số nguyên dương a C. Tích các chữ số của số nguyên dương a D. Đếm số chữ số của tự nhiên a Câu 71 .Hàm nào dưới đây để tính n!? A. long GT(int n) { long q=1; for( int i=2;i<=n; i++) q=q*i; return q; } B. long GT(int n) { if (n==0) return 1; else return n*GT(n-1); } C. void GT(int n, long *q) { long s=1; for( int i=2;i<=n; i++) s=s*i; *q=s; } D. Tất cả đều đúng Câu 72 .Cho biết dãy fibonanci như sau: 1 1 2 3 5 8 13 21 34 Hàm dưới đây có ý nghĩa là gi`? int fibo(int n) Jack001N { if (n==1|| n==2) return 1; else return fibo(n-1) + fibo(n-2); } A. Tính số fibonanci thứ n B. Kiểm tra số n có phải là số fibonanci? C. Tìm dãy n số fibonanci đầu tiên D. Tất cả đều sai Câu 73 .Xét khai báo hàm như sau: long S(int n) { if (n==0) return 0; else return n*n + S(n-1); } Cho biết giá trị S(3) A. 9 B. 14 C. 23 D. Số khác Câu 74 .Cho hàm sau: void myFunc (int n) { if (n <5) myFunc(++n); printf("%d, ", n);} Cho biết kết quả của lệnh gọi hàm: myFunc(0); A. 5, 5, 4, 3, 2, 1, B. 5, 4, 3, 2, 1, C. 1, 2, 3, 4, 5, D. 1, 2, 3, 4, 5, 5, Câu 75 .Cho biết kết quả khi thực hiện chương trình sau: #include int a,b; void myFunc( ) { int a=2; b=4; printf(" %d %d", a, b); } main( ) { a=3; b=6; printf(" %d %d", a, b); myFunc( ); printf(" %d %d", a, b); } A. 3 6 2 4 3 6 B. 3 6 2 4 2 6 C. 3 6 2 4 3 4 D. Kết quả khác Câu 76 .Cho biết kết quả khi thực hiện chương trình sau: #include int a,b; void myFunc() { int a,b; a=2; b=4; printf(" %d %d", a, b); } main( ) Jack001N {a=3; b=6;printf(" %d %d", a, b); myFunc(); printf(" %d %d", a, b); } A. 3 6 2 4 3 6 B. 3 6 2 4 2 6 C. 3 6 2 4 3 4 D. 3 6 2 4 2 4 Câu 77 .Hãy điền vào chỗ # và ## để hàm sau kiểm tra số n có phải là số nguyên tố ? int nguyento( unsigned n) { int i; for(i=2; i <= #; i++) if (##) return 0; return 1; } A. n và n%i ==0 B. n/2 và n%i !=0 C. n/2 và n%i =0 D. sqrt(n) và n%i==0 Câu 78 .Các phép toán trên con trỏ ? A. Nhân, chia B. Nhân, chia, cộng, trừ C. Chia D. Cộng, trừ Câu 79 .Xét khai báo sau int a[100], *pa; pa=a; A. pa là giá trị của mảng a B. pa chứa địa chỉ của a[0] C. pa là giá trị đầu tiên của mảng a D. Khai báo không hợp lệ Câu 80 .Cho khai báo: int n=5, *pi=&n; biểu thức ( *pi +1)*2 có giá trị: A. 5 B. 6 C. 12 D. 10 Jack001N Câu 81 .Cho khai báo: int a,*p; Hãy chỉ ra biểu thức không hợp lệ A. *p=a B. *p= =a C. *p+1= =a D. *p +1 =a Câu 82 .Cho đoạn mã sau char *s, t[25]; //1 t=" Khoa cong nghe thong tin"; //2 gets(s); //3 Hãy chọn đáp án đúng A. Lỗi dòng 2 B. Lỗi dòng 3 C. Lỗi dòng 2 và 3 D. Không lỗi dòng nào Câu 83 . Hàm sau làm gì ? void thihocky(int *a, int &n) { int i; for(i=0; i<n-1; ++i) a[i]=a[i+1]; --n; } A. Xóa mảng a B. Loại phần tử đầu tiên ra khỏi mảng a C. Giảm số phần tử của mảng a D. Loại phần tử cuối cùng ra khỏi mảng a Câu 84 . Hàm sau làm gì ? void thitinhocdaicuong(int *a, int &n, int k) { int i; for(i=k; i<n-1; ++i) a[i]=a[i+1]; --n; } A. Loại phần tử thứ k của mảng a B. Loại phần tử thứ nhất của mảng a C. Kiểm tra k có trong mảng a hay không D. Giảm số phần tử của mảng a Câu 85 .Giả sử có mảng một chiều a gồm n phần tử. Hàm sau làm gì ? void thitracnghiem(int *a, int &n, int x) { a[n]=x; Jack001N n++; } A. Gán phần tử a[n]=x B. Thêm phần tử x vào cuối mảng a C. Loại phần tử thứ n D. Thêm phần tử n vào cuối mảng a. Câu 86 .Giả sử có mảng một chiều a gồm n phần tử là số nguyên. Hàm sau làm gì ? void tinhco(int *a, int &n, int x, int k) { int i; for(i=n; i>k; i--) a[i]=a[i- 1]; a[k]=x; n++; } A. Chèn phần tử k vào vị trí x của mảng a B. Chèn phần tử x vào vị trí k của mảng a C. Chèn phần tử x vào đầu mảng a D. Xóa phần tử x tại vị trí k của mảng a Câu 87 .Kết quả của chương trình sau là gì ? #include main() { int x,*p ; x=3 ; x=6 ; p=&x ;*p=9 ; printf("%d %d", x, *p) ; } A. 3 6 B. 6 9 C. 9 9 D. 9 6 Câu 88 .Kết quả của chương trình sau là gì ? #include void swap(int *px, int *py) { int z; z=*px; *px=*py; *py=z; } main() { int a=15, b=21; swap(&a, &b); printf("%d %d", a, b); Jack001N } A. 21 15 B. 15 21 C. Báo lỗi khi chạy chương trình D. 15 15 Câu 89 .Cho hàm void autostat( ) { int a=1; static int s=5; printf(“%d %d ”, ++a, ++s); } Với các lệnh: autostat( ); autostat( ); Kết quả là A. 1 5 2 6 B. 2 6 2 6 C. 2 6 2 7 D. 2 6 3 7 Câu 90 .Cho khai báo hàm: void swap(int *a, int &b); và khai báo biến : int n, k ; Lệnh hợp lệ: A. swap(int a, int b); B. swap(*a, &b); C. swap(&a, b); D. swap(&a, &b); Câu 92 .Cho hàm thực hiện trên mảng a gồm n phần tử: int find (int x, int a[ ], int n){int i=0; while( i<n && a[i] !=x) i++ ; return i ;} Hàm này để: A. Kiểm tra giá trị x có trong mảng a hay không. B. Tính tổng các phần tử của mảng a. C. Tìm vị trí i đầu tiên của giá trị x trong mảng a D. Tìm vị trí i đầu tiên của giá trị x trong mảng a; nếu không có thì trả về n. Câu 93 .Cho hàm thực hiện trên mảng a gồm n phần tử: int find (int x, int *a, int n){int i=0; while( i>=0 && a[i] !=x) i-- ; return i ;} Hàm này để: A. Kiểm tra giá trị x có trong mảng a hay không. B. Tìm vị trí i cuối cùng của giá trị x trong mảng a C. Tìm vị trí i cuối cùng của giá trị x trong mảng a; nếu không có thì trả về -1. D. Tính tổng các phần tử của mảng a. Câu 94 .Cho hàm thực hiện trên mảng a gồm n phần tử: void Xoa (int *a, int &n) Jack001N { int i, j; while (i<n) if (a[i]<0){ for(j=i; j<n-1; j++) a[j]=a[j+1]; n--; } else i++; } A. Loại phần tử âm đầu tiên ra khỏi mảng a B. Loại tất cả phần tử âm ra khỏi mảng a C. Xóa phần tử thứ n của mảng a D. Loại phần tử đầu tiên ra khỏi mảng a để khai báo: Câu 95 .Cho khai báo hàm: f( ); khai báo tương đương là: A. int f(int) ; B. void f(void) ; C. int f(void) ; D. void f(int) ; Câu 96 .Cho khai báo hàm: f(int); khai báo tương đương là: A. void f(int) ; B. void f(void) ; C. int f(int) ; D. int f(void) ; Câu 97 .Cho hàm thực hiện trên mảng a gồm n phần tử: void func (unsigned a[ ], int n) { int i, c; for(i=0, c=0; i<n; i++) if (a[i]%3==0) c++; return c; } Hàm này để làm gì? A. Kiểm tra số bội 3 có trong mảng a hay không. B. Đếm số bội 3 trong mảng a. C. Loại các số bội 3 ra khỏi mảng a D. Đếm số nguyên tố trong mảng a. Câu 98 .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 *min) { int i, k, m; k=0; *min=a[k]; for(i=0; i*min) {*min=a[i]; k=i;} return k; } Hàm này để làm gì? A. Tính số lớn nhất trong mảng a. Jack001N B. Tính số nhỏ nhất trong mảng a. C. Trả về vị trí của số nhỏ nhất đầu tiên trong mảng a và giá trị nhỏ nhất trong m. D. Trả về vị trí của số nhỏ nhất cuối cùng trong mảng a và giá trị lớn nhất trong m. Câu 99 .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) { int i, k, m; k=0; *m=a[k]; for(i=0; i=*m) {*m=a[i]; k=i;} return k; } Hàm này để làm gì? 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. Câu 100 .Cho hàm thực hiện trên mảng t gồm n phần tử: int func (unsigned t[ ], int n) { int i, k, ; for(i=0; i<n; i++){ a=t[i]; k=2; while (k*k<=a && a%k!=0) k++; if (k*k>n) return i; } return i; } Hàm này để làm gì? A. Tìm số khác 0 đầu tiên trong mảng t. B. Đếm số khác 0 trong mảng t. C. Tìm vị trí của số nguyên tố đầu tiên trong mảng t. D. Tìm vị trí của số nguyên tố đầu tiên trong mảng t; nếu không có thì trả về n. Câu 101 .Cho đoạn chương trình: void Prime(int n){ auto int k=2; static int c; while (k*k<=n && n%k) k++; if (k*k>n) printf("%(d): %d ", ++c, n); } main(){ Prime(2); Prime(3); } Kết quả in ra của đoạn chương trình trên là gì? A. 0 2 1 2 B. 1 2 2 3 C. (1): 2 (2): 3 D. (0): 2 (1): 3 Câu 102 .Cho hàm thực hiện trên mảng một chiều a gồm n phần tử kiểu int sau đây : int func (int a[ ], int n, int *min { int i, k; Jack001N k=0; *min=a[k]; for(i=0; i*min) {*min=a[i]; k=i;} return k; } Hàm này để làm gì? 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ố nhỏ nhất đầu tiên trong mảng a và giá trị nhỏ nhất trong min D. Trả về vị trí của số nhỏ nhất cuối cùng trong mảng a và giá trị lớn nhất trong min Câu 103 .Cho đoạn chương trình: void increase(int *n ) { (*n)++; printf("%d ", *n); } main() { int i; for( i = 0; i < 5; increase(&i) ) { } printf("%d ", i); } Kết quả in ra của đoạn chương trình trên là gì? A. 0 1 2 3 4 5 B. 0 1 2 3 4 5 5 C. 1 2 3 4 5 5 D. 1 2 3 4 5 Câu 104 .Cho hàm sau: int myFunc (int n) { if (n == 1) return 1; else return n*n + myFunc (n - 1); } Giá trị của biểu thức myFunc(3) + 1 là gì? A. 16 B. 15 C. 14 D. 13 Câu 105 .Cho đoạn chương trình: void dec(int n ) { printf("%d ", n--); dec(n) ; } main() { dec(5) ; } } Kết quả in ra của đoạn chương trình trên là gì? A. 5 4 3 2 1 B. 4 3 2 1 0 C. 1 2 3 4 5 D. Lặp vô hạn Câu 106 .Dòng nào sau đây là một định nghĩa hàm hoàn chỉnh? A. int myfunc; B. float myfunc(float x) { return x/3;} C. void myfunc(int s) { printf(“ Hello”); D. void myfunc(int) { printf(“ Hello”); } Câu 107 .Khai báo nguyên mẫu hàm nào sau đây là không hợp lệ? A. int myfunc (char x, int n); Jack001N B. float myfunc( x: int ); C. void myfunc(); D. func(); Câu 108 .Cho hàm có nguyên mẫu như sau : void myfunc(void); Lệnh nào sau đây là lệnh gọi hàm hợp lệ ? A. void myfunc; B. myfunc(void); C. myfunc(); D. void myfunc(); Câu 109 .Hãy chọn khai báo hợp lệ cho biến con trỏ? A. int p; B. int &p; C. ptr p; D. int *p; Câu 110 .Cho hàm void autostat( ) { int a=1; static int s=5; printf(“%d %d ”, ++a, ++s); } Với các lệnh trong hàm main() là : autostat( ); autostat( ); Thì kết quả in ra là gì? A. 1 5 2 6 B. 2 6 2 6 C. 2 6 2 7 D. 2 6 3 7 Câu 111 .Phép toán trên con trỏ có thực hiện các phép toán nhân (*), chia (/) , chia lấy dư (%) không ? A. Không thể thực hiện B. Thực hiện được C. Chỉ thực hiện phép nhân D. Chỉ thực hiện phép chia Câu 112 .Với các phép so sánh : = =, !=, >, >=, <, <= hai con trỏ ( thứ tự ô nhớ) có sử dụng được các phép toán này không ? A. Chỉ sử dụng phép “==” B. Không thực hiện đượccác phép toán trên C. Chỉ sử dụng được phép “ = =” và “!= “ Câu 113 .Cho hàm thực hiện trên mảng một chiều a gồm n phần tử kiểu int sau đây : void Insert(int *a, int *n, int x, int k) { int i; for( i=n; i>k; i--) a[i]=a[i-1]; a[k]=x; (*n)++; } Hàm trên để làm gì? Jack001N A. Đặt tất cả các phần tử của a bằng x B. Chèn phần tử x vào vị trí k C. Chèn phần tử k vào vị trí x D. Xóa phần tử x tại vị trí k Câu 114 .Cho hàm thực hiện trên mảng một chiều a gồm n phần tử kiểu int sau đây : void Delete(int *a, int *n, , int k) { int i; for( i=k; i<n-1; i++) a[i]=a[i+1]; (*n)--; } Hàm trên để làm gì? A. Xóa phần tử cuối của mảng a B. Chèn phần tử đầu vào vị trí cuối của mảng a C. Xóa phần tử k ra khỏi mảng a D. Xóa phần tử tại vị trí k ra khỏi mảng a Câu 115 .Cho đoạn chương trình sau: main() { int x,*p ; x=3 ; x=6 ; p=&x ; *p=9 ; printf("%d %d %d", x, *p, ,x) ; } Kết quả in ra của đoạn chương trình trên là gì? . 369 A. 696 B. 999 C. 396 Jack001N Câu 116 .Cho hàm thực hiện trên mảng một chiều a gồm n phần tử kiểu int sau đây : void thi(int a[], int *n, int x){ a[*n]=x; (* n)++; } Hàm trên để làm gì? A. Gán giá trị x vào vị trí n của mảng a B. Thêm phần tử x vào cuối mảng a C. Xóa phần tử thứ n của mảng a D. Chèn giá trị x vào đầu mảng a Câu 117 .Cho hàm thực hiện trên mảng một chiều a gồm n phần tử kiểu int sau đây : void Them(int a[], int n, int x){ a[n]=x; n++; } Hàm trên để làm gì? A. Gán giá trị x vào vị trí n của mảng a B. Thêm phần tử x vào cuối mảng a C. Không thêm được phần tử x vào cuối mảng a D. Chèn phần tử x vào đầu mảng a Câu 118 .Cho hàm thực hiện trên chuỗi ký tự gồm 3 dòng sau đây : void Nhap(char *s) { char t[30]; //dòng 1 t=”Khoa CNTT”; //dòng 2 gets(s); //dòng 3 } Hãy chọn đáp án đúng? A. Trình biên dịch báo lỗi ở dòng 1 B. Trình biên dịch báo lỗi ở dòng 2 C. Trình biên dịch báo lỗi ở dòng 3 D. Trình biên dịch báo lỗi ở dòng 2 và 3 Câu 119 .Khai báo nào sau đây bị lỗi ? A. char s[] ="ABC"; B. char s[3]="ABC"; C. char s[]={'A','B','C','\0'} ; D. char *s="ABC"; Câu 120 .Cho khai báo: int a,*p; Biểu thức nào sau đây không hợp lệ? A. *p=a B. *p= =a C. *p+1= =a D. *p +1 =a Câu 121 .Cho khai báo biến con trỏ: int *p; Con trỏ p chỉ đến vùng nhớ bao nhiêu byte? A. 1byte B. 2byte C. 4 byte D. 8 byte Câu 122 .Cho khai báo biến con trỏ: float *p; Con trỏ p chỉ đến vùng nhớ bao nhiêu byte? A. 2byte B. 4byte C. 8 byte D. 10 byte Câu 123 .Cho khai báo biến con trỏ: double *p; Con trỏ p chỉ đến vùng nhớ bao nhiêu byte? Jack001N A. 2byte B. 4byte C. 8 byte D. 10 byte Câu 124 .Cho khai báo biến con trỏ: long double *p; Con trỏ p chỉ đến vùng nhớ bao nhiêu byte? A. 2byte B. 4byte C. 8 byte D. 10 byte Jack001N Câu 125 .Cho hàm sắp xếp mảng một chiều a gồm n phần tử kiểu float sau đây : void sapxep( float a[], int n) { int i, j; float tam; for(i=0;i<n-1;i++) for(j=n-1;j>i;j--) if (a[j])<a[j-1]) { tam=a[j]; a[j]=a[j-1]; a[j-1]=tam;} } Hàm trên sắp xếp mảng a theo phương pháp nào? A. Phương pháp sắp xếp chọn B. Phương pháp sắp xếp nổi bọt C. Phương pháp sắp xếp nhanh D. Phương pháp sắp xếp chèn Câu 126 .Cho hàm sắp xếp mảng một chiều a gồm n phần tử sau đây void sapxep( float a[], int n) { int i, j; float tam; for(i=0;i<n-1;i++) for(j=n-1;j>i;j--) if (a[j])<a[j-1]) { tam=a[j]; a[j]=a[j-1]; a[j-1]=tam;} } Hàm trên sắp xếp mảng a theo phương pháp nào? A. Phương pháp sắp xếp chọn B. Phương pháp sắp xếp nổi bọt C. Phương pháp sắp xếp nhanh D. Phương pháp sắp xếp chèn Câu 127 .Cho hàm sắp xếp mảng một chiều a gồm n phần tử kiểu float sau đây : void sapxep( float *a, int n) { int i, j; float tam; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if (*(a+j)<*(a+i)) { tam=a[i]; a[i]=a[j]; a[j]=tam;} } Hàm trên sắp xếp mảng a theo thứ tự gì? A. Giảm dần B. Tăng dần C. Không sắp xếp D. Tất cả đều sai Câu 128 .Cho hàm sắp xếp mảng một chiều a gồm n phần tử kiểu int sau đây : void sapxep(const int a[], int n) { int i, j, tam; for(i=0; i<n-1; i++) for(j=i+1; j<n; j++) if (a[j]<(a[i]) { tam=a[i]; a[i]=a[j]; a[j]=tam;} } Hàm trên sắp xếp mảng a theo thứ tự gì? Jack001N A. Giảm dần B. Tăng dần C. Không sắp xếp D. Hàm bị lỗi Jack001N Câu 129 .Cho hàm sắp xếp mảng một chiều a gồm n phần tử kiểu float sau đây : void sapxep( float a[], int n) { int i, j, imin; float tam; for(i=0;i<n-1;i++) { imin=i; for(j=i+1;j<n; j++) if(a[j]<a[imin]) imin=j; if (imin!=i) { tam=a[i]; a[i]=a[imin]; a[imin]=tam;} } } Hàm trên sắp xếp mảng a theo phương pháp nào? A. Phương pháp sắp xếp chọn B. Phương pháp sắp xếp nổi bọt C. Phương pháp sắp xếp nhanh D. Phương pháp sắp xếp chèn Câu 130 .Cho hàm sắp xếp mảng một chiều a gồm n phần tử kiểu int sau đây : void sapxep( int a[], int n) { int i, j, tam; for(i=0; i<n-1; i++) for(j=i+1; j<n; j++) if (a[j])>a[i]) { tam=a[i]; a[i]=a[j]; a[j]=tam;} } Hàm trên sắp xếp mảng a theo thứ tự gì và dùng phương pháp nào? A. Sắp xếp theo thứ tự tăng dần và dùng phương pháp sắp xếp nổi bọt B. Sắp xếp theo thứ tự giảm dần và dùng phương pháp sắp xếp chọn C. Sắp xếp theo thứ tự tăng dần và dùng phương pháp sắp xếp nhanh D. Sắp xếp theo thứ tự tang dần và dùng phương pháp sắp xếp chọn Câu 131 .Cho hàm sắp xếp mảng một chiều a gồm n phần tử kiểu int sau đây : void Qsort( int a[], int left, int right) { int i, j, pivot; i=left; j=right; pivot=a[(left+right)/2]; do{ while (a[i]<pivot) i++; while (a[j]>pivot) j--; if (i<j) { tam=a[i]; a[i]=a[j]; a[j]=tam; i++; j--;} } while (i<=j); if (left<j) Qsort( a, left, j); if (i<right) Qsort( a, i, right) } Hàm trên sắp xếp mảng a theo phương pháp nào? A. Phương pháp sắp xếp nổi bọt B. Phương pháp sắp xếp chọn C. Phương pháp sắp xếp nhanh D. Phương pháp sắp xếp chèn Câu 132 .Trong lệnh gọi hàm, tham số thực sự truyền cho hàm phải như thế nào ? Jack001N A. Như danh sách tham số hình thức trong khai báo B. Phải có kiểu tham số C. Đúng kiểu như trong khai báo D. Đúng kiểu và đúng số tham số như trong khai báo Câu 133 .Cho hàm sau đây : fact(int n){ int i, p=1; for (i=2 ; i<=n ; i++) p*=i ; return p;}. Hàm trên để tính gì ? A. Tích mảng p gồm n số nguyên kiểu int B. Tính n! C. Hàm bị lỗi vì không khai báo kiểu trả về D. Hàm bị lỗi vì lệnh i=2 Câu 134 .Biến con trỏ có thể chứa A. Giá trị của một biến B. Giá trị của một vùng nhớ C. Giá trị một biến hoặc một vùng nhớ D. Địa chỉ của một biến Câu 135 .Cho khai báo sau int a[]={5,10,15,20,25}; int *ptr = a; Lệnh ptr++; sẽ thực hiện gì? A. Tăng ptr lên 2 byte B. ptr chỉ đển số nguyên kiểu int tiếp theo C. ptr chỉ đến a[1] D. Tất cả đều đúng Câu 136 .Cho hàm sau đây : int thi(int i){ return (!i%3); } Giá trị của biểu thức thi(6) là bao nhiêu? A. 0 B. 1 C. 2 D. 3 Câu 137 .Cho hàm sau đây : int thi(int n){ if(n==0) return 0; return thi(n-1)+n; } Cho biết giá trị của biểu thức thi(4)+1? A. 0 B. 11 C. 6 D. 15 Câu 138 .Cho hàm sau đây: int thi(int x, int *y){ x=3; *y=4; return x+*y; } Và các lệnh trong hàm main(): int x=1, y=2; thi(y,&x); printf("%d, %d",x,y); Jack001N Hãy cho biết kết quả hiển thị lên màn hình khi thực hiện các lệnh ? A. 4, 3 B. 1, 4 C. 3, 4 D. 4, 2 Câu 139 .Hãy Cho biết khai báo nguyên mẫu hàm nào là không thích hợp ? A. void funct(char x, char y); B. double funct(char x) C. int funct( ); D. char x( ); Câu 140 .Cho đoạn lệnh void hoandoi(int *a, int *b) { int t=*a; *a=*b; *b=t; } main( ) { int a=10, b=20; hoandoi(a, b); printf("%d %d", a, b); } Kết quả in ra của đoạn chương trình trên là gì ? A. 10 20 B. 20 10 C. Chương trình bị lỗi D. Kết quả khác Câu 141 .Cho đoạn lệnh void hoandoi(int a, int b) { int t=a; t=a; a=b; b=t; } main( ) { int a=100, b=200; hoandoi(&a, &b); printf("%d %d", a, b); Kết quả in ra của đoạn chương trình trên là gì ? A. 100 200 B. 200 100 C. Chương trình bị lỗi D. Kết quả khác Câu 142 .Ưu điểm của việc dùng hàm là gì? A. Tránh dư thừa, dễ quản lý chương trình B. Giúp chương trình thực hiện nhanh hơn C. Tận dụng kỹ năng lập trình của nhiều người D. Tiết kiệm bộ nhớ Câu 143 .Phát biểu nào sau đây là sai đối với lời gọi hàm? A. Tham số thực sự truyền cho hàm và tham số hình thức có thể trùng tên B. Số tham số thực sự truyền cho hàm phải bằng số tham số hình thức C. Tham số thực sự truyền cho hàm và tham số hình thức phải trùng tên D. Tham số thực sự truyền cho hàm có thể là biến Câu 144 .Cho khai báo hàm như sau: long S(int n) { if (n==0) return 0; else return n*n + S(n-1); } Hãy cho biết giá trị của S(3)? A. 6 B. 9 C. 14 D. 23 Jack001N Câu 145 .Có thể thực hiện các phép toán nào trên con trỏ ? A. Nhân, chia B. Nhân, chia, cộng, trừ C. Chia D. Cộng, trừ Câu 146 .Cho hàm thực hiện trên mảng một chiều a gồm n phần tử kiểu int sau đây : void thihocky(int *a, int *n) { int i; for(i=0; i<n-1; ++i) a[i]=a[i+1]; (*n)--; } Hàm trên làm gì ? A. Xóa mảng a B. Loại phần tử đầu tiên ra khỏi mảng a C. Giảm số phần tử của mảng a D. Loại phần tử cuối cùng ra khỏi mảng a Câu 147 .Cho hàm với nguyên mẫu như sau: void swap(int *a, int *b); và khai báo biến : int x, y ; Lệnh nào sau đây là hợp lệ? A. swap(int x, int y); B. swap(*x, *y); C. swap(&x, &y); D. swap(&a, &b); Câu 148 .Cho hàm thực hiện trên mảng một chiều a gồm n phần tử kiểu int sau đây : int find (int x, int a[ ], int n){int i=0; while( i<n && a[i] !=x) i++ ; return i ;} Hàm này để: A. Kiểm tra giá trị x có trong mảng a hay không B. Đếm số phần tử x trong mảng a C. Tìm vị trí i đầu tiên của giá trị x trong mảng a D. Tìm vị trí i đầu tiên của giá trị x trong mảng a; nếu không có thì trả về n Câu 149 .Cho khai báo nguyên mẫy hàm như sau: f( ); Khai báo tương đương là: A. int f(int) ; B. void f(void) ; C. int f(void) ; D. void f(int) ; Câu 150 .Cho hàm thực hiện trên mảng a gồm n phần tử: void func (int a[ ], int n) { int i, c; for(i=0, c=0; i<n; i++) if (a[i]%25==0) c++; return c; } Hàm này để: Jack001N A. Kiểm tra số bội 25 có trong mảng a hay không B. Đếm số bội 25 trong mảng a C. Loại các số bội 25 ra khỏi mảng a D. Đếm số ước 25 trong mảng a Jack001N ĐÁP ÁN 1 C 16 B 31 D 46 A 61 C 76 A 91 D 106 B 121 B 136 A 2 C 17 A 32 D 47 A 62 A 77 D 92 C 107 B 122 B 137 B 3 D 18 D 33 D 48 B 63 C 78 D 93 B 108 C 123 C 138 D 4 C 19 B 34 D 49 C 64 D 79 B 94 D 109 D 124 D 139 B 5 D 20 B 35 D 50 B 65 B 80 C 95 C 110 C 125 B 140 C 6 D 21 D 36 D 51 C 66 C 81 D 96 C 111 A 126 B 141 C 7 B 22 D 37 D 52 C 67 D 82 A 97 B 112 D 127 B 142 A 8 D 23 D 38 D 53 C 68 C 83 B 98 C 113 B 128 D 143 C 9 C 24 C 39 A 54 A 69 C 84 A 99 D 114 D 129 A 144 C 10 D 25 C 40 B 55 D 70 B 85 B 100 D 115 C 130 B 145 D 11 D 26 D 41 C 56 C 71 D 86 B 101 C 116 B 131 C 146 B 12 D 27 D 42 B 57 B 72 A 87 C 102 C 117 C 132 D 147 C 13 D 28 D 43 C 58 B 73 B 88 A 103 C 118 B 133 B 148 D 14 B 29 D 44 C 59 C 74 A 89 C 104 B 119 B 134 D 149 C 15 D 30 D 45 A 60 C 75 C 90 C 105 D 120 D 135 D 150 B

Các file đính kèm theo tài liệu này:

  • pdf150_cau_hoi_on_tap_tin_hoc_dai_cuong.pdf