Giáo trình ngôn ngữ lập trình C

Giáo trình ngôn ngữ lập trình C là một giáo trình dành cho các trường Trung học chuyên nghiệp, do Sở Giáo dục và Đào tạo Hà Nội biên soạn, với chủ biên là Lê Văn Huỳnh và được Nhà xuất bản Hà Nội phát hành năm 2007.

Giáo trình này giới thiệu về ngôn ngữ lập trình C, lịch sử phát triển của nó (K&R C, ANSI C, ISO C) và các ngôn ngữ liên quan như C++, Java, C#. Sức mạnh của C được nhấn mạnh ở tính cô đọng, ngắn gọn và lỏng lẻo, gần với ngôn ngữ máy nhưng độc lập phần cứng, phù hợp cho lập trình hệ thống.

Giáo trình được chia thành 12 chương, phần phụ lục và phần bài tập. Nội dung bao quát các kiến thức cơ bản theo chương trình khung của Bộ Giáo dục và Đào tạo, kèm theo nhiều ví dụ minh họa và bài tập.

Các phần chính đã được trình bày trong tài liệu bao gồm:

  • Chương 1: Các Khái niệm Cơ bản
    • Chương trình: Giải thuật được viết bằng ngôn ngữ lập trình để giải quyết bài toán.
    • Ngôn ngữ lập trình: Tập hợp định nghĩa ký tự, ký hiệu và quy tắc để viết chương trình máy tính.
    • Tính cơ động (Portability): Khả năng thích ứng của chương trình với nhiều loại máy tính và hệ điều hành.
    • Các loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ, ngôn ngữ biên dịch, ngôn ngữ thông dịch, ngôn ngữ bậc cao.
    • C và các ngôn ngữ cùng dòng: C, C++, Java, C#.
  • Chương 2: Môi trường Lập trình C
    • Giới thiệu về môi trường phát triển tích hợp (IDE) BORLAND C++ IDE (phiên bản 3.0 được khuyến nghị).
    • Hướng dẫn khởi động IDE, xem xét và thay đổi cấu hình, sử dụng các trợ giúp.
    • Các lệnh cơ bản trong BORLAND C++ IDE: cấu trúc và các loại cửa sổ (soạn thảo, thông báo, Output, Watch, Registers, Project, Project notes), các lệnh liên quan đến cửa sổ (mở, lưu, đóng, chuyển đổi cửa sổ).
    • Các lệnh soạn thảo (Undo, Redo, Cut, Copy, Paste, Clear, Copy example).
    • Các lệnh tìm kiếm (Find, Replace, Search again, Go to line number, Locate function).
    • Hướng dẫn lưu tệp, biên dịch, liên kết, Make, Build All, chạy chương trình, và kết thúc phiên làm việc.
    • Ví dụ “Hello, world!” đầu tiên và giải thích chi tiết ý nghĩa từng dòng lệnh.
  • Chương 3: Các Thành phần Cơ bản của Ngôn ngữ C
    • Một số quy ước: Lưu ý về tính cơ động và các phiên bản C (ANSI C, Turbo C++).
    • Tập ký tự: 26 chữ cái hoa/thường, 0-9, dấu gạch nối, các ký hiệu toán học, dấu phân cách, các ký hiệu khác. C phân biệt chữ hoa/thường.
    • Bộ từ khóa: Danh sách các từ khóa của C và C++ (ví dụ: intfloatcharifforwhilereturnconstswitchvoidcasebreakcontinuedefaultlongunsigneddoubleshortsignedsizeofstaticstructunionenumexternautoregistervolatiletypedefgototemplatethisprivateprotectedpublicvirtualclassdeletenewfriendoperatorexportfastcallfarhugeinterruptloaddsnearpascalsaveregssegasmcdecldsescsss).
    • Tên (Identifier): Quy tắc đặt tên cho các kiểu, hằng, biến, hàm, con trỏ, tệp, cấu trúc (không trùng từ khóa, không bắt đầu bằng số, không chứa khoảng trống, độ dài tối đa 32 ký tự).
    • Kiểu dữ liệu (Data Type):
      • Kiểu ký tự (char): 1 byte, %c, giá trị -128 đến 127 hoặc 0 đến 255.
      • Kiểu nguyên (int): 2 byte, %d, giá trị -32768 đến 32767. Các biến tố: long int (%ld), unsigned int (%u), unsigned long int (%lu).
      • Kiểu dấu phẩy động: float (4 byte, %f), double (8 byte, %lf), long double (10 byte, %Lf). Hướng dẫn cấu hình Floating point trong Compiler Options.
    • Chuyển kiểu trong Ngôn ngữ C:
      • Chuyển kiểu ngầm: Xảy ra tự động trong các phép toán để bảo toàn dữ liệu và độ chính xác (ví dụ: char sang int, kiểu “thấp hơn” sang “cao hơn”).
      • Phép ép kiểu: Người lập trình chủ động chuyển đổi kiểu dữ liệu (ví dụ: (float)i hoặc float(i)).
  • Chương 4: Biểu thức
    • Biến (variable): Tên đại diện cho đại lượng dữ liệu, có kiểu xác định, giá trị có thể thay đổi. Cú pháp khai báo: <kiểu> <tên> [ = <giá trị>][, <tên>[ = <giá trị>]]*;
    • Hằng (constant): Các giá trị cụ thể thuộc một kiểu xác định.
      • Hằng nguyên: int (5, -11), long int (5L), hệ thập lục (0x), hệ bát phân (0).
      • Hằng dấu chấm động: 1.4, 1.0, 0.125E3.
      • Hằng kiểu ký tự: ‘a’, ‘x’, ‘T’, hoặc mã ASCII tương ứng (97, 0x61, 0141). Các ký tự đặc biệt (\n\t).
      • Hằng xâu ký tự: “Hello, world!”. Lưu ý sự khác biệt giữa 'a' (1 byte) và "a" (2 byte, có ký tự null kết thúc).
    • Khai báo hằng ký hiệu bằng chỉ dẫn #define.

Tóm lại, giáo trình cung cấp một cái nhìn tổng quan và hướng dẫn chi tiết về ngôn ngữ lập trình C, từ các khái niệm cơ bản đến cách sử dụng môi trường lập trình BORLAND C++ IDE, các thành phần cú pháp và kiểu dữ liệu, cũng như cách viết chương trình đầu tiên.

Công nghệ thông tin Sách giáo trình

Giáo trình ngôn ngữ lập trình C
  • Tác giả: Lê Văn Huỳnh
  • Ngôn ngữ: Tiếng Việt