Kỹ thuật lập trình C Chương 1: Tổng quan

• Ngôn ngữ C ra đời năm 1972 • Phát triển thành C++ vào năm 1983 • Là 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 – ANSI C, IBM C, ISO C – GCC – v.v.

pdf10 trang | Chia sẻ: lylyngoc | Lượt xem: 1489 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Kỹ thuật lập trình C Chương 1: Tổng quan, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
bangtqh@hotmail.com KỸ THUẬT LẬP TRÌNH C Chương 1: Tổng quan 04/2010 Kỹ thuật lập trình C - Tổng quan 2bangtqh@hotmail.com Giới thiệu chung • Ngôn ngữ C ra ñời năm 1972 • Phát triển thành C++ vào năm 1983 • Là 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 – ANSI C, IBM C, ISO C – GCC – …v.v. 04/2010 Kỹ thuật lập trình C - Tổng quan 3bangtqh@hotmail.com IDE Borland C++ 5.02 • Chạy file Setup.exe trong thư mục Bc502 • Một số phím soạn thảo Xóa các kí tự từ vị trí con trỏ ñến cuối dòng Ctrl + Q + Y Xóa dòng kí tự chứa con trỏCtrl + Y Xóa kí tự ngay trước vị trí con trỏBack space Xóa kí tự ngay sau vị trí con trỏDelete Chuyển đổi chế ñộ chèn/đèInsert Xuống dòngEnter Chức năngPhím 04/2010 Kỹ thuật lập trình C - Tổng quan 4bangtqh@hotmail.com IDE Borland C++ 5.02 Một số phím soạn thảo (tiếp theo) Lặp lại Ctrl + Q + F hoặc Ctrl + Q + A cuối cùngCtrl + Q + L Tìm kiếm cụm từ và sau ñó thay thế bằng cụm từ khácCtrl + Q + A Tìm kiếm một cụm từCtrl + Q + F Dịch chuyển con trỏ về cuối khốiCtrl + Q + K Dịch chuyển con trỏ về ñầu khốiCtrl + Q + B Đọc một khối từ một tệp trên đĩaCtrl + K + R Ghi một khối vào một tệp trên đĩaCtrl + K + W Xóa cả khốiCtrl + K + Y Chuyển khối tới vị trí mới của con trỏCtrl + K + V Chép khối tới vị trí mới của con trỏCtrl + K + C Chức năngPhím 04/2010 Kỹ thuật lập trình C - Tổng quan 5bangtqh@hotmail.com Chương trình “Hello world” chỉ thị tiền xử lý Hàm chính của chương trình Dấu bắt đầu và kết thúc của định nghĩa hàm Kết quả thu ñược khi biên dịch và chạy chương trình trên 04/2010 Kỹ thuật lập trình C - Tổng quan 6bangtqh@hotmail.com Từ khóa (Key word) • Là các từ dành riêng của ngôn ngữ C • Từ khóa phải được sử dụng đúng cú pháp • Một số từ khóa thông dụng auto break case char continue default do double else extern float for goto if int long register return short sizeof static struct switch typedef union unsigned void volatile while Trong IDE Borland C++ 5.02 từ khóa in đậm và có màu blue 04/2010 Kỹ thuật lập trình C - Tổng quan 7bangtqh@hotmail.com Tên (định danh) • Dùng để ñịnh danh các thành phần của chương trình • Tên biến, tên hàm, tên hằng, file, cấu trúc… • Gồm chữ, số, dấu gạch nối “_” • Độ dài tối đa 32 • Lưu ý: – không đuợc chứa kí tự trống (space), – không được bắt đầu bằng một chữ số, – không được trùng với từ khóa • Nên đặt tên một cách gợi nhớ, có ý nghĩa. • Tên chuẩn: một số tên có sẵn của trình biên dịch. Vd: x, hoten, a1, number_of_var, delta, TEN, … • C là ngôn ngữ phân biệt viết hoa, viết thường chính xác đến từng ký tự 04/2010 Kỹ thuật lập trình C - Tổng quan 8bangtqh@hotmail.com Hằng, Biến, Biểu thức • Hằng: – Là ñại lượng có giá trị không thay ñổi được – Ví dụ: • 124 Là một hằng số • ‘D’ Là một hằng ký tự • “Lap trinh” Là một hằng chuỗi ký tự • Biến – Là ñại lượng có thể thay ñổi được giá trị (gán giá trị mới) • Biểu thức – Là công thức tính toán để có 1 giá trị theo quy tắc toán học – Gồm các toán hạng và các phép toán (toán tử) • Toán hạng: hằng, biến, hàm hoặc biểu thức khác. • Phép toán: Số học, luận lý, gán, ñiều kiện, lấy địa chỉ, tăng giảm 04/2010 Kỹ thuật lập trình C - Tổng quan 9bangtqh@hotmail.com Các phép toán C hỗ trợ • Số học: + , - , * , / , % • Luận lý: ==, !=, >, =, <=, &&, ||, ! • Gán giá trị: = • Lấy kích cỡ theo số byte: sizeof(đốitượng) • Điều kiện: ĐK ? E1 : E2 • Lấy địa chỉ: &(biến) • Tăng giảm: x++, ++x, x--, --x tong+=i; tich*=i; /=, %=, -=, &=, |=, ^= 04/2010 Kỹ thuật lập trình C - Tổng quan 10bangtqh@hotmail.com Câu lệnh, Chú thích • Câu lệnh: Là một chỉ thị yêu cầu máy tính thực thi một tác vụ nào đó. Một câu lệnh phải kết thúc bởi một dấu chấm phẩy “;” • Chú thích: – Trên 1 dòng: // Chú thích trên một dòng – Trên nhiều dòng: /* Chú thích trên nhiều dòng. */ • Các chỉ thị tiền biên dịch: #define #undefine #include #if #elif #else #endif #ifdef #else #endif #ifndef #else #endif #error 04/2010 Kỹ thuật lập trình C - Tổng quan 11bangtqh@hotmail.com Các kiểu dữ liệu chuẩn 3.4e-4932 1.1e493210 bytelong double 1.7e-308 1.7e3088 bytedouble 3.4e-38 3.4e384 bytefloat - 231 232 - 14 byteunsigned long - 231 231 - 14 bytelong 0 655352 byteshort 0 655352 byteunsigned int -32768 327672 byteint 0 2551 byteunsigned char -128 1271 bytechar Phạm viĐộ lớnTên kiểuKiểu số 04/2010 Kỹ thuật lập trình C - Tổng quan 12bangtqh@hotmail.com Kiểu ký tự Ví dụ: – Ký tự ’A’ có mã 65 – Ký tự ’0’ có mã 48 Các ký tự ñặc biệt: ’\0’ ký tự Null (có mã = 0) ’\n’ ký tự xuống dòng (new line) ’\t’ ký tự Tab Các kiểu dữ liệu chuẩn Gồm 256 ký tự có mã từ 0 255 ( xem Bảng mã ASCII ) 1 bytechar Phạm viĐộ lớnTên kiểu 04/2010 Kỹ thuật lập trình C - Tổng quan 13bangtqh@hotmail.com Ép kiểu Cú pháp: (kiểu_mới) biểu thức hoặc kiểu_mới (biểu thức) Ví dụ: 04/2010 Kỹ thuật lập trình C - Tổng quan 14bangtqh@hotmail.com Khai báo hằng Cú pháp #define TÊNHẰNG giátrị hoặc const kiểudữliệu TÊNHẰNG = giátrị; Ví dụ #define MAX 100 const int SOPT = 100; Lưu ý: hằng phải được khai báo trước khi sử dụng 04/2010 Kỹ thuật lập trình C - Tổng quan 15bangtqh@hotmail.com Khai báo biến Cú pháp kiểudữliệu TÊNBIẾN; hoặc kiểudữliệu Biến1, Biến2,... ; hoặc kiểudữliệu TÊNBIẾN = giátrịbanđầu; Ví dụ int sole; float tbc, tongam; char Enter = ’\n’; Lưu ý: Biến có thể khai báo bất kỳ ñâu trong chương trình miễn làn trước khi sử dụng. Kết thúc bằng dấu chấm phẩy 04/2010 Kỹ thuật lập trình C - Tổng quan 16bangtqh@hotmail.com Cấu trúc chương trình C Chỉ thị tiền biên dịch Khai báo các hằng, biến Khai báo các hàm tự XD Thân chương trình chính Cài đặt các hàm đã khai báo ở trên 04/2010 Kỹ thuật lập trình C - Tổng quan 17bangtqh@hotmail.com Phép gán giá trị Cú pháp Ví dụ: int x, y, z; x = 10; 10 = x; //sai x = 10 + y; 10 + y = x; //sai z = x + y; x + y = z; //sai TênBiến = Biểu thức giá trị ; Tại sao sai ? 04/2010 Kỹ thuật lập trình C - Tổng quan 18bangtqh@hotmail.com Các hàm toán học thông dụng Chỉ thị tiền biên dịch: #include sqrt(x) lấy căn bậc 2 exp(x) lấy ex log(x) lấy logex abs(x) lấy |x| (kết quả là số nguyên) fabs(x) lấy |x| (kết quả là số thực) pow(x, y) lấy xy ceil(x) lấy số nguyên gần x nhất floor(x) lấy số nguyên lớn nhất ≤ x Các biểu thức phức tạp phải sử dụng biến đổi toán học ñể có ñược biểu diễn tương ứng trong C 04/2010 Kỹ thuật lập trình C - Tổng quan 19bangtqh@hotmail.com Một số quy tắc viết chương trình • Đặt tên biến, hằng, hàm,… một cách gợi nhớ • Khi sử dụng biến, hằng cần kiểm tra lại xem biến hằng đó ñã được khai báo trước đó hay chưa ? • C là ngôn ngữ phân biệt hoa/thường phải kiểm tra kỹ từng ký tự khi viết • Loại bỏ các chỉ thị #include không cần thiết (để lại sẽ làm chậm quá trình biên dịch và tăng kích thước file *.exe sau biên dịch) • Viết chương trình theo cấu trúc khối (phân cấp thụt đầu dòng) • Chương trình viết xong chưa thể biết được đúng hay sai phải chạy thử với các bộ số liệu khác nhau (nên test thử với các bộ số liệu đặc biệt) 04/2010 Kỹ thuật lập trình C - Tổng quan 20bangtqh@hotmail.com