Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn thạc sĩ kinh tế với đề tài: Hoàn thiện chiến lược đấu thầu xây lắp ở công ty cổ phần Đầu tư xây dựng và kỹ thuật Vinaconex, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn thạc sĩ kinh tế với đề tài: Hoàn thiện chiến lược đấu thầu xây lắp ở công ty cổ phần Đầu tư xây dựng và kỹ thuật Vinaconex, cho các bạn làm luận văn tham khảo
hoccokhi.vn Lý Thuyết Điều Khiển Tự Động - Nhiều Tác Giả, 79 TrangHọc Cơ Khí
ĐHBK.Lý Thuyết Điều Khiển Tự Động - Nhiều Tác Giả, 79 Trang
Tài liệu tham khảo dành cho giáo viên, sinh viên chuyên ngành điện tử, tự động hóa - Đánh giá chất lượng hệ thống điểu khiển. | Môn hoc LÝ THUYẾT ĐIỀU KHIỂN Tự ĐỘNG Giang viên Huynh Thái Hoàng Bô mon Điêu Khiển Tự1 Đong Khoa Điên - Điên Tử Đái hoc Bách Khoa Ềmail hthoang@ 20 March 2006 H. T. Hoàng - ĐHBK TPHCM 1 Nội dung chương 4 Các tiêu chuẩn chất lượng Sái so xác láp Đáp ứng quá độ Các tiêu chuán tội ưu hộá đáp ứng quá độ Quán hê giừá chất lượng trong miên tán s ộ vá chất lượng trong miên thôi gián 20 March 2006 H. T. Hoàng - ĐHBK TPHCM
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Tổ chức kế toán chi phí sản xuất và tính giá thành sản phẩm tại Công ty Cổ phần May II Hải Dương, cho các bạn làm luận văn tham khảo
Liên hệ page để tải tài liệu
https://www.facebook.com/garmentspace
My Blog: http://congnghemayblog.blogspot.com/
http://congnghemay123.blogspot.com/
Từ khóa tìm kiếm tài liệu : Wash jeans garment washing and dyeing, tài liệu ngành may, purpose of washing, definition of garment washing, tài liệu cắt may, sơ mi nam nữ, thiết kế áo sơ mi nam, thiết kế quần âu, thiết kế veston nam nữ, thiết kế áo dài, chân váy đầm liền thân, zipper, dây kéo trong ngành may, tài liệu ngành may, khóa kéo răng cưa, triển khai sản xuất, jacket nam, phân loại khóa kéo, tin học ngành may, bài giảng Accumark, Gerber Accumarkt, cad/cam ngành may, tài liệu ngành may, bộ tài liệu kỹ thuật ngành may dạng đầy đủ, vật liệu may, tài liệu ngành may, tài liệu về sợi, nguyên liệu dệt, kiểu dệt vải dệt thoi, kiểu dệt vải dệt kim, chỉ may, vật liệu dựng, bộ tài liệu kỹ thuật ngành may dạng đầy đủ, tiêu chuẩn kỹ thuật áo sơ mi nam, tài liệu kỹ thuật ngành may, tài liệu ngành may, nguồn gốc vải denim, lịch sử ra đời và phát triển quần jean, Levi's, Jeans, Levi Straus, Jacob Davis và Levis Strauss, CHẤT LIỆU DENIM, cắt may quần tây nam, quy trình may áo sơ mi căn bản, quần nam không ply, thiết kế áo sơ mi nam, thiết kế áo sơ mi nam theo tài liệu kỹ thuật, tài liệu cắt may,lịch sử ra đời và phát triển quần jean, vải denim, Levis strauss cha đẻ của quần jeans. Jeans skinny, street style áo sơ mi nam, tính vải may áo quần, sơ mi nam nữ, cắt may căn bản, thiết kế quần áo, tài liệu ngành may,máy 2 kim, máy may công nghiệp, two needle sewing machine, tài liệu ngành may, thiết bị ngành may, máy móc ngành may,Tiếng anh ngành may, english for gamrment technology, anh văn chuyên ngành may, may mặc thời trang, english, picture, Nhận biết và phân biệt các loại vải, cotton, chiffon, silk, woolCÁCH MAY – QUY CÁCH LẮP RÁP – QUY CÁCH ĐÁNH SỐTÀI LIỆU KỸ THUẬT NGÀNH MAY –TIÊU CHUẨN KỸ THUẬT – QUY CÁCH ĐÁNH SỐ - QUY CÁCH LẮP RÁP – QUY CÁCH MAY – QUY TRÌNH MAY – GẤP XẾP ĐÓNG GÓI – GIÁC SƠ ĐỒ MÃ HÀNG - Công nghệ may,kỹ thuật may dây kéo đồ án công nghệ may, công nghệ may trang phục, thiết kế trang phục, anh văn chuyên ngành may, thiết bị may công
DOWNLOAD TẠI ĐÂY: https://tailieufile.com/document/hoan-thien-cong-tac-van-thu-luu-tru-tai-truong-cao-dang-nghe/
Bài khoá luận của em tâp trung nghiên cứu lý luận chung về công tác văn thư - lưu trữ đồng thời phân tích thực trạng công tác văn thư – lưu trữ tại trường Cao đẳng nghề số 3. Để thấy được những ưu điểm, nhược điểm của công tác lưu trữ - văn thư tại trường. Từ đó đưa ra kiến nghị nhằm nâng cao hiệu công tác văn thư – lưu trữ và tiếp tục hoàn thiện công tác văn thư – lưu trữ tại trường Cao đẳng nghề số 3
Luận Văn Các Nhân Tố Ảnh Hưởng Tới Sự Hài Lòng Của Công Chức Tại Ngân Hàng đã chia sẻ đến cho các bạn học viên một bài mẫu hoàn toàn xuất sắc. Nếu các bạn cần tải bài mẫu này vui lòng nhắn tin nhanh qua zalo/telegram : 0932.091.562 để được hỗ trợ tải nhé.
Luận văn Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Tiếp.doc,các bạn có thể tham khảo thêm nhiều tài liệu và luận văn ,bài mẫu điểm cao tại teamluanvan.com
Luận Văn Thạc Sĩ Nghiên Cứu Các Yếu Tố Ảnh Hưởng Đến Ý Định Mua Thiết Bị Gia Dụng Tiết Kiệm Năng Lượng Của Người Tiêu Dùng: Trường Hợp Nghiên Cứu Tại Tp. Hồ Chí Minh đã chia sẻ đến cho các bạn nguồn tài liệu hoàn toàn hữu ích đáng để xem và tham khảo.Nếu như các bạn có nhu cầu cần tải bài mẫu này hãy nhắn tin nhanh qua zalo/telegram : 0932.091.562 để được hỗ trợ tải nhé.
hoccokhi.vn Lý Thuyết Điều Khiển Tự Động - Nhiều Tác Giả, 79 TrangHọc Cơ Khí
ĐHBK.Lý Thuyết Điều Khiển Tự Động - Nhiều Tác Giả, 79 Trang
Tài liệu tham khảo dành cho giáo viên, sinh viên chuyên ngành điện tử, tự động hóa - Đánh giá chất lượng hệ thống điểu khiển. | Môn hoc LÝ THUYẾT ĐIỀU KHIỂN Tự ĐỘNG Giang viên Huynh Thái Hoàng Bô mon Điêu Khiển Tự1 Đong Khoa Điên - Điên Tử Đái hoc Bách Khoa Ềmail hthoang@ 20 March 2006 H. T. Hoàng - ĐHBK TPHCM 1 Nội dung chương 4 Các tiêu chuẩn chất lượng Sái so xác láp Đáp ứng quá độ Các tiêu chuán tội ưu hộá đáp ứng quá độ Quán hê giừá chất lượng trong miên tán s ộ vá chất lượng trong miên thôi gián 20 March 2006 H. T. Hoàng - ĐHBK TPHCM
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Tổ chức kế toán chi phí sản xuất và tính giá thành sản phẩm tại Công ty Cổ phần May II Hải Dương, cho các bạn làm luận văn tham khảo
Liên hệ page để tải tài liệu
https://www.facebook.com/garmentspace
My Blog: http://congnghemayblog.blogspot.com/
http://congnghemay123.blogspot.com/
Từ khóa tìm kiếm tài liệu : Wash jeans garment washing and dyeing, tài liệu ngành may, purpose of washing, definition of garment washing, tài liệu cắt may, sơ mi nam nữ, thiết kế áo sơ mi nam, thiết kế quần âu, thiết kế veston nam nữ, thiết kế áo dài, chân váy đầm liền thân, zipper, dây kéo trong ngành may, tài liệu ngành may, khóa kéo răng cưa, triển khai sản xuất, jacket nam, phân loại khóa kéo, tin học ngành may, bài giảng Accumark, Gerber Accumarkt, cad/cam ngành may, tài liệu ngành may, bộ tài liệu kỹ thuật ngành may dạng đầy đủ, vật liệu may, tài liệu ngành may, tài liệu về sợi, nguyên liệu dệt, kiểu dệt vải dệt thoi, kiểu dệt vải dệt kim, chỉ may, vật liệu dựng, bộ tài liệu kỹ thuật ngành may dạng đầy đủ, tiêu chuẩn kỹ thuật áo sơ mi nam, tài liệu kỹ thuật ngành may, tài liệu ngành may, nguồn gốc vải denim, lịch sử ra đời và phát triển quần jean, Levi's, Jeans, Levi Straus, Jacob Davis và Levis Strauss, CHẤT LIỆU DENIM, cắt may quần tây nam, quy trình may áo sơ mi căn bản, quần nam không ply, thiết kế áo sơ mi nam, thiết kế áo sơ mi nam theo tài liệu kỹ thuật, tài liệu cắt may,lịch sử ra đời và phát triển quần jean, vải denim, Levis strauss cha đẻ của quần jeans. Jeans skinny, street style áo sơ mi nam, tính vải may áo quần, sơ mi nam nữ, cắt may căn bản, thiết kế quần áo, tài liệu ngành may,máy 2 kim, máy may công nghiệp, two needle sewing machine, tài liệu ngành may, thiết bị ngành may, máy móc ngành may,Tiếng anh ngành may, english for gamrment technology, anh văn chuyên ngành may, may mặc thời trang, english, picture, Nhận biết và phân biệt các loại vải, cotton, chiffon, silk, woolCÁCH MAY – QUY CÁCH LẮP RÁP – QUY CÁCH ĐÁNH SỐTÀI LIỆU KỸ THUẬT NGÀNH MAY –TIÊU CHUẨN KỸ THUẬT – QUY CÁCH ĐÁNH SỐ - QUY CÁCH LẮP RÁP – QUY CÁCH MAY – QUY TRÌNH MAY – GẤP XẾP ĐÓNG GÓI – GIÁC SƠ ĐỒ MÃ HÀNG - Công nghệ may,kỹ thuật may dây kéo đồ án công nghệ may, công nghệ may trang phục, thiết kế trang phục, anh văn chuyên ngành may, thiết bị may công
DOWNLOAD TẠI ĐÂY: https://tailieufile.com/document/hoan-thien-cong-tac-van-thu-luu-tru-tai-truong-cao-dang-nghe/
Bài khoá luận của em tâp trung nghiên cứu lý luận chung về công tác văn thư - lưu trữ đồng thời phân tích thực trạng công tác văn thư – lưu trữ tại trường Cao đẳng nghề số 3. Để thấy được những ưu điểm, nhược điểm của công tác lưu trữ - văn thư tại trường. Từ đó đưa ra kiến nghị nhằm nâng cao hiệu công tác văn thư – lưu trữ và tiếp tục hoàn thiện công tác văn thư – lưu trữ tại trường Cao đẳng nghề số 3
Luận Văn Các Nhân Tố Ảnh Hưởng Tới Sự Hài Lòng Của Công Chức Tại Ngân Hàng đã chia sẻ đến cho các bạn học viên một bài mẫu hoàn toàn xuất sắc. Nếu các bạn cần tải bài mẫu này vui lòng nhắn tin nhanh qua zalo/telegram : 0932.091.562 để được hỗ trợ tải nhé.
Luận văn Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Tiếp.doc,các bạn có thể tham khảo thêm nhiều tài liệu và luận văn ,bài mẫu điểm cao tại teamluanvan.com
Luận Văn Thạc Sĩ Nghiên Cứu Các Yếu Tố Ảnh Hưởng Đến Ý Định Mua Thiết Bị Gia Dụng Tiết Kiệm Năng Lượng Của Người Tiêu Dùng: Trường Hợp Nghiên Cứu Tại Tp. Hồ Chí Minh đã chia sẻ đến cho các bạn nguồn tài liệu hoàn toàn hữu ích đáng để xem và tham khảo.Nếu như các bạn có nhu cầu cần tải bài mẫu này hãy nhắn tin nhanh qua zalo/telegram : 0932.091.562 để được hỗ trợ tải nhé.
Hành vi tình dục không an toàn và các yếu tố liên quan trong nhóm nam quan hệ...Man_Ebook
Hành vi tình dục không an toàn và các yếu tố liên quan trong nhóm nam quan hệ tình dục đồng giới tại Hà Nội năm 2009-2010
Liên hệ tài tài liệu (Free): https://www.facebook.com/man.trl/
Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp ...Bồi Dưỡng HSG Toán Lớp 3
Tuyển tập 9 chuyên đề bồi dưỡng Toán lớp 5 cơ bản và nâng cao ôn thi vào lớp 6 trường chuyên. Đăng ký mua tài liệu Toán 5 vui lòng liên hệ: 0948.228.325 (Zalo - Cô Trang Toán IQ).
3. MỤC LỤC I
MỤC LỤC
MỤC LỤC .................................................................................................................. I
HƯỚNG DẪN ........................................................................................................... IV
BÀI 1: MẢNG MỘT CHIỀU ............................................................................................ 1
1.1 KHÁI NIỆM ..........................................................................................................1
1.1.1 Mảng một chiều .............................................................................................1
1.1.2 Cách khai báo mảng một chiều.........................................................................2
1.1.3 Truy cập vào các phần tử của mảng..................................................................3
1.1.4 Nhập dữ liệu cho mảng một chiều.....................................................................4
1.1.5 Xuất dữ liệu cho mảng một chiều......................................................................6
1.1.6 Một vài thuật toán trên mảng một chiều ............................................................7
1.2 CHUỖI KÝ TỰ (MẢNG MỘT CHIỀU CÁC KÝ TỰ)............................................................9
1.2.1 Ký tự (character) ...........................................................................................9
1.2.2 Chuỗi ......................................................................................................... 11
1.2.3 Các thao tác trên chuỗi ký tự ......................................................................... 13
1.2.4 Một số hàm xử lý chuỗi (trong < string.h>)...................................................... 13
TÓM TẮT ................................................................................................................ 21
CÂU HỎI ÔN TẬP...................................................................................................... 21
BÀI 2: MẢNG HAI CHIỀU ........................................................................................... 23
2.1 KHÁI NIỆM ........................................................................................................ 23
2.2 CÁCH KHAI BÁO MẢNG HAI CHIỀU......................................................................... 23
2.2.1 Cú pháp...................................................................................................... 23
2.2.2 Ví dụ .......................................................................................................... 24
2.2.3 Truy cập vào các phần tử của mảng................................................................ 24
2.3 NHẬP DỮ LIỆU CHO MẢNG HAI CHIỀU .................................................................... 25
2.3.1 Nhập dữ liệu cho mảng hai chiều các số nguyên ............................................... 25
2.3.2 Nhập dữ liệu cho mảng hai chiều các số thực.................................................... 27
2.4 XUẤT DỮ LIỆU CHO MẢNG HAI CHIỀU .................................................................... 28
2.4.1 Xuất dữ liệu cho mảng hai chiều các số nguyên ................................................ 28
2.4.2 Xuất dữ liệu cho mảng hai chiều các số thực .................................................... 30
2.5 MỘT VÀI THUẬT TOÁN TRÊN MẢNG HAI CHIỀU ........................................................ 32
2.5.1 Bài toán 1 ................................................................................................... 32
2.5.2 Bài toán 2 ................................................................................................... 33
TÓM TẮT ................................................................................................................ 34
CÂU HỎI ÔN TẬP...................................................................................................... 35
BÀI 3: KIỂU DỮ LIỆU CÓ CẤU TRÚC........................................................................... 36
3.1 KHÁI NIỆM ........................................................................................................ 36
3.2 CÁCH KHAI BÁO KIỂU CẤU TRÚC........................................................................... 37
3.2.1 Cú pháp...................................................................................................... 37
3.2.2 Ví dụ 1 ....................................................................................................... 37
3.2.3 Ví dụ 2 ....................................................................................................... 38
3.2.4 Ví dụ 3 ....................................................................................................... 38
3.3 TRUY CẬP VÀO TỪNG PHẦN TỬ CỦA CẤU TRÚC ........................................................ 39
3.3.1 Cú pháp...................................................................................................... 39
3.3.2 Ví dụ 1 ....................................................................................................... 39
4. II MỤC LỤC
3.3.3 Ví dụ 2 ....................................................................................................... 39
3.4 NHẬP DỮ LIỆU CHO KIỂU DỮ LIỆU CÓ CẤU TRÚC ..................................................... 40
3.4.1 Nhập dữ liệu cho một phân số........................................................................ 40
3.4.2 Nhập vào điểm của một sinh viên ................................................................... 41
3.5 XUẤT DỮ LIỆU.................................................................................................... 42
3.5.1 Xuất dữ liệu cho một phân số......................................................................... 42
3.5.2 Xuất dữ liệu điểm......................................................................................... 42
3.6 MẢNG CẤU TRÚC................................................................................................ 42
3.6.1 Bài toán 1 ................................................................................................... 42
3.6.2 Bài toán 2 ................................................................................................... 44
3.7 MỘT VÀI GIẢI THUẬT TRÊN MẢNG CẤU TRÚC .......................................................... 44
3.7.1 Bài toán 1 ................................................................................................... 44
3.7.2 Bài toán 2 ................................................................................................... 44
TÓM TẮT ................................................................................................................ 45
CÂU HỎI ÔN TẬP ..................................................................................................... 45
BÀI 4: KIỂU CON TRỎ................................................................................................ 47
4.1 KHÁI NIỆM VỀ ĐỊA CHỈ Ô NHỚ VÀ CON TRỎ ............................................................ 47
4.2 KHAI BÁO VÀ SỬ DỤNG BIẾN CON TRỎ .................................................................. 48
4.2.1 Khai báo biến con trỏ.................................................................................... 48
4.2.2 Các thao tác trên con trỏ............................................................................... 48
4.3 CÁC PHÉP TOÁN TRÊN CON TRỎ............................................................................ 51
4.3.1 Phép gán .................................................................................................... 51
4.3.2 Phép tăng giảm địa chỉ.................................................................................. 52
4.3.3 Phép truy nhập bộ nhớ.................................................................................. 52
4.3.4 Phép so sánh............................................................................................... 53
4.4 SỬ DỤNG CON TRỎ ĐỂ CẤP PHÁT VÀ THU HỒI BỘ NHỚ ĐỘNG.................................... 53
4.4.1 Các hàm cấp phát vùng nhớ .......................................................................... 54
4.4.2 Toán tử thu hồi bộ nhớ động.......................................................................... 56
4.4.3 Toán tử sizeof: ............................................................................................ 56
4.5 CON TRỎ VÀ MẢNG MỘT CHIỀU ............................................................................ 57
4.5.1 Truy cập các phần tử mảng theo dạng con trỏ .................................................. 57
4.5.2 Truy cập từng phần tử đang được quản lý bởi con trỏ theo dạng mảng................. 58
4.6 CON TRỎ VÀ MẢNG HAI CHIỀU ............................................................................. 62
4.6.1 Bài toán 2 ................................................................................................... 62
4.6.2 Cách 1........................................................................................................ 63
4.6.3 Cách 2........................................................................................................ 66
4.7 CON TRỎ VỚI KIỂU DỮ LIỆU CÓ CẤU TRÚC (STRUCT ) .............................................. 69
4.7.1 Ví dụ 1 ....................................................................................................... 69
4.7.2 Ví dụ 2 ....................................................................................................... 70
4.7.3 Truyền structure sang hàm............................................................................ 71
TÓM TẮT ................................................................................................................ 73
CÂU HỎI ÔN TẬP ..................................................................................................... 73
BÀI 5: ĐỆ QUY........................................................................................................... 77
5.1 KHÁI NIỆM ........................................................................................................ 77
5.2 PHÂN LOẠI HÀM ĐỆ QUY...................................................................................... 79
5.2.1 Đệ qui tuyến tính ......................................................................................... 79
5.2.2 Đệ qui nhị phân ........................................................................................... 81
5.2.3 Đệ qui phi tuyến .......................................................................................... 82
5.2.4 Đệ qui Hỗ Tương .......................................................................................... 83
5.3 KỸ THUẬT GIẢI BÀI TOÁN BẰNG ĐỆ QUY ................................................................ 84
5.3.1 Một số bài toán kinh điển dùng phương pháp đệ quy ......................................... 85
5. MỤC LỤC III
5.4 NHẬN XÉT ......................................................................................................... 87
5.5 CẤU TRÚC LẶP VÀ ĐỆ QUY.................................................................................... 88
TÓM TẮT ................................................................................................................ 88
CÂU HỎI ÔN TẬP...................................................................................................... 89
BÀI 6: TẬP TIN (FILE)............................................................................................... 90
6.1 KHÁI NIỆM ........................................................................................................ 90
6.2 CÁC THAO TÁC TRÊN TẬP TIN ............................................................................... 91
6.2.1 Khai báo biến tập tin..................................................................................... 91
6.2.2 Mở tập tin ................................................................................................... 92
6.2.3 Đóng tập tin ................................................................................................ 93
6.2.4 Kiểm tra đến cuối tập tin hay chưa? ................................................................ 93
6.2.5 Di chuyển con trỏ tập tin về đầu tập tin - Hàm rewind() ..................................... 93
6.3 TRUY CẬP TẬP TIN VĂN BẢN ................................................................................. 94
6.3.1 Ghi dữ liệu lên tập tin văn bản ....................................................................... 94
6.3.2 Đọc dữ liệu từ tập tin văn bản ........................................................................ 95
6.4 TRUY CẬP TẬP TIN NHỊ PHÂN................................................................................ 98
6.4.1 Ghi dữ liệu lên tập tin nhị phân - Hàm fwrite() .................................................. 98
6.4.2 Đọc dữ liệu từ tập tin nhị phân - Hàm fread() ................................................... 98
6.4.3 Di chuyển con trỏ tập tin - Hàm fseek() ........................................................... 98
TÓM TẮT .............................................................................................................. 105
CÂU HỎI ÔN TẬP.................................................................................................... 105
TÀI LIỆU THAM KHẢO ............................................................................................. 108
6. IV HƯỚNG DẪN
HƯỚNG DẪN
MÔ TẢ MÔN HỌC
Môn Kỹ Thuật Lập Trình cung cấp cho sinh viên những kiến thức cơ bản và
nâng cao về lập trình thông qua ngôn ngữ lập trình C. Môn học này là nền tảng
để tiếp thu hầu hết các môn học khác trong chương trình đào tạo. Mặt khác, nắm
vững môn này là cơ sở để phát triển tư duy và kỹ năng lập trình để giải các bài
toán và các ứng dụng trong thưc tế.
Học xong môn này, sinh viên phải nắm được các vấn đề sau:
- Khái niệm về ngôn ngữ lập trình
- Khái niệm về kiểu dữ liệu
- Tổng quan về Ngôn ngữ lập trình C
- Các kiểu dữ liệu trong C
- Các lệnh có cấu trúc
- Cách thiết kế và sử dụng các hàm trong C
- Một số cấu trúc dữ liệu trong C
- Xử lý các bài toán trên mảng một chiều
- Xử lý các bài toán trên mảng hai chiều
- Kỹ thuật dùng con trỏ
- Biết kỹ thuật viết đệ quy và khử đệ qui
- Biết xây dựng và xử lý các bài toán trên dữ liệu có cấu trúc do người dùng
định nghĩa
- Cách lưu trữ và xử lý các file trong C
- Tìm hiểu và cài đặt một số bài toán kinh điển như “Tháp Hà Nội“ ,“Bài toán
mã đi tuần”, “bài toán tám hậu” bằng phương pháp đệ quy hay đệ quy quay
lui, Phương pháp sinh dữ liệu
7. HƯỚNG DẪN V
NỘI DUNG MÔN HỌC
Bài 1. Mảng một chiều: Bài này cung cấp cho học viên khái niệm về mảng một
chiều, cách nhập, xuất, lưu trữ trên mảng một chiều với các dữ liệu kiểu số và kiểu
chuỗi, xử lý các bài toán như tính tổng các giá trị trên mảng một chiều các số
nguyên, số thực, tìm phần tử nhỏ nhất, lớn nhất, thêm, xóa, sắp xếp các phần tử
trên mảng dữ liệu kiểu số, xử lý các bài toán trên dữ liệu kiểu chuỗi.
Bài 2. Mảng hai chiều: Bài này cung cấp cho học viên khái niệm về mảng hai
chiều, cách nhập, xuất, lưu trữ trên mảng hai chiều, xử lý các bài toán như tính
tổng các giá trị trên mảng số nguyên, số thực, tìm phần tử nhỏ nhất, lớn nhất, sắp
xếp các phần tử trên mảng dữ liệu kiểu số, kiểu chuỗi.
Bài 3. Kiểu dữ liệu có cấu trúc: Bài này cung cấp cho học viên khái niệm cơ bản
về kiểu dữ liệu có cấu trúc do người dùng định nghĩa. Biết Nhập Xuất dữ liệu có cấu
trúc cho một phần tử. Biết Nhập, Xuất dữ liệu có cấu trúc và lưu trên mảng một
chiều. Cách tìm kiếm và sắp xếp dữ liệu trên mảng một chiều với từng thành phần
của dữ liệu. Đi sâu vào các giải thuật trên mảng một chiều như tìm kiếm, sắp xếp,
thêm phần tử, xóa phần tử...
Bài 4. Kiểu con trỏ: Bài này cung cấp cho học viên khái niệm cơ bản về kiểu dữ
liệu con trỏ, cách khai báo và sử dụng biến kiểu con trỏ. Mảng và các phép toán
trên mảng một chiều theo kiểu con trỏ. Mảng và các phép toán trên mảng hai
chiều theo kiểu con trỏ. Đi sâu vào các giải thuật trên mảng 1 chiều, 2 chiều như
tìm kiếm, sắp xếp, thêm phần tử, xóa phần tử... theo kiểu con trỏ. Con trỏ với kiểu
dữ liệu có cấu trúc
Bài 5. Đệ quy: Bài này cung cấp cho học viên khái niệm cơ bản về kiểu lập trình
bằng phương pháp đệ quy, các kiểu đệ quy. Ưu điểm và nhược điểm khi cài đặt
hàm bằng phương pháp đệ quy. Giải quyết một số bài toán kinh điển bằng phương
pháp đệ quy. Xử lý các giải thuật trên mảng 1 chiều bằng phương pháp đệ quy
Bài 6. Tập tin: Bài này cung cấp cho học viên một số khái niệm về tập tin. Các
bước thao tác với tập tin. Thao tác trên tập tin văn bản. Thao tác trên tập tin nhị
phân.
8. VI HƯỚNG DẪN
KIẾN THỨC TIỀN ĐỀ
Môn học Kỹ Thuật Lập Trình yêu cầu sinh viên phải có nền tảng của môn lập trình
cơ bản, có tư duy toán học tốt.
YÊU CẦU MÔN HỌC
Người học phải dự học đầy đủ các buổi lên lớp và làm bài tập đầy đủ ở nhà.
CÁCH TIẾP NHẬN NỘI DUNG MÔN HỌC
Để học tốt môn này, người học cần ôn tập các bài đã học, trả lời các câu hỏi và làm
đầy đủ bài tập; đọc trước bài mới và tìm thêm các thông tin liên quan đến bài học.
Đối với mỗi bài học, người học đọc trước mục tiêu và tóm tắt bài học, sau đó đọc
nội dung bài học. Kết thúc mỗi ý của bài học, người đọc trả lời câu hỏi ôn tập và kết
thúc toàn bộ bài học, người đọc làm các bài tập.
PHƯƠNG PHÁP ĐÁNH GIÁ MÔN HỌC
Môn học được đánh giá gồm:
Điểm quá trình: 30%. Thi thực hành trên máy. Hình thức và nội dung do GV quyết
định, phù hợp với quy chế đào tạo và tình hình thực tế tại nơi tổ chức học tập.
Điểm thi: 70%. Hình thức bài thi tự luận trong 90 phút. Nội dung gồm các bài tập
thuộc bài thứ 1 đến bài thứ 6.
9. BÀI 1: MẢNG MỘT CHIỀU 1
BÀI 1: MẢNG MỘT CHIỀU
Sau khi học xong bài này, học viên có thể:
Khái niệm về kiểu dữ liệu mảng cũng như ứng dụng của nó;
Cách khai báo biến kiểu mảng và các phép toán trên các phần tử của mảng;
Đi sâu vào các giải thuật trên mảng 1 chiều như tìm kiếm, sắp xếp, thêm phần
tử, xóa phần tử...
1.1 KHÁI NIỆM
1.1.1 Mảng một chiều
Mảng là một tập hợp các phần tử cố định có cùng một kiểu, gọi là kiểu phần
tử. Kiểu phần tử có thể là có các kiểu bất kỳ: ký tự, số, chuỗi ký tự…; cũng có khi
ta sử dụng kiểu mảng để làm kiểu phần tử cho một mảng (trong trường hợp này
ta gọi là mảng của mảng hay mảng nhiều chiều).
Ta có thể chia mảng làm 2 loại: mảng 1 chiều và mảng nhiều chiều.
Mảng là kiểu dữ liệu được sử dụng rất thường xuyên. Chẳng hạn, người ta
cần quản lý một danh sách họ và tên của khoảng 100 sinh viên trong một lớp.
Nhận thấy rằng mỗi họ và tên để lưu trữ ta cần 1 biến kiểu chuỗi, như vậy 100 họ
và tên thì cần khai báo 100 biến kiểu chuỗi. Nếu khai báo như thế này thì đoạn
khai báo cũng như các thao tác trên các họ tên sẽ rất dài dòng và rắc rối. Vì thế,
kiểu dữ liệu mảng giúp ích ta trong trường hợp này; chỉ cần khai báo 1 biến, biến
này có thể coi như là tương đương với 100 biến chuỗi ký tự; đó là 1 mảng mà các
phần tử của nó là chuỗi ký tự. Hay như để lưu trữ các từ khóa của ngôn ngữ lập
trình C, ta cũng dùng đến một mảng để lưu trữ chúng.
Kích thước của mảng là số phần tử của mảng. Kích thước này phải được biết
ngay khi khai báo mảng.
Nếu xét dưới góc độ toán học, mảng 1 chiều giống như một vector. Mỗi phần tử
của mảng một chiều có giá trị không phải là một mảng khác.
10. 2 BÀI 1: MẢNG MỘT CHIỀU
1.1.2 Cách khai báo mảng một chiều
1.1.2.1 Khai báo tường minh (số phần tử xác định)
Cú pháp
<kiểu cơ sở> <tên mảng> [<số phần tử >]
Ý nghĩa:
- Tên mảng: đây là một cái tên đặt đúng theo quy tắc đặt tên của danh biểu. Tên
này cũng mang ý nghĩa là tên biến mảng.
- Số phần tử: là một hằng số nguyên, cho biết số lượng phần tử tối đa trong
mảng là bao nhiêu (hay nói khác đi nó là kích thước của mảng).
- Kiểu cơ sở : là kiểu dữ liệu của mỗi phần tử của mảng.
Ví dụ
Khai báo mảng một chiều có tên là songuyen gồm10 phần tử và kiểu cơ sở là int
int songuyen [10] ;
Khai báo mảng một chiều có tên là sothuc gồm15 phần tử và kiểu cơ sở là float
float sothuc [15] ;
Khai báo mảng một chiều có tên là daykytu gồm30 phần tử và kiểu cơ sở là char
char daykytu [30] ;
1.1.2.2 Khai báo không tường minh(số phần tử không xác định)
Cú pháp
<kiểu cơ sở> <tên mảng> [ ]
Khi khai báo, không cho biết rõ số phần tử của mảng, kiểu khai báo này
thường được áp dụng trong các trường hợp: vừa khai báo vừa gán giá trị, khai báo
mảng là tham số hình thức của hàm.
11. BÀI 1: MẢNG MỘT CHIỀU 3
Cách 1. Vừa khai báo vừa gán giá trị
Cú pháp:
<Kiểu> <Tên mảng> []= {Các giá trị cách nhau bởi dấu phẩy}
Nếu vừa khai báo vừa gán giá trị thì mặc nhiên C sẽ hiểu số phần tử của
mảng là số giá trị mà chúng ta gán cho mảng trong cặp dấu {}.
Ví dụ : float x[6] = {12.1 , 7.23 , 5.0 , 27.6 , 87.9 , 9.31};
Chúng ta có thể sử dụng hàm sizeof() để lấy số phần tử của mảng như sau:
Số phần tử=sizeof(tên mảng)/ sizeof(kiểu)
Cách 2. Khai báo mảng là tham số hình thức của hàm, trong trường hợp
này ta không cần chỉ định số phần tử của mảng là bao nhiêu.
Ví dụ : void nhapmang ( int a[ ], int n )
1.1.3 Truy cập vào các phần tử của mảng
Mỗi phần tử của mảng được truy xuất thông qua Tên biến mảng theo sau
là chỉ số nằm trong cặp dấu ngoặc vuông [ ].
Chẳng hạn a[0] là phần tử đầu tiên của mảng a được khai báo ở trên.
Chỉ số của phần tử mảng là một biểu thức mà giá trị là kiểu số nguyên.
Với cách truy xuất theo kiểu này, Tên biến mảng[Chỉ số] có thể coi như là
một biến có kiểu dữ liệu là kiểu được chỉ ra trong khai báo biến mảng.
Chỉ số của mảng có thể là một hằng, một biến hay một biểu thức đại số.
Một phần tử của mảng là một biến có kiểu dữ liệu là kiểu cơ sở nên các thao tác
trên các biến cũng được áp dụng trên các phần tử của mảng.
Ví dụ Khai báo mảng số thực có 5 phần tử float a [5] ;
Khi đó Mảng số thực trên có các phần tử là:
a [0], a [1], a [2], a [3], a [4] và là những biến kiểu float
Và ta có thể thực hiện các phép toán :
float t=10.0;
12. 4 BÀI 1: MẢNG MỘT CHIỀU
int i=1;
a [0]=4.2;
a [2]=t;
a [i ]=(a [0] +a [2])/2;
printf("nGia tri : %f ", a[1]);
scanf( "%f ",&a [4] );
t= a [4];
a [2*i+1]= a [2*i]+ a [2*i+2];
Ta có thể khởi gán giá trị cho mảng:
float x[6] = {12.1 , 7.23 , 5.0 , 27.6 , 87.9 , 9.31};
khi đó : x[0]=12.1 , x[1]=7.23 , x[2]=5.0 , x[3]=27.6 , x[4]=87.9 , x[5]=9.31
1.1.4 Nhập dữ liệu cho mảng một chiều
Khai báo mảng a để lưu trữ 100 phần tử là các số nguyên: int a [ 100 ] khi đó
máy sẽ cấp phát 200 byte để lưu trữ mảng a
Hình ảnh mảng a gồm n phần tử được lưu trong bộ nhớ
Vị trí 0 1 2 3 4 .... n-3 n-2 n-1
Giá trị
a[ ]
7 3 9 4 5 .... 8 12 2
Tên phần
tử
a[0] a[1] a[2] a[3] a[4] .... a[n-3] a[n-2] a[n-1]
Nhập dữ liệu cho các phần tử
a [ 0 ] = 7 scanf ( ” %d” , & a[0 ] );
a [ 1 ] = 3 scanf ( ” %d” , & a[1 ] );
a [ 2 ] = 9 scanf ( ” %d” , & a[2 ] );
...................................................
a [ n-1 ] = 2 scanf ( ” %d” , & a[n-1 ] );
13. BÀI 1: MẢNG MỘT CHIỀU 5
// Nhập từng phần tử của mảng
for ( int i =0 ; i<n ; i++)
{
printf ( “ nhap a[%d] : “ , i ) ;
scanf ( “ %d ”, & a[ i ] );
}
2. Khai báo mảng a để lưu trữ 100 phần tử là các số thực a: float a [ 100 ]. Khi đó
máy sẽ cấp phát 400 byte để lưu trữ mảng a.
Hình ảnh mảng a gồm n phần tử được lưu trong bộ nhớ
Vị trí 0 1 2 3 4 .... n-3 n-2 n-1
Giá trị
a[ ]
7.1 3.2 9.0 4.3 5.4 .... 8.0 12.0 2.1
Tên phần
tử
a[0] a[1] a[2] a[3] a[4] .... a[n-3] a[n-2] a[n-1]
Nhập dữ liệu cho các phần tử
a [ 0 ] = 7.1 scanf ( ” %f ” , & a[0 ] );
a [ 1 ] = 3.2 scanf ( ” %f ” , & a[1 ] );
a [ 2 ] = 9.0 scanf ( ” %f ” , & a[2 ] );
...................................................
a [ n-1 ] = 2.1 scanf ( ” %f ” , & a[n-1 ] );
// Nhập từng phần tử của mảng
for ( int i =0 ; i<n ; i++)
{
printf ( “ nhap a[%d] : “ , i ) ;
scanf ( “ %f ”, & a[ i ] );
}
14. 6 BÀI 1: MẢNG MỘT CHIỀU
1.1.5 Xuất dữ liệu cho mảng một chiều
Khai báo mảng a để lưu trữ 100 phần tử là các số nguyên: int a [ 100 ], khi đó
máy sẽ cấp phát 200 byte để lưu trữ mảng a.
Hình ảnh mảng a gồm n phần tử được lưu trong bộ nhớ
Vị trí 0 1 2 3 4 .... n-3 n-2 n-1
Giá trị
a[ ]
7 3 9 4 5 .... 8 12 2
Tên phần
tử
a[0] a[1] a[2] a[3] a[4] .... a[n-3] a[n-2] a[n-1]
Xuất dữ liệu cho từng phần tử
a [ 0 ] = 7 printf ( ” % 4d” , a[0 ] );
a [ 1 ] = 3 printf ( ” % 4d” , a[1 ] );
a [ 2 ] = 9 printf ( ” % 4d” , a[2 ] );
a [ 3 ] = 4 printf ( ” % 4d” , a[3 ] );
...................................................
a [ n-1 ] = 2 printf ( ” % 4d” , a[n-1 ] );
// Xuất từng phần tử của mảng
for ( int i =0 ; i<n ; i++)
{
printf ( “ % 4d ”, a[ i ] ) ;
}
Khai báo mảng a để lưu trữ 100 phần tử là các số thực a: float a [ 100 ]. Khi đó
máy sẽ cấp phát 400 byte để lưu trữ mảng a
15. BÀI 1: MẢNG MỘT CHIỀU 7
Hình ảnh mảng a gồm n phần tử được lưu trong bộ nhớ
Vị trí 0 1 2 3 4 .... n-3 n-2 n-1
Giá trị
a[ ]
7.1 3.2 9.0 4.3 5.4 .... 8.0 12.0 2.1
Tên phần
tử
a[0] a[1] a[2] a[3] a[4] .... a[n-3] a[n-2] a[n-1]
Xuất dữ liệu cho các phần tử
a [ 0 ] = 7.1 printf ( ” % .1 f ” , a[0 ] );
a [ 1 ] = 3.2 printf ( ” % .1 f ” , a[1 ] );
a [ 2 ] = 9.0 printf ( ” % .1 f ” , a[2 ] );
...................................................
a [ n-1 ] = 2.1 printf ( ” %.1 f ” , a[n-1 ] );
// Xuất từng phần tử của mảng
for ( int i =0 ; i<n ; i++)
{
printf ( “ % .1 f ”, a[ i ] );
}
1.1.6 Một vài thuật toán trên mảng một chiều
Bài toán 1 : Tính tổng các phần tử trong mảng một chiều các số nguyên.
Khai báo mảng a để lưu trữ 100 phần tử là các số nguyên: int a [ 100 ]
Khi đó máy sẽ cấp phát 200 byte để lưu trữ mảng a
16. 8 BÀI 1: MẢNG MỘT CHIỀU
Hình ảnh mảng a gồm n phần tử được lưu trong bộ nhớ
Vị trí 0 1 2 3 4 .... n-3 n-2 n-1
Giá trị
a[ ]
7 3 9 4 5 .... 8 12 2
Tên phần
tử
a[0] a[1] a[2] a[3] a[4] .... a[n-3] a[n-2] a[n-1]
Tính tổng : khai báo một biến s để lưu trữ tổng
S = a[0] + a[1] + a[2] + …. + a[n - 1]
Giải thuật :
Đi từ đầu mảng đến cuối mảng
for ( int i= 0 ; i<n ; i++ )
Cộng dồn các phần tử a[i] vào biến s
S= S + a[i] ;
Hàm cài đặt
long tinhtong ( int a[ ] , int n )
{
long s =0 ;
for ( int i = 0 ; i<n ; i++ )
s=s+ a[i] ;
return s;
}
Bài toán 2 : Tìm phần tử âm đầu tiên có trong mảng một chiều các số nguyên.
Hình ảnh mảng a gồm n phần tử được lưu trong bộ nhớ
Vị trí 0 1 2 3 4 .... n-3 n-2 n-1
A[ ] 7 3 -9 4 5 .... 8 12 2
17. BÀI 1: MẢNG MỘT CHIỀU 9
Giải thuật :
Đi từ đầu mảng đến cuối mảng
for ( int i= 0 ; i<n ; i++ )
Kiểm tra phần tử a[i] < 0 đầu tiên
if ( a[i] < 0 )
Nếu gặp thì xuất giá trị a[i] và dừng .
return a[i] ;
Hàm cài đặt
int amdau ( int a[ ] , int n )
{
for ( int i = 0 ; i<n ; i++ )
if ( a[i] < 0 )
return a[i] ;
return 1;
}
1.2 CHUỖI KÝ TỰ (MẢNG MỘT CHIỀU CÁC KÝ TỰ)
1.2.1 Ký tự (character)
1.2.1.1 Khái niệm
1. Ký tự “ in được ” gồm :
- 26 chữ thường (’a’, ’b’, ’c’, ...’z’),
- 26 chữ hoa (’A’, ’B’,’C’....’Z’),
- 10 chữ số (’0’, ’1’, ’2’, ’3’,....’9’),
- Khoảng trắng, các ký tự:! “ # $ % & ‘ ( ) * + , - . / : ; < = > ? @ [ ] ^ _
{ | } ~
18. 10 BÀI 1: MẢNG MỘT CHIỀU
2. Các ký tự “ không in được ”:
- tab, lert (bell), newline, formfeed,...
3. Các ký tự “ in được ” đặc biệt:
- ‘’, ‘’’, ‘”’
4. Các ký tự “không in được” đặc biệt:
- n new line
- a bell
- 0 null character
- b backspace
- thorizontal tab
1.2.1.2 Nhập ký tự
1. Hàm scanf : sử dụng thư viện <stdio.h>
Ví dụ : char ch; scanf(“%c”, &ch);
2. Hàm getch : nhận một ký tự từ bộ đệm bàn phím và không cho hiện ký tự
này lên màn hình. Cú pháp : int getch (void)
Hàm trả về ký tự nhận được. ch = getch ();
Nếu ký tự có sẵn trong bộ đệm bàn phím thì hàm nhận một ký tự trong đó.
Nếu bộ đệm rỗng thì máy tạm dừng cho đến khi ta gõ vào một ký tự. Ký tự gõ vào
sẽ nhận được ngay, không cần phải gõ phím enter và ký tự không được hiển thị lên
màn hình.
3. Hàm getche : nhận một ký tự từ bộ đệm bàn phím và cho hiển thị ký tự này
lên màn hình. Cú pháp : int getche(void)
Hàm này có công dụng giống như hàm getch, nhưng cho hiển thị ký tự nhập vào
lên màn hình.
ch = getchar();
19. BÀI 1: MẢNG MỘT CHIỀU 11
1.2.1.3 Xuất ký tự:
1. Hàm putch : xuất một ký tự ra cửa sổ văn bản màn hình.
Cú pháp : int putch (int ch)
khai báo thư viện < string.h >
Đối số ch chứa ký tự cần hiển thị.
Hàm có công dụng xuất ký tự ch lên cửa sổ văn bản màn hình.
Ký tự sẽ được hiển thị theo màu xác định trong hàm textcolor.
Hàm trả về ký tự đã hiển thị.
2. printf ( “ %c”, ch )
Hàm có công dụng xuất ký tự ch lên cửa sổ văn bản màn hình.
khai báo thư viện < stdio.h >
3. putc (ch)
Hàm có công dụng xuất ký tự ch lên cửa sổ văn bản màn hình.
khai báo thư viện < string.h >
1.2.2 Chuỗi
1.2.2.1 Khái niệm
Chuỗi là một dãy ký tự dùng để lưu trữ và xử lý văn bản như từ, tên, câu. Trong
ngôn ngữ C không có kiểu chuỗi và chuỗi được thể hiện bằng mảng các ký tự (có kiểu
cơ sở char), được kết thúc bằng ký tự ‘0’ (còn được gọi là ký tự NULL trong bảng mã
Ascii ).
Các hằng chuỗi ký tự được đặt trong cặp dấu nháy kép “ ”.
Chú ý: Chuỗi được khai báo là một mảng các ký tự nên các thao tác trên
mảng có thể áp dụng đối với chuỗi ký tự.
1.2.2.2 Cách khai báo chuỗi
1. Khai báo chuỗi :
Cú pháp : char < tên biến > [ chiều dài tối đa chuỗi ]
20. 12 BÀI 1: MẢNG MỘT CHIỀU
Ví dụ : char Hoten [20];
Khai báo như trên là khai báo 1 chuỗi chứa tối đa 19 ký tự (còn 1 ký tự cuối
của chuỗi chứa NULL)
2. Vừa khai báo vừa gán giá trị :
Cú pháp: char <Biến> []=<”Hằng chuỗi”>
Ví dụ : char chuỗi [ ] = “ Kỹ thuật lập trình “ .
char chuoi [50]= ”CONG HOA XA HOI CHU NGHIA VIET NAM”;
char name []= {‘K’,’C’,’N’,’T’,’T’,’0’};
char ten[10]={‘h’,’o’,’a’,’h’,’o’,’n’,’g’,’0’};
khi đó :
ten[0]= ‘h’; ten[1]= ‘o’; ten[2]= ‘a’; ten[3]= ‘h’; ten[4]= ‘o’;
ten[5]= ‘n’; ten[6]= ‘g’; ten[7]= 0’;
1.2.2.3 Lỗi khi tạo một chuỗi
1. Chú ý: Không :sử dụng toán tử gán = để chép nội dung của một chuỗi sang
chuỗi khác.
Char a[4]=“hi”;
char b[4];
b = a; //???
2. Không:dùng toán tử == để so sánh nội dung hai chuỗi
char a[]=“hi”;
char b[] = “there”;
if(a==b) //???
{ }
3. Phép gán trong kiểu dữ liệu chuỗi như thế này là sai
Char ten[10];
ten = “hoahong”