Tài liệu học lập trình c cho người khiếm thị
  • 1. LỜI NÓI ĐẦU
    • Lời nói đầu
  • 2. BÀI HỌC LÝ THUYẾT
    • Bài 1. Giới thiệu về ngôn ngữ lập trình C
    • Bài 2. Cài đặt môi trường và viết chương trình đầu tiên
    • Bài 3. Biến và kiểu dữ liệu
    • Bài 4. Toán tử và biểu thức
    • Bài 5. Nhập và xuất trong C
    • Bài 6. Câu lệnh điều kiện rẽ nhánh
    • Bài 7. Vòng lặp
    • Bài 8. Mảng
    • Bài 9. Con trỏ
    • Bài 10. Hàm
    • Bài 11. Chuỗi
    • Bài 12. Các kiểu dữ liệu nâng cao và thuật toán sắp xếp
    • Bài 13. Quản lý tập tin
  • Bài tập nhỏ
    • Bài tập 1: Biến và kiểu dữ liệu
    • Bài tập 2: Toán tử và biểu thức
    • Bài tập 3: Nhập và xuất trong C
    • Bài tập 4: Câu lệnh điều kiện
    • Bài tập 5: Vòng lặp
    • Bài tập 6: Mảng
    • Bài tập 7: Con trỏ
    • Bài tập 8: Hàm
    • Bài tập 9: Chuỗi
    • Bài tập 10: Dữ liệu nâng cao và sắp xếp
    • Bài tập 11: Quản lý tập tin
  • Bài tập lớn
    • Bài tập 1: Quản lý sinh viên
    • Bài tập 2: Phần mềm quản lý thư viện
    • Bài tập 3: Chương trình quản lý danh bạ
  • 4. VÍ DỤ MINH HỌA
    • Ví dụ 1: Chương trình Hello World
    • Ví dụ 2: Máy tính đơn giản
    • Ví dụ 3: Kiểm tra số nguyên tố
    • Ví dụ 4: Đọc và ghi file trong C
    • Ví dụ 5: Sử dụng con trỏ trong C
    • Ví dụ 6: Quản lý sinh viên sử dụng struct
    • Ví dụ 7: Sắp xếp mảng bằng thuật toán Bubble Sort
    • Ví dụ 8: Đọc ghi file CSV
    • Ví dụ 9: Duyệt mảng bằng con trỏ
    • Ví dụ 10: Quản lý bộ nhớ động
    • Ví dụ 11: Sử dụng vòng lặp để xử lý dữ liệu
    • Ví dụ 12: Xử lý chuỗi bằng thư viện string.h
    • Ví dụ 13: Cấu trúc dữ liệu nâng cao
  • 5. PHỤ LỤC
    • phần I. Các hàm chuẩn trong thư viện C
    • phần II. Cấu trúc dữ liệu trong C
    • Phần III: Thuật toán cơ bản
    • Phần IV: Thuật ngữ lập trình
  • 6. THÔNG TIN TÀI LIỆU
    • thông tin tài liệu
Powered by GitBook
On this page
  • I: Mục tiêu:
  • II: Bài tập mẫu:
  • Bài tập 1: Truy cập giá trị thông qua con trỏ
  • III: Bài tập thực hành:
  • Bài tập 1: Hoán đổi giá trị hai số bằng con trỏ
  • Bài tập 2: Tính tổng các phần tử trong mảng bằng con trỏ
  • Bài tập 3: Đảo ngược chuỗi sử dụng con trỏ
  • Bài tập 4: Cấp phát động mảng và tính tổng
  1. Bài tập nhỏ

Bài tập 7: Con trỏ

I: Mục tiêu:

  • Hiểu rõ khái niệm con trỏ trong C.

  • Biết cách khai báo, khởi tạo và sử dụng con trỏ.

  • Áp dụng con trỏ vào các bài toán liên quan đến mảng, chuỗi và cấp phát động.

II: Bài tập mẫu:

Bài tập 1: Truy cập giá trị thông qua con trỏ

Đề bài: Viết một chương trình khai báo một biến số nguyên a, sau đó khai báo một con trỏ trỏ tới a. Thay đổi giá trị của a thông qua con trỏ và in kết quả ra màn hình.

Hướng dẫn:

  1. Khai báo một biến int a = 10;

  2. Khai báo một con trỏ int *ptr = &a;

  3. Thay đổi giá trị của a thông qua con trỏ bằng cách sử dụng *ptr = 20;

  4. In ra giá trị của a trước và sau khi thay đổi.

Ví dụ minh họa:

#include <stdio.h>

int main() {
    int a = 10;
    int *ptr = &a;
    
    printf("Giá trị ban đầu của a: %d\n", a);
    *ptr = 20;
    printf("Giá trị của a sau khi thay đổi: %d\n", a);
    
    return 0;
}

III: Bài tập thực hành:

Bài tập 1: Hoán đổi giá trị hai số bằng con trỏ

Đề bài: Viết chương trình hoán đổi giá trị của hai số nguyên bằng cách sử dụng con trỏ.

Gợi ý:

  • Viết một hàm void swap(int *x, int *y);

  • Trong hàm, sử dụng một biến tạm thời để đổi giá trị hai số thông qua con trỏ.

  • Gọi hàm swap trong main() để kiểm tra kết quả.

Bài tập 2: Tính tổng các phần tử trong mảng bằng con trỏ

Đề bài: Viết chương trình tính tổng các phần tử trong mảng sử dụng con trỏ.

Gợi ý:

  • Khai báo mảng số nguyên int arr[] = {1, 2, 3, 4, 5};

  • Dùng một con trỏ để duyệt qua từng phần tử của mảng và cộng dồn vào biến tổng.

Bài tập 3: Đảo ngược chuỗi sử dụng con trỏ

Đề bài: Viết chương trình nhập một chuỗi từ bàn phím, sau đó đảo ngược chuỗi bằng con trỏ và in kết quả.

Gợi ý:

  • Dùng hai con trỏ: một trỏ vào đầu chuỗi, một trỏ vào cuối chuỗi.

  • Hoán đổi các ký tự từ hai đầu đến giữa chuỗi.

Bài tập 4: Cấp phát động mảng và tính tổng

Đề bài: Viết chương trình nhập số phần tử n, cấp phát động một mảng có n phần tử, nhập giá trị và tính tổng.

Gợi ý:

  • Dùng malloc() hoặc calloc() để cấp phát bộ nhớ động.

  • Dùng con trỏ để nhập và tính tổng giá trị trong mảng.

  • Giải phóng bộ nhớ sau khi dùng xong bằng free().

Lưu ý:

  • Kiểm tra cấp phát động có thành công hay không.

  • Đảm bảo con trỏ không bị NULL trước khi sử dụng.

Bài tập này giúp học viên hiểu sâu hơn về cách sử dụng con trỏ trong C để thao tác với dữ liệu và bộ nhớ.

PreviousBài tập 6: MảngNextBài tập 8: Hàm

Last updated 2 months ago