Lớp 12Tin Học

Bài tập về con trỏ C++

Đáp án chi tiết, giải thích dễ hiểu nhất cho câu hỏi Bài tập về con trỏ C++” cùng với kiến thức tham khảo là tài liệu cực hay và bổ ích giúp các bạn học sinh ôn tập và tích luỹ thêm kiến thức bộ môn Tin học. 

Bài tập về con trỏ C++

Bài 1: Sử dụng con trỏ trong C++, bạn hãy viết một chương trình C++ để nhận dữ liệu từ người dùng và tìm giá trị lớn nhất của một tập dữ liệu nội bộ.

Hướng dẫn: 

Bạn đang xem: Bài tập về con trỏ C++

#include 

#include 

using namespace std;

int *findMax(int arr[],int n); 

int main(){   

   int n,i,*p;     

 cout<<"Nhap so du lieu: ";     

 cin>>n;   

 int arr[n];       

 for(i=0;i

    cout<<"Nhap gia tri thu "<

   cin>>arr[i];             

}           

 p=findMax(arr,n);     

 cout<<"Gia tri lon nhat la: "<<*p;     

 getch();     

 return 0; 

int *findMax(int data[],int n){     

 int *max=data;   

 int i;   

 for(i=1;i

   if(*max<*(max+i)) *max=*(max+i);                             

 }     

 return max; 

}

Bài 2: Viết một chương trình C++ để nhận 5 giá trị nguyên từ bàn phím. 5 giá trị này sẽ được lưu trữ trong một mảng bởi sử dụng một con trỏ. Sau đó, in các phần tử của mảng trên màn hình.

Hướng dẫn:

#include 

#include

using namespace std;

   int main() 

    { 

     int arr[5],i; 

     int *p=arr; 

     cout<<"Nhap 5 so:"; 

     cin>>*p>>*(p+1)>>*(p+2)>>*(p+3)>>*(p+4); 

     cout<<"Cac so ban vua nhap la:n"; 

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

        cout<

     return 0;

    } 

Bài 3: Viết một hàm có tên là sumarrays() có đối số là hai mảng, tính tổng giá trị cả hai mảng và trả về tổng đó. Viết chương trình minh họa.

Hướng dẫn:

#include

#define MAX1 5

#define MAX2 8

int array1[MAX1] = { 1, 2, 3, 4, 5 };

int array2[MAX2] = { 1, 2, 3, 4, 5, 6, 7, 8 }; int total;

int sumarrays(int x1[], int len_x1, int x2[], int len_x2);

main()

{

 total = sumarrays(array1, MAX1, array2, MAX2); printf(“The total is %dn”, total);

 return 0;

}

int sumarrays(int x1[], int len_x1, int x2[], int len_x2)

{

 int total = 0, count = 0;

 for (count = 0; count < len_x1; count++) total += x1[count];

 for (count = 0; count < len_x2; count++) total += x2[count];

 return total;

}

Mở rộng kiến thức về cách sử dụng con trỏ trong C/C++

1. Con trỏ là gì?

Một con trỏ là một biến mà trong đó giá trị của nó là địa chỉ của biến khác. Ví dụ như địa chỉ của vùng nhớ. Giống như các biến và hằng số, bạn phải khai báo con trỏ trước khi bạn có thể sử dụng nó để lưu trữ bất kì địa chỉ của biến nào. Dạng tổng quát của việc khai báo con trỏ như sau:

kieu_du_lieu *ten_bien;

Ở đây, kieu_du_lieu là kiểu dữ liệu cơ bản con trỏ, nó là kiểu hợp lệ trong ngôn ngữ C và ten_bien là tên giá trị của con trỏ. Phần ký tự * sử dụng trong khai báo con trỏ giống như việc bạn sử dụng cho phép nhân. Mặc dù vậy, trong khai báo này, ký tự * được thiết kế để sử dụng các biến của con trỏ. Dưới đây là một số cách khai báo hợp lệ của con trỏ:

int *sv;                 // tro toi mot gia tri nguyen 

double *nv;              // tro toi mot gia tri 

double float *luong;     // tro toi mot gia tri 

float char *ten         // tro toi mot ky tu

Kiểu dữ liệu thực sự của giá trị của tất cả các con trỏ, có thể là integer, float, character, hoặc kiểu khác, là giống như, một số long hexa biểu diễn một địa chỉ bộ nhớ. Điểm khác nhau duy nhất của các con trỏ của các kiểu dữ liệu khác nhau là kiểu dữ liệu của biến hoặc hằng số mà con trỏ chỉ tới.

Con trỏ có nhiều khái niệm nhưng cũng khá dễ để học và rất quan trọng trong lập trình ngôn ngữ C /C++

2. Cách sử dụng con trỏ trong C/C++

Có một vài phép toán quan trọng, sẽ giúp chúng ta làm việc với con trỏ một cách thường xuyên: 

a) chúng ta định nghĩa biến con trỏ, 

b) gán địa chỉ của biến đến một con trở và 

c) cuối cùng truy cập các giá trị biến địa chỉ trong biến con trỏ. Điều này được thực hiện bởi toán tử * trả về giá trị các các biến chứa trong địa chỉ được xác định bởi toán tử này. 

Dưới đây là các sử dụng những phép toán trên:

#include  

using namespace std; 

int main () 

    int bien1 = 15000; 

    // khai bao bien. 

    int *sv; 

    // bien con tro sv 

    sv = &bien1; 

    // luu tru dia chi cua bien1 vao bien con tro sv 

    cout << "Gia tri cua bien1 la: "; 

    cout << bien1 << endl; 

    // In dia chi duoc luu tru trong bien con tro sv 

    cout << "Dia chi duoc luu tru trong bien con tro sv la: "; 

    cout << sv << endl; 

    // Truy cap gia tri co san tai dia chi cua bien con tro 

    cout << "Gia tri cua *sv la: "; 

    cout << *sv << endl; 

    return 0;    

}

Đăng bởi: THPT Ninh Châu

Chuyên mục: Lớp 12, Tin Học 12

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button