Posted in C

Đề thi lý thuyết C số 1

1) [0.5 Mark]
Vòng lặp while kiểm tra điều kiện lặp tại lúc bắt đầu vòng lặp (Chọn một)

A) Sai
B) Đúng

2) [0.5 Mark]
Khi module hóa một chương lớn trình thành nhiều module thì chương trình sẽ phức tạp hơn và khó tìm lỗi của chương trình. (Chọn một)

A) Đúng
B) Sai

3) [0.5 Mark]
Dấu chấm phẩy được sử dụng ở cuố dòng lệnh khi hàm được gọi, nhưng không phải sau định nghĩa hàm (Chọn một)

A) Sai
B) Đúng

4) [1.5 Mark]
Một hàm cho trước khi thực hiện không nhận tham số và cũng không trả về bất cứ giá trị nào. Hãy chọn ra các cách khai báo phù hợp với hàm này (Chọn ba)

A) Tên hàm (void) { }
B) Tên hàm { }
C) void tên hàm (void ) { }
D) void tên hàm { }
E) void tên hàm ( ) { }

5) [1 Mark]
Nếu một hàm đựoc gọi trước khi no được định nghĩa thì điều kiện là gì ? (Chọn một)

A) Kiểu trả về của hàm phải là kiểu void
B) Kiểu đầu vào của hàm phải là kiểu void.
C) Trước khi gọi hàm nó phải được khai báo
D) Hàm chỉ có thể trả về kiểu dữ liệu boolean.

6) [1.5 Mark]
#include <stdio.h>
display(int k) {
int j;
printf(“hello”);
}
main()
{ int s;
display(s);
}
Điều nào sau đây đúng về chương trình trên (Chọn một)

A) Chương trình gặp lỗi biên dịch vì hai biến s, k không giống nhau
B) Chương trình biên dịch thành công và kết quả khi chạy là: Hello
C) Chương trình gặp lỗi biên dịch vì hai biến s k không được khởi tạo trước khi truyền cho hàm
D) Chương trình biên dịch thành công nhưng gặp lỗi khi chạy vì hai biến s, k không giống nhau

7) [1 Mark]
Những tên biến nào sau đây là hợp lệ trong C (Chọn hai)

A) -myvariable
B) MyVariable
C) While
D) Do
E) My$$Variable

8) [1 Mark]
Những tên hàm nào sau đây là hợp lệ trong C (Chọn ba)

A) while()
B) While()
C) Main()
D) dowhile()
E) int()

9) [0.5 Mark]
Chúng ta có thể dùng hàm getch() để đọc một xâu kí tự lần lượt từng kí tự một (Chọn một)

A) Sai
B) Đúng

10) [1 Mark]
Để định giá trị biểu thức, kiểu float được chuyển thành _____ (Chọn một)

A) unsigned float
B) Double
C) Long
D) unsigned double

11) [2 Mark]
Cho đoạn mã sau: (Chọn một)

int x=4, y, z, a;
y = x++;
z = ++x;
a = z++/–y;
printf (“a=%d, x=%d, y=%d, z=%d”, a, x, y, z);

Kết quả sẽ là ___________ (Chọn 1)

A) a=1, x=5, y=3, z=7
B) a=2, x=6, y=3, z=7
C) a=2, x=6, y=4, z=7
D) a=2, x=7, y=3, z=7

12) [1 Mark]
Kết quả của đoạn mã chương trình sau là gì (Chọn một)
# include <stdio.h>
void main(){
short j=10;
printf(“%d”,++var1);
}

A) 10
B) 11
C) Chương trình biên dịch bị lỗi
D) Biểu thức trong lệnh printf không đúng

13) [2 Mark]
#include <stdio.h>
main() {
struct book
{
unsigned available:2;
unsigned id:3;
int count;
}shelf[2],*ptr;
ptr=shelf;
ptr->available=1;
ptr->count=200;
ptr->id=1;
ptr->available=1;
ptr->count=300;
ptr->id=7;
for (ptr=shelf;ptr<shelf+2;ptr++)
printf(“%d,%d,%d\n”,ptr->available,ptr->count,ptr->id);
}

Kết quả của đoạn mã chương trình trên là gì khi biên dịch và chạy? (Chọn một)

