Giáo trình Lập trình C# căn bản cung cấp cho người học những kiến thức như: Giới thiệu về ngôn ngữ C; Các thành phần trong ngôn ngữ C; Cấu trúc rẽ nhánh có điều kiện; Cấu trúc vòng lặp; Hàm; Mảng và chuỗi. Mời các bạn cùng tham khảo!
ỦY BAN NHÂN DÂN TỈNH HÀ TĨNH TRƯỜNG CAO ĐẲNG KỸ THUẬT VIỆT – ĐỨC GIÁO TRÌNH Mơn học: LẬP TRÌNH C# CĂN BẢN NGHỀ: QUẢN TRỊ MẠNG TRÌNH ĐỘ: TRUNG CẤP Hà Tĩnh, năm 2017 MỤC LỤC LỜI GIỚI THIỆU Error! Bookmark not defined 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À THOÁT KHỎI CHƯƠNG TRÌNH C 1.2.1 KHỞI ĐỘNG CHƯƠNG TRÌNH C 1.2.2 THỐT KHỎI CHƯƠNG TRÌNH C 10 1.2.3 CÁC VÍ DỤ ĐƠN GIẢN 10 CHƯƠNG 2: CÁC THÀNH PHẦN CƠ BẢN TRONG NGÔN NGỮ C 12 2.1 Từ khóa 12 2.1.1 Bộ chữ viết C 12 2.1.2 Từ khóa 13 2.2 Tên 13 2.3 Kiểu liệu 14 2.3.1 Kiểu số nguyên 14 2.3.2 Kiểu số thực 15 2.4 Các phép toán 15 2.4.1 Các phép toán số học 15 2.4.2 Các phép toán quan hệ logic 16 2.4.3 Phép toán tăng giảm 18 2.4.4 Thứ tự ưu tiên phép toán 19 2.5 Ghi 20 2.5.1 Ghi 20 2.5.2 Cấu trúc chương trình C 21 2.6 Khai báo biến 22 2.6.1 Biến 22 2.6.2 Vị trí khai báo biến C 23 2.6.3 Biểu thức 23 2.7 Nhập/xuất liệu 24 2.7.1 Lệnh gán 24 2.7.2 Lệnh nhập 25 2.7.3 Lệnh xuất 26 2.8 Bài tập thực hành 27 CHƯƠNG 3: CẤU TRÚC RẼ NHÁNH CÓ ĐIỀU KIỆN 28 3.1 Lệnh khối lệnh 28 3.1.1 Lệnh 28 3.1.2 Khối lệnh 28 3.2 Lệnh if 29 3.2.1 Dạng (if thiếu) 29 3.2.2 Bài tập thực hành 30 3.2.3 Dạng (if đủ) 30 3.2.4 Bài tập thực hành 31 3.2.5 Cấu trúc else if 31 3.2.6 Bài tập thực hành 33 3.2.7 Cấu trúc if lồng 33 3.2.8 Bài tập thực hành 35 3.3 Lệnh switch() 35 3.3.1 Cấu trúc switch…case (switch thiếu) 35 3.3.2 Bài tập thực hành 37 3.3.3 Cấu trúc switch…case…default (switch đủ) 38 3.3.4 Bài tập thực hành 40 3.3.5 Cấu trúc switch lồng 40 3.3.6 Bài tập thực hành 42 CHƯƠNG 4: CẤU TRÚC VÒNG LẶP 43 4.1 Lệnh for 43 4.2 Lệnh break 46 4.3 Lệnh continue 47 4.4 Lệnh while 48 4.5 Lệnh while 49 4.6 Vòng lặp lồng 51 4.7 So sánh khác vòng lặp 52 4.8 Bài tập thực hành 52 CHƯƠNG 5: HÀM 53 5.1 Các ví dụ hàm 53 5.1.1 Khái niệm hàm 53 5.1.2 Các ví dụ hàm 55 5.2 THAM SỐ DẠNG THAM BIẾN VÀ THAM TRỊ 59 5.2.1 Tham số dạng tham trị 59 5.2.2 Bài tập thực hành tham trị 61 5.2.3 Tham số dạng tham biến 61 5.2.4 Bài tập thực hành 62 5.3 SỬ DỤNG BIẾN TOÀN CỤC 63 5.3.1 Sử dụng biến toàn cục 63 5.3.2 Bài tập thực hành 65 5.4 Dùng dẫn hướng #define 68 CHƯƠNG 6: MẢNG VÀ CHUỖI 70 6.1 GIỚI THIỆU KIỂU DỮ LIỆU “KIỂU MẢNG” TRONG C 70 6.2 MẢNG MỘT CHIỀU 71 6.2.1 Khai báo 71 6.2.2 Truy xuất phần tử mảng 72 6.2.3 Bài tập thực hành 75 6.3 MẢNG NHIỀU CHIỀU 76 6.3.1 Khai báo 77 6.3.2 Truy xuất phần tử mảng hai chiều 78 6.3.3 Bài tập thực hành 80 6.4 CHUỖI 81 6.4.1 KHÁI NIỆM 82 6.4.2 KHAI BÁO 82 6.4.3 CÁC THAO TÁC TRÊN CHUỖI KÝ TỰ 83 6.4.4 Bài tập thực hành 88 TÀI LIỆU THAM KHẢO 91 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: Số TT Tên chương, mục Giới thiệu ngôn ngữ C 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 Lệnh khối lệnh Lệnh if Lệnh switch IV Cấu trúc vòng lặp Lệnh for Lệnh Break Lệnh continue I II Thời gian Tổng Lý Thực Kiểm số thuyết hành tra* (LT Bài tập hoặcTH) 1 12 12 6 Số TT V VI 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 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 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 tồ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 tố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 o Tính linh động (flexible): C ngôn ngữ uyển chuyển cú pháp, chấp nhận nhiều cách thể hiện, thu gọn kích thước mã lệnh làm chương trình chạy nhanh o Biên dịch (compile): C cho phép biên dịch nhiều tập tin chương trình riêng rẽ thành tập tin đối tượng (object) liên kết (link) đối tượng lại với thành chương trình thực thi (executable) thống 1.2 KHỞI ĐỘNG VÀ THỐT KHỎI CHƯƠNG TRÌNH C Mục tiêu: - 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 tồn với máy tính 1.2.1 KHỞI ĐỘNG CHƯƠNG TRÌNH C Nhập lệnh dấu nhắc DOS: gõ BC (Enter) (nếu đường dẫn cài lệnh path có chứa đường dẫn đến thư mục chứa tập tin BC.EXE) Nếu đường dẫn chưa cài đặt ta ta tìm xem thư mục BORLAND C (hoặc TURBO C) nằm ổ đĩa Sau ta gõ lệnh sau: :\BORLAND C\BIN\BC (Enter) Nếu vừa khởi động BC vừa soạn thảo chương trình với tập tin có tên đặt, gõ lệnh: BC [đường dẫn], tên file cần soạn thảo có nạp lên, chưa có tạo Khởi động Windows: Bạn vào menu Start, chọn Run, bạn gõ vào hộp Open dòng lệnh nhập DOS Hoặc bạn vào Window Explorer, chọn ổ đĩa chứa thư mục BORLANDC, vào thư mục BORLANDC, vào thư mục BIN, khởi động tập tin BC.EXE Ví dụ: gõ D:\BORLANDC\BIN\BIN\BC E:\BAITAP_BC\VIDU1.CPP Câu lệnh có nghĩa khởi BC nạp tập tin VIDU1.CPP chứa thư mục BAITAP_BC ổ đĩa E Nếu tập tin khơng có tạo Màn hình sau khởi động thành cơng: Hình 1.1 Màn hình sau khởi động C thành cơng 1.2.2 THỐT KHỎI CHƯƠNG TRÌNH C Ấn phím F10 (kích hoạt Menu), chọn menu File, chọn Quit; Hoặc ấn tổ hợp phím Alt – X 1.2.3 CÁC VÍ DỤ ĐƠN GIẢN /* Chuong trinh in cau bai hoc C dau tien */ #include void main() { printf(“Bai hoc C dau tien”); } Kết in hình: Bai hoc C dau tien Dịng thứ 1: bắt đầu /* kết thúc */ cho biết hang hang diễn giải (chú thích) Khi dịch chạy chương trình, dịng khơng dịch khơng thi hành lệnh Mục đích việc ghi giúp chương trình rõ ràng Sau đọc lại chương trình biết chương trình làm Dịng thứ 2: chứa phát biểu tiền xử lý #include Vì chương trình sử dụng hàm thư viện C printf, cần phải - 79 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