1. Trang chủ
  2. » Giáo án - Bài giảng

Chương 06: KIỂU DỮ LIỆU NGƯỜI LẬP TRÌNH ĐỊNH NGHĨA TRONG C

88 483 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 88
Dung lượng 732,63 KB

Nội dung

Chương 06 KIỂU DỮ LIỆU NGƯỜI LẬP TRÌNH ĐỊNH NGHĨA Lê Thành Sách Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Nội dung n n n Từ khoá typedef Cấu trúc Mảng Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Quy ước USR_DT = Kiểu liệu Người lập trình định nghĩa Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Từ khoá typedef n typedef cho phép người lập trình tạo tên cho kiểu liệu có n n n Tên mang lại tính dễ hiểu hơn, ngữ cảnh toán xét Tên giúp rút ngắn mã nguồn Tên kiểu dùng kiểu định nghĩa tên Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Từ khoá typedef #include #include /*new name for "unsigned byte"*/ typedef unsigned char byte; int main(){ byte a = 78; unsigned char b = 'A', c; c = a; a = b; printf("a = |%5c:%5d|\n", a,a); printf("b = |%5c:%5d|\n", b,b); printf("c = |%5c:%5d|\n", c,c); system("pause"); return 0; } Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Từ khoá typedef n Ví dụ n Tên kiểu “byte” định nghĩa dùng thay cho kiểu “unsigned byte” n => Tăng ý nghĩa cho “unsigned char”: kiểu sau định nghĩa mô tả byte liệu, đương nhiên dấu n => Ngắn viết mã n => Có thể dùng tương thích với kiểu gốc n Biến a (kiểu mới) gán cho biến c (kiểu gốc) n Biến a (kiểu mới) nhận từ biến b (kiểu gốc) n Có thể in biến a (kiểu mới) số hay ký tự n Biến a tham gia vào biểu thức với toán tử dùng cho kiểu gốc (nếu muốn) Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Từ khoá typedef n Các trường hợp dùng khác typedef n n Định nghĩa tên cho enum Định nghĩa tên cho cấu trúc (struct) Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Cấu trúc n Sự cần thiết n Bài toán: Quản lý sinh viên n Mỗi sinh viên, chương trình cần lưu xử lý mảnh liệu sau n Mã số sinh viên n Họ tên sinh viên n Ngày sinh n Địa n Số điện thoại n Email n V.v Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Cấu trúc n Sự cần thiết n Bài toán: Quản lý sinh viên n Nếu sử dụng kiểu để lưu trữ tạm sinh viên nhớ n Người lập trình cần khai báo NHIỀU biến đơn lẻ, cho mảnh liệu sinh viên n => Quá bất tiện: dài dòng, khó hiểu, v.v n => Khi cần vài sinh viên nhớ: dòng khai báo biến chiếm vùng lớn mã nguồn! Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Cấu trúc n Sự cần thiết n n n Bài toán: Quản lý sinh viên Tương tự cho hầu hết toán thực tế n Thông tin điểm hay vector chương trình n Thông tin sản phẩm, hàng hoá siêu thị n V.v Giải pháp cho trường hợp n GOM tất liệu có quan hệ với thành khối n Luôn cấp phát CÙNG NHAU, LIÊN TỤC nhớ n Luôn huỷ khỏi nhớ CÙNG NHAU n Các mảnh liệu thành phần truy xuất độc lập, thông quan tên gọi Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 10 Mảng chiều Duyệt qua phần tử mảng n Gọi ROWS COLS tổng số hàng cột tương ứng n n Gọi row col hai biến chứa số hàng cột n n n ROWS COLS số n Thông qua #define n Thông qua const int ROWS, COLS; row: số hàng col: số cột Dùng hai cấu trúc lặp lồng n Cho hàng (row) n Cho cột (col) n Truy xuất phần tử [row, col] để ghi hay đọc n Tăng số cột (col) để đến phần tử hàng n Tăng số hàng (row) đến xử lý hàng Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 74 Mảng chiều Duyệt qua phần tử mảng n Lưu ý n n Theo cách truy xuất phần tử theo hàng, hết hàng đến hàng hàng n Chỉ số cột tăng nhanh số hàng Cách truy xuất giúp chương trình chạy nhanh trường hợp truy xuất theo cột n Chỉ số hàng tăng nhanh số cột Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 75 #include #include int main(){ const int ROWS = 3, COLS = 4; int a[ROWS][COLS]; Lặp hàng trước, cột sau (lồng) int row,col; /*Initialize array*/ for(row=0; row

Ngày đăng: 29/03/2017, 17:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w