Giáo trình ngôn ngữ C



tải về 2.34 Mb.
Chế độ xem pdf
trang26/62
Chuyển đổi dữ liệu16.03.2023
Kích2.34 Mb.
#54376
1   ...   22   23   24   25   26   27   28   29   ...   62
C ĐHQGHN

#define 
tên_macro 
nội_dung
Trong đó tên macro là một tên hợp lệ, nội dung (giá trị) của macro được coi thuần tuý là 1 
xâu cần thay thế vào vị trí xuất hiện tên của macro tương ứng, giữa tên và nội dung cách 
nhau 1 hay nhiều khoảng trống (dấu cách). Nội dung của macro bắt đầu từ kí tự khác dấu 
trống đầu tiên sau tên macro cho tới hết dòng. 
 
 


Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
 C
30
Ví dụ : 
define SOCOT 20 

define 
max(a,b) 
(a>?b 
a:b) 
Với hai ví dụ trên, khi gặp tên SOCOT chương trình dịch sẽ tự động thay thế bởi 20 và 
max(a,b) sẽ được thay thế bởi (a>b?a:b) 
Chú ý:
−  Phép thay thế macro đơn giản chỉ là thay nội dung macro vào vị trí tên của nó do vậy 
sẽ không có cơ chế kiểm tra kiểu. 
−  Khi định nghĩa các macro có ‘tham số’ có thể sau khi thay thế biểu thức mới thu được 
có trật tự tính toán không như bạn mong muốn. Ví dụ ta có macro tính bình phương 1 
số như sau: 
# define bp(a) a*a 
 và bạn có câu lệnh bp(x+y) sẽ được thay là x+y*x+y và kết quả không như ta mong
đợi. Trong trường hợp này bạn nên sử dụng dấu ngoặc cho các tham số của macro 
# define bp(a) ( a)*(a) 
e.  Định nghĩa biến, hằng (dòng 5) 
Các biến và hằng được định nghĩa tại đây sẽ trở thành biến và hằng toàn cục. Ý nghĩa 
về biến, hằng, cú pháp định nghĩa đã được trình bày trong mục biến và hằng. 
f. Hàm main (dòng 6-9) 
Đây là thành phần bắt buộc duy nhất trong một chương trình C, thân của hàm main 
bắt đầu từ sau dấu mở móc { (dòng 7) cho tới dấu đóng móc } (dòng 8). Không giống như 
chương trình của Pascal luôn có phần chương trình chính, chương trình trong C được 
phân thành các hàm độc lập các hàm có cú pháp như nhau và cùng mức, và một hàm đảm 
nhiệm phần thân chính của chương trình, tức là chương trình sẽ bắt đầu được thực hiện
từ dòng lệnh đầu tiên và kết thúc sau lệnh cuối cùng trong thân hàm main .
Trong 
định nghĩa một hàm nói chung đều có hai phần đó là tiêu đề của hàm, dòng này 
bao gồm các thông tin : Tên hàm, kiểu hàm (kiểu giá trị hàm trả về), các tham số hình 
thức (tên tham số và kiểu của chúng). Phần thứ hai là thân của hàm, đây là tập các lệnh 
(hoặc khai báo) thực hiện các thao tác theo yêu cầu về chức năng của hàm đó. Hàm main 
cũng chỉ là một trường hợp riêng của hàm nhưng có tên cố định là main, có thể có hoặc 
không có các đối số, và có thể trả về giá trị cho hệ điều hành, kiểu của giá trị này được 
xác định bởi (dòng 6) – chi tiết về đối, kiểu của hàm main sẽ được đề cập kỹ 
hơn trong các phần sau. 
Thân 
hàm 
main 
được bao bởi cặp {(dòng 7), và } (dòng 9) có thể gồm các lệnh, các 
khai báo hoặc định nghĩa biến, hằng, kiểu, các thành phần này trở thành cục bộ trong 
hàm main - vấn đề cục bộ, toàn cục sẽ đề cập tới trong phần phạm vi. 


Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
 C
31
¾
Lưu ý:  
• Các thành phần của chương trình mà chúng ta vừa nêu trừ hàm main là thành phần 
phải có và duy nhất trong một chương trình C, còn các thành phần khác là tuỳ chọn, 
có thể không có hoặc có nhiều. 
• Thứ tự các thành phần không bắt buộc theo trật tự như trên mà chúng có thể xuất 
hiện theo trật tự tuỳ ý nhưng phải đảm bảo yêu cầu mọi thành phần phải được khai 
báo hay định nghĩa trước khi sử dụng. 
• Các biến, hằng khai báo ngoài mọi hàm có phạm vi sử dụng là toàn cục (tức là có 
thể sử dụng từ sau lệnh khai báo cho tới hết file chương trình). Các hằng, biến khai 
báo trong 1 hàm (hoặc trong 1 khối) là thành phần cụ bộ (có phạm vi sử dụng trong 
hàm hoặc trong khối đó mà thôi). 
• Các hàm trong C là một mức (tức là trong hàm không chứa định nghĩa hàm khác). 

tải về 2.34 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   22   23   24   25   26   27   28   29   ...   62




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương