Ngôn ngữ lập trình - Chương 1.6 (HUST)

LI
lienhejb
0 次下载
28
0

资料内容

第 1 页

goupee.vn Trường Đại Học Bách Khoa Hà Nội goupee.com Viện: Điện Tử - Viễn Thông Bộ Môn: Điện tử - Kỹ thuật máy tính Ngôn ngữ lập trình C/C++ Chương 1: Ôn tập Ngôn ngữ lập trình C cuu duong than cong . comCác thao tác Nhập/Xuất 1 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 2 页

goupee.vn goupee.com Các nội dung chính  Giới thiệu  Các thao tác nhập dữ liệu  Các thao tác xuất dữ liệu cuu duong than cong . com 2 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 3 页

goupee.vn goupee.com 1. Giới thiệu 1.1. Tầm quan trọng của các thao tác nhập/xuất dữ liệu. - Cho phép chương trình nhập dữ liệu / xuất dữ liệu từ/đến các thiết bị vào/ra chuẩn - Các thao tác nhập dữ liệu phải đáp ứng một số yêu cầu sau:  Cho phép NSD có thể nhập đầy đủ các loại dữ liệu. Yêu cầu tối thiểu của NSD là các kiểu dữ liệu cơ bản như kiểu số, kiểu kí tự, kiểu chuỗi, kiểu logic.  Cho phép NSD nhập dữ liệu từ nhiều nguồn khác nhau như từ bàn phím, từ chuột, từ các cổng vào,…  Hỗ trợ NSD nhập dữ liệu một cách chính xác.cuu duong than cong . com  Cho phép NSD nhập dữ liệu một cách nhanh chóng và dễ dàng. 3 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 4 页

goupee.vn goupee.com 1. Giới thiệu 1.1. Tầm quan trọng của các thao tác nhập/xuất dữ liệu. Các thao tác xuất dữ liệu phải đáp ứng một số yêu cầu:  Cho phép đưa ra đầy đủ các kiểu DL mà NSD yêu cầu, tối thiểu là các kiểu DL cơ bản.  Cho phép dữ liệu có thể được đưa ra các thiết bị ngoại vi khác nhau, như đưa ra màn hình, đưa ra máy in hay đưa ra tệp để lưu trữ.cuu duong than cong . com  Dữ liệu đưa ra phải chính xác, đầy đủ và rõ ràng. 4 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 5 页

goupee.vn goupee.com 1. Giới thiệu  1.2. Giới thiệu các thao tác vào/ra trong C  Các thao tác vào/ra có thể chia làm hai nhóm:  Các thao tác vào/ra từng kí tự  Các thao tác vào/ra nhiều kí tự (từng chuỗi kí tự).  Ngoài ra, các thao tác vào/ra còn có thể được chia làm hai loại:  + Các thao tác có định dạng :  + Các thao tác không có định dạng.  Trong C, mỗi thao tác vào/ra được thực hiện bởi một hàm. Các hàm vào ra cơ bản đều được khai báo vàcuu duong than cong . com định nghĩa trong hai tệp thư viện <stdio.h> và <conio.h>. 5 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 6 页

goupee.vn goupee.com 2. Các thao tác nhập dữ liệu  Các thao tác nhập dữ liệu được chia làm hai nhóm:  Các thao tác nhập từng kí tự (từng byte)  Các thao tác nhập từng chuỗi kí tự (nhiều byte)  2.1. Các thao tác nhập kí tự  getchar()  getch()  getche(). cuu duong than cong . com 6 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 7 页

goupee.vn goupee.com 2. Các thao tác nhập dữ liệu  2.1. Các thao tác nhập kí tự  Một số điểm chung là:  Chúng đều không có tham số,  Các hàm này đều trả về một số nguyên (kiểu int) là mã ASCII của kí tự nhập vào.  Các hàm này đều nằm trong thư viện vào/ra chuẩn <stdio.h>  Tuy nhiên, các hàm này cũng có một số điểm chi tiết khác nhau. cuu duong than cong . com 7 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 8 页

