Câc chỉ dẫn cho bộ tiền xử lý chỉn file thư viện văo trong chương
trình. Sử dụng câc file thư viện năy nhằm sử dụng câc biến, hằng, hăm đê được định nghĩa frong câc file đó. Có hai câch chỉ dẫn lă:
//include <[path]\ fíle_name.*> hoặc //include “fpath]\file_name.*”
Kí hiệu # chính lă chỉ dẫn cho bộ tiền xử lý (preprocessor). Chúng ta
chủ yếu xĩt câc chỉ dẫn chỉn file thư viện văo trong chương trình thơng qua //include. Khi gặp dịng năy trình biín dịch sẽ tự động chỉn văo câc file có tín sau đó. Path chính lă đường dẫn chỉ tới file được chỉn văo. Tuy nhiín, để chương trình được tiện lợi hơn câc file nín đặt ở một trong
hai nơi sau:
• Đặt trong thư mục chứa câc file thư viện của trình biín dịch. Khi
đó chỉ cần chỉ dẫn như sau: //include <file_name.*>
• Đặt trong thư mục có chứa file người lập trình đang viết. Khi đó, chỉ cần đặt chỉ dẫn như sau: //include “file_name.*”
Câc file thư viện được chỉn văo trong chương trình chủ yếu lă câc
file header có phần mở rộng lă .h. Sự khâc nhau giữa cặp < > vă “ ” ở chỗ cặp o chương trình dịch xâc định tín tệp tiíu đề trong thư mục
ngầm định xâc định bởi đường dẫn frong mục Option/Dữectories. Cịn với
cặp “ ” chương trình dịch tìm tệp trong thư mục hiện tại, nếu khơng có mới tìm trong thư mục câc tệp tiíu đề ngầm định như trường hợp của o.
Hăm mainỡ
Chương trình c bao giờ cũng có một nhđn tố gọi lă hăm main.
Chương trình dịch sẽ biín dịch từ trín xuống nhưng khi chạy chương
trình thì nó bắt đầu chạy từ hăm main năy. Trong một thđn chương trình có thể có: + Cđu lệnh: ln kết thúc bởi dấu;
+ Câc biến, ví dụ như biến X trong ví dụ 2.2.2;
+ Câc chú thích: /* */ vă // (chú thích trín một dịng). Câc chú thích năy chỉ có ý nghĩa giải thích, lăm rõ nghĩa cho một cđu lệnh năo đỏ vă được trình biín dịch bỏ qua.
Câch thức để tạo vă thực hiện một chưoĩig trình của C:
Câc bước tạo vă thực hiện một chương trình bằng ngơn ngữ c cũng
giống như câc bước chung để tạo vă thực hiện một chương trình bất kì. Đó lă: xâc định u cầu của băi toân; xđy dựng thuật giải; viết, căi đặt
bằng ngôn ngữ C; dịch vă thử nghiệm câc kết quả đạt được. Hiện nay có
rất nhiều cơng cụ hỗ trợ người lập trình soạn thảo chương trình nguồn mă
trong đó có tích hợp cả bộ chương trình dịch để biín dịch vă thực thi
chương trình. Có thể kể đến như: TurboC, MicrosoftC, Dev-cpp,
BorlandC vă MS VisualC. Trong khn khổ giâo trình, với mục đích
giảng dạy frong nhă trường tức lă chi dừng lại ở việc lăm quen với ngôn ngữ c ở mức đơn giản, câc ví dụ của chương trình năy đều viết để chạy trín măn hình console. Ba bộ cơng cụ có thể hỗ trợ tốt cho việc tạo ra câc
chương trình c đơn giản lă Dev-cpp, Borland c vă Visual c. Câc chương
trình ví dụ trong giâo trình năy được viết trong mơi trường VisualC.
Chương trình nguồn của c có phần đi ngầm định lă .c hoặc lă .c đều có thể dịch vă chạy được. Sau khi soạn thảo xong chương trình cần phải biín dịch câc file có đi .c năy thănh chương trình mă đối tượng
(object). Nếu việc biín dịch thănh cơng (tức lă chương trình viết khơng có lỗi) thì chương trình sinh ra một file mới lă file có đi mở rộng lă .obj. Bước tiếp theo cần phải sử dụng một trình liín kết để liín kết câc hăm thư viện với chương trình đối tượng vừa dịch ở trín để tạo ra
chương trình dịch. Lúc năy việc dịch mới hoăn tất, vă người sử dụng có thể dùng câc bộ dữ liệu mẫu năo đó để kiểm nghiệm xem kết quả có được có đúng với dự đôn hay khơng. Ví dụ như chương trình in ra câc số Fibonaci nhỏ hơn hoặc bằng n với n = 5 có cho ra đúng dêy 112 3 5 khơng. Nếu có sai sót phải quay lại chương trình nguồn để xâc định
2.3. CÂC LỆNH Cơ BẢN
2.3.1. Lệnh gân
Cú phâp
<bỉến> = <bỉểu_thức>
Ý nghĩa: Gân giâ trị của biểu thức cho biến. Lưu ý rằng giâ trị gân
phải phù hợp với kiểu dữ liệu của biến.
Ví dụ
#include <stdio.h> #include <conio.h>
int main(int argc, char *argv[]) {
int x; X = 3;
printf(“Gia tri X luc nay la: %d”,x);
if(x=(5>3)) printf("Gia tri X luc nay la %d",x); getcheO;
return 0;
}
Kết quả của chương trình năy lă in ra măn hình lă 3 1
2.3.2. Lệnh văo, ra dữ liệu
Khi viết chương trình c, sử dụng câc hăm đê có để nhập xuất dữ liệu
luôn luôn lă cần thiết. Việc nhập xuất dữ liệu trong chương trình c khâ phong phú. Tuy nhiín, chỉ có hai dịng xuất, dịng nhập chuẩn lần lượt lă
stdin vă stdout. Có thể hiểu stdin vă stdout lă hai bộ nhớ đệm (buffer),
stdin được dùng để lưu trữ dữ liệu được nhập từ câc thiết bị văo chuẩn như băn phím, file v.v... vă xuất dữ liệu ra thiết bị ra chuẩn lă măn hình. Thư viện của C cung cấp nhiều hăm để lăm việc với hai dòng văo/ra chuẩn năy, nhưng phổ biến nhất vẫn lă hăm scanf để nhập dữ liệu vă hăm
printf để xuất dữ liệu. Hai hăm năy được định nghĩa trong thư viện stdio.h . Cho nín để có thể gọi được hai hăm năy, cần phải chỉn tệp
stdio.h văo đầu chương trình: #include<stdio.h>. Ngoăi ra, có thể sử dụng một số hăm văo/ra khâc trong thư viện nói trín vă thư viện conio.h. Có một số hăm rất hay sử dụng để dừng măn hình cho người sử dụng có
thể xem được kết quả chương trình in ra trín măn hình console như: getch(), getchar(), getche() v.v... Để gọi được câc hăm năy, đầu chương
trình chỉn thím thư viện conio.h: #include <conio.h> .
2.3.2.1. Hăm printf
Hăm printflăm việc với dòng xuất stdout. Để dữ liệu, kết quả có thể xuất hiện ra măn hình, dùng hăm printf để xuất dữ liệu ra stdout. Chương trình sẽ lấy dữ liệu từ stdout để hiển thị. Với câc chương trình của chúng
ta, kết quả hiển thị chủ yếu thơng qua măn hình console (măn hình DOS).
Cú phâp:
int printf(const*format, [para values]);
•Trong đó format: lă một hằng xđu kí tự như “Hello” hoặc lă có cả câc định dạng để in ra câc kiểu dữ liệu khâc nhau của câc giâ trị trong para_list. Khi in ra dữ liệu cần chú ý qui câch in ra theo qui định sau:
% [-] [ n] [.m]<ki_tu_dinh_kieu>.
Trong đó:
+/ n,m: số ngun dương qui định: n lă độ dăi phần thơng tin in ra,
m lă số chữ số cho phần thập phđn
-+ [-]: Căn trâi hay phải. Khi giâ trị được in ra măn hình, nếu
độ rộng thực sự nhỏ hơn độ rộng xâc định bởi n, thì ngầm
định lă căn phải. Có dấu - lă căn trâi
+/ ki_tu_dinh_kieu lă câc kí tự qui định kiểu dữ liệu sẽ được in ra.
• para values: lă danh sâch câc giâ trị cần in, nó có thể lă giâ trị của
hằng, giâ trị của biến, hoặc lă giâ trị trả về của hăm thông qua một lời gọi hăm v.v... Câc giâ trị được in câch nhau bởi toân tử dấu phẩy, vă có thể có nhiều hơn câc đặc tả kí tự định kiểu. Trong trường hợp ấy câc giâ fri
ứng với câc kiểu dữ liệu cơ sở đê giới thiệu sẽ có câc chữ câi tương
ứng để qui định cho chương trình dịch hiểu rằng giâ trị được in ra sẽ
được in theo kiểu dữ liệu gì. Đó gọi lă câc kí tự định kiểu. Bảng kí tự định kiểu tương ứng như sau:
Kí tự định kiểu
Ỷ nghĩa
c In ra kí tự kiểu char, có thể dùng cho kiểu short vă int
d In ra số ngun int, có thể dùng cho kiểu char
u In ra kiểu sổ ngun khơng dấu unsigned int, có thể dùng cho unsigned char vă unsigned short
ld long
lu unsigned long