Tài liệu+Đề thi THCS2 ver_T3 2017 - PTITVL 6-Cau truc va File

26 101 0
Tài liệu+Đề thi THCS2 ver_T3 2017 - PTITVL 6-Cau truc va File

Đ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

Tài liệu+Đề thi THCS2 ver_T3 2017 - PTITVL 6-Cau truc va File tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, b...

&& VC VC BB BB TIN HỌC CƠ SỞ KIỂU CẤU TRÚC VÀ VÀO RA FILE ThS Nguyễn Mạnh Sơn Khoa: Công nghệ thông tin Email: nguyenmanhson@gmail.com 11/26/17 && VC VC BB BB Nội dung Kiểu liệu cấu trúc Khai báo sử dụng cấu trúc Mảng cấu trúc trỏ cấu trúc File ngôn ngữ C Các hàm vào file && VC VC BB BB Cấu Trúc  Một cấu trúc bao gồm mẫu liệu, khơng thiết kiểu, nhóm lại với  Một cấu trúc bao gồm nhiều mẫu liệu Biến L L A P T R I N H C U O N G A P T Tên sách Tác giả Lần R xuất I N H Mảng && VC VC BB BB Định Nghĩa Cấu Trúc  Việc định nghĩa cấu trúc tạo kiểu liệu cho phép người dùng sử dụng chúng để khai báo biến kiểu cấu trúc  Các biến cấu trúc gọi phần tử cấu trúc hay thành phần cấu trúc  Ví dụ: struct cat { char bk_name [25]; char author [20]; int edn; float price; }; && VC VC BB BB Khai Báo Biến Cấu Trúc  Khi cấu trúc định nghĩa, khai báo nhiều biến kiểu  Ví dụ: struct cat books1;  Câu lệnh dành đủ vùng nhớ để lưu trữ tất mục cấu trúc struct cat { char bk_name[25]; char author[20]; int edn; float price; } books1, books2; struct cat books1, books2; struct cat books1; struct cat books2; && VC VC BB BB Truy Cập Phần Tử Cấu Trúc  Các phần tử cấu trúc truy cập thơng qua việc sử dụng tốn tử chấm (.), tốn tử gọi tốn tử thành viên - membership  Cú pháp: structure_name.element_name  Ví dụ: scanf(“%s”, books1.bk_name); && VC VC BB BB Khởi Tạo Cấu Trúc  Giống biến khác mảng, biến kiểu cấu trúc khởi tạo thời điểm khai báo struct employee { int no; char name [20]; };  Các biến emp1 emp2 có kiểu employee khai báo khởi tạo sau: struct employee emp1 = {346, “Abraham”}; struct employee emp2 = {347, “John”}; && Câu Lệnh Gán Sử Dụng Các Cấu Trúc - VC VC BB BB  Có thể sử dụng câu lệnh gán đơn giản để gán giá trị biến cấu trúc cho biến khác có kiểu  Chẳng hạn, books1 books2 biến cấu trúc có kiểu, câu lệnh sau hợp lệ books2 = books1; && Câu Lệnh Gán Sử Dụng Các Cấu Trúc - VC VC BB BB  Trong trường hợp dùng câu lệnh gán trực tiếp, sử dụng hàm tạo sẵn memcpy()  Cú pháp: memcpy (char * destn, char &source, int nbytes);  Ví dụ: memcpy (&books2, &books1, sizeof(struct cat)); && Cấu Trúc Lồng Trong Cấu Trúc VC VC BB BB  Một cấu trúc lồng cấu trúc khác Tuy nhiên, cấu trúc lồng struct issue { char borrower [20]; char dt_of_issue[8]; struct cat books; }issl;  Việc truy cập vào phần tử cấu trúc tương tự với cấu trúc bình thường khác, issl.borrower  Để truy cập vào phần tử cấu trúc cat phần cấu trúc issl , issl.books.author && VC VC BB BB Mảng Cấu Trúc  Mảng cấu trúc khai báo tương tự mảng thông thường  Một kiểu cấu trúc phải định nghĩa trước, sau biến mảng có kiểu khai báo  Ví dụ: struct cat books[50];  Để truy cập vào thành phần author phần tử thứ tư mảng books: books[4].author && VC VC BB BB Khởi Tạo Các Mảng Cấu Trúc  Mảng cấu trúc khởi tạo cách liệt kê danh sách giá trị phần tử cặp dấu móc  Ví dụ: struct unit { char ch; int i; }; struct unit series[3] = {{‘a’, 100}{‘b’, 200}{‘c’, 300}}; && VC VC BB BB Con Trỏ Đến Cấu Trúc  Con trỏ cấu trúc khai báo cách đặt dấu * trước tên biến cấu trúc  Toán tử -> dùng để truy cập vào phần tử cấu trúc sử dụng trỏ  Ví dụ: struct cat *ptr_bk;   ptr_bk = &books; printf(“%s”,ptr_bk->author);  Con trỏ cấu trúc truyền vào hàm, cho phép hàm thay đổi trực tiếp phần tử cấu trúc && VC VC BB BB BÀI TẬP VỀ CẤU TRÚC && VC VC BB BB KIỂU FILE Khái niệm  File lưu dạng text thông thường(text stream)  File lưu dạng nhị phân (binary stream) && VC VC BB BB KIỂU FILE  Dạng text (text stream) + Các chuỗi lưu dạng text + Có thể xem bình thường + Mỗi lần ghi chuỗi phải thêm ký tự xuống dòng ‘\n’ • Dạng nhị phân(binary stream) + Các chuỗi lưu dạng mã hóa binary + Khơng mở xem dạng thông thường + Mỗi lần ghi tùy thuộc liệu thông thường dùng struct && VC VC BB BB THAO TAC TRÊN FILE Mở file (xem có nhiều mode để mở) Thao tác (đọc, ghi ) Đóng file && VC VC BB BB Mở File Text Stream Syntax FILE *fopen(const char *filename, const char *mode); Ví dụ: FILE *fp; fp=fopen("INPUT.TXT","w");// w có nghĩa mở để ghi && VC VC BB BB CÁC MODE MỞ FILE Mode Meaning + "r“ Open a text file for reading + "w“ Create a text file for writing + "a“ Append to a text file + "rb“ Open a binary file for reading + "wb“ Create a binary file for writing + "ab“ Append to a binary file + "r+“ Open a text file for read/write + "w+“ Create a text file for read/write + "a+“ Open a text file for read/write + "rb+“ Open a binary file for read/write + "wb+“ Create a binary file for read/write + "ab+“ Open a binary file for read/write && VC VC BB BB GHI FILE DẠNG TEXT STREAM Syntax: int fputs(const char *str, FILE *fp); Ví dụ: //ghi chuoi n xuong file text fputs(“Nguyen Thi Le”,fp); fputc('\n',fp);// phải thêm xuống dòng && VC VC BB BB LẤY THƠNG TIN FILE DẠNG TEXT STREAM Syntax: char *fgets(char *str, int length, FILE *fp); Ví dụ: char chuoi_n2[100]; fgets(chuoi_n2,100,fp); && VC VC BB BB Đọc File Binary Stream Syntax: size_t fread(void *buffer, size_t numbytes, size_t count, FILE *fp); Ví dụ: struct NhanVien { char MNV[10]; char HoTen[MAX]; char DiaChi[MAX] ; char Phai[4];//nhap Nam, Nu bool CBQL; }; NhanVien nv[10]; fread(&nv[i], sizeof(nv[i]), 1, f) && VC VC BB BB Ghi File Binary Stream Syntax: size_t fwrite(const void *buffer, size_t numbytes, size_t count, FILE *fp); struct NhanVien { char MNV[10]; char HoTen[MAX]; char DiaChi[MAX] ; char Phai[4];//nhap Nam, Nu bool CBQL; }; NhanVien nv[10]; fwrite(&nv[i], sizeof(nv[i]), 1, f); && VC VC BB BB Đọc file MNV HoTen Tuan DiaChi 123 CMTT Phai Nam CBQL MNV NV[0] 1 HoTen Huyen DiaChi TDT Phai Nu CBQL && VC VC BB BB Bài tập áp dụng Sinh viên chuyển vào hình – bàn phím sang vào với file văn ... thường dùng struct && VC VC BB BB THAO TAC TRÊN FILE Mở file (xem có nhiều mode để mở) Thao tác (đọc, ghi ) Đóng file && VC VC BB BB Mở File Text Stream Syntax FILE *fopen(const char *filename,... to a text file + "rb“ Open a binary file for reading + "wb“ Create a binary file for writing + "ab“ Append to a binary file + "r+“ Open a text file for read/write + "w+“ Create a text file for... Open a text file for read/write + "rb+“ Open a binary file for read/write + "wb+“ Create a binary file for read/write + "ab+“ Open a binary file for read/write && VC VC BB BB GHI FILE DẠNG TEXT

Ngày đăng: 23/11/2017, 19:53

Từ khóa liên quan

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

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

Tài liệu liên quan