goupee.vn goupee.com 2. Các thao tác nhập dữ liệu  2.2 Bộ đệm (buffer) bàn phím  Là một vùng bộ nhớ dành riêng để lưu giữ các kí tự nhập vào từ bàn phím trước khi chúng được các chương trình lấy ra để xử lý.  Được sinh ra để tăng tính độc lập và đồng bộ giữa các thao tác xử lý và các thao tác vào/ra dữ liệu, vì tốc độ giữa các thao tác này khác nhau rất nhiều.  Làm việc theo nguyên tắc hàng đợi. cuu duong than cong . com 8 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 9 页

goupee.vn goupee.com 2. Các thao tác nhập dữ liệu 2.2. Các thao tác nhập chuỗi kí tự 2.2.1. Hàm gets() - Cú pháp : gets(char s[]) ; - Ý nghĩa : hàm này đọc một chuỗi kí tự từ bàn phím cho đến khi bạn gõ . Chuỗi kí tự đọc vào sẽ được gán cho biến s. Kí tự kết thúc chuỗi („\0‟) cũng được tự động bổ sung vào cuối chuỗi s. cuu duong than cong . com 9 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 10 页

goupee.vn goupee.com 2.2.1. Hàm gets() – ví dụ #include <stdio.h> Kết quả thực hiện chương void main() { trình: char name[80] ; Nhap ten : binh printf(“Nhap ten :”); Ten nhap vao la : binh gets(name) ; printf(“Ten nhap vao la : %s”,name); } cuu duong than cong . com 10 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 11 页

goupee.vn goupee.com 2. Các thao tác nhập dữ liệu 2.2. Các thao tác nhập chuỗi kí tự 2.2.2. Hàm scanf()  Chức năng: Là hàm nhập dữ liệu đa năng, có định dạng.  Cú pháp: scanf(Hằng chuỗi định dạng, danh sách các biến);  Trong đó :  Hằng chuỗi định dạng bao gồm 1 hoặc nhiều mã định dạng.  Danh sách các biến bao gồm một hoặc nhiều biến mà ta muốn nhập giá trị. Số lượng mã định dạng đúng bằng số lượng các biến. Mỗi mã định dạng tương ứng cho một biến vào để xác định kiểu dữ liệu và khuôn dạng dữ liệu nhập vào cho biến đó.cuu duong than cong . com Mỗi mã định dạng là một hằng chuỗi kí tự đặc biệt với kí tự đầu tiên luôn là % 11 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 12 页

goupee.vn goupee.com 2. Các thao tác nhập dữ liệu 2.2. Các thao tác nhập chuỗi kí tự 2.2.2. Hàm scanf()  Nguyên tắc hoạt động  Khi ấn Enter, hàm sẽ kiểm tra số lượng DL đã nhập và số tham số cần nhập DL.  Nếu khớp nhau thì thực hiện chuyển đổi kiểu tương ứng cho các DL đã nhập rồi gán cho các tham số cần nhập.  Nếu không khớp thì sẽ tiếp tục đợi nhập tiếp. cuu duong than cong . com 12 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 13 页

goupee.vn goupee.com 3. Các thao tác xuất dữ liệu  Trong C có các hàm xuất dữ liệu sau:  putchar() : hàm này để in một kí tự ra màn hình.  puts() : hàm này để in một chuỗi kí tự ra màn hình  printf() : in các loại dữ liệu ra màn hình và có định dạng. cuu duong than cong . com 13 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 14 页

goupee.vn goupee.com 3. Các thao tác xuất dữ liệu 3.1. Hàm putchar()  Cú pháp : putchar(char c) ;  Ý nghĩa : Hàm này in kí tự c ra màn hình ở vị trí hiện thời của con trỏ. Đây là hàm xuất dữ liệu không định dạng. 3.2. Hàm puts()  Cú pháp : puts(const char *s) ;  Ý nghĩa : Hàm này in chuỗi kí tự trỏ bởi con trỏ s ra màn hình, sau đó tự động đưa con trỏ xuống đầu dòngcuu duong than cong . com tiếp theo. 14 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 15 页

