1. Trang chủ
  2. » Giáo Dục - Đào Tạo

GIÁO TRÌNH môn học lập TRÌNH c NGHỀ QUẢN TRỊ MẠNG TRÌNH độ CAO ĐẲNG NGHỀ

118 20 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 118
Dung lượng 260,46 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 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ố T T I II II I I V 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 Cấu trúc rẽ nhánh có điều kiện Lệnh khối lệnh Lệnh if Lệnh switch Cấu trúc vòng lặp Lệnh for Lệnh Break Thời gian Tổng Lý Thực số thuyế hành t Bài tập 1 12 12 6 Kiểm tra* (LT hoặcTH ) Số T T V V I Tên chương, mục Lệnh continue Lệnh while Lệnh ,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 số thuyế hành t Bài tập Kiểm tra* (LT 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 Y 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 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 ❖ Xuất chuỗi lên hình 462 - 104 - Để xuất chuỗi (biểu thức chuỗi) lên hình, ta sử dụng hàm puts() 463 Cú pháp: puts() 464 - 105 - Ví dụ: Nhập vào chuỗi hiển thị hình chuỗi vừa nhập 465 466 467 468 469 475 #include #include #include int main() { 470 char Ten[12]; 471 printf("Nhap chuoi: ");gets(Ten); 472 printf("Chuoi vua nhap: ");puts(Ten); 473 getch(); 474 return 0; } 476 Ngồi ra, ta sử dụng hàm printf(), cputs() (trong conio.h) để hiển thị chuỗi lên hình 6.4.3.2 Một số hàm xử lý chuỗi (trong string.h) ❖ Cộng chuỗi - Hàm strcat() 477 Cú pháp: char *strcat(char *des, const char *source) 478 Hàm có tác dụng ghép chuỗi nguồn vào chuỗi đích 479 Ví dụ: Nhập vào họ lót tên người, sau in họ tên họ lên hình 480 481 482 483 484 490 #include #include #include void main() { 485 char HoLot[30], Ten[12]; 486 printf("Nhap Ho Lot: "); 487 gets(HoLot); printf("Nhap Ten: ");gets(Ten); strcat(HoLot,Ten); 488 /* Ghep Ten vao HoLot*/ printf("Ho ten la: ");puts(HoLot); 489 getch(); } ❖ Xác định độ dài chuỗi - Hàm strlen() 491 Cú pháp: int strlen(const char* s) 492 Ví dụ: Sử dụng hàm strlen xác định độ dài chuỗi nhập từ bàn - 106 - phím 493 #include 494 495 496 497 503 - 107 - #include #include void main() { 498 char Chuoi[255]; 499 int Dodai; 500 printf("Nhap chuoi: ");gets(Chuoi); strlen(Chuoi) printf("Chuoi vua nhap: ");puts(Chuoi); 501 printf("Co dai %d”,Dodai); 502 getch(); } Dodai = ❖ Đổi ký tự thường thành ký tự hoa - Hàm toupper() 504 Hàm toupper() (trong ctype.h) dùng để chuyển đổi ký tự thường thành ký tự hoa 505 Cú pháp: char toupper(char c) ❖ Đổi chuỗi chữ thường thành chuỗi chữ hoa, hàm strupr() 506 Hàm struppr() dùng để chuyển đổi chuỗi chữ thường thành chuỗi chữ hoa, kết trả hàm trỏ đến địa chuỗi chuyển đổi 507 Cú pháp: char *strupr(char *s) 508 Ví dụ: Viết chương trình nhập vào chuỗi ký tự từ bàn phím Sau sử dụng hàm strupr() để chuyển đổi chúng thành chuỗi chữ hoa 509 510 511 512 513 519 #include #include #include int main() { 514 char Chuoi[255],*s; 515 printf("Nhap chuoi: ");gets(Chuoi); s=strupr(Chuoi) ; 516 printf("Chuoi chu hoa: ”);puts(s); 517 getch(); 518 return 0; } ❖ Đổi chuỗi chữ hoa thành chuỗi chữ thường, hàm strlwr() 520 - 108 - Muốn chuyển đổi chuỗi chữ hoa thành chuỗi toàn chữ thường, ta sử dụng hàm strlwr(), tham số hàm tương tự hàm strupr() 521 Cú pháp: char *strlwr(char *s) ❖ Sao chép chuỗi, hàm strcpy() 522 Hàm dùng để chép toàn nội dung chuỗi nguồn vào chuỗi đích 523 Cú pháp: char *strcpy(char *Des, const char *Source) 524 Ví dụ: Viết chương trình cho phép chép tồn chuỗi nguồn vào chuỗi đích 525 526 527 528 529 536 #include #include #include int main() { 530 char Chuoi[255],s[255]; 531 printf("Nhap chuoi: ");gets(Chuoi); 532 strcpy(s,Chuoi); 533 printf("Chuoi dich: ");puts(s); 534 getch(); 535 return 0; } ❖ Sao chép phần chuỗi, hàm strncpy() 537 Hàm cho phép chép n ký tự chuỗi nguồn sang chuỗi đích 538 Cú pháp: char *strncpy(char *Des, const char *Source, size_t n) ❖ Trích phần chuỗi, hàm strchr() 539 Để trích chuỗi chuỗi ký tự ký tự định chuỗi hết chuỗi, ta sử dụng hàm strchr() 540 Cú pháp : char *strchr(const char *str, int 541 Ghi chú: - 109 - - Nếu ký tự định khơng có chuỗi, kết trả NULL - Kết trả hàm trỏ, trỏ đến ký tự c tìm thấy chuỗi str - 110 ❖ Tìm kiếm nội dung chuỗi, hàm strstr() 542 Hàm strstr() sử dụng để tìm kiếm xuất chuỗi s2 chuỗi s1 543 Cú pháp: char*strstr(const char *s1, const char *s2) 544 Kết trả hàm trỏ đến phần tử chuỗi s1 có chứa chuỗi s2 giá trị NULL chuỗi s2 khơng có chuỗi s1 545 Ví dụ: Viết chương trình sử dụng hàm strstr() để lấy phần chuỗi gốc chuỗi “hơc” 546 547 548 549 550 557 #include #include #include int main() { 551 char Chuoi[255],*s; 552 printf("Nhap chuoi: ");gets(Chuoi); 553 s=strstr(Chuoi,"hoc"); 554 printf("Chuoi trich ra: ”);puts(s); 555 getch(); 556 return 0; } ❖ So sánh chuỗi, hàm strcmp() 558 Để so sánh hai chuỗi theo ký tự bảng mã Ascii, ta sử dụng hàm strcmp() 559 Cú pháp: int strcmp(const char *s1, const char *s2) 560 Hai chuỗi s1 s2 so sánh với nhau, kết trả số nguyên (số có cách lấy ký tự s1 trừ ký tự s2 vị trí xảy khác nhau) - Nếu kết số âm, chuỗi s1 nhỏ chuỗi s2 - Nếu kết 0, hai chuỗi - 111 - - Nếu kết số dương, chuỗi s1 lớn chuỗi s2 ❖ So sánh chuỗi, hàm stricmp() 561 - 112 - Hàm thực việc so sánh n ký tự chuỗi s1 s2, chữ thường chữ hoa không phân biệt 562 Cú pháp: int stricmp(const char *s1, const char *s2) 563 Kết trả tương tự kết trả hàm strcmp() ❖ Khởi tạo chuỗi, hàm memset() 564 Hàm sử dụng để đặt n ký tự chuỗi ký tự c 565 Cú pháp: memset(char *Des, int c, size_t n) ❖ Đổi từ chuỗi số, hàm atoi(), atof(), atol() (trong stdlib.h) 566 Để chuyển đổi chuỗi số, ta sử dụng hàm 567 Cú pháp : int atoi(const char *s) : chuyển chuỗi thành số nguyên 568 long atol(const char *s) : chuyển chuỗi thành số nguyên dài float atof(const char *s) : chuyển chuỗi thành số thực 569 Nếu chuyển đổi không thành công, kết trả hàm 570 Ngồi ra, thư viện string.h cịn hỗ trợ hàm xử lý chuỗi khác, ta đọc thêm phần trợ giúp 6.4.4 Bài tập thực hành ❖ Mục đích yêu cầu 571 Đi sâu vào kiểu liệu chuỗi phép toán chuỗi ❖ Nội dung Viết chương trình nhập chuỗi ký tự từ bàn phím, xuất hình mã Ascii ký tự có chuỗi Viết chương trình nhập chuỗi ký tự từ bàn phím, xuất hình chuỗi đảo ngược chuỗi Ví dụ đảo “abcd egh” “hge dcba” - 113 - Viết chương trình nhập chuỗi ký tự kiểm tra xem chuổi có đối xứng khơng 572 - 114 - Ví dụ : Chuỗi ABCDEDCBA chuỗi đối xứng Nhập vào chuỗi bất kỳ, đếm số lần xuất loại ký tự Viết chương trình nhập vào chuỗi - In hình từ bên trái phần cịn lại chuỗi Ví dụ: “Nguyễn Văn Minh” in thành: Nguyễn Văn Minh - In hình từ bên phải phần cịn lại chuỗi Ví dụ: “Nguyễn Văn Minh” in thành: Minh Nguyễn Văn Viết chương trình nhập vào chuỗi xuất chuỗi hình dạng từ dịng 573 Ví dụ: “Nguyễn Văn Minh” 574 In : 575 Nguyễn 576 Văn 577 Minh Viết chương trình nhập vào chuỗi, in chuỗi đảo ngược theo từ 578 Ví dụ : chuỗi “Nguyễn Văn Minh” đảo thành “Minh Văn Nguyễn” Viết chương trình đổi số tiền từ số thành chữ Viết chương trình nhập vào họ tên người, cắt bỏ khoảng trống khơng cần thiết (nếu có), tách tên khỏi họ tên, in tên lên hình Chú ý đến trường hợp họ tên có từ 10.Viết chương trình nhập vào họ tên người, cắt bỏ khoảng trắng bên phải, trái khoảng trắng khơng có nghĩa chuỗi hình tồn họ tên người dạng chữ hoa, chữ thường In - 115 - 11.Viết chương trình nhập vào danh sách họ tên n người theo kiểu chữ thường, đổi chữ đầu họ, tên chữ lót người thành chữ hoa In kết lên hình 12.Viết chương trình nhập vào danh sách họ tên n người, tách tên người khỏi họ tên xếp danh sách tên theo thứ tự từ điển In danh sách họ tên sau xếp 579 TÀI LIỆU THAM KHẢO [1] Tiến Sĩ Lê Mạnh Thạnh, Giáo trình mơn lập trình C, Nhà xuất giáo dục, năm 580 2000 [2] Nguyễn Linh Giang, Nguyễn Xuân Thực, Lê Văn Thái, Giáo trình kỹ thuật lập trình 581 C, Nhà xuất giáo dục, Năm 2005 [3] GS Phạm Văn Ất chủ biên, ThS Nguyễn Hiếu Cường, ThS.Đỗ Văn Tuấn, Lê 582 Trường Thơng, Giáo trình kỹ thuật lập trình C, Nhà xuất Hồng Đức, Năm 2009 [4] GS Phạm Văn Ất, Kỹ Thuật Lập Trình C - Cơ Sở Và Nâng Cao, Nhà xuất giao 583 thông vận tải, Năm 2006 [5] HanoiAptech Computer Education Center , Giáo trình lập trình C [6] Đại học Cần Thơ , Giáo trình lập trình C 584 DANH SÁCH BAN BIÊN SOẠN GIÁO TRÌNH DẠY NGHỀ TRÌNH ĐỘ CAO ĐẲNG Tên giáo trình: Lập trình C Tên nghề: Quản trị mạng 586 587 585 Bà Trần Thị Hà Khuê Bà Võ Thị Ngọc Tú Ông Dương Hiển Tú Chủ nhiệm Thành viên Thành viên 588 Ông (bà) Ông (bà) Ông (bà) Ông (bà) Ông (bà) 589 DANH SÁCH HỘI ĐỒNG NGHIỆM THU GIÁO TRÌNH DẠY NGHỀ TRÌNH ĐỘ TRUNG CẤP, CAO ĐẲNG 590 Chủ Phó chủ tịch 591 Thư Thành Thành Thành Thành Thành Thành viên tịch ký viên viên viên viên viên ... M? ?C L? ?C 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. .. 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. .. BLACK, color c? ? giá trị kh? ?c 3.3.5 C? ??u tr? ?c switch lồng Quyết định th? ?c n khối lệnh cho trư? ?c ❖ C? ? pháp lệnh: C? ? pháp dạng trên, nhiều lệnh bên phải chứa dạng Switch lồng c? ? c? ??p độ cao thì chương trình

Ngày đăng: 19/01/2022, 20:30

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w