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

Bài giảng Kỹ thuật lập trình C: Bài 6 - Hoàng Quốc Tuấn

28 5 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 28
Dung lượng 256,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Kỹ thuật lập trình C: Bài 6 Kiểu dữ liệu mảng, liệt kê và cấu trúc, cung cấp cho người học những kiến thức như: Kiểu dữ liệu Mảng (Array); Kiểu dữ liệu liệt kê (Enum); Kiểu dữ liệu cấu trúc (Struct). Mời các bạn cùng tham khảo!

Trang 1

KỸ THUẬT LẬP TRÌNH C

BÀI 6: KIỂU DỮ LIỆU MẢNG, LIỆT KÊ VÀ CẤU TRÚC

Hoàng Quốc Tuấn tuanhq@fpt.edu.vn http://hoangquoctuanpro.wordpress.com

Hoàng Quốc Tuấn tuanhq@fpt.edu.vn http://hoangquoctuanpro.wordpress.com

Trang 2

Nội dung

Kiểu dữ liệu Mảng (Array)

Kiểu dữ liệu Liệt Kê (Enum)

Kiểu dữ liệu Cấu Trúc (Struct)

Kiểu dữ liệu Mảng (Array)

Kiểu dữ liệu Liệt Kê (Enum)

Kiểu dữ liệu Cấu Trúc (Struct)

2

Trang 3

I – Kiểu dữ liệu Mảng (Array)

Trang 4

1 Khái niệm Mảng

Mảng là một tập hợp nhiều biến có cùng

kiểu dữ liệu và cùng tên.

Mỗi phần tử của mảng được truy xuất thông qua chỉ số.

4

Trang 5

2 Cách khai báo Mảng

Cú pháp:

< kiểu_dữ_liệu > <tên_mảng>< danh_sách_các_chiều >;

Ví dụ:

int a[ 10 ]; // Khai báo mảng a gồm tối đa10 số nguyên

float b[ 100 ]; // Khai báo mảng b gồm tối đa 100 số thực

int c[ 3][2 ]; // Khai báo mảng c hai chiều kiểu số nguyên

float d[ 5 , 7 ]; // Khai báo mảng d hai chiều kiểu số thực

Trang 6

3 Chỉ số của Mảng

Kiểu dữ liệu của chỉ số:

Chỉ số của mảng phải là một giá trị kiểu int

Chỉ số của mảng được bắt đầu từ 0

Chỉ số của mảng không được vượt quá kích thước của mảng

Ví dụ:

int a [ 5 ]; /* Mảng các số nguyên a sẽ bao gồm 5

phần tử là a[0], a[1], a[2], a[3], a[4] */

6

Trang 7

4 Lấy địa chỉ của phần tử mảng

Chỉ lấy được địa chỉ của các phần tử thuộc

mảng một chiều thông qua toán tử & theo cú pháp:

&tên_biến [ i ] với i là chỉ số của mảng

Tên của mảng chứa địa chỉ đầu của mảng.

Ví dụ: có mảng int a [ 10 ] thì a = &a [ 0 ]

Trang 8

5 Nhập, xuất dữ liệu cho các phần tử Mảng

Nhập xuất trực tiếp

Nhập, xuất trực tiếp chỉ sử dụng được với mảng

có kiểu dữ liệu int

Nhập trực tiếp giá trị vào địa chỉ của phần tử

8

Trang 10

5 Nhập, xuất dữ liệu cho các phần tử Mảng

Nhập xuất gián tiếp

Nhập, xuất gián tiếp sử dụng được cho tất cả các mảng

Nhập giá trị vào một biến tạm, rồi sau đó gán giá trị của biến tạm đó cho phần tử của mảng

10

Trang 11

getch ();

Trang 12

6 Ví dụ minh họa Mảng

Bài 1: Viết chương trình nhập vào một

mảng nguyên gồm có 5 phần tử Tính tổng của tất cả các phần tử, và xuất kết quả.

12

Trang 16

II – Kiểu Liệt kê (Enum)

Khái niệm:

Kiểu enum là kiểu liệt kê

Khi định nghĩa enum là ta có được một kiểu dữ liệu mới.

