Xem mẫu

  1. TIN HỌC ĐẠI CƯƠNG Chương 2: Ngôn ngữ lập trình C ttdung@utc2.edu.vn 1
  2. Nội dung 1. Các khái niệm cơ bản 2. Các kiểu dữ liệu 3. Các lệnh điều khiển 4. Bài tập thực hành ttdung@utc2.edu.vn 2
  3. Giới thiệu  Năm 1970 Ken Thompson sáng tạo ra ngôn ngữ B (Basic Combined Programming Language) trên môi trường HĐH Unix của máy DEC PD-7  Năm 1972 Dennis Ritchie ở Bell Labotories cùng Ken Thompson sáng tạo ra ngôn ngữ C nhằm tăng hiệu quả cho ngôn ngữ B.  Ngôn ngữ C nhanh chóng phổ biến rộng rãi và được sử dụng để viết nên HĐH đa nhiệm UNIX, O/S 2, và ngôn ngữ Dbase.  Phát triển thành C++ vào năm 1983 hỗ trợ lập trình hướng đối tượng  Có nhiều trình biên dịch C khác nhau  Turbo C (từ ver 1 tới ver 3), Microsoft C (ver 1 tới ver 6)  C++ với 3 trình biên dịch nổi tiếng Borland C++, Visual C++, và Turbo C++  Chúng ta sẽ sử dụng:  Borland C++ 5.02 hoặc Free C++ hoặc Dev C++ ttdung@utc2.edu.vn 3
  4. Tập ký tự  Mọi ngôn ngữ đều được xây dựng trên 1 bộ ký tự. Bộ ký tự trong C gồm: - Các chữ cái in hoa: A, B, C,....,Z - Các chữ cái thường: a, b, c,...,z - Các chữ số: 0, 1,2,...,9 - Các loại dấu chấm câu . ! ? : ; - Các dấu toán học: + , - , * , / , %, >,
  5. Từ khóa • Là các từ dùng riêng cho ngôn ngữ • Từ khoá phải được dùng đúng cú pháp quy định • Mọi từ khoá đều viết thường (không viết in hoa) • Các từ khoá thường gặp. ttdung@utc2.edu.vn 5
  6. Tên và cách đặt tên  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 - Không đặt tên ở dạng số mũ hoặc chỉ só (vd: H2SO4) - Không đặt tên với ký tự tiếng việt (vd: SốMaX, TổngChẵn...v.v)  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.  C là ngôn ngữ phân biệt viết hoa, viết thường ttdung@utc2.edu.vn 6
  7. 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 ttdung@utc2.edu.vn 7
  8. Các phép toán C hỗ trợ • Số học: + , - , * , / , % • Luận lý: ==, !=, >, =,
  9. Các hàm toán học thông dụng Chỉ thị tiền biên dịch: #include • 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. ttdung@utc2.edu.vn 9
  10. 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 ttdung@utc2.edu.vn 10
  11. Khai báo biến • Cú pháp Kiểudữliệu TÊNBIẾN; Kiểudữliệu Biếnl, Biến2; Kiểudữliệu TÊNBIẾN = giátrịbanđầu; • Ví dụ int sole; float tbc, tong; char Enter = '\n'; • Lưu ý: Biến có thể khai báo bất kỳ đâu trong chương trình miễn là trước khi sử dụng. ttdung@utc2.edu.vn 11
  12. Phép gán giá trị • Cú pháp TênBiến = Biểu thức giá trị ; • Ví dụ: int x, y, z; x=0; 50=x; //sai 3+y=x; //sai Z=x+y; x+y=z; //sai ttdung@utc2.edu.vn 12
  13. 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: ttdung@utc2.edu.vn 13
  14. Cấu trúc 1 chương trình C #include #include const int MAX=100; //khai bao hang float X, y, z;//khai bao bien void nhapSL(); void inKQ(); float max2so(int, int) ; int main(void) { nhapSL(); z = max2so(x, ỵ) ; inKQ(); getch(); return 0; } void nhapSL (){ printf("Nhap X va y:”); scanf("%f%f", &x, &y); } void inKQ() { printf(“So lon nhat = %.2f", z); } float max2so(int a, int b)( return a>b? a:b; ttdung@utc2.edu.vn } 14
  15. Một số quy tắc cần 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) ttdung@utc2.edu.vn 15
  16. Các kiểu dữ liệu trong C • Các kiểu dữ liệu cơ bản - Số - Ký tự - Chuỗi ký tự - Mảng • Ép kiểu trong C • Nhập xuất dữ liệu trong C ttdung@utc2.edu.vn 16
  17. Các kiểu dữ liệu cơ bản • Kiểu số: ttdung@utc2.edu.vn 17
  18. Các kiểu dữ liệu cơ bản • 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) ký tự '\n‘ : xuống dòng (new line) ký tự '\t‘ : Tab ttdung@utc2.edu.vn 18
  19. Các kiểu dữ liệu cơ bản (tt) Kiểu chuỗi (xâu ký tự) - Một dãy các ký tự đứng liền nhau được gọi là 1 xâu ký tự. - Ngôn ngữ C hiểu ký tự ‘\0’ là ký tự kết thúc xâu =>Chỉ lưu biết địa chỉ cua ký tự đầu tiên của chuỗi - Một hằng xâu ký tự đặt trong cặp dấu “nháy kép” Ví dụ: “Ho Chi Minh” là hằng xâu ký tự Khai báo biến xâu: char tênbiếnxâu[số byte];auu ttdung@utc2.edu.vn 19
  20. Kiểu mảng - Array Định nghĩa: - Mảng là một kiểu dữ liệu có cấu trúc do người lập trình định nghĩa - Dùng biểu diễn các đối tượng dữ liệu ở dạng một dãy các thành phần có cùng kiểu với nhau (kiểu cơ sở) - NNLT C luôn chỉ định một khối nhớ liên tục cho một biến kiểu mảng - Kích thước của mảng được xác định ngay khi khai báo và không bao giờ thay đổi ttdung@utc2.edu.vn 20
nguon tai.lieu . vn