Giáo trình Lập trình cơ bản

73 5 0
Giáo trình Lập trình cơ bản

Đ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

1 TRƯỜNG CAO ĐẲNG NGHỀ ĐẮK LẮK KHOA ĐIỆN TỬ TIN HỌC -oOo - GIÁO TRÌNH LẬP TRÌNH CƠ BẢN NGHỀ: CƠNG NGHỆ THƠNG TIN TRÌNH ĐỘ: CAO ĐẲNG NGHỀ, TRUNG CẤP NGHỀ Người biên soạn: Chủ biên: Nguyễn Thị Thu Hà Đồng chủ biên: Lê Văn Tùng Lưu hành nội - 2015 Lời nói đầu Tin học ngành khoa học mũi nhọn phát triển nhanh chóng vài chục năm lại ngày mở rộng lĩnh vực nghiên cứu, ứng dụng mặt đời sống xã hội Ngơn ngữ lập trình loại cơng cụ giúp người thể vấn đề thực tế lên máy tính cách hữu hiệu Với phát triển tin học, ngơn ngữ lập trình dần tiến hoá để đáp ứng thách thức thực tế C ngơn ngữ lập trình vạn Ngoài việc C dùng để viết hệ điều hành UNIX, người ta nhanh chóng nhận sức mạnh C việc xử lý cho vấn đề đại tin học C không gắn với hệ điều hành hay máy nào, gọi " ngơn ngữ lập trình hệ thống" dùng cho việc viết hệ điều hành, tiện lợi cho việc viết chương trình xử lý số, xử lý văn sở liệu Vậy, mong góp ý bạn đọc để tài liệu ngày hồn thiện hơn, chúng tơi xin chân thành cảm ơn Mục lục chương 1: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH Giới thiệu ngôn ngữ C: 1.1 Lịch sử phát triển: Các thao tác bản: 2.1 Khởi động 2.2 Màn hình sau khởi động thành công 2.3 Thoát khỏi Turbo C trở DOS (hay Windows) 2.4 Tạo mới, ghi chương trình C Sử dụng trợ giúp: Bài tập 11 Chương : CÁC THÀNH PHẦN CƠ BẢN 12 1.Từ khóa ký hiệu: 12 1.1 Từ khóa 12 1.2 Hệ thống ký hiệu C: 12 1.3.Tên 12 Các Kiểu liệu sơ cấp 13 biến, hằng, biểu thức: 14 3.1 Biến: 14 3.2 Hằng: 15 3.3 Biểu thức: 16 Cấu trúc chương trình 18 4.1.Tiền xử lý biên dịch 18 4.2 Cấu trúc chương trình C 19 4.3 Các tập tin thư viện thông dụng 20 Câu lệnh: 20 5.1 khái niệm: 20 5.2 Khối lệnh: 21 5.3 Nhập xuất liệu: 21 Cách chạy (thực thi) chương trình: 22 Chương : CÁC LỆNH CẤU TRÚC 23 Lệnh if 23 cấu trúc lựa chọn: 27 Cấu trúc lặp 28 3.1 Lệnh for 28 3.2 Cấu trúc vòng lặp while: 31 Các lệnh đặc biệt: 32 4.1 Lệnh break 32 4.2 Lệnh continue 32 Bài tập: 33 Chương 4: HÀM 33 Khái niệm hàm: 34 Xây dựng hàm 34 Sử dụng hàm 35 cách truyền tham số: 36 Hàm đệ quy: 36 Bài tập 38 Chương : MẢNG 38 Khái niệm Mảng: 39 Cách khai báo mảng 39 Truy xuất mảng: 39 3.1 Nhập liệu cho mảng 40 3.2 Đọc liệu từ mảng 40 3.3 Truy xuất mảng chiều: 41 Bài Tập: 42 Chương 6: CON TRỎ 44 Khái niệm Con trỏ địa chỉ: 44 Khai báo biến trỏ 44 Con trỏ mảng chiều: 45 Con trỏ hàm: 47 Bài tập 48 Chương 7: CHUỖI KÝ TỰ 49 Khái niệm chuỗi 49 Khai báo chuỗi: 49 Các thao tác với chuỗi: 50 Bài tập 54 *BÀI TẬP THỰC HÀNH TỔNG HỢP 55 CHƯƠNG TRÌNH MƠN HỌC LẬP TRÌNH CƠ BẢN Mã số môn học : MH13 Thời gian môn học : 75h (Lý thuyết: 30h; Thực hành: 45h) I VỊ TRÍ, TÍNH CHẤT CỦA MƠN HỌC - Vị trí mơn học : Mơn học bố trí sau học sinh học xong môn học chung, trước môn học/ mơ-đun đào tạo chun mơn nghề - Tính chất môn học : Là môn học lý thuyết chuyên ngành bắt buộc II MỤC TIÊU MÔN HỌC Sau học xong mơn học học sinh có khả : - Hiểu cơng dụng ngơn ngữ lập trình C, hiểu cú pháp, cụng dụng câu lệnh dùng ngơn ngữ lập trình C - Phân tích chương trình: xác định nhiệm vụ chương trình (phải làm gì) - Vận dụng điều kiện, trợ giúp mơi trường ngơn ngữ lập trình C, chẳng hạn: thao tác biên tập chương trình, cơng cụ, điều khiển, thực đơn lệnh trợ giúp, gỡ rối, bẫy lỗi,v.v - Viết chương trình thực chương trình máy tính III NỘI DUNG MƠN HỌC: Nội dung tổng quát phân phối thời gian: Số TT I II III IV V VI VII Tên chương mục Tổng quan ngơn ngữ lập trình C Các thành phần Các lệnh cấu trúc Hàm Mảng Con trỏ Chuỗi ký tự Cộng Tổng số 10 18 12 12 12 75 Thời gian Lý Thực thuyết hành 5 11 8 30 45 Kiểm tra* * * * * chương 1: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH Mục tiêu: - 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 Giới thiệu ngôn ngữ 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 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 tố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 1.2 Sự cần thiết: 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 Các thao tác bản: 2.1 Khởi động Nhập lệnh dấu nhắc DOS: gõ BC ↵ (Enter) (nếu đường dẫn cài đặt 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 tìm xem thư mục BORLANDC nằm ổ đĩa Sau ta gõ lệnh sau: :\BORLANDC\BIN\BC ↵ (Enter) Nếu bạn muốn 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ụ: Bạn gõ D:\BORLANDC\BIN\BC E:\BAITAP_BC\VIDU1.CPP Câu lệnh có nghĩa khởi động BC nạp tập tin VIDU1.CPP chứa thư mụcBAITAP_BC ổ đĩa E Nếu tập tin khơng có tạo 2.2 Màn hình sau khởi động thành công File Edit Search Run Compile Debug Project Option Window Help NONAME00.CPP Thanh Menu Hộp đóng Tên tập tin Số cửa sổ Hộp nới rộng cửa sổ Đây vùng soạn thảo chương trình Tập tin chưa lưu Tọa độ hàng:cột Thanh trượt dọc Thanh trượt ngang Thanh chức * 1:1 F1 Help F2 Save F3 Open Alt - F9 Compile F9 Make F10 Menu 2.3 Thoát khỏi Turbo C trở DOS (hay Windows) Dùng File/Exit Alt-X 2.4 Tạo mới, ghi chương trình C a, Soạn thảo chương trình Muốn soạn thảo chương trình ta chọn mục New menu File (File ->New) b,Ghi chương trình soạn thảo vào đĩa Sử dụng File/Save gõ phím F2 Có hai trường hợp xảy ra: - Nếu chương trình chưa ghi lần hội thoại xuất cho phép bạn xác định tên tập tin (FileName) Tên tập tin phải tuân thủ quy cách đặt tên DOS khơng cần có phần mở rộng (sẽ tự động có phần mở rộng C CPP nói thêm phần Option) Sau gõ phím Enter - Nếu chương trình ghi lần ghi thay đổi bổ sung lên tập tin chương trình cũ Chú ý: Để đề phòng điện soạn thảo chương trinh bạn nên gõ phím F2 Quy tắc đặt tên tập tin DOS: Tên tập tin gồm phần: Phần tên phần mở rộng o Phần tên tập tin phải bắt đầu ký tự từ a z (không phân biệt hoa thường), theo sau ký tự từ a z, ký số từ hay dấu gạch (_), phần dài tối đa ký tự o Phần mở rộng: phần dài tối đa ký tự Ví dụ: Ghi chương trình vừa soạn thảo lên đĩa với tên CHAO.C Sử dụng trợ giúp: Ví dụ đơn giản Dịng File Edit Search Run Compile Debug Project Option Window Help /* Chuong trinh in cau bai hoc C dau tien */ #include void main(void) { printf("Bai hoc C dau tien."); } F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu 10 - kết hình là: Bai hoc C dau tien - giải thích:  Dịng thứ 1: bắt đầu /* kết thúc */ cho biết hàng hàng 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 bạn đọ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 ta sử dụng hàm thư viện C printf, bạn cần phải có khai báo hàm thư viện để báo cho trình biên dịch C biết Nếu khơng khai báo chương trình báo lỗi  Dòng thứ 3: hàng trắng viết với ý đồ làm cho bảng chương trình thống, dễ đọc  Dòng thứ 4: void main(void) thành phần chương trình C (bạn viết main() void main() main(void)) Tuy nhiên, bạn nên viết theo dạng void main(void) để chương trình rõ ràng Mọi chương trình C bắt đầu thi hành từ hàm main Cặp dấu ngoặc () cho biết khối hàm (function) Hàm void main(void) có từ khóa void cho biết hàm không trả giá trị, từ khóa void ngoặc đơn cho biết hàm khơng nhận vào đối số  Dịng thứ 7: cặp dấu ngoặc móc {} giới hạn thân hàm Thân hàm bắt đầu dấu { kết thúc dấu }  Dòng thứ 6: printf("Bai hoc C dau tien.");, thị cho máy in chuỗi ký tự nằm nháy kép ("") Hàng gọi câu lệnh, kết thúc câu lệnh C phải dấu chấm phẩy (;) ฀ Chú ý: ฀ Các từ include, stdio.h, void, main, printf phải viết chữ thường ฀ Chuỗi nháy kép cần in "Bạn viết chữ HOA, thường tùy, ý" 59 Viết chương trình nhập vào bán kính hình cầu, tính in diện tích, thể tích hình cầu Hướng dẫn: S = 4πR2 V = (4/3)πR3 #include #include int main () { int bk; clrscr(); printf(" nhap vao ban kinh cua hinh cau: "); scanf("%d",&bk); printf(" Dien tich cua ban cau la: %.2f\n",4*3.14*bk*bk); printf(" The tich cua ban cau la : %.2f\n",(4/3)*3.14*3*bk); getch(); return 0; } Viết chương trình nhập vào số a in giá trị bình phương (a2), lập phương (a3) a giá trị a4 #include #include int main () { int a; clrscr(); printf(" nhap vao mot so a bat ki: "); scanf("%d",&a); printf(" Binh phuong cua so a la %d:\n",a*a); printf(" Lap phuong cua so a la :%d\n",a*a*a); printf(" Gia tri a^4 la : %d\n",a*a*a*a); getch(); return 0; } Viết chương trình đọc từ bàn phím số nguyên biểu diễn ngày, tháng, năm xuất hình dạng "ngay/thang/nam" (chỉ lấy số cuối năm) #include #include int main () { int ngay,thang,nam; clrscr(); printf(" Nhap vao so : ngay, thang, nam"); scanf("%d%d%d",&ngay,&thang,&nam); if(ngay==0|| ngay>31) printf("nhap sai ! moi kiem tra lai ngay\n"); else if (thang==0||thang>12) printf("nhap sai thang ! moi kiem tra lai thang\n"); else if (nam==0||nam>100) printf("nhap sai nam ! moi kiem tra lai nam\n"); else 60 printf("ban vua nhap ngay,thang,nam:%d:%d:%d",ngay,thang,nam); getch(); return 0; } Viết chương trình nhập vào số giây từ đến 86399, đổi số giây nhập vào thành dạng "gio:phut:giay", thành phần số ngun có chữ số Ví dụ: 02:11:05 #include #include void main() { int giay,phut,gio; printf("Nhap giay: "); scanf("%d",&giay); gio=giay/3600; giay=giay%3600; phut=giay/60; giay=giay%60; printf("\nSau chuyen: "); char a[3],b[3],c[3]; if (giomax2) printf("so lon nhat so la:%d",max1); else printf("so lon nhat so la:%d",max2); getch(); } Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0, với a, b, c nhập vào từ bàn phím Hướng dẫn: Nhập vào biến a, b, c Tính Delta = b*b - 4*a*c Nếu Delta < Phương trình vơ nghiệm Ngược lại Nếu Delta = x1 = x2 = - b/(2*a) Ngược lại x1 = (- b - sqrt(Delta))/(2*a) 62 x2 = (- b + sqrt(Delta))/(2*a) Hết Nếu Hết Nếu #include #include #include void main () { clrscr(); float a,b,c,delta; printf("ban hay nhap a,b,c vao "); scanf("%f%f%f",&a,&b,&c);// cac he so cua pt bac if (a!=0) { delta=b*b-4*a*c; if (delta>0) { printf("phuong trinh co nghiem: "); printf("x1=%.2f",(-b-sqrt(delta))/(2*a)); printf(" x2=%.2f",(-b+sqrt(delta))/(2*a)); } else //TH a0 va delta = 60 phut = phut - 60 gio = gio + Hết Hết #include #include main() { clrscr(); int h,m,s,t; printf("\nnhap vao gio, phut, giay:"); scanf ("%d%d%d",&h,&m,&s); printf("\nnhap them giay muon cong vao :"); scanf ("%d",&t); if (s+t=60) { m=m-60; h=h+1; } printf("\gio : phut : giay sau cong vao la: %d:%d:%d",h,m,s); getch(); } Viết chương trình nhập vào số nguyên in hình theo thứ tự tăng dần #include #include void sapxep(int &x,int &y) 64 { int t; if (x>y) { t=x; x=y; y=t; } } main() { int a,b,c; printf("\n nhap so thu nhat="); scanf("%d",&a); printf("\n nhap so thu hai="); scanf("%d",&b); printf("\n nhap so thu ba="); scanf("%d",&c); sapxep(a,b); sapxep(a,c); sapxep(b,c); printf("Ba so a,b,c da dc sap xep la:%d %d %d",a,b,c); getch(); } Vịng lặp Viết chương trình tính tổng bậc N số nguyên #include #include main() { int n,k,s=0; printf("Nhap vao so N :"); scanf("%d",&n); s=0; for(k=1;k

Ngày đăng: 16/10/2021, 18:34

Tài liệu cùng người dùng

  • Đang cập nhật ...