Một phần tử liệt kê tương ứng là một số nguyên và cách

nhau bởi dấu phẩy.

Ta có thể gán lại giá trị số cho phần tử liệt kê Giá trị của

một phần tử nếu không ghi rõ thì sẽ bằng giá trị phần tử

trước đó tăng thêm 1.

Cú pháp:

enum <tên_kiểu> { <danh_sách_các_phần_tử> };

16

Trang 17

II – Kiểu Liệt kê (Enum)

VD:

enum weekday

{

SUNDAY , MONDAY , TUESDAY = 4 , WEDSDAY ,

THURSDAY , FRIDAY = 9 , SATURDAY

Trang 18

III – Kiểu Cấu trúc (Struct)

Khái niệm và định nghĩa

Khai báo kiểu cấu trúc

Định nghĩa kiểu bằng typedef

Truy cập đến các thành phần của cấu trúc

Bài tập minh họa

18

Trang 19

1 Khái niệm kiểu cấu trúc

Kiểu cấu trúc là một kiểu dữ liệu gồm nhiều thành phần, các thành phần có thể thuộc nhiều kiểu khác nhau

Các thành phần của cấu trúc được truy cập thông qua tên của thành phần

Khi khai báo một cấu trúc là ta có thêm một kiểu

dữ liệu mới, kiểu này có tên là tên của kiểu cấu

trúc và trước nó có từ struct

Trang 20

2 Khai báo kiểu cấu trúc

Trang 21

2 Khai báo kiểu cấu trúc

Trang 22

3 Định nghĩa kiểu bằng typedef

Ngôn ngữ C cho phép ta đặt lại tên kiểu cho

riêng mình bằng câu lệnh typedef.

Khi đặt lại tên cho kiểu, ta có được tên kiểu

mới; đồng thời, tên kiểu cũ vẫn còn có tác dụng.

Cú pháp:

typedef <kiễu_đã_có> <kiểu_mới> ;

Ví dụ:

typedef int so_nguyen ;

typedef struct hoc_sinh HOC_SINH ;

22

Trang 23

4 Truy cập đến các thành phần của cấu trúc

Các thành phần của kiểu dữ liệu cấu trúc được

truy cập thông qua tên biến kiểu cấu trúc và tên

Trang 24

5 Bài tập minh họa

Viết chương trình cho theo mô tả sau:

Thông tin cho một học sinh gồm có họ tên,

điểm toán, điểm văn và điểm trung bình Hãy nhập vào n học sinh và xuất ra thông tin của học sinh có điểm trung bình cao nhất, với n là một một số nguyên nhập từ bàn phím, n <=

100.

24

Trang 26

printf ( “\nNhap vao thong tin hoc sinh thu %d” , i + 1 );

printf ( “\n\tHo ten” );

gets ( ten );

strcpy ( mang_hs [ i ] ho_ten , ten );

printf ( “\n\tToan: ” );

scanf ( “%f” , & diem );

mang_hs [ i ] diem_toan = diem ;

printf ( “\n\tVan: ” );

scanf ( “%f” , & diem );

mang_hs [ i ] diem_van = diem ; mang_hs [ i ] diem_tb = ( mang_hs [ i ] diem_toan +

mang_hs [ i ] diem_van ) / 2.0 ;

}

Trang 27

// tim diem trung binh cao nhat

float max = mang_hs [ 0 ] diem_tb ;

// xuat thong tin cac hoc sinh co diem cao nhat

printf ( “%s ” , mang_hs [ i ] ho_ten );

printf ( “%f ” , mang_hs [ i ] diem_toan );

printf ( “%f ” , mang_hs [ i ] diem_van );

printf ( “%f ” , mang_hs [ i ] diem_tb );

} }

Trang 28

Hỏi - Đáp

28

Hoàng Quốc Tuấn tuanhq@fpt.edu.vn http://hoangquoctuanpro.wordpress.com

Hoàng Quốc Tuấn tuanhq@fpt.edu.vn http://hoangquoctuanpro.wordpress.com

Ngày đăng: 23/02/2022, 10:23

🧩 Sản phẩm bạn có thể quan tâm