Cú pháp: <biến> = <biểu_thức> ;
Ý nghĩa
Ví dụ
int x=5, y;
y=(x*x-2)/(x-1);
Lưu ý
Giá trị gán phải phù hợp với kiểu dữ liệu của biến.
Tình huống ép kiểu tự động từ thấp lên cao theo
quy tắc: char-> int->long->float->double
7/2020 Cơ sở lập trình 65
Lưu ý: Tình huống ép kiểu tường minh
(tên kiểu mới)(biểu thức)
Ví dụ
int x; float y; long d; x+y*d→?? Kiểu dữ liệu Int x,y;
float z; z=x/y z=(float)x/y;
7/2020 Cơ sở lập trình 66
Lệnh gán mở rộng: Áp dụng đối với các
phép toán số học và dịch bit
x=x+y ↔ x+=y x=x-y ↔ x-=y
Phép tăng giảm giá trị đi 1
i=i-1 ↔ i--; --i
i=i+1 ↔ i++; ++i
Sự khác nhau a=5; b=a++; a=5; b=++a;
7/2020 Cơ sở lập trình 67
Hàm vào ra chuẩn: printf/scanf
Hàm nhập một kí tự: getch, getche,getchar
Hàm nhập một xâu: gets
Hàm in một kí tự: putch
Hàm in một xâu kí tự: puts
Thư viện: stdio.h, conio.h
7/2020 Cơ sở lập trình 68
Chức năng: xuất dữ liệu ra thiết bị chuẩn theo định dạng
Cú pháp: int printf(format, [values]);
Trong đó:
format: là một hằng xâu kí tự hoặc có cả các định dạng để in ra các kiểu dữ liệu khác nhau của các giá trị trong values.
values là danh sách các giá trị cần in, nó có thể là giá trị của hằng, giá trị của biến, hoặc là giá trị trả về của hàm thông qua một lời gọi hàm v.v.
Lưu ý: Các giá trị được in cách nhau bởi toán tử dấu phẩy , và có thể có nhiều hơn các đặc tả kí tự định kiểu →các giá trị cuối cùng thừa ra sẽ bị bỏ qua.
7/2020 Cơ sở lập trình 69
Định dạng để in theo quy cách:
%[-][n][.m]<ki_tu_dinh_kieu>
Trong đó:
n, m là các số nguyên dương qui định: n là độ dài phần thông tin in ra, m là số chữ số cho phần thập phân
[-]: căn trái hay phải . Khi giá trị được in ra màn hình, nếu độ rộng thực sự nhỏ hơn độ rộng xác định bởi n, thì ngầm định là căn phải. Có dấu – là căn trái
ki_tu_dinh_kieu là các kí tự qui định kiểu dữ liệu sẽ được
in ra.
7/2020 Cơ sở lập trình 70
Kí tự định kiểu | Kiểu dữ liệu | |
c | kiểu kí tự char, có thể dùng cho kiểu short và int | |
d | Kiểu nguyên int, có thể dùng cho kiểu char | |
u | Kiểu số nguyên không dấu (unsigned char, unsigned short) | |
ld | Long | |
lu | unsigned long | |
X, x | Kiểu số nguyên viết dưới dạng số hexa (cơ số 16) | |
o | Kiểu số nguyên viết dưới dạng số octal ( cơ số 8) | |
lo | unsigned int ( cơ số 8) | |
i | long, int (cơ số 10, 8,16) | |
f | Kiểu số thực với phần thập phân có 6 chữ số, float, double | |
E, e | Kiểu số thực dưới dạng kí pháp khoa học | |
G, g | Kiểu số thực không chứa các số 0 vô nghĩa | |
s 7/2020 | XâCuơ skởýlậtpựtrình 71 |
Có thể bạn quan tâm!
- Cơ sở lập trình - Trường ĐH Thương mại - 2
- Cơ sở lập trình - Trường ĐH Thương mại - 3
- Cơ sở lập trình - Trường ĐH Thương mại - 4
- Cơ sở lập trình - Trường ĐH Thương mại - 6
- Cơ sở lập trình - Trường ĐH Thương mại - 7
- Cơ sở lập trình - Trường ĐH Thương mại - 8
Xem toàn bộ 113 trang tài liệu này.
Chú ý: Kí tự điều khiển là kí tự đặc biệt, bắt đầu bằng kí tự tiếp theo là một kí tự dùng để điều khiển và sẽ không hiện ra màn hình.
Ý nghĩa | |
n | Ký tự xuống dòng |
t | Ký tự nhảy tab |
b | Ký tự xóa trái |
a | Tiếng kêu bíp |
7/2020 Cơ sở lập trình 72
Ví dụ:
Const float pi=3.14;
int x=6; int y; y=x*pi*pi;
printf(“gia tri cua x la:”);
printf(“%d”,x);
printf(“gia tri cua x là:%dn”,x);
printf(“gia tri cua x=%5d, cua y=%8.3f ”,x,y);
printf(“Day la vi du ham printf co xoa ki tu traii:bb
”);
7/2020 Cơ sở lập trình 73
Chức năng: Nhập (Đọc) dữ liệu từ bàn phím theo khuôn dạng cho biến
Cú pháp: int scanf(format, poiter_list);
Trong đó:
format: là xâu định dạng quy cách nhập dữ liệu cho biến đối
với từng kiểu.
poiter_list: danh sách các địa chỉ của biến hoặc là các con trỏ cần nhập dữ liệu.
Lưu ý:
Sự tương ứng về kiểu dữ liệu giữa định dạng và đối số
Quy cách đọc dữ liệu kiểu số
Quy cách đọc dữ liệu kiểu xâu ký tự (đúng số ký tự)
7/2020 Cơ sở lập trình 74
Ví dụ 1:
Int a,b;
scanf(“%d%d”,&a,&b); //nhập 5 8scanf(“%3d%3d”,&a,&b); // nhập 21 4159
Ví dụ 2:
Int n; char c;
scanf(“%c%d”,&c,&n); //nhập a 12scanf(“%d%c”,&n,&c); //nhập 12 a
7/2020 Cơ sở lập trình 75
Chức năng: là một vùng của bộ nhớ để lưu trữ dữ liệu do
người dùng gõ vào từ bàn phím để chờ xử lý
Hoạt động:Sử dụng một con trỏ để xác định kí tự chuẩn bị được xử lý. Máy tính sẽ đọc lần lượt các ký tự từ bộ nhớ đệm. Mỗi lần đọc xong một ký tự con trỏ tự động nhảy sang vị trí kí tự tiếp theo để chờ xử lý tiếp. →Hiện tượng đọc nhầm dữ liệu:
Ví dụ:
int x,y;
int n; char c; scanf(“%d%d”,&x,&y); //nhập 7 13scanf(“%d%c”,&n,&c); //nhập 12 a
Xử lý: Làm sạch vùng đệm khi nhập dữ liệu cho các biến với
câu lệnh: fflush(stdin);
7/2020 Cơ sở lập trình 76
Chức năng: nhập dữ liệu từ bàn phím cho biến xâu
ký tự.
Hoạt động: Hàm đọc 1 xâu kí tự cho đến khi gõ Enter, sau đó bổ sung mã kết thúc xâu kí tự vào cuối xâu.
Ví dụ
char str[20]; printf(“nhập xâu:”); gets(str);
scanf(“%s”,str); // nhập “chao cac ban!”
→Hiện tượng trôi dữ liệu
7/2020 Cơ sở lập trình 77
Cú pháp
int puts(char *s)
int putch(int ch)
Chức năng
Hàm putch có chức năng in ra màn hình một ký tự tại vị trí con trỏ đang đứng.
Hàm puts in xâu ký tự ra màn hình tại vị trí hiện tại của con trỏ sau đó tự động chuyển con trỏ sang dòng mới.
7/2020 Cơ sở lập trình 78
Cú pháp
Int getch()
Int getche()
Chức năng
Đợi người dùng nhập vào một ký tự từ bàn phím. Hàm getche sẽ hiển thị ký tự đó lên hàm hình còn hàm getch thì không
7/2020 Cơ sở lập trình 79
If … else
Switch … case
7/2020 Cơ sở lập trình 80