Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 98 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
98
Dung lượng
429,91 KB
Nội dung
1 NGÔN NGỮLẬPTRÌNH C/C++ Nguy ễ n Đ ình Thuân Khoa Công Ngh ệ Thông Tin Đạ i h ọ c Nha Trang Nha Trang, 7-2007 2 Nội dung môn học Chương 1: Tổng quan Chương 2: Các toán tử Chương 3: Các cấu trúc điều khiển Chương 4: Dữ liệu có cấu trúc Chương 5: Các hàm trong C Chương 6: Các cấu trúc dữ liệu khác Chương 7: Đồ họa trong C 3 Chương 1: Tổng quan 1.1 Gi ớ i thi ệ u – Đ ã có nhi ề u sách trên th ế gi ớ i vi ế t v ề C/C++ và h ầ u h ế t là ca ng ợ i, nh ấ t là các l ậ p trình viên luôn xem C/C++ là công c ụ m ạ nh và uy ể n chuy ể n. – C là k ế t qu ả c ủ a quá trình phát tri ể n kh ở i đầ u t ừ ngôn ng ữ BCPL (do Martin Richards đư a ra vào n ă m 1967) là s ả n ph ẩ m c ủ a d ự án Combine Programming Language gi ữ a 2 tr ườ ng Đạ i h ọ c London và Cambridge. Ngôn ng ữ B (do Ken Thompson phát tri ể n t ừ ngôn ng ữ BCPL vào n ă m 1970 khi vi ế t h ệ đ i ề u hành UNIX đầ u tiên trên máy PDP-7) và ngôn ng ữ B là ti ề n thân c ủ a ngôn ng ữ C. 4 1.1 Giới thiệu (tiếp) – N ă m 1978, hai tác gi ả Brian Kernighan và Dennish Ritchie và đ ã cho xu ấ t b ả n quy ể n The C Programming Language (Prentice-Hall) và đượ c ph ổ bi ế n r ộ ng rãi đế n nay. Vì v ậ y ngôn ng ữ C th ườ ng đượ c gán cho “Tiêu chu ẩ n K&R”. – Hi ệ n nay có g ầ n 30 trình biên d ị ch C đ ang ph ổ bi ế n trên th ị tr ườ ng và chúng không nh ấ t quán nhau. Để c ả i thi ệ n tình tr ạ ng này, chu ẩ n ANSI C c ũ ng đượ c ra đờ i vào n ă m 1978, nh ằ m ch ă m lo vi ệ c phát tri ể n các môi tr ườ ng và các hàm th ư vi ệ n c ủ a C. 5 Các đặc điểm của ngônngữ C: o Tính cô đọng (compact): C chỉ có 32 từ khóa chuẩn và 40 toán tử chuẩn, nhưng hầu hết đều được biểu diễn bằng những chuỗi ký tự ngắn gọn. o Tính cấu trúc (structured): C có một tập hợp những chỉ thị của lậptrình như cấu trúc lựa chọn, lặp… Từ đó các chương trình viết bằng C được tổ chức rõ ràng, dễ hiểu. o Tính tương thích (compatible): C có bộ tiền xử lý và một thư viện chuẩn vô cùng phong phú nên khi chuyển từ máy tính này sang máy tính khác các chương trình viết bằng C vẫn hoàn toàn tương thích. o Tính linh động (flexible): C là một ngônngữ rất uyển chuyển và cú pháp, chấp nhận nhiều cách thể hiện, có thể thu gọn kích thước của các mã lệnh làm chương trình chạy nhanh hơn. o Biên dịch (compile): C cho phép biên dịch nhiều tập tin chương trình riêng rẽ thành các tập tin đối tượng (object) và liên kết (link) các đối tượng đó lại với nhau thành một chương trình có thể thực thi được (executable) thống nhất. 6 1.2 Môi trường làm việc Turbo C 1. G ọ i Turbo C 2. So ạ n th ả o ch ươ ng trình m ớ i 3. Ghi ch ươ ng trình đ ang so ạ n th ả o vào đĩ a 4. Th ự c hi ệ n ch ươ ng trình 5. M ở m ộ t ch ươ ng trình đ ã có trên đĩ a 6. Thoát kh ỏ i Turbo C và tr ở v ề DOS (hay Windows) 7. S ử d ụ ng m ộ t s ố l ệ nh trên thanh menu 7 1.3 Các thành phần trong chương trình C - Bộ ký tự - Các từ khoá trong C - Lời chú thích đặt trong cặp dấu /* và */ hoặc sau // 8 Ví dụ 1: /*VIDU.CPP*/ #include <stdio.h> int main() { printf(“Day la vi du \n"); printf(“don gian Laptrinh C\n"); return 0; } /*VIDU.CPP*/ #include <stdio.h> int main() { printf(“Day la vi du \n"); printf(“don gian Laptrinh C\n"); return 0; } Th Th ư ư viện nhập xuất chuẩn viện nhập xuất chuẩn Ghi chú Ghi chú Hàm main Hàm main Báo CT kết thúc cho HĐH Báo CT kết thúc cho HĐH 9 Ví dụ 2 #include <stdio.h> #include <conio.h> int main(void) { int a, b; printf(“Nhap 2 so ngguyen: "); scanf("%d %d", &a, &b); printf("%d - %d = %d\n", a, b, a - b); getch(); return 0; } #include <stdio.h> #include <conio.h> int main(void) { int a, b; printf(“Nhap 2 so ngguyen: "); scanf("%d %d", &a, &b); printf("%d - %d = %d\n", a, b, a - b); getch(); return 0; } Khai báo 2 biến số nguyên, “a” và “b” Nhập 2 số nguyên vào a và b Viết các biểu thức “a”, “b” và “a-b” theo định dạng %d Nhap 2 so nguyen: 21 17 21 - 17 = 4 Nhap 2 so nguyen: 21 17 21 - 17 = 4 10 Ghi chú: Phần chú thích được trình biên dịch bỏ qua Các từ có phân biệt chữ hoa và chữ thường Câu lệnh luôn được kết thúc bằng dấu ; Chuỗi ký tự phải ghi giữa cặp nháy kép “ In xuống dòng dùng ký tự \n Chương trình C gồm 1 hoặc nhiều hàm, hàm được gọi thực hiện đầu tiên là hàm main. [...]...1.4 Các bư c cơ b n khi vi t chương trình 1 2 Tìm l i gi i (thu t toán) và ki u d li u 3 Vi t chương trình b ng ngôn ng l p trình 4 Ch y th s a l i 5 11 Phân tích, c t bài toán T ng k t chương trình 1.5 Các ki u d li u cơ b n trong C Ki u T khóa Kích thư c Ký t 1 byte S nguyên int 2 bytes S th c float 4 bytes S th... tuy nhiên ch có 31 ký t u tiên là có ý nghĩa 1 Khai báo bi n Khai báo: ; Bi n là i lư ng ư c ngư i l p trình nh nghĩa và ư c t tên thông qua vi c khai báo bi n Bi n dùng ch a d li u trong quá trình th c hi n chương trình và giá tr c a bi n có th thay i trong quá trình này M i bi n thu c v m t ki u d li u xác nh và có giá tr thu c ki u ó 17 1 Khai báo bi n (ti p) Ví d : int a, b, c;... u] = ; Ho c ư c khai báo thông qua gán giá tr u H ng (Constant) là i lư ng không i trong quá trình th c thi c a chương trình H ng bao g m h ng s nguyên, h ng s th c, h ng ký t , h ng chu i ký t a) H ng s : H ng s nguyên: 10, -167 H ng s th c: 1.234, -0.34E3 Ng m nh, trình biên d ch ghép h ng vào ki u d li u tương ng nh nh t Ví d : h ng s 10 có ki u int h ng s 60000 có ki u unsigned... to 3.4 * (10**+38) double 15 Length 64 bits 1.7 * (10**-308) to 1.7 * (10**+308) long double 80 bits 3.4 * (10**-4932) to 1.1 * (10**+4932) 1.6 Khai báo trong C - T t c các y u t trong chương trình do ngư i l p trình t ra ph i ư c khai báo trư c khi s d ng, khai báo trư c h t ph i t tên cho y u t ó - Tên hay còn g i là danh hi u(identifier) dùng t cho bi n, h ng, ki u, hàm, Tên ư c t theo qui nh: G... nua_chu_vi có ki u float*/ double dien_tich; /*Bi n dien_tich có ki u double*/ a) Khai báo bi n ngoài (bi n toàn c c): Các bi n ư c t bên ngoài t t c các hàm(k c hàm main) và ph m vi s d ng trong toàn b chương trình b) Khai báo bi n trong(bi n c c b ): Các bi n ư c t bên trong hàm hay kh i l nh Các bi n này ch có tác d ng trong hàm ho c kh i l nh tương ng 18 1 Khai báo bi n (ti p) Ví d 1: #include ... ‘a’, ‘A’, ‘0’, ‘9’ - Có th th c hi n các phép toán s h c trên 2 ký t (th c ch t là th c hi n phép toán trên giá tr ASCII c a chúng) 23 b) H ng ký t (ti p) M t s ký t không tin ư c (có tr ASCII t 0 n 31) trình biên d ch C nh n bi t i u này b ng c p ký t b t u b ng ‘\’: \n newline \t tab \b backspace \r carriage return \f form feed \a alert \’ ‘ \” “ \\ \ 24 H ng chu i ký t H ng chu i ký t là m t chu i... ng có th là m t h ng, m t bi n ho c m t bi u th c khác Trong trư ng h p, bi u th c có nhi u toán t , ta dùng c p d u ngo c ơn () ch nh toán t nào ư c th c hi n trư c Ví d : Bi u th c nghi m c a phương trình b c hai: (-b + sqrt(Delta))/(2*a) Trong ó 2 là h ng; a, b, Delta là bi n 27 Chương 2: Các toán t 1 Toán t gán 2 Toán t s h c 3.Toán t quan h 4 Toán t logic 5 Toán t thao tác bit 6 Toán t sizeof 7... (j + 2); 2 Các các phép toán s h c + c ng - tr * nhân / chia % chia l y dư Lu ý: – – 32 “/” cho k t qu ph thu c vào ki u c a các toán h ng “%” không th c hi n ư c v i các s th c Ví d v toán t chia “/” Trình biên d ch d a vào ki u c a các toán h ng quy t nh phép chia tương ng “i”, “j” ki u int, “/” là phép chia l y nguyên k nh n giá tr 1 int main(void) int main(void) { { int i = 5, int i = 5, j = 4, . nh ằ m ch ă m lo vi ệ c phát tri ể n c c môi tr ườ ng và c c hàm th ư vi ệ n c ủ a C. 5 C c đ c điểm c a ngôn ngữ C: o Tính c đọng (compact): C chỉ c 32 từ khóa chuẩn và 40 toán tử chuẩn,. khiển Chương 4: Dữ liệu c c u tr c Chương 5: C c hàm trong C Chương 6: C c cấu tr c dữ liệu kh c Chương 7: Đồ họa trong C 3 Chương 1: Tổng quan 1.1 Gi ớ i thi ệ u – Đ ã c nhi ề u sách trên. đư c biểu diễn bằng những chuỗi ký tự ngắn gọn. o Tính c u tr c (structured): C có một tập hợp những chỉ thị c a lập trình như c u tr c lựa chọn, lặp… Từ đó c c chương trình viết bằng C được