Khoá học lập trình C/C++ Dành cho người mới bắt đầu [Video] Nhập xuất dữ liệu phần 2 - Lập Trình C
- 5.0/5.0
- 2k Đăng ký
- Học lập trình
- Tiếng việt
Thông tin khóa học
Nhập dữ liệu trong C (scanf, printf) - Lập trình C - Hướng dẫn chuyển flowchart phương trình bậc 1 sang code
Trong lập trình C, việc nhập và xuất dữ liệu là kỹ năng cơ bản nhưng vô cùng quan trọng giúp chương trình có thể tương tác với người dùng. Dữ liệu nhập vào chính là "nguyên liệu" để chương trình xử lý, và dữ liệu xuất ra chính là “kết quả” mà người dùng nhận được. Hai hàm nổi tiếng và thường xuyên được sử dụng nhất trong ngôn ngữ C để thực hiện các thao tác này chính là scanf() (nhập dữ liệu) và printf() (xuất dữ liệu).
Không chỉ dừng lại ở việc nhập xuất dữ liệu, bài viết này còn hướng dẫn bạn chuyển flowchart (lưu đồ thuật toán) của phương trình bậc nhất dạng ax + b = 0 sang code C hoàn chỉnh. Đây là một ví dụ điển hình giúp bạn hiểu rõ cách biến một sơ đồ logic thành chương trình thực tế – kỹ năng không thể thiếu khi học lập trình.
Nếu bạn là người mới bắt đầu với lập trình C, bài viết này sẽ giúp bạn:
-
Hiểu sâu về cách nhập, xuất dữ liệu bằng
scanf()vàprintf() -
Nắm rõ quy trình phân tích bài toán bằng flowchart
-
Biết cách chuyển flowchart sang code C thực tế một cách mạch lạc, dễ hiểu
-
Tránh các lỗi phổ biến khi nhập dữ liệu trong C
Tổng quan về nhập và xuất dữ liệu trong C
Trong mọi ngôn ngữ lập trình, việc nhập (input) và xuất (output) là hai khái niệm nền tảng. Với C, chúng được thực hiện chủ yếu thông qua thư viện chuẩn <stdio.h> (Standard Input Output Header).
-
Hàm
printf(): Dùng để hiển thị dữ liệu ra màn hình. -
Hàm
scanf(): Dùng để nhận dữ liệu từ người dùng thông qua bàn phím.
Mọi chương trình C đều cần những hàm này để giao tiếp giữa người dùng (user) và máy tính (system). Không có chúng, chương trình chỉ có thể chạy ngầm mà không có tương tác, khiến người dùng không thể biết chương trình đang làm gì.
Hàm printf() – Xuất dữ liệu ra màn hình
Cú pháp
-
Chuỗi định dạng: Là phần mô tả kiểu dữ liệu cần hiển thị, ví dụ
%d,%f,%s... -
Danh sách biến: Là các giá trị hoặc biến cần được in ra tương ứng với định dạng trên.
Ví dụ minh họa
Giải thích:
-
%din ra số nguyên. -
%fin ra số thực. -
%.2fin số thực với 2 chữ số sau dấu phẩy. -
\ngiúp xuống dòng.
Kết quả khi chạy chương trình:
Các định dạng phổ biến trong printf()
| Ký hiệu | Kiểu dữ liệu | Ví dụ |
|---|---|---|
%d | int (số nguyên) | 25 |
%f | float/double (số thực) | 3.14 |
%c | char (ký tự) | A |
%s | chuỗi ký tự | Hello |
%lf | double | 5.678 |
%x | số nguyên hệ 16 | ff |
💡 Mẹo nhỏ: Dùng
%.nfđể điều chỉnh số chữ số thập phân hiển thị. Ví dụ:%.3fsẽ hiển thị ba chữ số sau dấu phẩy.
Hàm scanf() – Nhập dữ liệu từ bàn phím
Cú pháp
-
Chuỗi định dạng: Mô tả kiểu dữ liệu cần nhập (tương tự
printf()). -
Dấu & (địa chỉ): Bắt buộc với hầu hết các biến, giúp
scanf()ghi giá trị nhập vào vị trí bộ nhớ của biến đó.
Ví dụ đơn giản
Kết quả:
Một số lưu ý quan trọng khi dùng scanf()
-
Phải có dấu & khi nhập dữ liệu (trừ chuỗi ký tự).
-
Kiểm tra giá trị nhập vào bằng cách xem
scanf()trả về bao nhiêu giá trị thành công. -
Không nhập chuỗi có khoảng trắng bằng
%s, vì nó chỉ nhận đến ký tự trống đầu tiên.
Ví dụ đúng để nhập chuỗi có khoảng trắng:
Lỗi thường gặp khi nhập dữ liệu trong C
| Lỗi phổ biến | Nguyên nhân | Cách khắc phục |
|---|---|---|
Quên dấu & | scanf() không biết địa chỉ lưu dữ liệu | Thêm & trước biến |
| Sai định dạng kiểu dữ liệu | Dùng %d cho float hoặc %f cho int | Dùng đúng ký hiệu tương ứng |
| Dư ký tự trong bộ đệm | Khi nhập ký tự hoặc chuỗi liên tiếp | Dùng getchar() để xóa bộ đệm |
| Chuỗi có khoảng trắng bị cắt | %s chỉ đọc đến khoảng trắng | Dùng fgets() |
Từ flowchart đến code – Phân tích phương trình bậc nhất ax + b = 0
Sau khi hiểu rõ cách nhập và xuất dữ liệu, hãy cùng thực hành với ví dụ chuyển flowchart giải phương trình bậc nhất sang code C.
1. Phân tích bài toán
Phương trình bậc nhất có dạng:
Trong đó:
-
avàblà hai hệ số do người dùng nhập vào. -
xlà nghiệm cần tìm.
Công thức nghiệm:
2. Lưu đồ thuật toán (Flowchart)
Các bước logic trong flowchart:
-
Bắt đầu
-
Nhập
a,b -
Kiểm tra nếu
a == 0-
Nếu đúng → kiểm tra
b == 0-
Nếu đúng → in “Phương trình có vô số nghiệm”
-
Nếu sai → in “Phương trình vô nghiệm”
-
-
Nếu sai → tính
x = -b / a, in nghiệm
-
-
Kết thúc
3. Chuyển flowchart sang code C
4. Giải thích code
-
Dùng
floatđể xử lý cả số thực. -
scanf()nhập hai giá trị từ người dùng. -
Dùng cấu trúc điều kiện lồng nhau (if…else) để xử lý logic theo flowchart.
-
printf()hiển thị kết quả rõ ràng.
Kết quả chạy chương trình:
Hướng dẫn từng bước chuyển flowchart sang code
-
Xác định đầu vào và đầu ra:
-
Đầu vào:
a,b -
Đầu ra: nghiệm
xhoặc thông báo.
-
-
Viết lại các bước logic bằng câu lệnh điều kiện:
-
Dùng
if,elseđể mô phỏng các nhánh trong flowchart.
-
-
Thêm nhập và xuất dữ liệu:
-
Dùng
scanf()để nhậpa,b. -
Dùng
printf()để hiển thị kết quả.
-
-
Kiểm tra và chạy thử:
-
Nhập nhiều bộ giá trị khác nhau để kiểm tra độ chính xác.
-
Một số mở rộng cho bài toán
Nếu bạn muốn chương trình chuyên nghiệp hơn, có thể thêm các phần sau:
-
Kiểm tra dữ liệu đầu vào hợp lệ: Không để người dùng nhập ký tự thay vì số.
-
Hiển thị dấu âm/ dương rõ ràng:
-
Làm tròn kết quả: Sử dụng
%.2fđể hiển thị 2 chữ số sau dấu phẩy. -
Thêm mô tả hướng dẫn: Hiển thị câu nhắc nhập dữ liệu thân thiện hơn.
Ví dụ:
Lời khuyên cho người học lập trình C
-
Thực hành với nhiều ví dụ: Đừng chỉ đọc, hãy tự gõ và chạy từng đoạn code.
-
Kết hợp flowchart và code: Flowchart giúp bạn hình dung logic trước khi viết chương trình.
-
Chú ý kiểu dữ liệu: Luôn xác định chính xác kiểu dữ liệu bạn đang nhập.
-
Luôn có kiểm tra điều kiện: Đừng bao giờ bỏ qua các trường hợp đặc biệt như a = 0.
Kết luận
Việc nhập và xuất dữ liệu trong C bằng scanf() và printf() là nền tảng đầu tiên trong hành trình học lập trình. Khi bạn nắm chắc hai hàm này, bạn sẽ dễ dàng xử lý các bài toán từ cơ bản đến nâng cao. Bên cạnh đó, việc chuyển flowchart sang code giúp bạn rèn luyện tư duy logic, kỹ năng phân tích và lập trình bài bản.
Từ ví dụ giải phương trình bậc nhất, ta thấy rõ quy trình:
-
Phân tích bài toán → Vẽ flowchart → Viết code → Kiểm thử kết quả.
Nếu bạn kiên trì luyện tập theo cách này, kỹ năng lập trình C của bạn sẽ phát triển rất nhanh.
🔗 Gợi ý tiếp theo: Hãy thử mở rộng bài toán này sang phương trình bậc hai để rèn luyện thêm về cấu trúc điều kiện và xử lý biểu thức trong C.
Đăng nhập để làm bài kiểm tra
Chưa có kết quả nào trước đó
Chương trình
Phản hồi từ học viên
5
Đánh giá
Câu hỏi thường gặp
B2. Đăng ký học
B3. Hoàn thành mua khoá học
B4. Thanh toán theo hướng dẫn
B5. Đợi chúng tôi kiểm tra thông tin và thêm bạn vào lớp học
Bước 1: Truy cập website https://qviet.vn/teacher/form
Bước 2: Điền thông tin theo yêu cầu. Để bản đăng ký được duyệt nhanh nhất, anh chị hãy điền đủ thông tin nhé.
Bước 3: Click vào "đăng ký ngay" để hoàn thành
Lưu ý:
Link video bài giảng mẫu: Video bài giảng mẫu là căn cứ để Trắc Nghiệm Việt duyệt về hình thức và chất lượng giảng dạy. Vì vậy anh chị hãy điền link này để đăng ký được duyệt nhanh nhất nhé.
Anh chị cũng nên mô tả kỹ về kinh nghiệm giảng dạy để Trắc Nghiệm Việt đánh giá nhé.
Chúc các anh chị và các bạn thành công, sớm gia nhập đội ngũ giảng viên Trắc Nghiệm Việt!
Hình thức học như thế nào?
Việc tạo thói quen học tập sẽ giúp bạn tăng khả năng đạt được mục tiêu. Dành thời gian để học và nhận lời nhắc bằng cách sử dụng công cụ quản lý học tập của bạn.Bước 1: Truy cập mục tài khoản, đăng nhập và chọn Quản lý học tập và ấn Thêm lịch học
Bước 2: Cài đặt lịch học tập của bạn:
- Đặt tiêu đề và chọn khóa học muốn tạo lịch học sau đó ấn tiếp tục.
- Cài đặt tần suất học, thời gian học, thời gian bắt đầu học, lịch thông báo nhắc nhở trước lúc bắt đầu học, ngày kết thúc sau đó bạn ấn tiếp tục.
- Bạn kiểm tra lại lịch học tập lần nữa, nếu đúng bạn ấn Hoàn thành.
- Nếu muốn chỉnh sửa, bạn ấn mục Quay lại và chỉnh lại.
- Khi tạo xong bạn có thể ấn thanh ngang bên phải để xóa, sửa lịch học.
Việc lên lịch học sẽ giúp em bạn dễ dàng đạt được các mục tiêu mong muốn, tăng hiệu quả học tập. Đặc biệt, khi bạn học được 90% nội dung khóa học, bạn sẽ nhận chứng nhận hoàn thành khóa học.
Hình thức học tại Trắc Nghiệm Việt
1. Học như thế nào?- Khóa học tại Trắc Nghiệm Việt được học **online** trên điện thoại hoặc máy tính có kết nối Internet.
- Các video bài giảng đã được biên tập sẵn, học viên có thể học bất cứ lúc nào, không giới hạn thời gian và số lần học.
- Chỉ cần đăng ký và thanh toán một lần.
2. Có thể học trên nhiều thiết bị không?
- Học viên có thể đăng nhập và học trên nhiều thiết bị khác nhau (điện thoại, máy tính, máy tính bảng). Tuy nhiên, tại cùng một thời điểm chỉ **một thiết bị** được phép xem video.
- Truy cập website: https://qviet.vn để đăng nhập và học.
- Với điện thoại hoặc máy tính bảng, học viên có thể tải ứng dụng Trắc Nghiệm Việt tại: https://qviet.vn
3. Có thể học trên Smart TV không?
- Trắc Nghiệm Việt đang phát triển để hỗ trợ học trực tiếp trên Smart TV. Hiện tại, tùy theo từng dòng TV mà có thể mở website và học được hoặc không.
- Bạn có thể thử bằng cách mở trình duyệt trên TV và truy cập: https://qviet.vn
- Trải nghiệm học tập tốt nhất hiện nay là trên **điện thoại** và **máy tính**.
4. Thời hạn sử dụng khóa học?
- Sau khi đăng ký, học viên sẽ sở hữu khóa học **vĩnh viễn**, có thể học đi học lại không giới hạn.
5. Có được tải khóa học về thiết bị không?
- Video bài giảng thuộc bản quyền của Trắc Nghiệm Việt và giảng viên. Học viên **không được tải xuống** dưới bất kỳ hình thức nào để tránh việc phát tán trái phép.
- Khóa học là tài sản trí tuệ và công sức của giảng viên, mong học viên hiểu và tôn trọng quyền sở hữu này.
- Bên dưới mỗi video có mục **Thảo luận**, bạn tích chọn và đặt câu hỏi tại đây. Thông thường trong vòng 24h giảng viên sẽ phản hồi lại bạn.
- Để xem câu trả lời của giảng viên, bạn vào mục **Thảo luận** của bài học đã đặt câu hỏi và tích vào mục trả lời để xem.
Học viên có thể liên hệ trực tiếp với giảng viên qua điện thoại, email, Facebook không?
- Khóa học online, giảng viên có hàng nghìn học viên trên cả nước nên việc liên hệ trực tiếp với giảng viên qua điện thoại là không tiện và Trắc Nghiệm Việt cam kết bảo mật thông tin cá nhân của giảng viên.
- Đa phần các khóa học, giảng viên hỗ trợ học viên qua **mục Thảo luận**. Một số khóa học giảng viên có thể hỗ trợ thêm qua email, Facebook, Zalo hoặc nhóm hỗ trợ trên Facebook. Trong những trường hợp này, giảng viên và Trắc Nghiệm Việt sẽ cung cấp thông tin liên hệ phù hợp.
Bình luận
Tổng quan khóa học
- Bài học 67
- Thời gian Linh hoạt
- Mức độ Mới bắt đầu
- Ngôn ngữ Tiếng việt
- Thời lượng Trọn đời
- Chứng chỉ Không
Trần Văn Điệp
Founder tại QViet.vn
- 5.0/5.0
Mình là Điệp, mình là lập trình viên Full Stack. Hiện mình là Senior Developer, mình là người yêu thích lập trình và viết các mã lệnh và yêu thích khi tạo ra những sản phẩm cho mình. Mình luôn thích thú mỗi khi tối ưu lại chức năng của từng chức năng, làm sao để nó trở lên tối ưu và smooth. Làm tăng trải nghiệm người dùng. Mình cũng rất thích tìm hiểu các công nghệ mới, tìm hiểu các tính năng mới trong các bản nâng cấp mới. Mảng mình làm việc lâu nhất là Mobile (Android & iOS). Mình là người thích chia sẻ kiến thức, những gì mình biết đều muốn chia sẻ ra. Blog này cũng là nơi mình chia sẻ các kiến thức và công nghệ mình đã làm trong các dự án. Blog mình hướng tới là chia sẻ kiến thức kết hợp với trải nghiệm thực tế khi làm ở doanh nghiệp.