You are on page 1of 3

CÂU HỎI ÔN TẬP MÔN: LẬP TRÌNH CĂN BẢN (C)

1. stdin là gì? Nó được sử dụng như thế nào?


2. Nêu cú pháp và cách thực hiện câu lệnh if . . .
3. Nêu cú pháp (có giải thích các thành phần) và cách thực hiện câu lệnh switch
4. Trong một chương trình, câu lệnh if có thể dùng thay câu lệnh switch được
không? Ngược lại?
5. Nêu cú pháp (có giải thích tóm tắt ý nghĩa của các thành phần) và sơ đồ thực
hiện câu lệnh for
6. Nêu cú pháp (có giải thích ý nghĩa của các thành phần liên quan) và sơ đồ thực
hiện câu lệnh while
7. Nêu cú pháp (có giải thích ý nghĩa của các thành phần liên quan) và sơ đồ thực
hiện câu lệnh do . . . while
8. Nêu ý nghĩa của câu lệnh break và continue
-break: thoát khỏi vòng lặp gần nhất với nó.
- continue: bỏ qua các câu lệnh bên dưới và tiếp tục vòng lặp.
9. Bản chất của tên mảng là gì? Có mấy cách truy nhập đến các phần tử của mảng
1 chiều, cho ví dụ minh họa
–bản chất tên mảng là con trỏ
-có 2 cách truy nhập là: tăng giảm giá trị của con trỏ và dung chỉ số của mảng
10. Nêu đặc điểm của hàm trong C
11. Phân biệt giữa biến cục bộ và biến toàn bộ về: Vị trí khai báo, thời gian tồn tại,
phạm vi sử dụng, thời điểm cấp phát bộ nhớ. Khi biến toàn bộ và biến cục bộ
trùng tên nhau thì máy sẽ xử lý như thế nào? Biến khai báo bên trong hàm
main() có phải là biến toàn bộ hay không?
12. Đối của hàm được coi là biến gì? Được cấp phát bộ nhớ khi nào và nhận giá trị
khởi đầu nào?
13. Cho ví dụ minh họa sự khác nhau giữa đối của hàm là con trỏ và đối của hàm
không phải là con trỏ
Ví dụ: void doiGiaTri(int a){a = 3} và void doiGiaTri(int *a){*a = 3} Bất cứ
khi nào sử dụng hàm thì biến sau khi ra khỏi hàm đều = 3 Nếu truyền vào
con trỏ. Nếu truyền vào biến như hàm đầu tiên thì biến sau khi hết hàm giá
trị giữ nguyên
14. Khi tăng giảm địa chỉ trên tên mảng hai chiều thì sẽ trỏ đến phần tử nào?
a. Trỏ đến phần tử tiếp theo trong mảng
1
15. Những lưu ý giữa con trỏ và mảng 1 chiều, con trỏ và mảng 2 chiều
a. Lưu ý khi con trỏ trỏ tới vùng nhớ cấm.(vùng nhớ mà chương trình khác
đang sử dụng)
16. Cách dùng chương trình con với đối số là mảng 1 chiều
Like 17;
17. Cách dùng chương trình con với đối số là mảng 2 chiều
a. Cách 1: thay dổi giá trị của các phần tử thì chỉ cần truyền con trỏ cấp 2
b. Cách 2: truyền con trỏ cấp 3 vào để thay đổi vị trí trỏ của con trỏ 2 cấp 2
18. Phân biệt giữa “hàm kiểu con trỏ” và “con trỏ hàm”. Cho ví dụ về khai báo
hàm có đối là con trỏ hàm
19. Cách khai báo và tác dụng của con trỏ hàm
20. union khác struct ở điểm nào? union được dùng trong trường hợp nào?
a. Khác ở việc cấp phát bộ nhớ union(cấu trúc tự định nghĩa giống struct)
vùng nhớ sẽ là vùng nhớ của phần tử lớn nhất. struct thì là tổng vùng
nhớ của các phần tử.
21. Cho ví dụ về cách khai báo cấu trúc tự trỏ
a. Struct sv{struct sv *next; }; là cấu trúc của danh sách lien kết.
22. Cấp phát động bộ nhớ được thực hiện khi nào, có lợi ích gì? Phân biệt cách sử
dụng hai hàm cấp phát bộ nhớ động: malloc() và calloc()
-Khi cần khơi tạo bộ nhớ trong lúc chạy chương trình. Có thể khai báo đủ số
lượng phần tử.1void* malloc (size_t size);cấp phát vùng nhớ co kích thước là
size số lượng tham số truyển vào là 1. Trả về kết quả con trỏ nếu thành công và
null nếu không thành công. 2 void* calloc (size_t num, size_t size); có 2 tham
số truyền vào cấp phát vùng nhớ có chưa num phần tử và kích thước là size kết
quả trả về giống malloc. Khi cấp phát xong calloc khởi tạo giá trị các phần tử
là 0 còn malloc thì không khơi tạo.
23. Nêu sự khác nhau giữa hai kiểu nhập xuất nhị phân và nhập xuất văn bản
-Nhập xuất văn bản thì mở file đọc đc dưới dạng rõ. Kiểu nhị phân thì ta không
thể đọc file bằng cách bình thường.
24. Trình bày cú pháp hàm mở tệp và nêu ý nghĩa của các kiểu truy nhập khi mở
tệp
-fopen(char *p,char *p1) vơi p là chuỗi đường dẫn đến file, p1 là chuỗi biểu
hiện kiểu mở file(r,w,a)

2
25. Khi tệp được mở để bổ sung dữ liệu thì ban đầu con trỏ tệp ở đâu và dữ liệu
được bổ sung sẽ vào đâu? Sau mỗi thao tác đọc/ghi tệp thì con trỏ tệp sẽ dịch
chuyển như thế nào?
-Khi mở tệp kiểu “a” thì con trỏ tệp sẽ ở cuối file. Dịch chuyển ra đằng sau kí
tự vừa đọc. Cho đến khi nào về kí tự eof(kết thúc file)

You might also like