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

Giáo trình lập trình căn bản phần 2 ths nguyễn văn linh

42 14 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

Lập trình Chương VI KIỂU MẢNG • • Học xong chương này, sinh viên nắm vấn đề sau: Khái niệm kiểu liệu mảng ứng dụng Cách khai báo biến kiểu mảng phép toán phần tử mảng I GIỚI THIỆU KIỂU DỮ LIỆU “KIỂU MẢNG” TRONG C Mảng tập hợp phần tử cố định có kiểu, gọi kiểu phần tử Kiểu phần tử có kiểu bất kỳ: ký tự, số, chuỗi ký tự…; có ta sử dụng kiểu mảng để làm kiểu phần tử cho mảng (trong trường hợp ta gọi mảng mảng hay mảng nhiều chiều) Ta chia mảng làm loại: mảng chiều mảng nhiều chiều Mảng kiểu liệu sử dụng thường xuyên Chẳng hạn người ta cần quản lý danh sách họ tên khoảng 100 sinh viên lớp Nhận thấy họ tên để lưu trữ ta cần biến kiểu chuỗi, 100 họ tên cần khai báo 100 biến kiểu chuỗi Nếu khai báo đoạn khai báo thao tác họ tên dài dòng rắc rối Vì thế, kiểu liệu mảng giúp ích ta trường hợp này; cần khai báo biến, biến coi tương đương với 100 biến chuỗi ký tự; mảng mà phần tử chuỗi ký tự Hay để lưu trữ từ khóa ngơn ngữ lập trình C, ta dùng đến mảng để lưu trữ chúng II MẢNG CHIỀU Nếu xét góc độ tốn học, mảng chiều giống vector Mỗi phần tử mảng chiều có giá trị mảng khác II.1 Khai báo II.1.1 Khai báo mảng với số phần tử xác định (khai báo tường minh) Cú pháp: Ý nghĩa: - Tên mảng: tên đặt theo quy tắc đặt tên danh biểu Tên mang ý nghĩa tên biến mảng - Số phần tử: số nguyên, cho biết số lượng phần tử tối đa mảng (hay nói khác kích thước mảng gì) - Kiểu: phần tử mảng có liệu thuộc kiểu - Ở đây, ta khai báo biến mảng gồm có số phần tử phần tử, phần tử thứ tên mảng [0], phần tử cuối tên mảng[số phần tử -1] Trang 72 Lập trình Ví dụ: int a[10]; /* Khai báo biến mảng tên a, phần tử thứ a[0], phần tử cuối a[9].*/ Ta coi mảng a dãy liên tiếp phần tử nhớ sau: Vị trí Tên phần tử a[0] a[1] a[2] Hình 1: Hình ảnh mảng a nhớ a[3] a[4] a[5] a[6] a[7] a[8] a[9] II.1.2 Khai báo mảng với số phần tử không xác định (khai báo không tường minh) Cú pháp: Khi khai báo, không cho biết rõ số phần tử mảng, kiểu khai báo thường áp dụng trường hợp: vừa khai báo vừa gán giá trị, khai báo mảng tham số hình thức hàm a Vừa khai báo vừa gán giá trị Cú pháp: []= {Các giá trị cách dấu phẩy} Nếu vừa khai báo vừa gán giá trị C hiểu số phần tử mảng số giá trị mà gán cho mảng cặp dấu {} Chúng ta sử dụng hàm sizeof() để lấy số phần tử mảng sau: Số phần tử=sizeof(tên mảng)/ sizeof(kiểu) b Khai báo mảng tham số hình thức hàm, trường hợp ta khơng cần định số phần tử mảng II.2 Truy xuất phần tử mảng Mỗi phần tử mảng truy xuất thông qua Tên biến mảng theo sau số nằm cặp dấu ngoặc vuông [ ] Chẳng hạn a[0] phần tử mảng a khai báo Chỉ số phần tử mảng biểu thức mà giá trị kiểu số nguyên Với cách truy xuất theo kiểu này, Tên biến mảng[Chỉ số] coi biến có kiểu liệu kiểu khai báo biến mảng Ví dụ 1: int a[10]; Trong khai báo này, việc truy xuất phần tử hình Chẳng hạn phần tử thứ (có vị trí 1) a[1]… Ví dụ 2: Vừa khai báo vừa gán trị cho mảng chiều số nguyên In mảng số nguyên lên hình Giả sử ta biết số phần tử mảng n; việc hiển thị giá trị số nguyên lên hình ta cần sử dụng hàm printf() với định dạng %d, tổng quát hóa lên muốn hiển thị lên hình giá trị n số nguyên, ta cần gọi hàm printf() n lần Như trường hợp ta sử dụng vòng lặp để in giá trị phần tử Ta có đoạn chương trình sau: #include #include int main() { int n,i,j,tam; int dayso[]={66,65,69,68,67,70}; clrscr(); Trang 73 Lập trình } n=sizeof(dayso)/sizeof(int); /*Lấy số phần tử*/ printf("\n Noi dung cua mang "); for (i=0;i0); printf("Dang nhi phan la: "); for(i=K-1;i>=0;i ) printf("%d",NhiPhan[i]); getch(); return 0; } Ví dụ 4: Nhập vào dãy n số xếp số theo thứ tự tăng Đây tốn có ứng dụng rộng rãi nhiều lĩnh vực Có nhiều giải thuật xếp Một số mơ tả sau: Đầu tiên đưa phần tử thứ so sánh với phần tử cịn lại, lớn phần tử so sánh đổi chỗ hai phần tử cho Sau tiếp tục so sánh phần tử thứ hai với phần tử từ thứ ba trở tiếp tục phần tử thứ n-1 Chương trình chia thành hàm Nhap (Nhập số), SapXep (Sắp xếp) InMang (In số); tham số hình thức hàm mảng không định rõ số phần tử tối đa, ta cần có thêm số phần tử thực tế sử dụng mảng bao nhiêu, giá trị nguyên #include #include void Nhap(int a[],int N) { int i; for(i=0; i< N; i++) { printf("Phan tu thu %d: ",i);scanf("%d",&a[i]); } } Trang 74 Lập trình void InMang(int a[], int N) { int i; for (i=0; i

