Mục Lục
Mục Lục
Cài đặt môi trường & tạo dự án đầu tiên Video - Nhập môn cho người mới bắt đầu - Lập trình C Video Flowchart & ví dụ viết flowchart của phương trình bậc 1 - Lập Trình C Vẽ FlowChart Phương Trình Bậc 1 & Phương Trình Bậc 2 Bài tập - cài đặt môi trường lập trình C + tạo dự án đầu tay Video Hướng dẫn cài đặt môi trường lập trình C - Lập trình C Tạo dự án đầu tiên - In ra thông tin cá nhân Video Tìm hiểu biến & kiểu dữ liệu trong C - Lập trình C Bài tập - Chuyển flowchart sang code - Lập trình C Bài tập vẽ tam giác hình sao - Lập trình C Hướng dẫn vẽ flowchart phương trình bậc 2 Nhập xuất dữ liệu từ bàn phím Video Toán tử & biểu thức login trong C - Lập Trinh C Video Nhập dữ liệu trong C (scanf, printf) - Lập trình C Video Nhập xuất dữ liệu phần 2 - Lập Trình C Bài tập - Nhập xuất thông tin sinh viên - Lập trình C Video Bài tập - Nhập xuất thông tin sinh viên - Lập trình C Bài tập - Ôn tập biến + kiểu dữ liệu + scanf & printf - Lập trình C Bài tập - ôn tập nhật xuất và biểu tức toán học - Lập trình C Top 3 Bài Tập C Cơ Bản Cho Người Mới: Thực Hành printf, scanf, Phép Toán Số Học và Các Kiểu Dữ Liệu int float long char bool NHẬP THÔNG TIN CÁ NHÂN Mệnh đề điều kiện Video Tìm hiểu if, else, switch trong lập trình C - Lập Trình C Bài tập - Giải phương trình bậc 1 - giải phương trình bậc nhất - Lập trình C Bài tập - Tìm min & max - số lớn nhất & nhỏ nhất - Lập trình C Bài tập - Giải hệ phương trình bậc nhất nhất 2 ẩn - Lập trình C Bài tập - Giải phương trình bậc 2 - Lập trình C Bài tập ôn lập mệnh đề điều kiện if, loop, mảng trong C Video Bài tập - Giải phương trình bậc 2 - Lập trình C Vòng lặp (for, while, do .. while) Video Tìm hiểu về vòng lặp for trong C - Lập trình C Video Tìm hiểu while, do..while trong lập trình C - lập Trình C Ôn tập While, Do .. While, For lập trình C - Lập trình C Fibonacci - Lập trình C Video - Hướng dẫn chữa bài Fibonaci - Lập Trình C Loop - Switch case - Chương trình quản lý sinh viên - Lập trình C [Test] Kiểm tra 60 phút - if, else, switch, loop trong C - Lập trình C Bài tập: Ôn tập kiến thức Bài tập - Ôn tập kiến thức từ đầu tới bài học loop trong C - Khóa học lập trình C Vẽ các hình khác bằng C - Khoá học lập trình C Mảng trong C & ôn tập Video Tìm hiểu mảng 1 chiều trong C - Lập trình C Video Tìm hiểu mảng 2 chiều - Lập Trình C Tính tổng mảng N phần tử - Lập trình C Bài tập ôn luyện mảng 1 chiều - Lập trình C Video Bài tập ôn luyện mảng 1 chiều - Lập trình C Tách phần tử chẵn + lẻ trong C - Lập trình mảng trong C - Lập trình C Bài tập tổng quát - quản lý mảng số nguyên - Lập trình C Bài toán sắp xếp trong C - Lập trình C Loop - Viết chương trình Reserve chuỗi - Lập trình C Ôn tập mảng trong C - Khoá lập trình C Quản lý mảng số nguyên với MENU Pointer Video Tìm hiểu pointer phần 1 - Lập Trình C Video Tìm hiểu pointer phần 2 - Lập Trình C Video Tìm hiểu pointer phần 3 - Lập trình C Bài toán pointer đầu tiên - Hello pointer - Lập trình C Bài tập pointer nâng cao - cấp phát động - Lập trình C Bài tập nâng cao pointer - Lập trình C Video Ôn luyện - Sắp xếp trong C, con trỏ cấp phát động Bài tập ôn tập Pointer phần 1 Bài tập về Pointer - Lập trình C Function & String & Struct & File Video Tìm hiểu function trong lập trình C - Lập Trình C Ôn tập function - viết chương trình máy tính - Lập trình C Bài tập ôn luyện Function - Lập trình C Video Tìm hiểu string trong lập trình C - Lập Trình C [Nâng cao] Tìm kiếm chuỗi trong chuỗi - Lập trình C Bài tập ôn tập String - Lập trình C Video Bài tập ôn tập String - Lập trình C Video Tìm hiểu Struct trong C | Khóa học lập trình C Bài tập - Quản lý hình chữ nhật - struct trong C - Lập trình C Bài tập FILE - Lập trình C [Test] Kiểm tra 60 phút - Lập trình C Bài tập ôn luyện function trong C - Học lập trình C 🏨 BÀI TẬP: QUẢN LÝ KHÁCH SẠN (STRUCT CƠ BẢN) GHI VÀ ĐỌC NỘI DUNG TỪ FILE TEXT Ôn tập tổng quát C Quản lý rạp chiếu phim quốc gia - Assignment - Lập trình C Video Hướng dẫn chừa bài tập quản lý rạp chiều phím - Lập trình C Quản lý sinh viên 2 - Assigment - Lập trình C Video Quản lý tranh - quản lý gallery - Lập trình C Quản lý motobike - Quản lý xe cộ - Lập trình C Quản lý đồ điện tử - Lập trình C Video Chương trình quản lý tỷ phú bằng C | Khóa học lập trình C 1000+ Bài Tập Lập Trình C Từ Cơ Bản Đến Nâng Cao Bài tập số nguyên lớn trong C - Khóa học lập trình C Bài tập - Ôn tập C Ôn tập function trong C Bài tập về File trong C Bài thi lập trình C - 60 phút
C Tutorial

