Câu hỏi ôn tập trắc nghiệm kết thúc học phần môn Kỹ thuật lập trình (p2 có đáp án) | Đại học Bách Khoa, Đại học Đà Nẵng
Câu hỏi ôn tập trắc nghiệm kết thúc học phần môn Ki thuật lập trình (p2 có đáp án) | Đại học Bách Khoa, Đại học Đà Nẵng giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học
Preview text:
TRẮC NGHIỆM KẾT THÚC HỌC PHẦN KTLT
Câu 1. Nếu hàm func( ) không có tham số thì khai báo nào dưới đây đúng nhất? 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ì kiểu trả về mặc định là gì? A. void B. char C. int D. float
Câu 3. Hãy cho biết phạm vi gọi hàm trong chương trình?
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 như thế nà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. Nguyên mẫu hàm được khai báo với những gì ?
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ể được khai báo nguyên mẫu và được định nghĩa ở đâu?
A. Được định nghĩa trong hàm main( )
B. Được khai báo nguyên mẫu trong hàm main( ) và chỉ được gọi bởi hàm
C. Được khai báo nguyên mẫu ở trước hàm main() và chỉ được gọi bởi hàm
D. Được khai báo nguyên mẫu ở trước hàm main() và được đị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ố ở đâu ?
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ộ được khai báo ở đâu?
A. Biến được khai báo bên ngoài tất cả các hàm
B. Biến được khai báo bên trong hàm
C. Biến được khai báo bên trong hàm và phải được khởi gán giá trị
D. Biến được khai báo bên trong hoặc bên ngoài các hàm
Câu 10. Phát biểu nào đưới đây là đúng?
A. Biến cục bộ và biến toàn cục có thể trùng tên
B. Biến cục bộ và biến toàn cục không được trùng tên
C. Nếu biến cục bộ và biến toàn cục trùng tên thì các biến phải được khai báo bên ngoài các hàm
D. Biến toàn cục phải được khởi gán giá trị
Câu 11. Một hàm có thể được gọi ở đâu? A. Trong hàm main( ) T B. rong các hàm khác
C. Trong hàm main( ) và trong các hàm khác D. Trong hàm main( ), trong các hàm khác và bởi chính nó
Câu 12. Hàm đệ quy là gì? 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 gọi bởi chính nó Mã đề 000 Trang 1/13
Câu 13. Khi hàm được gọi thì các lệnh trong hàm được thực hiện cho đến khi nào ? 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ì lý do gì ?
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( ) như sau: int n=5, k=7; swap(n, k);
Sau khi thực hiện các lệnh trên, hãy cho biết giá trị của các biến và n ? k 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 đoạn chương trình như sau: void inc(int a){a++ ;} main( ) { int a=5; inc(a) ; printf(" %d", a) ; }
Cho biết kết quả in ra của đoạn chương trình trên? A. 6 B. 5
C. Không có kết quả vì hàm trên bị lỗi.
D. Không có kết quả vì biến trùng tên với tham số. Câu 17. Cho hàm sum(int *a, int n)
{ int i,s; for (s=0, i=0; i+) s+=a[i]; return s; }
Hàm trên dùng để làm gì?
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}
Hàm trên dùng để làm 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. 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. Hàm bị lỗi vì không khai báo kiểu trả về.B. Hàm bị lỗi vì lệnh i=2;
C. Tích mảng p gồm n số nguyên kiểu int. D. Tính n!. Câu 20. Cho hàm Mã đề 000 Trang 2/13 prod(int a[], int n){
int i, p=1; for (i=0 ; iHàm trên để tính gì ?
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 được khai báo ở đâu?
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 bên ngoài tất cả các hàm kể cả hàm main( )
Câu 22. Biến toàn cục được sử dụng ở đâu? 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. Biến cục bộ được sử dụng ở đâu ? 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 có thể truyền gì ? 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. Cho hàm
long giai_thua(int n) { int i; long p=1; for(i=2;ireturn(p); } hàm trên dung làm gì? A. n!! B. p! C. (n-1)! D. n! Câu 26. Cho hàm sau: 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); } Hàm trên tính gì? A. an B. na C. Kết quả khác D. an
Câu 27. Cho hàm int kt(unsigned n)
{ if (n%2) return(1 ) ; else return(0) ; }
Biểu thức 1+kt(4+1) có giá trị bao nhiêu? A. 1 B. 0 C. 6 D. 2 Câu 28. Cho hàm sau đây: 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); } Hàm trên tính gì? Mã đề 000 Trang 3/13 A. 1+x+x +x 2 +…+x 3 n B. x+x +x 2 +…+x 3 n C. x +x 2 +…+x 3 n D. Kết quả khác
Câu 29. Cho 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)); }
Kết quả của chương trình là gì ? 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 chương trình sau: #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); }
Hãy cho biết kết quả của chương trình trên? 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. Địa chỉ của một biến
B. 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ớ
Câu 33. Cho khai báo: int n, *pn=&n;
Trong các phát biểu sau thì phát biểu nào đúng ?
A. n là biến kiểu int và pn là biến con trỏ có giá trị đầu là địa chỉ của n . B. n là biến kiểu int
C. *pn là biến con trỏ và n là biến kiểu int D. pn là biến con trỏ
Câu 34. Toán tử nào sau đây truy cập giá trị mà con trỏ chỉ đến? A. * B. > C. . D. &
Câu 35. Cho khai báo char *str=”HELLO”; Lệnh str++; sẽ làm gì? { A. Tăng str lên 2 đơn vị
B. str trỏ tới ký tự ‘H’
C. str trỏ tới ký tự ‘E’ D. Tất cả đề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.
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]; Mã đề 000 Trang 4/13 int n=ptr2-ptr1;
Giá trị kết quả của là gì? n A. 3 B. 4 C. 5 D. 2
Câu 38. Các phát biểu sau đây thì phát biểu nào đú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 biểu thức 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 hàm sau đây : int thi(int n){ for(int i=1; i}
Kết quả hiển thị lên màn hình khi chạy dòng lệnh thi(5); là gì? A. 1 2 3 4 B. 0 1 2 3 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ả của lệnh printf("%d", thi(4)); A. 10 B. 24 C. 30 D. 12
Câu 42. Cho biết giá trị của biểu thức thi(4)+1? int thi(int n){
if(n==0) return 0; return thi(n- 1)+n; } A. 0 B. 11 C. 6 D. 15 Câu 43. Cho hàm sau: int thi(int x, int *y){ x*=2; *y+=1; return x+*y;
} và khi thực hiện đoạn lệnh sau: int i=1; j=1; printf("%d %d %d ",i,j,thi(i,&j));
Kết quả hiển thị lên màn hình là gì? 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. Lỗi hàm Câu 45. *Cho hàm sau đây : void thi(int i){ if(i<5) printf("%d ",i); else{thi(i-1); printf("%d ",i);} }
Kết quả hiển thị lên màn hình là gì khi gọi hàm thi(8);? A. 4 5 6 7 8 B. 8 7 6 5 4 C. 4 5 6 7 D. 7 6 5 4 Mã đề 000 Trang 5/13 Câu 46. Cho hàm sau đây: int thi(unsigned int n){
if(n<=2) return n; return ....*n; }
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ẻ? A. thi(n-2) B. thi(n-1) C. thi(n+2) D. Tất cả đều sai.
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 biểu thức nào dưới đây? A. &b B. *b C. b D. Lỗi khai báo Câu 49. *Cho hàm sau: char thi(char a, char *b){ return a; } và khai báo: char a,*b; Hãy 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 có phải là số hoàn hảo hay không? n
int thi(unsigned int n){ int s=0, i;
for(i=1; iif(!(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; }
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; }
và đoạn lệnh: int i=010,*a=thi(i+012); printf("%o",*a);
Kết quả hiển thị lên màn hình khi thực hiện đoạn lệnh trên là gì? A. B. 20 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 biểu thức thi(36)+2? A. 4 B. 2 C. 6 D. 5 Câu 54. Cho hàm sau: int thi(int n){ if(n ==0) return n; return thi(n-2)+n; }
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 Mã đề 000 Trang 6/13 Câu 55. Cho hàm sau: int thi(int x, int *y){ x=*y; *y=2*x; return x+*y; }
và đoạn lệnh trong hàm main( ):
int x=1, y=2; printf("%d, %d, %d",thi(y,&x),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 trên? A. 3, 1, 2 B. 3, 2, 2 C. 6, 1, 4 D. 6, 1, 2
Câu 56. 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 57. Cho hàm sau: int thi(int x){ 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 58. Cho định nghĩa 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 59. 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 60. Cho nguyên mẫu hàm
funct( char c, double x, float y);
Kiểu trả về của hàm này là gì ? A. char B. double C. int D. float
Câu 61. 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 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 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 64. Đối với hàm trả về giá trị kiểu float, giá trị hàm được dùng ở đâu ? A. Trong biểu thức Như câu lệnh B. C. Trong hàm main( )
D. Trong biểu thức hoặc như câu lệnh Mã đề 000 Trang 7/13
Câu 65. Đối với hàm trả về kiểu void, lệnh gọi hàm được dùng như thế nào ? 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. Định nghĩa 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. Trong các khai báo nguyên mẫu hàm để hoán đổi 2 biến kiểu float sau đây thì khai báo nào là đúng cú pháp ?
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. Cho 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 số Fibonancci như sau: 1 1 … 2 3 5 8 13 21 34 Và định nghĩa hàm sau : int fibo(int n)
{ if (n==1|| n==2) return 1; else return fibo(n-1) + fibo(n-2); }
Hàm trên tính giá trị gi`?
A. Tính số Fibonanci thứ n
B. Kiểm tra số có phải là một số trong dãy số Fibonanci hay không n
C. Tìm dãy số gồm số fibonanci đầu tiên 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) Mã đề 000 Trang 8/13
{ if (n <5) myFunc(++n); printf("%d, ", n);}
Cho biết kết quả in ra màn hình 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( ) { 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. Cho hàm sau, chọn phát biểu đúng. 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 Câu 81. Cho khai báo:
Biểu thức nào sau đây không hợp lệ? int a,*p; 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 Mã đề 000 Trang 9/13 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; } 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. Cho định nghĩa hàm:
void thitinhocdaicuong(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 thực hiện gì?
A. Loại phần tử thứ k ra khỏi mảng a
B. Loại phần tử thứ nhất ra khỏi 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. Cho hàm xử lý mảng một chiều a gồm phần tử n
void thitracnghiem(int *a, int *n, int x) { a[*n]=x; (*n)++; } A. Gán phần tử a[n]=x
B. Thêm giá trị x vào cuối mảng a C. Loại phần tử thứ n
D. Thêm giá trị 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. Cho chương trình : #include main() { int x,*p ; x=3 ; x=6 ;
p=&x ;*p=9 ; printf("%d %d", x, *p) ; }
Kết quả của chương trình trên là gì ? A. 3 6 B. 6 9 C. 9 9 D. 9 6 Câu 88. Cho chương trình: #include void swap(int *px, int *py) { int z; z=*px; *px=*py; *py=z; } main() Mã đề 000 Trang 10/13