C u h i cho bi t k t qu th c thi ch ng tr nh sau
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

CÂU HỎI : Cho biết kết quả thực thi chương trình sau: PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on
  • Presentation posted in: General

CÂU HỎI : Cho biết kết quả thực thi chương trình sau:. void main() { int a=5, b=9; int* p1=&a; int* p2=&b; cout<<*p1<<“ “<<*p2; p2=p1; p1=&b; cout<<*p1<<“ “<<*p2; getch(); }. CHÖÔNG 7. POINTER. Nội dung : Định nghĩa -Khai báo. Các thao tác trên biến con trỏ.

Download Presentation

CÂU HỎI : Cho biết kết quả thực thi chương trình sau:

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


C u h i cho bi t k t qu th c thi ch ng tr nh sau

CÂU HỎI: Cho biết kết quả thực thi chương trình sau:

void main()

{

int a=5, b=9;

int* p1=&a;

int* p2=&b;

cout<<*p1<<“ “<<*p2;

p2=p1;

p1=&b;

cout<<*p1<<“ “<<*p2;

getch();

}


Ch ng 7

CHÖÔNG 7

POINTER


C u h i cho bi t k t qu th c thi ch ng tr nh sau

Nội dung:

  • Định nghĩa -Khai báo.

  • Các thao tác trên biến con trỏ.

  • Con trỏ và mảng.

  • Thông số hình thức kiểu con trỏ.

  • Cấp phát động.


Iii con tr v m ng

III. CON TRỎ VÀ MẢNG:

1. Truy xuất phần tử mảng thông qua biến con trỏ:

Ví dụ:int a[4];

int* p=&a[0];

a[i] tương đương với *(p+i)


Iii con tr v m ng1

III. CON TRỎ VÀ MẢNG:

2. Tên biến mảng là hằng con trỏ: có trị bằng địa chỉ của phần tử đầu.

Ví dụ:int a[4];

int i=2;

khi đó a[i] tương đương *(a+i)


Iii con tr v m ng2

III. CON TRỎ VÀ MẢNG:

3. Tên thông số hình thức mảng tương đương biến con trỏ đối với hàm.

Ví dụ:

void nhap(int a[], int &n);

giống:

void nhap(int *a, int &n);


Iv thay i th ng s th c b ng th ng s h nh th c con tr

IV. THAY ĐỔI THÔNG SỐ THỰC BẰNG THÔNG SỐ HÌNH THỨC CON TRỎ:

Ví dụ:

void swap(int*pa, int* pb)

{

int tam;

tam=*pa;

*pa=*pb;

*pb=tam;

}


V c p ph t ng

V. CẤP PHÁT ĐỘNG:

1. Khái niệm:

  • Biến đã học được đặt trong vùng nhớ tĩnh gọi là stack

  • Con trỏ có thể được cấp phát vùng nhớ trong lúc chương trình đang chạy ở trong heap

    2. Toán tử new

    Cú pháp:

    biến_con_trỏ=new tên_kiểu[N];

    Ý nghĩa: Cấp phát vùng nhớ đủ để lưu N biến kiểu

    tên_kiểu. Mặc định N=1 (khi không có N).

    3. Toán tử delete

    Cú pháp: delete biến_con_trỏ;

    delete [] biến_con_trỏ;

    Ý nghĩa: Thu hồi vùng nhớ đã cấp phát cho

    biến_con_trỏ bằng new.


V c p ph t ng1

V. CẤP PHÁT ĐỘNG:

Ví dụ:

int * a;

a=new int;

int *p;

p=new int[100];

....

delete a;

delete [] p;


V d s d ng m ng c p ph t ng

Ví dụ: Sử dụng mảng cấp phát động

void main()

{int *a,n;

cin>>n;

a=new int[n];

...

}


Ch ng 8

CHÖÔNG 8

STRING – STRUCT

(CHUỖI & CẤU TRÚC)

A. STRING


I c b n v chu i

I. CƠ BẢN VỀ CHUỖI:

