Tổng quan dự án
Thuộc phần Logic và luồng điều khiển trong hành trình C của Coddy. Bài học 20 trên 63.
Thử thách
DễTrong vài bài học tiếp theo, bạn sẽ xây dựng một tiện ích văn bản đơn giản để minh họa các ứng dụng thực tế của việc thao tác với chuỗi (string) và ký tự (character).
Viết một chương trình C tạo nền tảng cho tiện ích văn bản bằng cách đọc và lưu đầu vào của người dùng. Chương trình cần:
- In lời nhắc để người dùng nhập một câu ngắn:
Enter a sentence: - Khai báo một mảng ký tự có tên
sentencegồm 200 phần tử để lưu đầu vào - Dùng
scanfvới định dạng%sđể đọc một từ từ người dùng - In từ đã lưu theo định dạng:
You entered: [word] - Chứng minh rằng mảng ký tự có ký tự kết thúc null bằng cách in độ dài của từ đã lưu, sử dụng
strlen()theo định dạng:Length: [length]
Nhớ thêm tiêu đề <string.h> để dùng hàm strlen().
Đầu ra của bạn cần hiển thị kết quả theo định dạng sau:
Enter a sentence:
You entered: [word]
Length: [length]Ví dụ, nếu đầu vào là:
HelloĐầu ra của bạn sẽ là:
Enter a sentence:
You entered: Hello
Length: 5Quan trọng: Dòng lời nhắc phải kết thúc bằng ký tự xuống dòng ngay sau dấu hai chấm: không thêm dấu cách ở cuối trước \n. Dùng chính xác printf("Enter a sentence:\n"); như minh họa.
Thử thách này thiết lập cơ chế cơ bản để nhập và lưu dữ liệu, làm nền tảng cho các tính năng tiện ích văn bản mà bạn sẽ bổ sung trong những bài học tiếp theo. Thử thách kiểm tra mức độ hiểu của bạn về cách khai báo mảng ký tự, nhập chuỗi bằng scanf và tính độ dài chuỗi cơ bản bằng strlen().
Tự làm thử
#include <stdio.h>
#include <string.h>
int main() {
// TODO: Viết code của bạn ở đây
// 1. In ra thông báo nhắc nhập
// 2. Khai báo một mảng (array) ký tự (character) tên là 'sentence' gồm 200 phần tử (element)
// 3. Đọc đầu vào (input) bằng scanf với ký hiệu định dạng %s
// 4. In ra từ đã nhập và độ dài của từ đó
return 0;
}Tất cả bài học trong Logic và luồng điều khiển
1Nền tảng về con trỏ
Con trỏ là gì?Khai báo con trỏToán tử lấy địa chỉ (&)Toán tử giải tham chiếu (*)Con trỏ NULLÔn tập: kiến thức cơ bản về con trỏ4Dự án: Công cụ xử lý văn bản đơn giản
Tổng quan dự ánĐếm ký tự2Con trỏ và mảng
Tên mảng dưới dạng con trỏPhần tử mảng và con trỏPhép toán con trỏSo sánh con trỏÔn tập: duyệt mảng bằng con trỏ5Con trỏ và hàm
Truyền theo giá trịTruyền con trỏ vào hàmSửa đổi biến qua con trỏVí dụ kinh điển: hoán đổiTruyền mảng vào hàmÔn tập: đối số con trỏ hàm3Mảng ký tự và chuỗi
Chuỗi dưới dạng mảng charKý tự kết thúc nullNhập chuỗi bằng scanfDùng strlen()Dùng strcpy()Dùng strcat()Dùng strcmp()Ôn tập: các hàm xử lý chuỗi cơ bản6Quản lý bộ nhớ
Bộ nhớ ngăn xếp và bộ nhớ heapCấp phát động với malloc()Dùng sizeof() để cấp phátKiểm tra lỗi cấp phátGiải phóng bộ nhớ với free()Cấp phát với calloc()Ôn tập: Mảng động9Dự án: Nhập thông tin liên hệ đơn giản
Định nghĩa struct ContactHàm tạo liên hệTự luyện tập: Trình biên dịch C online