1. Trang chủ
  2. » Công Nghệ Thông Tin

Session 19 ngôn ngữ lập trình c

23 92 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 23
Dung lượng 203,5 KB

Nội dung

Các kiểu liệu nâng cao Sắp xếp Bài 11 Mục tiêu -          Tìm hiểu kiểu liệu cấu trúc công dụng Định nghĩa cấu trúc Khai báo biến kiểu cấu trúc Cách truy cập vào phần tử cấu trúc Khởi tạo biến cấu trúc Sử dụng biến cấu trúc câu lệnh gán Cách truyền tham số cấu trúc Sử dụng mảng cấu trúc Tìm hiểu cách khởi tạo mảng cấu trúc Elementary Programming with C/Session 11/ Slide of 23 Mục tiêu -  Con trỏ cấu trúc  Cách truyền tham số kiểu trỏ cấu trúc  Tìm hiểu từ khóa typedef  Sắp xếp mảng phương pháp Bubble sort Insertion sort Elementary Programming with C/Session 11/ Slide of 23 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 I I L L U S I O N B A C H L L U Tên sách Tác giả Lần S xuất I O Elementary Programming with C/Session N Mảng 11/ Slide of 23 Đị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; Elementary Programming with C/Session }; 11/ Slide of 23 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]; struct cat books1, books2; char author[20]; int edn; struct cat books1; float price; struct cat books2; } books1, books2; Elementary Programming with C/Session 11/ Slide of 23 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); Elementary Programming with C/Session 11/ Slide of 23 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”}; Elementary Programming with C/Session 11/ Slide of 23 Câu Lệnh Gán Sử Dụng Các Cấu Trúc -  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; Elementary Programming with C/Session 11/ Slide of 23 Câu Lệnh Gán Sử Dụng Các Cấu Trúc -  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)); Elementary Programming with C/Session 11/ Slide 10 of 23 Cấu Trúc Lồng Trong Cấu Trúc  Một cấu trúc lồng cấu trúc khác Tuy nhiên, cấu trúc khơng thể 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 , Elementary Programming with C/Session issl.books.author 11/ Slide 11 of 23 Truyền tham số kiểu cấu trúc  Tham số hàm cấu trúc  Là phương tiện hữu dụng muốn truyền nhóm thành phần liệu có quan hệ logic với thơng qua biến thay phải truyền thành phần  Kiểu tham số thực phải trùng với kiểu tham số hình thức Elementary Programming with C/Session 11/ Slide 12 of 23 Mảng Cấu Trúc  Một áp dụng thường gặp mảng cấu trúc  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 Elementary Programming with C/Session 11/ Slide 13 of 23  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}}; Elementary Programming with C/Session 11/ Slide 14 of 23 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 Elementary Programming with C/Session 11/ Slide 15 of 23 Từ Khóa typedef  Một kiểu liệu định nghĩa cách sử dụng từ khóa typedef  Nó khơng tạo kiểu liệu mới, mà định nghĩa tên cho kiểu có  Cú pháp: typedef type name;  Ví dụ: typedef float deci;  typedef sử dụng với storage classes Elementary Programming with C/Session 11/ Slide 16 of 23 Sắp xếp mảng  Sắp xếp liên quan đến việc thay đổi vị trí phần tử theo thứ tự xácđịnh tăng dần hay giảm dần  Dữ liệu mảng dễ dàng tìm thấy mảng xếp  Hai phương pháp xếp mảng trình bày: Bubble Sort Insertion Sort  Trong phương pháp Bubble sort, việc so sánh phần tử phần tử có giá trị nhỏ chuyển dần lên (nổi bọt)  Trong phương pháp Insertion sort, phần tử mảng xem xét, đặt vào vị trí phần tử xếp Elementary Programming with C/Session 11/ Slide 17 of 23 Bubble Sort Elementary Programming with C/Session 11/ Slide 18 of 23 Bubble Sort - tt #include void main() { int i,j,temp,arr_num[5]={23,90,9,25,16}; clrscr(); for(i=3;i>=0;i ) /* Tracks every pass */ for(j=4;j>=4-i;j ) { /* Compares elements */ if(arr_num[j]

Ngày đăng: 26/03/2019, 11:08

w