[Video] Nhập xuất dữ liệu phần 2 - Lập Trình 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()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)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

printf("chuỗi định dạng", danh_sách_biến);
  • 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

#include <stdio.h> int main() { int age = 22; float score = 8.5; printf("Tuoi cua ban la: %d\n", age); printf("Diem trung binh cua ban la: %.2f\n", score); return 0; }

Giải thích:

  • %d in ra số nguyên.

  • %f in ra số thực.

  • %.2f in số thực với 2 chữ số sau dấu phẩy.

  • \n giúp xuống dòng.

Kết quả khi chạy chương trình:

Tuoi cua ban la: 22 Diem trung binh cua ban la: 8.50

Các định dạng phổ biến trong printf()

Ký hiệuKiểu dữ liệuVí dụ
%dint (số nguyên)25
%ffloat/double (số thực)3.14
%cchar (ký tự)A
%schuỗi ký tựHello
%lfdouble5.678
%xsố nguyên hệ 16ff

💡 Mẹo nhỏ: Dùng %.nf để điều chỉnh số chữ số thập phân hiển thị. Ví dụ: %.3f sẽ 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

scanf("chuỗi định dạng", &danh_sách_biến);
  • 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

#include <stdio.h> int main() { int age; float height; printf("Nhap tuoi: "); scanf("%d", &age); printf("Nhap chieu cao: "); scanf("%f", &height); printf("Ban %d tuoi, cao %.2f met.\n", age, height); return 0; }

Kết quả:

Nhap tuoi: 23 Nhap chieu cao: 1.75 Ban 23 tuoi, cao 1.75 met.

Một số lưu ý quan trọng khi dùng scanf()

  1. Phải có dấu & khi nhập dữ liệu (trừ chuỗi ký tự).

  2. 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.

  3. 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:

char name[50]; printf("Nhap ho va ten: "); fgets(name, sizeof(name), stdin); printf("Xin chao %s", name);

Lỗi thường gặp khi nhập dữ liệu trong C

Lỗi phổ biếnNguyên nhânCách khắc phục
Quên dấu &scanf() không biết địa chỉ lưu dữ liệuThêm & trước biến
Sai định dạng kiểu dữ liệuDùng %d cho float hoặc %f cho intDùng đúng ký hiệu tương ứng
Dư ký tự trong bộ đệmKhi nhập ký tự hoặc chuỗi liên tiếpDùng getchar() để xóa bộ đệm
Chuỗi có khoảng trắng bị cắt%s chỉ đọc đến khoảng trắngDù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:

ax + b = 0

Trong đó:

  • ab là hai hệ số do người dùng nhập vào.

  • x là nghiệm cần tìm.

Công thức nghiệm:

Nếu a0x = -b / a Nếu a = 0Nếu b = 0phương trình có vô snghim Nếu b0phương trình vô nghim

2. Lưu đồ thuật toán (Flowchart)

Các bước logic trong flowchart:

  1. Bắt đầu

  2. Nhập a, b

  3. 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

  4. Kết thúc

3. Chuyển flowchart sang code C

#include <stdio.h> int main() { float a, b, x; printf("Nhap he so a: "); scanf("%f", &a); printf("Nhap he so b: "); scanf("%f", &b); if (a == 0) { if (b == 0) { printf("Phuong trinh co vo so nghiem.\n"); } else { printf("Phuong trinh vo nghiem.\n"); } } else { x = -b / a; printf("Phuong trinh co nghiem x = %.2f\n", x); } return 0; }

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:

Nhap he so a: 2 Nhap he so b: -4 Phuong trinh co nghiem x = 2.00

Hướng dẫn từng bước chuyển flowchart sang code

  1. Xác định đầu vào và đầu ra:

    • Đầu vào: a, b

    • Đầu ra: nghiệm x hoặc thông báo.

  2. 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.

  3. Thêm nhập và xuất dữ liệu:

    • Dùng scanf() để nhập a, b.

    • Dùng printf() để hiển thị kết quả.

  4. 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ụ:

printf("Nhap he so a (khac 0): ");

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()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 đó

×