goupee.vn goupee.com 3. Các thao tác xuất dữ liệu VD: sử dụng hàm putchar() để in các kí tự từ a-z #include <stdio.h> #include <conio.h> void main(){ int i='a'; while (i<='z') { putchar(i++);putchar(' ');} getch(); cuu duong than cong . com } 15 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 16 页

goupee.vn goupee.com 3. Các thao tác xuất dữ liệu 3.3. Hàm printf()  Giới thiệu: Đây là hàm xuất dữ liệu ra màn hình phổ biến nhất. Nó cho phép in ra một hay nhiều biểu thức ở tất cả các kiểu dữ liệu cơ bản như kí tự, chuỗi, số và cho phép định dạng lại dữ liệu khi in ra. Việc định dạng dữ liệu như căn lề (trái hoặc phải), định kích thước vùng dữ liệu sẽ in ra (tính bằng số kí tự sẽ in ra, kích thước này có thể khác với kích thước thật của dữ liệu),… cuu duong than cong . com 16 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 17 页

goupee.vn goupee.com 3. Các thao tác xuất dữ liệu 3.3. Hàm printf()  Cú pháp : printf(Hằng chuỗi định dạng[, danh sách các biểu thức]);  Ý nghĩa: hàm này sẽ in hằng chuỗi định dạng ra màn hình. Hằng chuỗi này có 2 phần nội dung :  Phần nội dung tĩnh :  Phần nội dung động : cuu duong than cong . com 17 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 18 页

goupee.vn goupee.com 3.3. Hàm printf()  Phần nội dung tĩnh:  Là phần nội dung cố định, được xác định bởi một hay một số hằng chuỗi cho trước.  Là phần bắt buộc phải có. cuu duong than cong . com 18 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 19 页

goupee.vn goupee.com 3.3. Hàm printf()  Phần nội dung động:  Là phần nội dung không cố định, mà giá trị của nó được lấy từ giá trị các biểu thức trong danh sách các biểu thức, nên các biểu thức trong danh sách này được gọi là các biểu thức thay thế.  Phần nội dung này được quy định bởi các chuỗi kí tự đặc biệt được gọi là các mã định dạng (format code), với kí tự bắt đầu luôn là %.  Với mỗi nội dung động sẽ có một mã định dạng quy định khuôn dạng của nội dung và một biểu thức tương ứng trong danh sách các biểu thức để xác định giá trị cụ thể của nội dung.  Khuôn dạng của mỗi nội dung động được xác định lúc viết hàm printf. Còn giá trị của nội dung đó là giá trị của biểu thức thay thế tương ứng mà chỉ có thể xác định vào lúc chạy chương trình.cuu duong than cong . com  Phần nội dung động không bắt buộc phải có. 19 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 20 页

goupee.vn goupee.com 3.3. Hàm printf()  VD : sử dụng hàm printf();  Kết quả chạy chương char c = „X‟ ; trình : int i =10 ; const PI=3.1415 ; float r=11.2345678 ; Kí tự X có mã ASCII là 88 printf(“Kí tự %c có mã ASCII là %d 10 bình phương bằng 100 \n”,c,c) ; printf(“%d bình phương”, i) ; Bán kính hình tròn là printf(“ bằng %d ”, i*i) ; 11.234568 có diện tích là printf(“Bán kính hình tròn là %f ”,r) 378.647 ; cuu duong than cong . com printf(“ có diện tích là %.3f \n”,PI*r*r) ; 20 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

显示前 20 页。下载资料查看完整内容。

评论 (0)

登录 以加入讨论

暂无评论。快来抢沙发吧!