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

Bài giảng Tin học đại cương Phần 2: Bài 4 - Nguyễn Hữu Nam Dương

25 64 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 25
Dung lượng 22,45 MB

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

Nội dung

Đến với Bài giảng Tin học đại cương Phần 2: Bài 4 - Con trỏ và mảng các bạn sẽ được tìm hiểu các vấn đề tổng quan về con trỏ; mảng; sử dụng con trỏ làm việc với mảng.

Trang 1

 4.2.3 Các thao tác cơ bản làm việc trên mảng

4.3 Sử dụng con trỏ làm việc với mảng

Trang 2

4.1.1 Tổng quan về con trỏ

a Địa chỉ và giá trị của một biến

 Bộ nhớ như một dãy các byte nhớ.

 Các byte nhớ được xác định một cách duy nhất qua

một

một địa chỉ địa chỉ

 Biến được lưu trong bộ nhớ.

 Khi khai báo một biến

Chương trình dịch sẽ cấp phát cho biến đó một số ô nhớ liên

tiếp đủ để chứa nội dung của biến Ví dụ một biến số nguyên

(int) được cấp phát 2 byte.

Địa chỉ của một biến chính là địa chỉ của byte đầu tiên trong

số đó

4

a Địa chỉ và giá trị của một biến (tiếp)

 Một biến luôn có hai đặc tính:

Địa chỉ của biến.

Giá trị của biến.

Trang 3

b Khái niệm và khai báo con trỏ

 Con trỏ là một biến mà giá trị của nó là địa chỉ của

một vùng nhớ.

 Khai báo con trỏ:

Cú pháp khai báo một con trỏ như sau:

 Một con trỏ chỉ có thể trỏ tới một đối tượng cùng kiểu.

Biến Địa chỉ Giá trị

 4.2.3 Các thao tác cơ bản làm việc trên mảng

4.3 Sử dụng con trỏ làm việc với mảng

Trang 4

tên (và cũng là tên mảng) nhưng

phân biệt với nhau ở

phân biệt với nhau ở chỉ số chỉ số cho cho

biết vị trí của chúng trong mảng

biết vị trí của chúng trong mảng

c[6]

-45 6 0 72 1543 -89 0 62 -3 1 6453 78

Trang 5

Mảng Hai Hai chiều chiều::

 Mỗi Mỗi phần phần tử tử của của mảng mảng cũng cũng là là một một mảng mảng khác khác

 Cú Cú pháp pháp khai khai báo báo mảng mảng 2 2 chiều chiều::

Kiểu_dữ_liệu tên_mảng tên_mảng[[số_hàng số_hàng][ ][số_cột số_cột]; ];

ten_mang[ [chi_so_cua_phan_tu chi_so_cua_phan_tu] ]

 Ví dụ 1: Ví dụ 1: int mang_nguyen[3]; int mang_nguyen[3];

Trang 6

4.2.2 Khai báo và sử dụng mảng

b Sử dụng mảng (tiếp):

 Ví dụ 2: Ví dụ 2: int a[6][5]; int a[6][5];

a[0]là phần tử đầu tiên của mảng là phần tử đầu tiên của mảng, là 1 mảng , là 1 mảng

Trang 7

a Nhập dữ liệu cho mảng (tiếp):

Trường hợp không biết mảng sẽ có bao nhiêu

phần tử mà chỉ biết số phần tử tối đa có thể có

của mảng Ví dụ:

int a[100];//Khai bao mang, so phan tu toi da la 100

int n; // Bien luu giu so phan tu thuc su cua mang

Trang 8

4.2.3 Các thao tác cơ bản làm việc

trên mảng

a Nhập dữ liệu cho mảng (tiếp):

Mảng có thể được khởi tạo giá trị ngay khi khai

Trang 9

b Xuất dữ liệu chứa trong mảng:

printf(“

printf(“\ \n”); // Xuong dong moi n”); // Xuong dong moi

// Hien thi gia tri cua tat ca cac phan tu mang a

// tren 1 dong, cac phan tu cach nhau 1 dau tab

for(i = 0; i < KT; i++)

printf(“%d

printf(“%d\ \t“, a[i]); t“, a[i]);

// Hien thi k phan tu tren mot dong

Trang 11

max = a[0];

//Lan luot so sanh voi cac phan

//tu con lai trong mang

for(i = 1; i < n; i++)

if(max < a[i])

max = a[i];

printf("

trong mang la: %d", max);

4.2.3 Các thao tác cơ bản làm việc

trên mảng

Tìm kiếm trên mảng

Sắp xếp mảng

Trang 12

 Hiển thị dãy số người dùng vừa nhập.

 Hiển thị lên màn hình: Số luợng phần tử

(trong dãy vừa nhập) có giá trị bằng k

Vd: có 3 phần tử có giá trị bằng k thì hiện

lên: Trong dãy vừa nhập có 3 số có giá

trị bằng k)

Trang 13

 Duyệt lần lượt các phần tử của

mảng và đếm xem có bao nhiêu

Trang 14

{ printf("\ \n Nhap gia n Nhap gia

tri cho m[%d]:",i);

scanf("%f ",&m[i]);

}

Trang 15

printf("

printf("\ \nHay nhap vao nHay nhap vao

mot so de tim kiem:");

printf("\ \n So phan tu co n So phan tu co

gia tri bang %8.3f

la:%d",k,dem);

getch();

}

Trang 16

 Tìm kiếm số lượng các số thỏa mãn tính

chất nào đó: vd: chẵn, lẻ, chia hết cho 5,

nguyên tố…

 Tìm kiếm kết hợp với thao tác trên các

giá trị tìm được: tính tổng các số âm,

các số nguyên tố,…

Trang 17

Bài toán sắp xếp

Bài toán:

Viết chương trình cho phép nhập vào n số

kiểu int (n do người dùng nhập vào, tối đa

là 100, chưa cần kiểm tra đầu vào n)

1)Hiển thị dãy người dùng đã nhập ra màn

Trang 18

Bài toán sắp xếp (tiếp)

Giải thuật (tiếp):

 Bước 1:Bước 1: Tìm phần tử nhỏ nhất trong n Tìm phần tử nhỏ nhất trong n

Bài toán sắp xếp (tiếp)

Giải thuật (tiếp):

Trang 20

printf("\ \n Nhap gia n Nhap gia

tri cho m[%d]:",i);

printf("\ \n Day truoc n Day truoc

khi sap xep:

khi sap xep:\ \n"); n");

for (i=0;i<n;i++)

printf("%5d",m[i]);

Trang 21

printf(“Phan tu nho nhat trong

so cac phan tu tu %d den %d la

Trang 22

//In giá trị của mảng sau khi xếp

printf("

printf("\ \nMang sau khi nMang sau khi

sap xep theo thu tu

Trang 23

2 Viết chương trình tính tổng bình phương

của các số âm trong một mảng các số

nguyên

Trang 25

Câu hỏi?

Ngày đăng: 30/01/2020, 19:19

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