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

Bài giảng Tin học đại cương Bài 4: Con trỏ và mảng

47 69 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 47
Dung lượng 1,75 MB

Nội dung

Bài giảng Tin học đại cương Bài 4: Con trỏ và mảng trình bày con trỏ và địa chỉ; mảng; sử dụng con trỏ làm việc với mảng. Để nắm chắc kiến thức mời các bạn cùng tham khảo bài giảng.

VIỆN CÔNG NGHỆ THÔNG TIN SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY TIN HỌC ĐẠI CƯƠNG PHẦN 2: LẬP TRÌNH BẰNG NGƠN NGỮ C BÀI 4: CON TRỎ VÀ MẢNG Ts Nguyễn Thanh Hùng BÀI 4: CON TRỎ VÀ MẢNG 4.1 Con trỏ địa   4.1.1 Tổng quan trỏ 4.1.2 Các phép toán làm việc với trỏ 4.2 Mảng    4.2.1 Khái niệm mảng 4.2.2 Khai báo sử dụng mảng 4.2.3 Các thao tác làm việc mảng 4.3 Sử dụng trỏ làm việc với mảng 4.1.1 Tổng quan trỏ a Địa giá trị biến     Bộ nhớ dãy byte nhớ Các byte nhớ xác định cách qua địa Biến lưu nhớ Khi khai báo biến Chương trình dịch cấp phát cho biến số ô nhớ liên tiếp đủ để chứa nội dung biến Ví dụ biến số nguyên (int) cấp phát byte Địa biến địa byte số 4.1.1 Tổng quan trỏ a Địa giá trị biến (tiếp)  Một biến ln có hai đặc tính: Địa biến Giá trị biến  Ví dụ: int i, j; i = 3; j = i + 1; Biến Địa Giá trị i FFEC j FFEE 4 4.1.1 Tổng quan trỏ b Khái niệm khai báo trỏ   Con trỏ biến mà giá trị địa vùng nhớ Khai báo trỏ: Cú pháp khai báo trỏ sau: Kieu_du_lieu *ten_bien_con_tro;  Ví dụ Biến Địa int i = 3; int *p; p = &i;  Giá trị i FFEC p FFEE FFEC Một trỏ trỏ tới đối tượng kiểu 4.1.1 Tổng quan trỏ Toán tử & *     Toán tử &: Trả địa biến Toán tử *: Trả giá trị chứa vùng nhớ trỏ giá trị biến trỏ Cả hai tốn tử * & có độ ưu tiên cao tất toán tử số học ngoại trừ tốn tử đảo dấu Ví dụ: void main() { int i = 3; int *p; p = &i; printf("*p = %d \n",*p); getch(); } 4.1.1 Tổng quan trỏ c Sử dụng biến trỏ:  Một biến trỏ gán bởi: Địa biến khác:  ten_bien_con_tro = &ten_bien; Giá trị trỏ khác (tốt kiểu):  ten_bien_con_tro2 = ten_bien_con_tro1; Giá trị NULL (số 0):   ten_bien_con_tro = 0; Gán giá trị cho biến trỏ: *ten_bien_con_tro = 10; 4.1.1 Tổng quan trỏ Ví dụ 1: main() { int i = 3, j = 6; int *p1, *p2; p1 = &i; p2 = &j; *p1 = *p2; } 4.1.1 Tổng quan trỏ Ví dụ 2: main() { int i = 3, j = 6; int *p1, *p2; p1 = &i; p2 = &j; p1 = p2; } 4.1.1 Tổng quan trỏ d Con trỏ void     void *ten_bien_con_tro; Con trỏ đặc biệt, kiểu, Có thể nhận giá trị địa biến thuộc kiểu liệu Ví dụ: void *p, *q; int x = 21; float y = 34.34; p = &x; q = &y; 10 b Tìm kiếm mảng (2) Cách làm:  Đếm phần tử mảng thoả mãn điều kiện Sử dụng biến đếm để lưu giá trị đếm Duyệt mảng Kiểm tra điều kiện cần thiết, trường hợp điều kiện thoả mãn, tăng biến đếm lên đơn vị 33 #include #include #define KT 100 void main() { float m[KT], kiem_tra; int chi_so[KT]; int i, dem; int n; // so phan tu thuc su mang do{ printf(“ Cho biet so phan tu co mang: “); scanf(“%d”,&n); if (nKT) printf(“Nhap sai, nhap lai\n”); } while (n KT); for(i = 0;i < n; i++) { printf(“\n Cho biet gia tri cua m[%d] = “,i); scanf(“%f”, &m[i]]; } printf(“\n Nhap vao gia tri thuc can kiem tra: “); scanf(“%f”,&kiem_tra); 34 dem = 0; //Bat dau tim kiem for(i = 0;i < n;i++) if(m[i] == kiem_tra) { chi_so[dem] = i; dem ++; } if (dem > 0) { printf(“\n Trong mang co %d phan tu = %.2f”, dem, kiem_tra); printf(“\n Chi so cua cac phan tu la: “); for(i = 0; i < dem; i++) printf(“%3d”, chi_so[i]); } else printf(“\n Khong co phan tu nao = %.2f”, kiem_tra); getch(); } 35 b Tìm kiếm mảng (3) Bài   Nhập vào phần tử mảng nguyên có số lượng phần tử tối đa 100 Nhập số nguyên giá trị đưa phần tử số mảng có giá trị nhỏ số nguyên vừa nhập 36 #include #define KT 100 void main() { int n, a[KT], i, x; printf("\nNhap vao so luong phan tu cua mang: "); scanf("%d", &n); printf("Nhap vao cac phan tu cua mang : "); for (i=0; i

Ngày đăng: 26/06/2020, 22:27

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w