intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Nhập môn lập trình: Bài 6 - Trần Duy Thanh

Chia sẻ: Kiếp Này Bình Yên | Ngày: | Loại File: PPTX | Số trang:48

57
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài 6 trình bày những nội dung kiến thức liên quan đến xử lý chuỗi và con trỏ như: Khái niệm và cấu trúc về chuỗi, các hàm nhập xuất chuỗi, một số hàm cơ bản về chuỗi, mảng và chuỗi. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Nhập môn lập trình: Bài 6 - Trần Duy Thanh

  1. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Bài 6: Xử Lý Chuỗi & Con trỏ Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  2. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 1.  Khái niệm 2. Các thao tác trên con trỏ 3. Cấp phát bộ nhớ 4. Con trỏ và mảng Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 2
  3. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN v ĐỊA CHỈ CỦA BIẾN Ø Thông tin của một biến bao gồm: *Tên biến *Kiểu dữ liệu của biến *Giá trị của biến Ø Mỗi  biến  sẽ  được  lưu  trữ  tại  một  vị  trí   xác định trong ô nhớ, nếu kích thước của  biến  có nhiều  byte  thì  máy  tính  sẽ  cấp  phát  một   dãy các  byte  liên  tiếp  nhau,  địa  chỉ  của  biến   sẽ lưu byte đầu tiên trong dãy các byte này Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  4. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN v ĐỊA CHỈ CỦA BIẾN * Ví dụ khai báo: float x; int a; Địa chỉ biến x Địa chỉ biến a Byte 1 Byte 100 Các ô  Các ô  Byte 2 nhớ  Byte 101 nhớ  của  của  Byte 3 Byte 102 biến  biến  x Byte 4 a Byte 103 Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  5. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN v ĐỊA CHỈ CỦA BIẾN v Địa chỉ của biến luôn luôn là một số nguyên (hệ thập lục phân) dù biến đó chứa giá trị là số nguyên, số thực hay ký tự, … v Cách lấy địa chỉ của biến & tênbiến v Ví dụ: void main() { int x=7; float y=10.5; cout
  6. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 1. Khái niệm • Một  con  trỏ  là  1  biến  chứa  một  địa  chỉ  bộ  nhớ.  Địa  chỉ  này  là  vị  trí  của  một  đối  tượng khác trong bộ nhớ.  • Nếu  một  biến  chứa  địa  chỉ  của  một  biến  khác,  biến  thứ  nhất  được  gọi  là  trỏ  đến  biến thứ hai. Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  7. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 1. Khái niệm count 7 Giá trị của biến count = 7 countPtr count Con trỏ trỏ đến vùng nhớ  7 của biến count Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  8. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 1. Khái niệm Địa chỉ Biến trong bộ nhớ bộ nhớ Một  biến  được  cấp  phát  ô  nhớ  tại  địa  chỉ  1000  có  giá  trị  là  địa  chỉ  (1003)  của  1  biến  khác.  Biến  thứ  nhất  được gọi là con trỏ. Bộ nhớ Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  9. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 2. Khai báo biến con trỏ • Cú pháp: type *pointerVariable; type: xác định kiểu dữ liệu của biến mà con trỏ trỏ đến. Ví dụ: int *a; a Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  10. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3. Toán tử con trỏ (pointer operators) • Toán tử &  là toán tử 1 ngôi, trả về địa chỉ  bộ nhớ của toán hạng của nó. – Toán  tử  &  dùng  để  gán  địa  chỉ  của  biến  cho  biến con trỏ  Cú pháp:  =&   Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  11. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3. Toán tử con trỏ (pointer operators) • Ví dụ:  a 25 x int a=25, x; int *y; y y x=a;;       y=&a; y=a;//sai  Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  12. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3. Toán tử con trỏ (pointer operators) • Toán tử * : là toán tử một ngôi trả về giá  trị tại địa chỉ con trỏ trỏ đến. Cú pháp:  *  Ví dụ:   a=*p ; a=p;//sai   Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  13. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Các thao tác trên con trỏ • Lệnh gán con trỏ Có thể dùng phép gán để gán giá trị của một con  trỏ cho một con trỏ khác có cùng kiểu Ví dụ: int x=10; int *p1, *p2; p1 = &x; p2 = p1; Sau khi đọan lệnh trên được thực hiện, cả hai p1 và  p2 cùng trỏ đến biến x. Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  14. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Các thao tác trên con trỏ p1 p2 X=10 Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  15. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Các thao tác trên con trỏ • Phép toán số học trên con trỏ – Chỉ có 2 phép toán sử dụng trên con trỏ là phép  cộng và trừ – Khi  cộng  (+)  hoặc  trừ  (­)  1  con  trỏ  với  1  số  nguyên N; kết quả trả về là 1 con trỏ. Con trỏ  này  chỉ  đến  vùng  nhớ  cách  vùng  nhớ  của  con  trỏ hiện tại một số nguyên lần kích thước của  kiểu dữ liệu của nó.  Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  16. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Các thao tác trên con trỏ Ví dụ : char *a; short *b; long *c;  Các con trỏ a, b, c lần lượt trỏ tới ô nhớ 1000, 2000  và 3000. Cộng các con trỏ với một số nguyên: a = a + 1;//con trỏ a dời đi 1 byte b = b + 1;//con trỏ b dời đi 2 byte  c = c + 1; //con trỏ c dời đi 4 byte Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  17. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Các thao tác trên con trỏ Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  18. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Các thao tác trên con trỏ • Lưu ý: cả hai toán tử tăng (++) và giảm (­­)  đều có quyền ưu tiên lớn hơn toán tử * Ví dụ:  *p++; Lệnh *p++ tương đương với *(p++) : thực hiện  là tăng p (địa chỉ ô nhớ mà nó trỏ tới chứ không phải  là giá trị trỏ tới).  Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  19. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Các thao tác trên con trỏ Ví dụ: *p++ = *q++;  • Cả hai toán tử tăng (++) đều được thực  hiện sau khi giá trị của *q được gán cho *p  và sau đó cả q và p đều tăng lên 1. Lệnh  này tương đương với: *p = *q; p++; q++;  Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  20. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Các thao tác trên con trỏ #include  #include void main () { int a = 20, b = 15, *pa, *pb, temp; pa = &a; // con trỏ pa chứa địa chỉ của a pb = &b; // con trỏ pb chứa địa chỉ của b temp = *pa; *pa = *pb; *pb = temp; cout 
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2