Bà XÂY DĀNG TR¯àNG CAO ĐÀNG XÂY DĂNG Sà 1 GIÁO TRÌNH MÔN HàC: C¡ Sâ LÀP TRÌNH NGÀNH: CÔNG NGHà THÔNG TIN TRÌNH Đà: CAO ĐÀNG Ban hành theo Quyết định số: 368ĐT/QĐ-CĐXD1 ngày 10 tháng 8 năm 2021 của Hiệu trưởng Trường Cao đẳng Xây dựng số 1 Hà Nội, năm 2021 TUYÊN Bà BÀN QUYÀN Tài liệu này thuác loại sách giáo trình nên các ngußn thông tin có thể đưāc phép dùng nguyên b¿n hoặc trích dùng cho các mục đích về đào tạo và tham kh¿o. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cÁm. LàI NÓI ĐÄU Giáo trình C¡ Sà LÀP TRÌNH đưāc biên soạn nh¿m phục vụ cho gi¿ng dạy và học tÁp cho trình đá Trung cÁp ngành Công nghệ thông tin á trưßng Cao đÁng Xây dāng số 1. C¡ Sà LÀP TRÌNH là môn học c¢ sá ngành nh¿m cung cÁp các kiến thức về lÁp trình cho ngành công nghệ thông tin.
Giáo trình C¡ Sà LÀP TRÌNH do bá môn Tin c¢ sá gßm: ThS.Đß Thị Xuân Thắm làm chủ biên và các thầy cô Trần Thị M¢ và Lê Thị Lư¢ng tham gia biên soạn. Giáo trình này đưāc viết theo đề cư¢ng môn học LÁp trình căn b¿n. Ngoài ra giáo trình còn bá sung thêm mát số kiến thức mà trong các giáo trình trước chưa đề cÁp tới. Nái dung gßm 05 chư¢ng sau: Chư¢ng 1: Táng quan về ngôn ngÿ lÁp trình C Chư¢ng 2: CÁu trúc điều khiển trong ngôn ngÿ lÁp trình C Chư¢ng 3: Kiểu dÿ liệu có cÁu trúc Chư¢ng 4: Hàm trong ngôn ngÿ lÁp trình C Chư¢ng 5: Kiểu dÿ liệu tệp Trong quá trình biên soạn, nhóm gi¿ng viên Bá môn Tin c¢ sá của Trưßng Cao đÁng Xây dāng Số 1 - Bá Xây dāng, đã đưāc sā đáng viên quan tâm và góp ý của các đßng chí lãnh đạo, các đßng nghiệp trong và ngoài trưßng.
Mặc dù có nhiều cố gắng, nhưng trong quá trình biên soạn, biên tÁp và in Án khó tránh khỏi nhÿng thiếu sót. Chúng tôi xin đưāc lưāng thứ và tiếp thu nhÿng ý kiến đóng góp. Trân trọng c¿m ¢n! Hà Nái, ngày&&tháng&&năm&&& Tham gia biên soạn 1. Đß Thị Xuân Thắm - Chủ biên MĀC LĀC Ch°¢ng 1: Táng quan vÁ ngôn ngā lÁp trình C.
Gißi thiáu ngôn ngā lÁp trình. Các khái niệm chương trình, lập trình, lập trình viên. Giới thiệu về ngôn ngữ lập trình. Các yếu tố cơ bản.
Cấu trúc một chương trình. Môi trường làm việc. Một sá kiÃu dā liáu c¢ bÁn trong C. NhÁp/ xuÃt dā liáu trong C.
Các hàm nhập dữ liệu.2 Các hàm xuất dữ liệu. Trình bày màn hình. 22 Ch°¢ng 2: CÃu trúc điÁu khiÃn trong ngôn ngā lÁp trình C. CÃu trúc rẽ nhánh.
Cấu trúc rẽ nhánh có điều kiện. Cấu trúc rẽ nhánh vô điều kiện. 44 Ch°¢ng 3: Các kiÃu dā liáu có cÃu. KiÃu dā liáu mÁng.
Khái niệm về mảng. Mảng một chiều. Mảng nhiều chiều. KiÃu dā liáu con trß.
Khái niệm con trỏ. Sử dụng biến con trỏ. Sử dụng con trỏ trong mảng một chiều. Sử dụng con trỏ trong mảng nhiều chiều.
KiÃu dā liáu cÃu trúc (struct). Khái niệm kiểu dữ liệu cấu trúc. Khai báo kiểu dữ liệu cấu trúc. Truy xuất đến các thành phần của cấu trúc.
Phối hợp mảng và dữ liệu kiểu cấu trúc. KiÃu dā liáu tă đßnh nghĩa. Kiểu liệt kê. 67 Ch°¢ng 4: Hàm trong ngôn ngā lÁp trình C.
Gißi thiáu vÁ hàm. Khái niệm về hàm. Hàm thư viện. Hàm tự tạo.
Xây dăng và sÿ dāng hàm. Xây dựng hàm. Sử dụng hàm. Nguyên tắc hoạt động của hàm.
Truyền tham số cho hàm. 75 Ch°¢ng 5 : KiÃu dā liáu táp. Khái niám vÁ kiÃu dā liáu táp. Khái niệm về tệp.
Cấu trúc và phân loại tệp.1 Khai báo biến tệp. Ghi dữ liệu vào tệp. Đọc dữ liệu từ tệp. 85 Tên môn hác: C¡ Sâ LÀP TRÌNH Mã môn hác: MH10 Thái gian thăc hián môn hác: 60 giß; (Lý thuyết: 30 giß; Thāc hành, th¿o luÁn, bài tÁp: 27 giß; Kiểm tra: 3 giß) I.
Vß trí, tính chÃt của môn hác: - Vị trí: Môn C¢ sá lÁp trình là môn học bắt buác thuác nhóm các mô đun/ môn học đào tạo ngành Công nghệ thông tin. - Tính chÁt: Môn C¢ sá lÁp trình là mát trong nhÿng nái dung c¢ b¿n đưāc sử dụng làm nền t¿ng trong lĩnh vāc thiết kế phần mềm, góp phần nâng cao chÁt lưāng đào tạo nghề và phát triển ngußn nhân lāc trong thßi đại công nghệ thông tin. Māc tiêu của môn hác: - Về kiến thức: Ngưßi học có đưāc các kiến thức về các kiểu dÿ liệu c¢ b¿n, các hàm, thủ tục chuẩn của ngôn ngÿ lÁp trình C; các cÁu trúc lệnh trong ngôn ngÿ lÁp trình C; các kiểu dÿ liệu có cÁu trúc; cÁu trúc hàm trong ngôn ngÿ lÁp trình C. - Về kỹ năng: LÁp trình để gi¿i quyết đưāc mát số bài toán c¢ b¿n, phát triển kỹ năng để lÁp trình trong các ngôn ngÿ lÁp trình khác.
- Về năng lāc tā chủ và trách nhiệm: Rèn luyện lòng yêu nghề, tư thế tác phong công nghiệp, tính kiên trì, sáng tạo trong công việc, có kh¿ năng làm việc đác lÁp và biết kết hāp nhóm. Nội dung môn hác: CH¯¡NG 1: TàNG QUAN VÀ NGÔN NGĀ LÀP TRÌNH C Mục tiêu: - Cung cấp cho người học các kiến thức cơ bản về ngôn ngữ lập trình C: Bộ chữ viết trong C, các từ khóa, các kiểu dữ liệu, biến và các biểu thức trong C. - Cấu trúc một chương trình viết bằng ngôn ngữ lập trình C - Môi trường làm việc và một số thao tác cơ bản. - Cách sử dụng câu lệnh gán giá trị của một biểu thức cho một biến.
- Cách sử dụng lệnh scanf để nhập giá trị cho biến. - Cách sử dụng lệnh printf để xuất giá trị của biểu thức lên mà hình và cách định dạng dữ liệu. Nội dung chương: 1. Gißi thiáu ngôn ngā lÁp trình 1.
Các khái niám ch°¢ng trình, lÁp trình, lÁp trình viên Chư¢ng trình - Khái niám: Chư¢ng trình là mát tÁp hāp các mô t¿, các phát biểu, n¿m trong hệ thống quy ước về ý nghĩa và thứ tā thāc hiện, nh¿m điều khiển máy tính làm việc. Chư¢ng trình = ThuÁt toán + CÁu trúc dÿ liệu Các thuÁt toán và chư¢ng trình đều có cÁu trúc dāa trên ba cÁu trúc điều khiển c¢ b¿n: TuÅn tă: Các bước thāc hiện tuần tā mát các chính xác từ trên xuống, mßi bước chỉ thāc hiện mát lần. Chán lác: Lāa chọn mát công việc để thāc hiện căn cứ vào mát điều kiện nào đó. Có mát số dạng như sau: + Cấu trúc 1: Nếu <điều kiện> (đúng) thì thāc hiện <công việc> + Cấu trúc 2: Nếu <điều kiện> (đúng) thì thāc hiện <công việc 1>, ngưāc lại (điều kiện sai) thì thāc hiện <công việc 2>.
+ Cấu trúc 3: Trưßng hāp <i> thāc hiện <công việc i>. Lặp l¿i: Thāc hiện lặp lại mát công việc mát hoặc nhiều lần căn cứ vào điều kiện nào đó. Có hai dạng lặp như sau: + Lặp xác định: là loại lặp mà khi viết chư¢ng trình, ngưßi lÁp trình đã xác định đưāc công việc lặp bao nhiêu lần. + Lặp không xác định: là loại lặp mà khi viết chư¢ng trình ngưßi lÁp trình chưa xác định đưāc công việc lặp bao nhiêu lần.
Số lần lặp sẽ đưāc xác định khi chư¢ng trình thāc thi. Muốn trá thành lÁp trình viên chuyên nghiệp ph¿i thāc hiện trình tā để có thói quen và thuÁn lāi sau này trên nhiều mặt của ngưßi làm máy tính. Ta cần thāc hiện theo các bước sau: Tìm và xây dāng thuÁt gi¿i (trên giÁy) → Viết chư¢ng trình trên máy tính → dịch chư¢ng trình → chạy thử chư¢ng trình. Ngôn ngÿ lÁp trình (Programming Language) Ngôn ngÿ lÁp trình là mát hệ thống các ký hiệu tuân theo các quy ước về ngÿ pháp và ngÿ nghĩa, dùng để xây dāng thành các chư¢ng trình cho máy tính.
Mát chư¢ng trình đưāc viết b¿ng mát ngôn ngÿ lÁp trình cụ thể (ví dụ C, C++, C#, .) gọi là chư¢ng trình ngußn, chư¢ng trình dịch làm nhiệm vụ dịch chư¢ng trình ngußn thành chư¢ng trình thāc thi đưāc trên máy tính. LÁp trình viên LÁp trình viên là ngưßi đưa ra các bước lÁp trình: - B°ßc 1: Phân tích vÁn đề và xác định các đặc điểm (Xác định I-P-O: Input 3 Process 3 Output quy trình nhÁp 3 xÿ lý - xuÃt). - B°ßc 2: LÁp ra gi¿i pháp (đưa ra thuÁt gi¿i). - B°ßc 4: Chạy thử chư¢ng trình (dịch chư¢ng trình).
- B°ßc 5: Kiểm chứng và hoàn thiện chư¢ng trình (thử nghiệm b¿ng nhiều số liệu và đánh giá). Kỹ thuÁt lÁp trình Quy trình nhÁp 3 xử lý 3 xuÁt I-P-O Cycle (Input-Pprocess-Output Cycle) Quy trình xử lý c¢ b¿n của máy tính gßm I-P-O Ví dā 1: Xác định Input, Process, Output của việc làm mát ly nước chanh nóng. - Input (vào): Ly, đưßng, chanh, nước nóng, mußng. - Porcess (xử lý): Cho hßn hāp đưßng, chanh, nước nóng vào ly.
Sau đó dùng thìa khuÁy để dùng. - Output (ra): Ly nước chanh nóng. Ví dā 2: Xác định Input, Process, Output của chư¢ng trình tính tiền lư¢ng công nhân tháng 9/2020 biết r¿ng lư¢ng = lư¢ng căn b¿n* ngày công. - Input: Lư¢ng căn b¿n, ngày công.
- Process: Nhân lư¢ng căn b¿n với ngày công. - Output: Lư¢ng Ví dā 4: Xác định Input, Process, Output của chư¢ng trình gi¿i phư¢ng trình bÁc nhÁt ax + b = 0 - Input : hệ số a, b - Process: chia 3 b cho a - Output: nghiệm x Sử dụng lưu đß Để dễ h¢n về quy trình xử lý, các nhà lÁp trình đưa ra duạng lưu đß để minh họa từng bước quá trình xử lý mát vÁn đề (bài toán) b¿ng cách sử dụng lưu đß (Flowchart). Gißi thiáu vÁ ngôn ngā lÁp trình 1. Sự phát triển của các công cụ lập trình C là ngôn ngÿ lÁp trình cÁp cao, đưāc sử dụng phá biến để lÁp trình hệ thống cùng với Asembler và phát triển các ứng dụng.
Ban đầu, C đưāc thiết kế nh¿m lÁp trình trong môi trưßng của hệ điều hành Unix nh¿m mục đích hß trā các công việc lÁp trình phức tạp. Nhưng về sau, với nhÿng nhu cầu phát triển ngày càng tăng của công việc lÁp trình, C đã vưāt qua khuôn khá của phòng thí nghiệm Bell và nhanh chóng hái nhÁp vào thế giới lÁp trình để rßi đưāc các công ty lÁp trình sử dụng mát cách ráng rãi. Sau đó các công ty s¿n xuÁt phần mềm lần lưāt đưa ra các phiên b¿n hß trā cho việc lÁp trình b¿ng ngôn ngÿ C và chuẩn ANSI C cũng đưāc sinh ra từ đó.