A) Lỗi biên dịch do khai báo cấu trúc không hợp lệ
B) Biên dich thành công và chạy ra kết quả:
0,0,0
1,300,7
C) Biên dich thành công và chạy ra kết quả:
1,200,1
1,300,7
D) Biên dich thành công và chạy ra kết quả:
1,300,7
0,0,0
E) Lỗi biên dich do con trỏ khởi tạo thành phần cấu trúc không đúng

14) [0.5 Mark]
Câu lệnh continue phải được viết ở cuối vòng lặp ? (Chọn một)

A) Đúng
B) Sai

15) [1 Mark]
int strlen(char []);
Điều gì sau đây đúng về đoạn mã trên (Chọn một)

A) Hàm gặp lỗi biên dịch vì kết thúc hàm là dấu chấm phẩy chưs không phải là ngoặc nhọn
B) Đây là khai báo của một hàm mà trả về giá trị nguyên, và nhận vào một xâu kí tự.
C) Hàm được định nghĩa mà không có thân hàm
D) Hàm sẽ có lỗi khi chạy vì không có lệnh return

16) [1 Mark]
Các khai báo nào sau đây dùng để kha báo biến con trỏ pt trỏ tới biến nguyên var (Chọn hai)

A) int var, *pt;
B) int *pt,var;
C) int* pt, var;
D) int pt, var;
E) int* pt, * var;

17) [1 Mark]
Chọn các phát biểu đúng trong các phát biểu sau (Chọn hai)

A) Con trỏ không thể được sử dụng như một biến chính qui trong khai báo hàm
B) Một số nguyên có thể cộng được với biến con trỏ
C) Khi cần truyền một mảng là một tham số của hàm ta phải truyền con trỏ trỏ tới mảng đó
D) Một biến con trỏ không thể thực hiện phép trừ với một biến con trỏ
E) Giá trị của biến địa phương trong hàm có thể bị thay đổi bởi hàm khác

18) [1.5 Mark]
Kết quả của đoạn mã chương trình sau là gì khi biên dịch và chạy ?
#include <stdio.h>
main() {
int oranges=10,mangoes=30;
int *fruits=&(oranges+mangoes);
printf(“Total number of fruits are %d”,*fruits);
}
(Chọn một)

A) Total number of fruits are 30
B) Total number of fruits are 40
C) Khi biên dịch chương trình bị lỗi
D) The code will generate a runtime error.

19) [1 Mark]
Cho đoạn mã chương trình :
float home , first,second;
home= & first;
Câu lệnh nào sau đây không đúng? (Chọn một)

A) home = & second;
B) first++; home –;
C) home = second;

20) [1.5 Mark]
Kết quả của đoạn mã chương trình sau là gì khi chạy và biên dịch?
#include<stdio.h>
main( ) {
int List[10];
int *Head, *Tail;
Head = List;
Tail = (List+10);
printf(“%d”, Head-Tail);
}
(Chọn một)

A) Biên dịch bị lỗi
B) Biên dịch thành công và kết quả là
100
C) Biên dịch thành công và kết quả là
10
D) Biên dịch thành công và kết quả là
-10
E) Biên dịch thành công và kết quả là
655467
ở đó 655467 là địa chỉ bộ nhớ

21) [0.5 Mark]
Cấu trúc là một tập hợp các phần tử cùng kiểu dữ liệu ? (Chọn một)

A) Đúng
B) Sai

22) [1 Mark]
struct acc{ int ID; int bal};
Câu lệnh nào sau đây khai báo một mảng saving gồm 50 phần tử cấu trúc acc trên (Chọn một)

A) acc[50] saving;
B) struct acc saving[50];
C) acc saving[50];
D) struct acc[50] saving;

23) [1.5 Mark]
Các câu lệnh nào dưới đây khai báo một mảng con trỏ cấu trúc ? (Chọn hai)

A) struct *sample
{ int i;
float f; } ptr;

B) struct sample
{ int i;
float f ;
} *ptr;

C) struct sample
{ int i; float f; }* ptr;

D) struct sample
{ int i; float f ; }ptr;

24) [0.5 Mark]
sizeof() là toán tử một ngôi (Chọn một)

A) Sai
B) Đúng

Tác giả:

Thích thì chiều sao phải xoắn :))

3 thoughts on “Đề thi lý thuyết C số 1

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s