1.Xuất Dữ Liệu Với Hàm Printf
Để in dữ liệu hay hiển thị kết quả, chuỗi ký tự, số... ra màn hình bạn cần sử dụng hàm printf trong thư viện stdio.h
Cú pháp : printf(”Chuỗi định dạng”, Đối số);
Trong đó :
- Chuỗi định dạng có thể là nội dung của một chuỗi ký tự hoặc đặc tả kiểu dữ liệu của biến mà bạn muốn in ra màn hình
- Đối số : Đây thường là các biến mà bạn sẽ in ra, số lượng đối số sẽ bằng số lượng đặc tả trong chuỗi định dạng
Khi bạn in ra giá trị của các biến số ra màn hình thì bạn cần truyền đặc tả của nó vào phần chuỗi định dạng và tên biến vào phần đối số, đặc biệt chú ý cần sử dụng đặc tả 1 cách chính xác và sử dụng kí tự "\n" khi bạn muốn xuống dòng.
Ví dụ 1 : In ra các biến thuộc các kiểu dữ liệu thường gặp
#include <stdio.h> int main(){ printf("28tech.com.vn\n"); int n = 28; printf("Gia tri cua n la : %d\n", n); long long m = 28282828282828; printf("Gia tri cua m la : %lld\n", m); char kitu = '@'; printf("Gia tri cua kitu la : %c\n", kitu); return 0; } Output : 28tech.com.vn Gia tri cua n la : 28 Gia tri cua m la : 28282828282828 Gia tri cua kitu la : @
Ví dụ 2 : In ra nhiều biến sử dụng 1 câu lệnh printf
#include <stdio.h> int main(){ int n = 20, m = 30; long long p = 28282828282828; char kitu = '@'; printf("%d %d %lld %c\n", n, m, p, kitu); return 0; } Output : 20 30 28282828282828 @
Ví dụ 3 : In ra nhiều biến sử dụng 1 câu lệnh printf, giữa các biến in ra có 2 dấu gạch giữa
#include <stdio.h> int main(){ int a = 100, b = 200, c = 300; printf("%d--%d--%d KET THUC !!!\n", a, b, c); return 0; } Output : 100--200--300 KET THUC !!!
Chú ý : Khi in ra giá trị của số thực float và double, khi in ra giá trị của float và double thì đề bài thường yêu cầu các bạn in ra kết quả với 1 vài chữ số phần thập phân. Đặc tả của float là %f và của double là %lf, cú pháp để in ra x chữ số sau dấu phẩy đối với float và double ta sử dụng đặc tả %.xf hoặc %.xlf
Ví dụ 4 : In ra số thực với độ chính xác yêu cầu
#include <stdio.h> int main(){ float a = 3.141232; double b = 10.91293182472173; printf("In ra a voi 2 chu so sau dau phay : %.2f\n", a); printf("In ra b voi 10 chu so sau dau phay : %.10lf\n", b); return 0; } Output : In ra a voi 2 chu so sau dau phay : 3.14 In ra b voi 10 chu so sau dau phay : 10.9129318247
2.Nhập Dữ Liệu Với Hàm Scanf
Hàm scanf giúp bạn chủ động với việc gán giá trị cho biến từ bàn phím khi chạy chương trình, bạn có thể yêu cầu người dùng nhập giá trị cho biến của bạn thay vì gán thủ công.
Cú pháp : scanf("Đặc tả", &biến);
Khi bạn nhập giá trị cho 1 biến từ bàn phím bạn cần truyền đặc tả của nó vào phần chuỗi định dạng, kèm theo dấu & trước tên biến. Dấu & này thể hiện địa chỉ của biến trong bộ nhớ, có thể hiểu đơn giản mỗi khi bạn nhập giá trị cho biến từ bàn phím thì hàm scanf sẽ tìm đến địa chỉ của biến đó trong bộ nhớ để gán cho nó giá trị mà bạn đã nhập từ bàn phím.
Mỗi khi nhập xong giá trị cho 1 biến bạn ấn enter thì giá trị này sẽ được gán cho biến tương ứng
Ví dụ 1 : Nhập giá trị cho 1 biến
#include <stdio.h> int main(){ int n; printf("Nhap n : "); scanf("%d", &n); printf("Gia tri n vua nhap : %d\n", n); return 0; }
Ví dụ 2 : Nhập giá trị cho nhiều biến dùng nhiều hàm scanf
#include <stdio.h> int main(){ int a, b, c; printf("Nhap a : "); scanf("%d", &a); printf("Nhap b : "); scanf("%d", &b); printf("Nhap c : "); scanf("%d", &c); printf("a = %d, b = %d, c = %d\n", a, b, c); return 0; }
Ví dụ 3 : Nhập giá trị cho nhiều biến dùng nhiều 1 scanf
Chú ý : Trong trường hợp nhập nhiều biến cùng 1 lúc bạn có thể nhập từng biến rồi enter mỗi lần nhập hoặc nhập 1 lúc nhiều giá trị cách nhau 1 dấu cách rồi enter 1 lần cũng được.
#include <stdio.h> int main(){ int a, b; long long c; printf("Nhap a, b, c : "); scanf("%d %d %lld", &a, &b, &c); printf("a = %d, b = %d, c = %lld\n", a, b, c); return 0; }
3. Chú Ý Khi Nhập 1 Ký Tự
Để nhập 1 ký tự từ bàn phím bạn có thể dùng hàm scanf hoặc getchar()
Ví dụ 1. Nhập 1 kí tự sử dụng hàm scanf
#include <stdio.h> int main(){ char kitu; printf("Nhap ki tu : "); scanf("%c", &kitu); printf("Ki tu vua nhap : %c\n", kitu); return 0; }
Ví dụ 2 : Nhập 1 kí tự dùng hàm getchar()
#include <stdio.h> int main(){ char kitu; printf("Nhap ki tu : "); kitu = getchar(); printf("Ki tu vua nhap : %c\n", kitu); return 0; }
Ví dụ 3 : Nhập 1 số sau đó nhập 1 kí tự
Bạn sẽ gặp phải tình huống đó là câu lệnh nhập ký tự sẽ nhập phải phím enter sau số ở dòng trên, trong trường hợp này bạn cần phải xử lý phím enter đó
#include <stdio.h> int main(){ int n; scanf("%d", &n); char kitu; scanf("%c", &kitu); printf("So vua nhap : %d\n", n); printf("Ki tu vua nhap : %c\n", kitu); return 0; }
Xử lý như sau :
#include <stdio.h> int main(){ int n; scanf("%d", &n); char kitu; getchar(); // Đọc ký tự enter sau n, bạn cũng có thể dùng scanf scanf("%c", &kitu); printf("So vua nhap : %d\n", n); printf("Ki tu vua nhap : %c\n", kitu); return 0; }
KẾT LUẬN : Bạn hãy cố gắng thực hành thật nhiều với hàm printf và scanf để nhanh chóng có thể thuộc được các đặc tả của các kiểu dữ liệu thường gặp.
Xem thêm bài giảng của mình về Printf Và Scanf :