Ngày đăng: 23/03/2022, 23:08

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Hình 1: Hình ảnh mản ga trong bộ nhớ - Giáo trình lập trình căn bản phần 2   ths  nguyễn văn linh
Hình 1 Hình ảnh mản ga trong bộ nhớ (Trang 2)
3. Viết chương trình nhập vào một mảng, hãy xuất ra màn hình: - Phần tử lớn nhất của mảng - Giáo trình lập trình căn bản phần 2   ths  nguyễn văn linh
3. Viết chương trình nhập vào một mảng, hãy xuất ra màn hình: - Phần tử lớn nhất của mảng (Trang 7)
Lúc này hình ảnh trong bộ nhớ như sau: - Giáo trình lập trình căn bản phần 2   ths  nguyễn văn linh
c này hình ảnh trong bộ nhớ như sau: (Trang 11)
Với khai báo ở trên, hình ảnh của contr ỏa trong bộ nhớ: - Giáo trình lập trình căn bản phần 2   ths  nguyễn văn linh
i khai báo ở trên, hình ảnh của contr ỏa trong bộ nhớ: (Trang 14)
IV. CONT RỎ VÀ THAM SỐ HÌNH THỨC CỦA HÀM - Giáo trình lập trình căn bản phần 2   ths  nguyễn văn linh
IV. CONT RỎ VÀ THAM SỐ HÌNH THỨC CỦA HÀM (Trang 17)
Để so sánh hai chuỗi theo từng ký tự trong bảng mã Ascii, ta có thể sử dụng - Giáo trình lập trình căn bản phần 2   ths  nguyễn văn linh
so sánh hai chuỗi theo từng ký tự trong bảng mã Ascii, ta có thể sử dụng (Trang 23)
/* Hàm in số phức lên màn hình*/ void InSoPhuc(SoPhuc p)  - Giáo trình lập trình căn bản phần 2   ths  nguyễn văn linh
m in số phức lên màn hình*/ void InSoPhuc(SoPhuc p) (Trang 29)
danh sách lên màn hình, tìm kiếm họ tên của một sinh viên nào đó dựa vào mã sinh viên nhập từ bàn phím - Giáo trình lập trình căn bản phần 2   ths  nguyễn văn linh
danh sách lên màn hình, tìm kiếm họ tên của một sinh viên nào đó dựa vào mã sinh viên nhập từ bàn phím (Trang 39)
c- Đọc từ đĩa nội dung văn bản vừa nhập, in nội dung đó lên màn hình và cho phép nối thêm thông tin vào cuối tập tin đó - Giáo trình lập trình căn bản phần 2   ths  nguyễn văn linh
c Đọc từ đĩa nội dung văn bản vừa nhập, in nội dung đó lên màn hình và cho phép nối thêm thông tin vào cuối tập tin đó (Trang 41)

TỪ KHÓA LIÊN QUAN

Mục lục

    I. MỤC ĐÍCH YÊU CẦU

    II. ĐỐI TƯỢNG MÔN HỌC

    III. NỘI DUNG CỐT LÕI

    IV. KIẾN THỨC LIÊN QUAN

    Phần 1: GIỚI THIỆU VỀ CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

    I. TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH

    II.1. Khái niệm giải thuật

    II.2 Các đặc trưng của giải thuật

    II.3 Ngôn ngữ biểu diễn giải thuật

    II.3.1 Ngôn ngữ tự nhiên

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN