1.1. Giới thiệu chung 1.2. Tập ký tự 1.3. Từ khóa (keyword) 1.4. Tên (identifier) 1.5. Một số quy tắc cần nhớ khi viết C.T 1.6. Sơ lược về khai báo biến, toán tử gán, câu lệnh vào ra, toán tử include 1.7. Cấu trúc một chương trình C và cách vận hành trên máy Ngôn ngữ C ra đời năm 1972 Phát triển thành C++ vào năm 1983 Ngôn ngữ được sử dụng rất phổ biến Có nhiều trình biên dịch C khác nhau Turbo C, Borland C GCC Thực hành trên Turbo C Cung cấp môi trường tích hợp cho phép soạn thảo và biên dịch 1.1. Giới thiệu chung 1.2. Tập ký tự 1.3. Từ khóa (keyword) 1.4. Tên (identifier) 1.5. Một số quy tắc cần nhớ khi viết C.T 1.6. Sơ lược về khai báo biến, toán tử gán, câu lệnh vào ra, toán tử include 1.7. Cấu trúc một chương trình C và cách vận hành trên máy
NGÔN NGỮ LẬP TRÌNH C Chương 1: CÁC KHÁI NIỆM CƠ BẢN CÁC KHÁI NIỆM CƠ BẢN 1.1 Giới thiệu chung 1.2 Tập ký tự 1.3 Từ khóa (keyword) 1.4 Tên (identifier) 1.5 Một số quy tắc cần nhớ viết C.T 1.6 Sơ lược khai báo biến, toán tử gán, câu lệnh vào ra, toán tử #include 1.7 Cấu trúc chương trình C cách vận hành máy Giới thiệu chung Ngôn ngữ C đời năm 1972 Phát triển thành C++ vào năm 1983 Ngôn ngữ sử dụng phổ biến Có nhiều trình biên dịch C khác Turbo C, Borland C GCC Thực hành Turbo C Cung cấp môi trường tích hợp cho phép soạn thảo biên dịch CÁC KHÁI NIỆM CƠ BẢN 1.1 Giới thiệu chung 1.2 Tập ký tự 1.3 Từ khóa (keyword) 1.4 Tên (identifier) 1.5 Một số quy tắc cần nhớ viết C.T 1.6 Sơ lược khai báo biến, toán tử gán, câu lệnh vào ra, toán tử #include 1.7 Cấu trúc chương trình C cách vận hành máy Tập ký tự Ngôn ngữ C xây dựng ký tự sau: 26 chữ tiếng anh hoa: A B C … Z 26 chữ tiếng anh thường: a b c … z 10 chữ số thập phân: … Các ký hiệu toán học như: + - * / = () Ký tự gạch dưới: _ Các ký tự đặc biệt khác: , : ; [ ] { } ? … CÁC KHÁI NIỆM CƠ BẢN 1.1 Giới thiệu chung 1.2 Tập ký tự 1.3 Từ khóa (keyword) 1.4 Tên (identifier) 1.5 Một số quy tắc cần nhớ viết C.T 1.6 Sơ lược khai báo biến, toán tử gán, câu lệnh vào ra, toán tử #include 1.7 Cấu trúc chương trình C cách vận hành máy Từ khóa Các từ dành riêng ngôn ngữ C Từ khóa phải sử dụng cú pháp Một số từ khóa thông dụng auto goto short union breakcase double if int sizeof static unsigned char continue else extern long register structswitch void volatile default float for return typedef while CÁC KHÁI NIỆM CƠ BẢN 1.1 Giới thiệu chung 1.2 Tập ký tự 1.3 Từ khóa (keyword) 1.4 Tên (identifier) 1.5 Một số quy tắc cần nhớ viết C.T 1.6 Sơ lược khai báo biến, toán tử gán, câu lệnh vào ra, toán tử #include 1.7 Cấu trúc chương trình C cách vận hành máy Tên Dùng để định danh thành phần chương trình Tên biến, tên hàm, tên hằng, … Tên dãy kí tự gồm chữ [a-z, A-Z, 0-9] gạch nối “_” Lưu ý: tên không đuợc chứa kí tự trống, tên không bắt đầu chữ số, tên không trùng với từ khóa phân biệt chữ hoa chữ thường Nên đặt tên gợi nhớ, có ý nghĩa Độ dài cực đại mặc định 32 (Options/Compiler.Source/Identifier length) III.TRUY CẬP TẬP TIN VĂN BẢN 1.2 Hàm fputs() Hàm dùng để ghi chuỗi ký tự chứa vùng đệm lên tập tin văn Cú pháp: int puts(const char *buffer, FILE *f) Trong đó, buffer trỏ có kiểu char đến vị trí chuỗi ký tự ghi vào Hàm trả giá trị buffer chứa chuỗi rỗng trả EOF gặp lỗi III.TRUY CẬP TẬP TIN VĂN BẢN 1.3 Hàm fprintf() Hàm dùng để ghi liệu có định dạng lên tập tin văn Cú pháp: fprintf(FILE *f, const char *format, varexpr) Trong đó: format: chuỗi định dạng (giống với định dạng hàm printf()), varexpr: danh sách biểu thức, biểu thức cách dấu phẩy (,) Hàm fprintf() III.TRUY CẬP TẬP TIN VĂN BẢN Ví dụ: Viết chương trình ghi chuỗi ký tự lên tập tin văn D:\\Baihat.txt #include #include int main() { FILE *f; clrscr(); f=fopen("D:\\Baihat.txt","r+"); if (f!=NULL) { fputs("Em oi Ha Noi pho.\n",f); fputs("Ta em, mui hoang lan; ta em, mui hoa sua.",f); fclose(f); } getch(); return 0; } III.TRUY CẬP TẬP TIN VĂN BẢN Đọc liệu từ tập tin văn 2.1 Hàm getc() Hàm dùng để đọc liệu từ tập tin văn mở để làm việc Cú pháp: int getc(FILE *f) Hàm trả mã Ascii ký tự (kể EOF) tập tin liên kết với trỏ f 2.2 Hàm fgets() Cú pháp: char *fgets(char *buffer, int n, FILE *f) Hàm dùng để đọc chuỗi ký tự từ tập tin văn mở liên kết với trỏ f đọc đủ n ký tự gặp ký tự xuống dòng ‘\n’ (ký tự đưa vào chuỗi kết quả) hay gặp ký tự kết thúc EOF (ký tự không đưa vào chuỗi kết quả) Trong đó: - buffer (vùng đệm): trỏ có kiểu char đến nhớ đủ lớn chứa ký tự nhận - n: giá trị nguyên độ dài lớn chuỗi ký tự nhận - f: trỏ liên kết với tập tin - Ký tự NULL (‘\0’) tự động thêm vào cuối chuỗi kết lưu vùng đêm - Hàm trả địa vùng đệm không gặp lỗi chưa gặp ký tự kết thúc EOF Ngược lại, hàm trả giá trị NULL III.TRUY CẬP TẬP TIN VĂN BẢN 2.3 Hàm fscanf() Hàm dùng để đọc liệu từ tập tin văn vào danh sách biến theo định dạng Cú pháp: fscanf(FILE *f, const char *format, varlist) Trong đó: format: chuỗi định dạng (giống hàm scanf()); varlist: danh sách biến biến cách dấu phẩy (,) III.TRUY CẬP TẬP TIN VĂN BẢN Ví dụ: Viết chương trình chép tập tin D:\Baihat.txt sang tập tin D:\Baica.txt #include #include int main() { FILE *f1,*f2; clrscr(); f1=fopen("D:\\Baihat.txt","rt"); f2=fopen("D:\\Baica.txt","wt"); if (f1!=NULL && f2!=NULL) { int ch=fgetc(f1); while (! feof(f1)) { fputc(ch,f2); ch=fgetc(f1); } fcloseall(); } getch(); return 0; } TRUY CẬP TẬP TIN NHỊ PHÂN Hàm putw: ghi số nguyên +Dạng hàm: Int putw(int n,FILE*fp); Trong đó: n giá trị nguyên fp trỏ tệp +Công dụng: ghi giá trị n lên tệp fp dạng byte, thành công trả số nguyên ghi TRUY CẬP TẬP TIN NHỊ PHÂN Hàm getw: đọc số nguyên +Dạng hàm: int getw(FILE *fp); fp trỏ tệp Công dụng: đọc số nguyên từ tệp, thành công trả số nguyên đọc TRUY CẬP TẬP TIN NHỊ PHÂN Ghi liệu lên tập tin nhị phân - Hàm fwrite() Cú pháp: size_t fwrite(const void *ptr, size_t size, size_t n, FILE *f) Trong đó: - ptr: trỏ đến vùng nhớ chứa thông tin cần ghi lên tập tin - n: số phần tử ghi lên tập tin - size: kích thước phần tử - f: trỏ tập tin mở - Giá trị trả hàm số phần tử ghi lên tập tin Giá trị n trừ xuất lỗi TRUY CẬP TẬP TIN NHỊ PHÂN Đọc liệu từ tập tin nhị phân - Hàm fread() Cú pháp: size_t fread(const void *ptr, size_t size, size_t n, FILE *f) Trong đó: - ptr: trỏ đến vùng nhớ nhận liệu từ tập tin - n: số phần tử đọc từ tập tin - size: kích thước phần tử - f: trỏ tập tin mở - Giá trị trả hàm số phần tử đọc từ tập tin Giá trị n hay nhỏ n chạm đến cuối tập tin có lỗi xuất TRUY CẬP TẬP TIN NHỊ PHÂN Di chuyển trỏ tập tin - Hàm fseek() Việc ghi hay đọc liệu từ tập tin làm cho trỏ tập tin dịch chuyển số byte, kích thước kiểu liệu phần tử tập tin Khi đóng tập tin mở lại nó, trỏ vị trí đầu tập tin Nhưng ta sử dụng kiểu mở tập tin “a” để ghi nối liệu, trỏ tập tin di chuyển đến vị trí cuối tập tin Ta điều khiển việc di chuyển trỏ tập tin đến vị trí định hàm fseek() Di chuyển trỏ tập tin - Hàm fseek() Cú pháp: int fseek(FILE *f, long offset, int whence) Trong đó: - f: trỏ tập tin thao tác - offset: số byte cần dịch chuyển trỏ tập tin kể từ vị trí trước Phần tử vị trí - whence: vị trí bắt đầu để tính offset, ta chọn điểm xuất phát là: SEEK-SET Vị trí đầu tập tin SEEK- CUR Vị trí trỏ tập tin SEEK-END Vị trí cuối tập tin Kết trả hàm việc di chuyển thành công Nếu không thành công, giá trị khác (đó mã lỗi) trả Ví dụ Ví dụ 1: Viết chương trình ghi lên tập tin CacSo.Dat giá trị số (thực, nguyên, nguyên dài) Sau đọc số từ tập tin vừa ghi hiển thị lên hình #include #include int main() { FILE *f; clrscr(); f=fopen("D:\\CacSo.txt","wb"); if (f!=NULL) { double d=3.14; int i=101; long l=54321; fwrite(&d,sizeof(double),1,f); fwrite(&i,sizeof(int),1,f); fwrite(&l,sizeof(long),1,f); /* Doc tu tap tin*/ rewind(f); fread(&d,sizeof(double),1,f); fread(&i,sizeof(int),1,f); fread(&l,sizeof(long),1,f); printf("Cac ket qua la: %f %d %ld",d,i,l); fclose(f); } getch(); return 0; } [...]... tr c một chương trình C và c ch vận hành trên máy C u tr c một chương trình C #include < > /* Gọi c c tệp tiêu đề trong chương trình */ #define /* Khai báo hằng số */ typedef /* Định nghĩa kiểu dữ liệu */ /* Nguyên mẫu c c hàm: khai báo tên hàm và c c tham số */ /* Khai báo c c biến toàn c c */ main() { /* Khai báo biến */ /* C c câu lệnh */ } /* Định nghĩa c c hàm */ C u tr c một chương trình C #include... chương trình trên máy Chạy chương trình *.EXE: Kích đúp chuột vào file ho c chọn rồi ấn Enter * .C: Ctrl + F9 Trở về môi trường C: File/Quit File/DOS Shell Chương 2: C C KIỂU DỮ LIỆU C BẢN VÀ C C PHÉP TOÁN C C KIỂU DỮ LIỆU VÀ C C PHÉP TOÁN 2.1 C c kiểu dữ liệu c bản 2.2 Biến, hằng và biểu th c 2.3 C c phép toán C c kiểu dữ liệu c bản Kiểu ký tự Kiểu char Chiếm một byte Biểu diễn c c. .. #include main() { clrscr(); printf(“\n Turbo C han hanh”); printf(“\n lam quen voi ban”); getch(); } Vận hành chương trình trên máy Tạo tệp chương trình g c đuôi C Dịch chương trình (đuôi EXE) Chạy chương trình Vận hành chương trình trên máy Tạo tệp chương trình g c đuôi C • File/New Vận hành chương trình trên máy Dịch chương trình (đuôi EXE) Compile/Compile (Alt + F9) Vận hành chương... th c bằng dấu; Dùng dấu \ trư c khi xuống dòng Ví dụ printf(“\n Han hanh \ \n lam quen voi ban”); C c lời chú thích c n đư c giữa c p dấu /* … */ và c thể viết: Trên một dòng Trên nhiều dòng Trên phần c n lại c a dòng Một số quy t c khi viết C. T Sử dụng c c hàm chuẩn: Phải khai báo c c tệp chứa hàm chuẩn Ví dụ: #include (hàm printf()) Kết th c dòng này không c dấu; C u tr c của... c a một chương trình: Chỉ c một hàm chính (hàm main()) Ho c có thêm vài hàm kh c C C KHÁI NIỆM C BẢN 1.1 Giới thiệu chung 1.2 Tập ký tự 1.3 Từ khóa (keyword) 1.4 Tên (identifier) 1.5 Một số quy t c cần nhớ khi viết C. T 1.6 Sơ lư c về khai báo biến, toán tử gán, c u lệnh vào ra, toán tử #include 1.7 C u tr c một chương trình C và c ch vận hành trên máy Khai báo và toán tử gán Mọi biến trư c khi sử... là c c biến t1, t2,…, tk: c c đ c tả tương ứng Ví dụ: int a, b; float c, d, e; scanf(“%d%d%f%f%f”, &a, &b, &c, &d, &e); Dùng đ c tả cho biến nguyên Dùng đ c tả cho biến th c C C KHÁI NIỆM C BẢN 1.1 Giới thiệu chung 1.2 Tập ký tự 1.3 Từ khóa (keyword) 1.4 Tên (identifier) 1.5 Một số quy t c cần nhớ khi viết C. T 1.6 Sơ lư c về khai báo biến, toán tử gán, c u lệnh vào ra, toán tử #include 1.7 C u... dụ a_1 beta x1 delta_7 _x1 case 3xyz_7 be ta f(x) r#3 x-1 C C KHÁI NIỆM C BẢN 1.1 Giới thiệu chung 1.2 Tập ký tự 1.3 Từ khóa (keyword) 1.4 Tên (identifier) 1.5 Một số quy t c cần nhớ khi viết C. T 1.6 Sơ lư c về khai báo biến, toán tử gán, c u lệnh vào ra, toán tử #include 1.7 C u tr c một chương trình C và c ch vận hành trên máy Một số quy t c khi viết C. T Mỗi c u lệnh c thể viết trên một hay nhiều... unsigned long 4 byte 0 -> 4294967295 C c kiểu dữ liệu c bản Kiểu số th c C nhiều kiểu số th c Kiểu số th c Kích thư c Miền giá trị float 4 byte 3.4E-38 ->3.4E+38 double 8 byte 1.7E-308 -> 1.7E+308 long double 10 byte 3.4E-4932->1.1E+4932 C c kiểu dữ liệu c bản Chuyển kiểu Ngôn ngữ C cho phép chuyển kiểu: chuyển từ kiểu này sang kiểu kh c C pháp: (kiểu_mới)biểu_th c Ví dụ float i; i = (int)10.45... ký tự trong bảng mã ASCII Ví dụ ‘A’ ‘0’ c giá trị mã ASCII là 65 c giá trị mã ASCII là 48 Kiểu kí tự đồng thời c ng là kiểu số nguyên C hai kiểu char: : signed char và unsinged char Kiểu kí tự Kích thư c Miền giá trị signed char 1 byte -128 -> 127 unsigned char 1 byte 0 - 255 C c kiểu dữ liệu c bản Kiểu số nguyên C nhiều kiểu số nguyên Kiểu số nguyên Kích thư c Miền giá trị int, short... 1.0/3 = 0.3333 */ C C KIỂU DỮ LIỆU VÀ C C PHÉP TOÁN 2.1 C c kiểu dữ liệu c bản 2.2 Biến, hằng và biểu th c 2.3 C c phép toán Hằng, Biến, Biểu th c Hằng là đại lượng c giá trị không thay đổi đư c trong chương trình Hằng c thể là: Một số: Dấu phẩy động (float và double): Dạng thập phân: Số gồm phần nguyên, dấu chấm thập phân và phần phân Ví dụ: 214.35, -4563.48 Dạng khoa h c (dạng mũ): Gồm