1. Trang chủ
  2. » Thể loại khác

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

26 101 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 26
Dung lượng 596,5 KB

Nội dung

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