giáo trình lập trình căn bản dành cho người tiếp cận bộ môn lập trình gồm lý thuyết và các bài thực hành Sau khi học xong chương này người học có khả năng: Hiểu được lịch sử phát triển của ngôn ngữ C; Biết được những ứng dụng thực tế của ngôn ngữ lập trình C; Thao tác thành thạo trên môi trường phát triển C; Sử dụng được hệ thống trợ giúp của phần mềm C; Chủ động tìm hiểu các tính năng của ngôn ngữ C.
TRƯỜNG TRUNG CẤP NGHỀ GIAO THÔNG CÔNG CHÍNH HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH Tên môn học:MH11 – Lập trình NGHỀ CÔNG NGHỆ THÔNG TIN ( ỨNG DỤNG PHẦN MỀM ) TRÌNH ĐỘ TRUNG CẤP NGHỀ Ban hành kèm theo Quyết định số 290/QĐ –GTCC, Ngày 19 tháng 10 năm 2015 Hiệu trưởng trường Trung cấp nghề Giao thông công Hà Nội Hà Nội - Năm 2015 LỜI NÓI ĐẦU Hiện nay, với phát triển khoa học công nghệ giới, lĩnh vực công nghệ thông tin nói chung Công nghệ thông tin ( Ứng dụng phần mềm) Việt Nam nói riêng có bước phát triển mạnh mẽ số lượng chất lượng đóng góp cho nghiệp công nghiệp hóa, đại hóa đất nước Thực Luật Dạy nghề ngày 29 tháng 11 năm 2006 theo định số 37/2008/QĐ-BLĐTBXH ngày 16 tháng 04 năm 2008 Bộ trưởng Bộ Lao động-Thương binh Xã hội việc Ban hành tạm thời Danh mục nghề đào tạo trình độ Trung cấp nghề, trình độ Cao đẳng nghề Thực chương trình đào tạo Trung cấp Nghề Công nghệ thông tin ( Ứng dụng phần mềm) ban hành theo định số 170/ QĐ- GTCC ngày 02 tháng 06 năm 2015 Hiệu trưởng Trường Trung cấp nghề Giao thông công Hà Nội Việc biên soạn giáo trình Công nghệ thông tin ( ứng dụng phần mềm) nhằm đáp ứng nhu cầu giảng dạy đội ngũ giáo viên học tập học sinh nghề Công nghệ thông tin ( ứng dụng phần mềm) tạo thống trình đào tạo nghề Công nghệ thông tin ( ứng dụng phần mềm) đáp ứng nhu cầu thực tế sản xuất doanh nghiệp thành phần kinh tế vấn đề cấp thiết cần thực Xuất phát từ nhu cầu đào tạo thực tế sản xuất, Trường trung cấp nghề Giao thông công Hà Nội tiến hành biên soạn giáo trình nghề Công nghệ thông tin ( ứng dụng phần mềm): 20 tập giáo trình môn học, mô-đun đào tạo nghề bắt buộc; 10 tập giáo trình môn học, mô-đun tự Nội dung biên soạn theo hình thức tích hợp lý thuyết thực hành với kiến thức, kỹ nghề bố trí kết hợp khoa học nhằm đảm bảo tốt mục tiêu đề môn học, mô-đun Trong trình biên soạn, tác giả tham khảo nhiều chuyên gia đào tạo nghề Công nghệ thông tin ( ứng dụng phần mềm), công nhân bậc cao sở sản xuất, đồng thời áp dụng tiêu chuẩn Quốc tế ISO cố gắng đưa kiến thức kỹ phù hợp với thực tế sản xuất, đặc biệt dễ nhớ, dễ hiểu không mục đích nâng cao chất lượng đào tạo, đáp ứng tốt nhu cầu sản xuất Trong trình biên soạn giáo trình, có nhiều cố gắng tác giả, xong tránh khỏi thiếu sót, hạn chế Đồng thời để giáo trình ngày hoàn thiện, phục vụ tốt công tác giảng dạy học tập, Nhà trường mong nhận góp ý bạn đọc MỤC LỤC CHƯƠNG : TỔNG QUAN VỀ NGÔN NGỮ C Giới thiệu ngôn ngữ C .8 1.1 Lịch sử phát triển 1.2 Sự cần thiết Các thao tác 2.1 Khởi động 2.2 Thoát khỏi Turbo C 10 2.3 Tạo mới, ghi chương trình C 10 a Các lệnh menu File (Alt -F) .12 b Các lệnh menu Edit (Alt -E) 13 c Các lệnh menu Search (Alt -S) 14 d Các lệnh menu Run (Alt -R) .15 e Các lệnh menu Compile (Alt C) 15 Trên menu Debug bao gồm số lệnh trợ giúp người lập trình "gỡ rối" chương trình Người lập trình sử dụng chức "gỡ rối" gặp số "lỗi" thuật toán, sử dụng biến nhớ… 16 - Lệnh Breakpoints: Dùng để đặt "điểm dừng" chương trình Khi chương trình thực thi đến "điểm dừng dừng lại" 16 - Lệnh Watch : Dùng để mở cửa sổ hiển thị kết trung gian biến nhớ chạy chương trình bước .16 Trên menu Project bao gồm lệnh liên quan đến dự án : đóng, mở, thêm , xóa mục,… 16 h Các lệnh menu Option .16 Trên menu Option bao gồm lệnh giúp người lập trình thiết đặt số tự chọn chạy chương trình Thông thường, người lập trình không cần phải thiết đặt lại tự chọn 16 - Lệnh Compiler : Dùng để thiết đặt lại số thôngsố biên dịch chương trình 16 - Lệnh Directories : Dùng để đặt lại đường dẫn tìm đến tập tin cần thiết biên dịch chương trình: 16 i Các lệnh menu Window (Alt- W) .16 3 Sử dụng trợ giúp 17 3.1 Trợ giúp từ help file 17 3.2 Trợ giúp trực tuyến 17 CHƯƠNG 2: CÁC THÀNH PHẦN CƠ BẢN .21 Từ khóa kí hiệu 22 1.1 Từ khóa .22 1.2 Ký hiệu tập ký hiệu .22 Các kiểu liệu sơ cấp 23 2.1 Kiểu số nguyên 24 2.2 Kiểu dấu phẩy động 24 2.3 Kiểu ký tự (char) .24 Biến, hằng, biểu thức .25 3.1 Phân loại, khai báo sử dụng biến 25 3.2 Hằng biểu thức 27 Cấu trúc chương trình .29 4.1 Tiền xử lý biên dịch 29 4.2 Cấu trúc chương trình C .29 4.3 Các thư viện thông dụng 30 Câu lệnh 31 5.1 Khái niệm 31 5.2 Lệnh gán lệnh gộp 31 5.3 Nhập xuất liệu 32 Thực thi chương trình 34 CHƯƠNG 3: CÁC LỆNH CẤU TRÚC .38 Cấu trúc rẽ nhánh .38 1.1 Dạng đầy đủ 38 1.2 Dạng không đầy đủ 42 Cấu trúc lựa chọn .44 Các lệnh lặp .47 3.1 Cấu trúc lặp for 47 3.2 Cấu trúc lặp while, while 51 Các lệnh đặc biệt 56 4.1 Lệnh break 56 4.2 Lệnh continue 57 CHƯƠNG 4: Hàm 64 Khái niệm hàm 64 1.1 Khái niệm hàm phân loại 64 1.2 Quy tắc hoạt động hàm .66 Xây dựng hàm 67 2.1 Định nghĩa hàm 68 2.2 Sử dụng hàm 69 Các tham số hàm .70 3.1 Phân biệt loại tham số 70 3.2 Truyền tham số cho hàm 72 CHƯƠNG 5: MẢNG 75 Khái niệm mảng .76 Khai báo mảng 76 2.1 Khai báo mảng chiều 76 b Khai báo mảng với số phần tử không xác định (khai báo không tường minh) 77 2.2 Khai báo mảng chiều, mảng nhiều chiều 77 2.3 Vừa khai báo vừa gán giá trị 77 Truy xuất mảng 79 3.1 Truy xuất phần tử mảng chiều 79 3.2 Truy xuất phần tử mảng chiều 79 CHƯƠNG 6: CON TRỎ .97 Khái niệm trỏ địa .98 Khai báo sử dụng biến trỏ 99 2.1 Khai báo biến trỏ 99 2.2 Các thao tác trỏ 99 CHƯƠNG 7: CHUỖI KÍ TỰ .109 Khái niệm 109 Khai báo 109 2.1 Khai báo theo mảng 109 2.2 Khai báo theo trỏ 109 2.3 Vừa khai báo vừa gán giá trị 110 Các thao tác chuỗi 110 3.1 Nhập chuỗi từ bàn phím 110 3.2 Xuất chuỗi hình 110 3.3 Một số hàm xử lý chuỗi 112 TÀI LIỆU THAM KHẢO 119 LẬP TRÌNH CĂN BẢN MỤC TIÊU Sau học xong môn học học sinh có khả - Cung cấp cho học sinh khái niệm ngôn ngữ lập trình C: câu lệnh, từ khóa, cú pháp, cách khai báo sử dụng biến, hàm cấu trúc lệnh ngôn ngữ C; - Hiểu ý nghĩa, cách khai báo, cách truy xuất với số cấu trúc liệu; - Biết số thuật toán để xử lý số yêu cầu đơn giản; - Cài đặt số chương trình ứng dụng đơn giản ngôn ngữ lập trình C; - Đọc hiểu chỉnh sửa chương trình C có sẵn; - Nghiêm túc tích cực việc học lý thuyết làm tập, chủ động tìm kiếm tập ứng dụng liên quan NỘI DUNG Số TT Tên chương, mục I Thời gian Tổng số Lý thuyết Thực hành Kiểm tra Chương I: Tổng quan ngôn ngữ C II Chương II: Các thành phần III Chương III: Các lệnh có cấu trúc 17 IV Chương VI: Hàm V Chương V: Mảng VI Chương VI: Con trỏ VII Chương VII: Chuỗi ký tự 60 25 31 Tổng ĐIỀU KIỆN THỰC HIỆN Vật liệu: - Slide máy chiếu, máy tính PC - Các hình vẽ minh hoạ giải thuật Dụng cụ trang thiết bị: - Máy chiếu qua đầu - Máy chiếu đa phương tiện - Máy tính Học liệu: - Bộ tranh giấy phim dùng để dạy lập trình C - Tài liệu hướng dẫn môđun lập trình C - Giáo trình môn học lập trình C Nguồn lực khác: - Phòng học môn lập trình C đủ điều kiện máy tính phần mềm thực hành Thời gian (giờ) CHƯƠNG : TỔNG QUAN VỀ NGÔN NGỮ C Tổng số Lý Thực thuyết hành Kiểm tra MỤC TIÊU Sau học xong chương người học có khả năng: - Hiểu lịch sử phát triển ngôn ngữ C; - Biết ứng dụng thực tế ngôn ngữ lập trình C; - Thao tác thành thạo môi trường phát triển C; - Sử dụng hệ thống trợ giúp phần mềm C; - Chủ động tìm hiểu tính ngôn ngữ C NỘI DUNG Giới thiệu ngôn ngữ C * Mục tiêu: - Giới thiệu lịch sử ngôn ngữ lập trình C; - Biết ứng dụng thực tế ngôn ngữ lập trình C 1.1 Lịch sử phát triển 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 1.2 Sự cần thiết 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 khuôn 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 Ngoà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: Tính cô đọng (compact): C có 32 từ khóa chuẩn 40 toán tử chuẩn, hầu hết biểu diễn chuỗi ký tự ngắn gọn 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 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 hoàn toàn tương thích 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 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 Các thao tác * Mục tiêu - Trình bày cách khởi động thoát khỏi ngôn ngữ C thao khác môi trường lập trình C; - Thao tác thành thạo môi trường phát triển C; Turbo C môi trường hỗ trợ lập trình C hãng Borland cung cấp Môi trường cung cấp chức như: soạn thảo chương trình, dịch, thực thi chương trình… Phiên sử dụng Turbo C 3.0 2.1 Khởi động Chọn biểu tượng Turbo C Chạy Turbo C giống chạy chương trình khác môi trường DOS hay Windows, hình xuất menu Turbo C có dạng sau: Hình 2.1.1_ Giao diện ngôn ngữ lập trình C Dòng gọi menu (menu bar) Mỗi mục menu lại có nhiều mục nằm menu kéo xuống Dòng ghi chức số phím đặc biệt Chẳng hạn gõ phím F1 ta có hệ thống trợ giúp mà ta tham khảo nhiều thông tin bổ ích Muốn vào menu ngang ta gõ phím F10 Sau dùng phím mũi tên qua trái phải để di chuyển vùng sáng tới mục cần chọn gõ phím Enter Trong menu kéo xuống ta lại dùng phím mũi tên lên xuống để di chuyển vùng sáng tới mục cần chọn gõ Enter Ta chọn mục menu cách giữ phím Alt gõ vào ký tự đại diện mục (ký tự có màu sắc khác với ký tự khác) Chẳng hạn để chọn mục File ta gõ Alt-F (F ký tự đại diện File) 2.2 Thoát khỏi Turbo C Dùng File/Exit Alt-X 2.3 Tạo mới, ghi chương trình C 2.3.1 Tạo chương trình C Muốn soạn thảo chương trình ta chọn mục New menu File (File ->New) Trên hình xuất vùng trống ta soạn thảo nội dung chương trình Ví dụ: Bạn gõ đoạn chương trình sau: #include #include main () { char ten[50]; printf(“Xin cho biet ten cua ban !”); scanf(“%s”,ten); 10 for(i=0;i