1. Chuỗi là mảng ký tự với phần tử cuối là ký tự ‘\0’

Ví dụ:

char s[]={‘T’,’h’,’u’,’\0’};

2. Hằng chuỗi là dãy ký tự đặt giữa cặp “..”, đã được cấp phát vùng nhớ.

Ví dụ:

char *s=“Thu”;

char name[]=“Thu”;


Ii truy xu t chu i

II. TRUY XUẤT CHUỖI:

Cách 1. Truy xuất giống mảng ký tự.

Ví dụ:

char s[]={‘T’,’h’,’u’,’\0’};

int i=0;

while (s[i]!=‘\0’) cout<<s[i];

Cách 2. Sử dụng hàm chuỗi.


Ii truy xu t chu i1

II. TRUY XUẤT CHUỖI:

1. Nhập chuỗi:

Hàm

cin.getline(char*s, int len, char kthúc=‘\n’)

Ví dụ:

char s[50];

cin.getline(s,50);


Ii truy xu t chu i2

II. TRUY XUẤT CHUỖI:

2. Xóa đệm nhập:

Hàm

cin.ignore(int len, int kthúc=EOF)

Ví dụ:

cin.ignore(100,’\n’);


Ii truy xu t chu i3

II. TRUY XUẤT CHUỖI:

3. Các hàm khác trong string.h:

  • strlen : chiều dài chuỗi

  • strcpy: sao chép chuỗi

  • strcmp: so sánh chuỗi

  • strstr, strchr: tìm chuỗi con

  • ...


Ii truy xu t chu i4

II. TRUY XUẤT CHUỖI:

4. Các hàm khác trong ctype.h:

  • int islower(char)

  • char tolower(char)

  • ...


I kh i ni m

I. KHÁI NIỆM:

B. STRUCT

  • Struct là kiểu có nhiều thành phần khác kiểu.

  • Mỗi thành phần gọi là field.


Ii khai b o struct

II. KHAI BÁO STRUCT:

Cú pháp:

struct [tên_kiểu_str]

{

ds_thành_phần

} [ds_biến];

Ý nghĩa:

Khai báo (define) kiểu cấu trúc,

hoặc/và khai báo các biến kiểu cấu trúc

Mỗi thành phần được viết giống kbáo biến.


Ii khai b o struct1

II. KHAI BÁO STRUCT:

Ví dụ:

//Khai báo kiểu SinhVien

struct SinhVien

{

int NamSinh;

char HoTen[40];

float toan,ly,hoa;

};

//Khai báo biến sv1kiểu SinhVien

SinhVien sv1;

SinhVien sv[200];


Iii truy xu t struct

III. TRUY XUẤT STRUCT:

- Được phép gán cấu trúc cho cấu trúc.

  • Thao tác đọc ghi khác chỉ thực hiện được trên từng field.

    Cú pháp: Tên_biến.tên_field

    Ví dụ:

    cin>>sv1.NamSinh;

    cin.getline(sv1.HoTen,40);

    cin>>sv1.toan;

    ...


Iv nh ngh a ki u typedef

IV. ĐỊNH NGHĨA KIỂU typedef

Cú pháp: typedef mô_tả_kiểu tên_kiểu;

Ý nghĩa: Định nghĩa kiểu tên_kiểu

Ví dụ 1:

typedef int age;

age a; //a là biến kiểu int

Ví dụ 2:

typedef struct

{ float TuSo, MauSo;

} PhanSo;

PhanSo p;


N thi tr c nghi m

ÔN THI TRẮC NGHIỆM:

Toàn bộ nội dung của môn PPLT.

ÔN THI THỰC HÀNH:

Thuật toán trên mảng 1 chiều:

1. Liệt kê tất cả giá trị hoặc vị trí phần tử thoả điều kiện gì đó.

2. Tìm kiếm phần tử đầu tiên thỏa điều kiện.

3. Xóa các phần tử thỏa điều kiện.

4. Sắp xếp.


  • Login