Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 95 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
95
Dung lượng
846,75 KB
Nội dung
BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Mơn học: LẬP TRÌNH C NGHỀ: QUẢN TRỊ MẠNG TRÌNH ĐỘ: CAO ĐẲNG NGHỀ ( Ban hành kèm theo Quyết định số: 120/QĐ-TCDN ngày 25 tháng 02 năm 2013 Tổng cục trưởng Tổng cục dạy nghề) Hà Nội, năm 2013 TUYÊN BỐ BẢN QUYỀN: Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm MÃ TÀI LIỆU: MH18 LỜI GIỚI THIỆU Ngày nay, khoa học máy tính thâm nhập vào lĩnh vực Tự động hóa ngành chủ chốt điều hướng phát triển giới Bất ngành nghề cần phải hiểu biết nhiều Cơng nghệ Thơng tin lập trình nói chung Cụ thể, C ngơn ngữ lập trình cấp cao mà lập trình viên cần phải biết Vì thế, giáo trình này, nghiên cứu chi tiết cấu trúc ngôn ngữ C Môn học tảng để tiếp thu hầu hết mơn học khác chương trình đào tạo Mặt khác, nắm vững ngôn ngữ C sở để phát triển ứng dụng Học xong môn này, sinh viên phải nắm vấn đề sau: - Khái niệm ngơn ngữ lập trình - Khái niệm kiểu liệu - Kiểu liệu có cấu trúc (cấu trúc liệu) - Khái niệm giải thuật - Ngôn ngữ biểu diễn giải thuật - Ngôn ngữ sơ đồ (lưu đồ), sử dụng lưu đồ để biểu diễn giải thuật - Tổng quan Ngôn ngữ lập trình C - Các kiểu liệu C - Các lệnh có cấu trúc - Cách thiết kế sử dụng hàm C - Một số cấu trúc liệu C Hà Nội, ngày 25 tháng 02 năm 2013 Tham gia biên soạn Chủ biên Trần Thị Hà Khuê Thành viên Võ Thị Ngọc Tú Thành viên Dương Hiển Tú MỤC LỤC LỜI GIỚI THIỆU MỤC LỤC Vị trí, tính chất, ý nghĩa vai trị mơn học: Mục tiêu môn học: Nội dung môn học: CHƯƠNG 1: GIỚI THIỆU VỀ NGÔN NGỮ C 1.1 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C 1.2 KHỞI ĐỘNG VÀ THỐT KHỎI CHƯƠNG TRÌNH C 11 1.2.1 KHỞI ĐỘNG CHƯƠNG TRÌNH C 11 1.2.2 THỐT KHỎI CHƯƠNG TRÌNH C 12 1.2.3 CÁC VÍ DỤ ĐƠN GIẢN 12 CHƯƠNG 2: CÁC THÀNH PHẦN CƠ BẢN TRONG NGÔN NGỮ C 14 2.1 Từ khóa 14 2.1.1 Bộ chữ viết C 14 2.1.2 Từ khóa 15 2.2 Tên 15 2.3 Kiểu liệu 16 2.3.1 Kiểu số nguyên 16 2.3.2 Kiểu số thực 17 2.4 Các phép toán 17 2.4.1 Các phép toán số học 17 2.4.2 Các phép toán quan hệ logic 18 2.4.3 Phép toán tăng giảm 20 2.4.4 Thứ tự ưu tiên phép toán 21 2.5 Ghi 22 2.5.1 Ghi .22 2.5.2 Cấu trúc chương trình C .23 2.6 Khai báo biến 24 2.6.1 Biến .24 2.6.2 Vị trí khai báo biến C 25 2.6.3 Biểu thức 25 2.7 Nhập/xuất liệu 26 2.7.1 Lệnh gán 26 2.7.2 Lệnh nhập 27 2.7.3 Lệnh xuất .28 2.8 Bài tập thực hành 29 CHƯƠNG 3: CẤU TRÚC RẼ NHÁNH CÓ ĐIỀU KIỆN 30 3.1 Lệnh khối lệnh 30 3.1.1 Lệnh 30 3.1.2 Khối lệnh 30 3.2 Lệnh if 31 3.2.1 Dạng (if thiếu) 31 3.2.2 Bài tập thực hành 32 3.2.3 Dạng (if đủ) 32 3.2.4 Bài tập thực hành 33 3.2.5 Cấu trúc else if 33 3.2.6 Bài tập thực hành 35 3.2.7 Cấu trúc if lồng 35 3.2.8 Bài tập thực hành 37 3.3 Lệnh switch() 37 3.3.1 Cấu trúc switch…case (switch thiếu) 37 3.3.2 Bài tập thực hành 39 3.3.3 Cấu trúc switch…case…default (switch đủ) 40 3.3.4 Bài tập thực hành 42 3.3.5 Cấu trúc switch lồng 42 3.3.6 Bài tập thực hành 44 CHƯƠNG 4: CẤU TRÚC VÒNG LẶP 45 4.1 Lệnh for 45 4.2 Lệnh break 48 4.3 Lệnh continue 49 4.4 Lệnh while 50 4.5 Lệnh while 51 4.6 Vòng lặp lồng 53 4.7 So sánh khác vòng lặp 54 4.8 Bài tập thực hành 54 CHƯƠNG 5: HÀM 55 5.1 Các ví dụ hàm 55 5.1.1 Khái niệm hàm 55 5.1.2 Các ví dụ hàm 57 5.2 THAM SỐ DẠNG THAM BIẾN VÀ THAM TRỊ 61 5.2.1 Tham số dạng tham trị 61 5.2.2 Bài tập thực hành tham trị .63 5.2.3 Tham số dạng tham biến 63 5.2.4 Bài tập thực hành 64 5.3 SỬ DỤNG BIẾN TOÀN CỤC 65 5.3.1 Sử dụng biến toàn cục 65 5.3.2 Bài tập thực hành 67 5.4 Dùng dẫn hướng #define 70 CHƯƠNG 6: MẢNG VÀ CHUỖI 72 6.1 GIỚI THIỆU KIỂU DỮ LIỆU “KIỂU MẢNG” TRONG C 72 6.2 MẢNG MỘT CHIỀU 73 6.2.1 Khai báo .73 6.2.2 Truy xuất phần tử mảng 74 6.2.3 Bài tập thực hành 77 6.3 MẢNG NHIỀU CHIỀU 78 6.3.1 Khai báo .79 6.3.2 Truy xuất phần tử mảng hai chiều .80 6.3.3 Bài tập thực hành 82 6.4 CHUỖI 83 6.4.1 KHÁI NIỆM 84 6.4.2 KHAI BÁO 84 6.4.3 CÁC THAO TÁC TRÊN CHUỖI KÝ TỰ 85 6.4.4 Bài tập thực hành 90 TÀI LIỆU THAM KHẢO 93 MÔN HỌC LẬP TRÌNH C Mã mơn học: MH18 Vị trí, tính chất, ý nghĩa vai trị mơn học: - Vị trí: Mơn học bố trí sau sinh viên học xong môn học chung, môn học sở chuyên ngành đào tạo chuyên môn nghề - Tính chất: Lập trình C mơn học lý thuyết sở nghề - Ý nghĩa vai trò: Môn học tảng để tiếp thu hầu hết mơn học khác chương trình đào tạo Mặt khác, nắm vững ngôn ngữ C sở để phát triển ứng dụng Mục tiêu mơn học: - Trình bày cơng dụng ngơn ngữ lập trình C; - Trình bày cú pháp, công dụng câu lệnh ngôn ngữ C; - Phân tích chương trình: xác định nhiệm vụ chương trình (phải làm gì?) - Viết chương trình thực chương trình đơn giản máy tính ngơn ngữ C - Bố trí làm việc khoa học đảm bảo an toàn cho người phương tiện học tập Nội dung môn học: Thời gian Số Tổng Lý Thực Kiểm Tên chương, mục TT số thuyết hành tra* (LT Bài tập hoặcTH) I Giới thiệu ngôn ngữ C 1 II Các thành phần ngôn ngữ C Từ khóa Tên Kiểu liệu Ghi Khai báo biến Nhập/xuất liệu III Cấu trúc rẽ nhánh có điều kiện 12 Lệnh khối lệnh Lệnh if Lệnh switch IV Cấu trúc vòng lặp 12 6 Lệnh for Lệnh Break Lệnh continue Số TT Tên chương, mục Lệnh while Lệnh do…while Vòng lặp lồng So sánh khác vịng lặp V Hàm Các ví dụ hàm Tham số dạng tham biến tham trị Sử dụng biến toàn cục Dùng dẫn hướng #define VI Mảng chuỗi Mảng Chuỗi Cộng Thời gian Tổng Lý Thực Kiểm số thuyết hành tra* (LT Bài tập hoặcTH) 13 15 7 60 30 27 CHƯƠNG 1: GIỚI THIỆU VỀ NGÔN NGỮ C Mã chương: MH18-01 Ý nghĩa: C ngôn ngữ có hiệu ưa chuộng để viết phần mềm hệ thống, dùng cho việc viết ứng dụng Ngoài ra, C thường dùng làm phương tiện giảng dạy khoa học máy tính ngơn ngữ khơng thiết kế dành cho người nhập môn Mục tiêu: - Trình bày lịch sử phát triển ngơn ngữ C; - Mô tả ứng dụng thực tế ngôn ngữ C - Một số thao tác trình soạn thảo C - Tiếp cận số lệnh đơn giản thơng qua ví dụ - Thực thao tác an toàn với máy tính Nội dung: 1.1 TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH C Mục tiêu: - Trình bày lịch sử phát triển ngôn ngữ C; - Mô tả ứng dụng thực tế ngôn ngữ C - Mô tả đặc điểm ngôn ngữ C C ngơn ngữ lập trình cấp cao, sử dụng phổ biến để lập trình hệ thống với Assembler phát triển ứng dụng Vào năm cuối thập kỷ 60 đầu thập kỷ 70 kỷ XX, Dennish Ritchie (làm việc phòng thí nghiệm Bell) phát triển ngơn ngữ lập trình C dựa ngôn ngữ BCPL (do Martin Richards đưa vào năm 1967) ngôn ngữ B (do Ken Thompson phát triển từ ngôn ngữ BCPL vào năm 1970 viết hệ điều hành UNIX máy PDP-7) cài đặt lần hệ điều hành UNIX máy DEC PDP-11 Năm 1978, Dennish Ritchie B.W Kernighan cho xuất “Ngôn ngữ lập trình C” phổ biến rộng rãi đến Lúc ban đầu, C thiết kế nhằm lập trình mơi trường hệ điều hành Unix nhằm mục đích hỗ trợ cho cơng việc lập trình phức tạp Nhưng sau, với nhu cầu phát triển ngày tăng công việc lập trình, C vượt qua khn khổ phịng thí nghiệm Bell nhanh chóng hội nhập vào giới lập trình để cơng ty lập trình sử dụng cách rộng rãi Sau đó, cơng ty sản xuất phần mềm đưa phiên hỗ trợ cho việc lập trình ngơn ngữ C chuẩn ANSI C khai sinh từ Ngơn ngữ lập trình C ngơn ngữ lập trình hệ thống mạnh “mềm dẻo”, có thư viện gồm nhiều hàm (function) tạo sẵn Người lập trình tận dụng hàm để giải toán mà không cần phải tạo Hơn nữa, ngôn ngữ C hỗ trợ nhiều phép toán nên phù hợp cho việc giải toán kỹ thuật có nhiều cơng thức phức tạp Ngồi ra, C cho phép người lập trình tự định nghĩa thêm kiểu liệu trừu tượng khác Tuy nhiên, điều mà người vừa học lập trình C thường gặp “rắc rối” “hơi khó hiểu” “mềm dẻo” C Dù vậy, C phổ biến rộng rãi trở thành cơng cụ lập trình mạnh, sử dụng ngôn ngữ lập trình chủ yếu việc xây dựng phần mềm Ngơn ngữ C có đặc điểm sau: o Tính đọng (compact): C có 32 từ khóa chuẩn 40 tốn tử chuẩn, hầu hết biểu diễn chuỗi ký tự ngắn gọn o Tính cấu trúc (structured): C có tập hợp thị lập trình cấu trúc lựa chọn, lặp… Từ chương trình viết C tổ chức rõ ràng, dễ hiểu o Tính tương thích (compatible): C có tiền xử lý thư viện chuẩn vô phong phú nên chuyển từ máy tính sang máy tính khác chương trình viết C hồn tồn tương thích - 81 c[i][j]=a[i][j]+b[i][j]; } int main() { int a[10][10], b[10][10], M, N; int c[10][10];/* Ma tran tong*/ printf("So dong M= "); scanf("%d",&M); printf("So cot M= "); scanf("%d",&N); printf("Nhap ma tran A\n"); Nhap(a,M,N); printf("Nhap ma tran B\n"); Nhap(b,M,N); printf("Ma tran A: \n"); InMaTran(a,M,N); printf("Ma tran B: \n"); InMaTran(b,M,N); CongMaTran(a,b,M,N,c); printf("Ma tran tong C:\n"); InMaTran(c,M,N); getch(); return 0; } Ví dụ 2: Nhập vào ma trận chiều gồm số thực, in tổng phần tử đường chéo ma trận Ta nhận thấy giả sử ma trận a có M dịng, N cột phần tử đường chéo phần tử có dạng: a[i][i] với i ∈ [0…min(M,N)-1] #include #include int main() { float a[10][10], T=0; int M, N, i,j, Min; clrscr(); printf("Ma tran co bao nhieu dong? "); scanf("%d",&M); printf("Ma tran co bao nhieu cot? ");scanf("%d",&N); for(i=0;i