Test5

4
BÀI TRẮC NGHIỆM SỐ 4 Ngôn ngữ lập trình C Thời gian: 15’ Họ tên:……………………………………… Lớp………………………………………….. Câu 1: Trong C, hàm nào sau đây được dùng để giải phóng bộ nhớ đã được cấp phát? a. free b. delete c. clear d. remove Câu 2: Trong C, khai báo nào dưới đây là khai báo đúng của struct? a. struct{int a;} b. stuct a_struct{int;} c. struct a_struct int a; d. struct a_struct{int a;}; Câu 3: Trong C, đối số argc (argument count) lưu trữ giá trị gì? a. Số đối số truyền vào trong hàm main b. Số lượng đối số truyền vào trong hàm main + 1 c. Số lượng đối số truyền vào trong hàm main -1 d. Tổng kích thước tính bằng byte của mảng đối số Câu 4: Cho đoạn chương trình C sau đây: int a[10], i, *p; a[0] = 1; a[1] = 2; p = a; (*p)++; a[1]=? a. a[1] = 2 b. a[1] = 3 c. a[1] = 4 d. Không đưa ra kết quả. Câu 5: Thực hiện: Kiểm tra nếu a, b, c đều lớn hơn 1 thì in số 1, chọn câu nào? a. if (a>1) or (b>1) or (c>1) then write(1); b. if a>1 and b>1 and c>1 then write(1); c. if (a>1) and (b>1) and (c>1) then write(1); d. if a, b, c > 1 then write(1); Câu 6: Đáp án nào dưới đây là khai báo hoàn chỉnh của một hàm trong C? a. int funct(); b. int funct(int x) {return x=x+1;} c. void funct(int) {printf("Hello")}

description

 

Transcript of Test5

Page 1: Test5

BÀI TRẮC NGHIỆM SỐ 4Ngôn ngữ lập trình C

Thời gian: 15’Họ tên:………………………………………Lớp…………………………………………..

Câu 1: Trong C, hàm nào sau đây được dùng để giải phóng bộ nhớ đã được cấp phát?a. freeb. deletec. cleard. remove

Câu 2: Trong C, khai báo nào dưới đây là khai báo đúng của struct?a. struct{int a;}b. stuct a_struct{int;}c. struct a_struct int a;d. struct a_struct{int a;};

Câu 3: Trong C, đối số argc (argument count) lưu trữ giá trị gì?a. Số đối số truyền vào trong hàm mainb. Số lượng đối số truyền vào trong hàm main + 1c. Số lượng đối số truyền vào trong hàm main -1d. Tổng kích thước tính bằng byte của mảng đối số

Câu 4: Cho đoạn chương trình C sau đây: int a[10], i, *p; a[0] = 1; a[1] = 2; p = a; (*p)++; a[1]=?

a. a[1] = 2b. a[1] = 3c. a[1] = 4d. Không đưa ra kết quả.

Câu 5: Thực hiện: Kiểm tra nếu a, b, c đều lớn hơn 1 thì in số 1, chọn câu nào?a. if (a>1) or (b>1) or (c>1) then write(1);b. if a>1 and b>1 and c>1 then write(1);c. if (a>1) and (b>1) and (c>1) then write(1);d. if a, b, c > 1 then write(1);

Câu 6: Đáp án nào dưới đây là khai báo hoàn chỉnh của một hàm trong C?a. int funct();b. int funct(int x) {return x=x+1;}c. void funct(int) {printf("Hello")}d. void funct(x) { printf("Hello")}

Câu 7:Chỉ thị nào sau đây là đúng khi sử dụng để khai báo một mảng 10 ký tự có tên letters?

a)      letters: char[10]; b)      char[10] letters;

c)      char letters[10]; d)      char array letters[10];

 Câu 8:     Câu lệnh nào sau đây là đúng khi gán ký tự ‘Z’ cho phần tử thứ tư của mảng letters?

a)      letters[4]:= “Z”; b)      letters[3] = 'Z'; c)      letters[4] = "Z"; d)      letters[3] = 'z';

Page 2: Test5

 Câu 9: Chỉ thị nào sau đây là đúng khi khai báo mảng hai chiều balances có 3 hàng và 5 cột?

a)      float balances[3][5]; b)      balances[3][5] of float; c)      float balances[5][3];

d)      array of float balances[0..2][0..5];

Câu 10:      Câu lệnh nào sau đây là đúng để gán xâu “Hello” cho mảng ký tự words tại thời điểm khai báo?

a)      char words[10] = 'Hello'; b)      static char words[] = "Hello";

c)      static char words["hello"]; d)      static char words[] = { Hello };

 Câu 11: Câu lệnh nào sau đây là đúng để gán xâu “Welcome” cho xâu ký tự stuff?

a)      strcpy( stuff, 'Welcome' ); b)      stuff = "Welcome"; c)      stuff[0] = "Welcome";

d)      strcpy(stuff, "Welcome" );

Câu 12      Câu lệnh nào sau đây là đúng để in ra màn hình giá trị của phần tử thứ 3 của mảng số nguyên có tên totals?

a)      printf("%d\n", &totals[3] ); b)      printf("%d\n", totals[3] );

c)      printf("%c\n", totals[2] ); d)      printf("%d\n", totals[2] );

Câu 13: Câu lệnh nào sau đây là đúng để in ra màn hình xâu ký tự có tên words?

a)      printf("%s\n", words); b)      printf("%c\n", words);

c)      printf("%d\n", words); d)      printf("%s\n", words[2]);

Câu 14: Câu lệnh nào sau đây là đúng để nhập vào giá trị cho xâu ký có tên words từ bàn phím?

a)      scanf("%s\n", words); b)      scanf(" %c", words);

c)      scanf("%c", words); d)      scanf("%s", words);

Câu 15:      Chỉ thị nào sao đây là đúng để khai báo một biến con trỏ nguyên có tên address?

a)      int address; b)      address *int;

c)      int *address; d)      *int address;

Câu 16:  Câu lệnh nào sau đây là đúng khi gán địa chỉ của biến thực balance cho con trỏ thực temp?

a)      temp = &balance; b)      balance = float temp;

c)      float temp *balance; d)      &temp = balance;

Page 3: Test5

Câu 17:  Câu lệnh nào sau đây là đúng khi sử dụng để gán ký tự ‘W’ cho biến ký tự được trỏ bởi biến con trỏ ký tự letter?

a)      'W' = *letter; b)      letter = "W";

c)      letter = *W; d)      *letter = 'W';

Câu 18: Cho biết kết quả trên màn hình sau khi chạy đoạn chương trình sau?

            int  count = 10, *temp; sum = 0;

            temp = &count;

            *temp = 20;

            temp = ∑

            *temp = count;

            printf("count = %d, *temp = %d, sum = %d\n", count, *temp, sum );

  a)      count = 2, *temp = 10, sum = 10

b)      count = 20, *temp = 20, sum = 20

c)      count = 10, *temp = 2, sum = 10

d)      count = 200, *temp = 0.2, sum = 1

Câu 19: Chỉ thị nào sau đây là đúng khi khai báo một con trỏ trỏ vào xâu “Hello” có tên message?

a)      char message = "Hello"; b)      *message = "Hello";

c)      char *message = "Hello"; d)      char message = 'Hello';

Câu 20: Trong ngôn ngữ C, câu lệnh nào sau đây trả về địa chỉ ô nhớ của con trỏ p?

a. p;b. *p;c. &p;d. address(p);