Nhập và Xuất trong C Chương 4 Input and Output in C.

Slides:



Advertisements
Similar presentations
Giáo viên thực hiện: Lò Thị Nhung Đơn vị công tác: Trường THCS Búng Lao, huyện Mường Ảng, tỉnh Điện Biên. GIÁO ÁN ĐỊA LÍ 7 Chương II: Môi trường đới ôn.
Advertisements

Quản trị Rủi ro thiên tai và Biến đổi khí hậu
BỘ Y TẾ VỤ TRANG THIẾT BỊ VÀ CÔNG TRÌNH Y TẾ
Báo cáo Cấu trúc đề thi PISA và Các dạng câu hỏi thi PISA
MỘT SỐ TÁC GIẢ TIÊU BIỂU ( ) Nhóm tự lực văn đoàn và phong trào thơ mới. Ngoài ra còn có các nhóm: Phong hóa, Ngày nay, Hà Nội báo (Huy Thông,
XÂY DỰNG VÀ PHÁT TRIỂN CHƯƠNG TRÌNH ĐÀO TẠO THEO ĐỀ XƯỚNG CDIO
Rainforest Alliance đào tạo cho các nông trại trà ở Việt Nam
Kiểm thử và đảm bảo chất lượng phần mềm
PHẦN 1. HỆ ĐIỀU HÀNH WINDOWS. 2 Nội dung trình bày  1.1. Thao tác cơ bản sử dụng máy tính  1.2. Màn hình nền desktop  1.3. Quản lý tệp tin và thư mục.
L/O/G/O NGUYÊN LÝ KẾ TOÁN Nguyễn Hữu Quy (MBA,CPA,APC)
1 ĐỒNG NAI ĐÁNH GIÁ TÌNH HÌNH VÀ ĐỀ XUẤT ÁP DỤNG HIỆU QUẢ MÔ HÌNH KINH TẾ DƯỢC TẠI BỆNH VIỆN ĐA KHOA ĐỒNG NAI NĂM 2017 Học viên: Nhóm 5 _ PP111.
GIỚI THIỆU TRÌNH BIÊN DỊCH FREE PASCAL
Thực hiện các cuộc họp quan trọng
MÔN NGHỀ TIN HỌC VĂN PHÒNG LỚP 11
QUẢN TRỊ THÀNH TÍCH Performance Management
Tối đa hoá lợi nhuận và cung cạnh tranh
Ghi chú chung về khóa học
TÌM HIỂU VỀ WEB SERVICES VÀ XÂY DỰNG MỘT WEB SERVICE
Ngôn ngữ lập trình C/C++
PHẦN 2. ĐỊNH DẠNG SLIDE Trong bài này, chúng ta sẽ học cách sử dụng PowerPoint để định dạng file trình diễn. 1. Sử dụng Slide Master Để tạo một slide.
Chương 4 MÃ MÁY Computer Codes.
Giới thiệu chương trình trách nhiệm xã hội của doanh nghiệp
KHAI PHÁ DỮ LIỆU (DATA MINING)
THÔNG TIN MÔN HỌC Quản trị chuỗi cung ứng (Supply Chain Management): 45 tiết Tài liệu nghiên cứu Quản lý chuỗi cung ứng –Th.S. Nguyễn Kim Anh, Đại học.
Vòng lặp Chương 6.
THAM VẤN TÂM LÝ Bài Giới Thiệu.
Software testing Kiểm thử phần mềm
BÁO CÁO DỰ ÁN CIBOLA Đo lường mức độ hiệu quả của Media
Ngôn ngữ lập trình C/C++
KỸ THUẬT LẬP TRÌNH GV: Phạm Thị Xuân Diệu
Chương 6 Thiết kế hệ thống.
Đức Hồng Y Nguyễn Văn Thuận cầu bầu
Module 6 – Managing for Sustainability
Khởi động SXSH với công cụ quản lý nội vi 5S
Trung tâm đánh giá Tương đương sinh học Viện Kiểm nghiệm thuốc TW
Hệ Thống Quản Lý An Toàn Thực Phẩm
Hệ điều hành Windows Sever 2003
CHẾ ĐỘ PHÁP LÝ VỀ CÔNG TY CỔ PHẦN
Theo mặc định toàn bộ dung lượng dùng lưu trữ, các thư mục hiện có trong các Partition , các dịch vụ hệ thống đã được chia sẽ cho mọi người được phép sử.
XÂY DỰNG LỢI THẾ CẠNH TRANH THÔNG QUA CHIẾN LƯỢC CẤP KINH DOANH
Chương 6 Thiết kế hướng đối tượng
Chiến lược CSR –Là gì và làm thế nào để chúng ta sàng lọc lựa chọn?
UBND TỈNH ĐIỆN BIÊN SỞ GIÁO DỤC VÀ ĐÀO TẠO
KỸ THUẬT LẬP TRÌNH GV: Phạm Thị Xuân Diệu
LẬP TRÌNH ỨNG DỤNG WINDOW FORM
Quản lý con người Quản lý người làm việc như những cá nhân và theo nhóm.
Chapter 16: Chiến lược giá
Biến và Kiểu Dữ Liệu Chương 2.
Operators and Expression
Trách nhiệm giải trình của doanh nghiệp ở diện rộng
Chương 2: Các phép toán cơ bản trên hệ nhị phân
QUYỀN LỰC VÀ MÂU THUẪN TRONG NHÓM
Chương 2 Căn bản về Cung và Cầu 1.
GIỚI THIỆU KHÁI QUÁT VỀ THỊ TRƯỜNG TÀI CHÍNH
PHÒNG GIÁO DỤC VÀ ĐÀO TẠO
QUẢN TRỊ TÍNH ĐA DẠNG THÔNG QUA NHIỀU HOẠT ĐỘNG KINH DOANH
Kế hoạch Quản lý Hóa chất & Tích hợp vào Quy trình Nhà máy và Quản lý
Môn: Lập trình Hướng đối tượng (Object Oriented Programming)
HƯỚNG DẪN MÃ HÓA BỆNH TẬT, TỬ VONG THEO ICD - 10
Điều kiện Chương 5.
NHÂN QUYỀN LÀ GÌ? Dẫn Nhập Nhân quyền và thu thập tài liệu: Bài Một.
Giảng viên: Lương Tuấn Anh
Trường CĐ CNTT HN Việt Hàn
Chương 8 NHỮNG VẤN ĐỀ QUẢN TRỊ CƠ BẢN TRONG THỰC THI CHIẾN LƯỢC
KHAI THÁC THỦY SẢN ĐẠI CƯƠNG
So sánh marketing online & marketing truyền thống
Chương 4: Tập gõ 10 ngón Chương 2: Học cùng máy tính
Chương 3: Tổ chức thông tin
Bµi 14. LµM QUEN VíI PHÇN MÒM T¹O ¶NH §éNG
Presentation transcript:

Nhập và Xuất trong C Chương 4 Input and Output in C

Mục tiêu của bài học Tìm hiểu các hàm định dạng Nhập/Xuất scanf(), printf() Sử dụng các hàm Nhập/Xuất ký tự getchar(), putchar() Elementary Programming with C/Session 4/ 2 of 27

Nhập/Xuất chuẩn Thư viện chuẩn trong C cung cấp các hàm xử lý cho việc nhập và xuất. Thư viện chuẩn có các hàm I/O, dùng để quản lý việc nhập, xuất, các thao tác trên ký tự và chuỗi. Thiết bị nhập chuẩn thường là bàn phím. Thiết bị xuất chuẩn thường là màn hình (console). Nhập và xuất có thể được xử lý qua các tập tin thay vì từ các thiết bị chuẩn. Elementary Programming with C/Session 4/ 3 of 27

Tập tin Header <stdio.h> #include <stdio.h> Đây là câu lệnh tiền xử lý stdio.h là tập tin header (header file) Chứa các macro sử dụng cho nhiều hàm nhập/xuất trong C Các macro trong stdio.h giúp các hàm printf(), scanf(), putchar(), getchar() thực thi Elementary Programming with C/Session 4/ 4 of 27

Nhập/Xuất được định dạng printf( ) – Dùng cho xuất có định dạng scanf( ) – Sử dụng để nhập có định dạng Các đặc tả định dạng - qui định dạng thức mà theo đó giá trị của biến được nhập vào và in ra Elementary Programming with C/Session 4/ 5 of 27

printf ( ) Được dùng để hiển thị dữ liệu ra thiết bị xuất chuẩn như màn hình (console) Cú pháp  printf ( “control string”, argument list); Danh sách đối số (argument list) chứa hằng, biến, biểu thức hoặc các hàm phân cách bởi dấu phẩy Phải có một lệnh định dạng trong “control string” cho mỗi đối số trong danh sách Các lệnh định dạng phải khớp với danh sách đối số về số lượng, kiểu và thứ tự. control string luôn được đặt trong dấu nhấy kép “ ”, đây là dấu phân cách Elementary Programming with C/Session 4/ 6 of 27

control string chứa một trong ba kiểu phần tử sau: printf ( ) (tt.) control string chứa một trong ba kiểu phần tử sau: Các ký tự văn bản : gồm các ký tự có thể in được Các lệnh định dạng : bắt đầu với ký hiệu % và theo sau là một mã định dạng tương ứng cho từng phần tử dữ liệu Các ký tự không in được : gồm tab, blank và new_line Elementary Programming with C/Session 4/ 7 of 27

Mã định dạng Định dạng printf() scanf() Ký tự đơn (single character) %c Chuỗi (string) %s Số nguyên có dấu (signed decimal integer) %d Kiểu float - dạng dấu chấm thập phân (decimal notation) %f %f hoặc %e Kiểu float - dạng dấu chấm thập phân %lf Kiểu float - dạng lũy thừa (exponential notation) %e %f or %e Kiểu float ( %f hay %e , khi ngắn hơn) %g Số nguyên không dấu (unsigned decimal integer) %u Số nguyên hệ 16 không dấu - sử dụng “ABCDEF” (unsigned hexadecimal integer) %x Số nguyên hệ 8 không dấu (unsigned octal integer) %o Trong bảng trên : c, d, f, lf, e, g, u, s, o và x là các bộ đặc tả kiểu Elementary Programming with C/Session 4/ 8 of 27

Mã định dạng (tt.) %d Các con số trong số nguyên %f Các qui ước in %d Các con số trong số nguyên %f Các chữ số phần nguyên sẽ được in ra. Phần thập phân sẽ chỉ in 6 chữ số. Nếu phần thập phân ít hơn 6 chữ số, nó sẽ được thêm các chữ số 0 vào từ bên phải, ngược lại nó sẽ làm tròn số từ bên phải. %e Một con số bên trái của dấu chấm thập phân và 6 vị trí bên phải, như %f ở trên Elementary Programming with C/Session 4/ 9 of 27

Nội dung chuỗi điều khiển Giải thích danh sách đối số Mã định dạng (tt.) STT Lệnh Chuỗi điều khiển Nội dung chuỗi điều khiển Danh sách đối số Giải thích danh sách đối số Hiển thị trên màn hình 1. printf(“%d”,300); %d Chỉ chứa lệnh định dạng 300 Hằng 2. printf(“%d”,10+5); 10 + 5 Biểu thức 15 3. printf(“Good Morning Mr. Lee.”); Good Morning Mr. Lee. Chỉ chứa các ký tự văn bản Rỗng 4. int count = 100; printf(“%d”,count); count Biến 100 5. printf(“\nhello”); \nhello Chứa ký tự không được in và các ký tự văn bản hello on a new line 6. #define str “Good Apple “ …….. printf(“%s”,str); %s str Hằng ký hiệu Good Apple 7. int count,stud_num; count=0; stud_num=100; printf(“%d %d\n”,count, stud_num); %d %d Chứa lệnh định dạng và ký tự không được in count, stud_num Hai biến 0 , 100 Elementary Programming with C/Session 4/ 10 of 27

\\ In ra ký tự \ \ “ In ra ký tự “ %% In ra ký tự % Các ký tự đặc biệt Elementary Programming with C/Session 4/ 11 of 27

Ví dụ cho hàm printf() Chương trình hiển thị số nguyên, thập phân, ký tự và chuỗi #include <stdio.h> void main() { int a = 10; float b = 24.67892345; char ch = ‘A’; printf(“Integer data = %d”, a); printf(“Float Data = %f”,b); printf(“Character = %c”,ch); printf(“This prints the string”); printf(“%s”,”This also prints a string”); } Elementary Programming with C/Session 4/ 12 of 27

Ví dụ cho hàm printf() Kết quả hiện ra ở màn hình là: Integer data = 10 Float Data = 24.678923 Character = A This prints the string This also prints a string Elementary Programming with C/Session 4/ 13 of 27

Bổ từ trong hàm printf( ) Phần tử dữ liệu sẽ được canh lề trái, phần tử sẽ được in bắt đầu từ vị trí bên trái trong cùng của trường. 2. Bổ từ xác định độ rộng trường Có thể được sử dụng với kiểu float, double hoặc mảng ký tự (chuỗi). Độ rộng trường là một số nguyên xác định độ rộng nhỏ nhất cho phần tử dữ liệu. Elementary Programming with C/Session 4/ 14 of 27

Bổ từ trong hàm printf( ) (tt.) 3. Độ chính xác Được sử dụng với kiểu float, double hoặc mảng ký tự (chuỗi). Nếu dùng với kiểu float hay double, chuỗi con số xác định số lượng lớn nhất các con số được in bên phải dấu chấm thập phân. 4. Bổ từ ‘0’ Mặc định thì khoảng trống sẽ được thêm vào một trường. Nếu người dùng muốn thêm số 0 vào trường thì bổ từ ‘0’ được dùng 5. Bổ từ ‘l’ Bổ từ này có thể được dùng hiển thị các đối số nguyên kiểu int hay double. Mã định dạng tương ứng là %ld Elementary Programming with C/Session 4/ 15 of 27

Bổ từ trong hàm printf( ) (tt.) 6. Bổ từ ‘h’ Bổ từ này được sử dụng để hiển thị dạng short int. Mã định dạng tương ứng như là %hd 7. Bổ từ ‘*’ Nếu người dùng không muốn xác định độ rộng trường nhưng muốn chương trình xác định điều đó, bổ từ này được sử dụng Elementary Programming with C/Session 4/ 16 of 27

Ví dụ về các bổ từ /* This program demonstrate the use of Modifiers in printf() */ #include <stdio.h> void main(){ printf(“The number 555 in various forms:\n”); printf(“Without any modifier: \n”); printf(“[%d]\n”,555); printf(“With – modifier :\n”); printf(“[%-d]\n”,555); printf(“With digit string 10 as modifier :\n”); printf(“[%10d]\n”,555); printf(“With 0 as modifier : \n”); printf(“[%0d]\n”,555); printf(“With 0 and digit string 10 as modifiers :\n”); printf(“[%010d]\n”,555); printf(“With -,0 and digit string 10 as modifiers:\n”); printf(“[%-010d]\n”,555); } Elementary Programming with C/Session 4/ 17 of 27

Ví dụ về các bổ từ Kết quả hiện ra màn hình: Elementary Programming with C/Session 4/ 18 of 27

scanf( ) Được sử dụng để nhập dữ liệu Dạng tổng quát của hàm scanf() scanf(“control string”, argument list); Những định dạng dùng trong hàm printf() cũng được sử dụng với cùng cú pháp trong hàm scanf() Elementary Programming with C/Session 4/ 19 of 27

Sự khác nhau về danh sách đối số giữa printf( ) và scanf( ) printf() sử dụng các tên biến, hằng, hằng biểu tượng và các biểu thức scanf() sử dụng các con trỏ tới biến Danh sách đối số trong scanf() phải theo qui tắc : Đọc giá trị vào một biến có kiểu dữ liệu cơ sở, sử dụng ký hiệu & trước tên biến Đọc giá trị vào một biến có kiểu dữ liệu dẫn xuất, không sử dụng & trước tên biến Elementary Programming with C/Session 4/ 20 of 27

Sự khác nhau về các lệnh định dạng giữa printf( ) và scanf( ) Không có tuỳ chọn %g Mã định dạng %f và %e là giống nhau Elementary Programming with C/Session 4/ 21 of 27

Ví dụ với hàm scanf( ) #include <stdio.h> void main(){ int a; float d; char ch, name[40]; printf(“Please enter the data\n”); scanf(“%d %f %c %s”,&a,&d,&ch,name); printf(“\n The values accepted are: %d,%f,%c,%s”,a, d,ch,name); } Elementary Programming with C/Session 4/ 22 of 27

Vùng đệm Nhập/Xuất Được sử dụng để đọc và viết các ký tự ASCII Một vùng đệm (buffer) là một không gian lưu trữ tạm thời trong bộ nhớ hoặc trên thẻ điều khiển thiết bị Bộ đệm Nhập/Xuất có thể chia làm : Console I/O Buffered File I/O Elementary Programming with C/Session 4/ 23 of 27

Console I/O Các hàm Console I/O chuyển các thao tác đến thiết bị xuất nhập chuẩn của hệ thống Trong ‘C’ các hàm console I/O đơn giản nhất là: getchar( ) - đọc một và chỉ một ký tự từ bàn phím putchar( ) - xuất một ký tự lên màn hình Elementary Programming with C/Session 4/ 24 of 27

getchar( ) Dùng đọc dữ liệu nhập, một ký tự từ bàn phím Các ký tự đặt trong vùng đệm đến khi người dùng gõ phím enter Hàm getchar( ) không có đối số, nhưng vẫn phải có cặp dấu ngoặc ( ) Elementary Programming with C/Session 4/ 25 of 27

Ví dụ hàm getchar() #include <stdio.h> void main() { /*Program to demonstrate the use of getchar()*/ #include <stdio.h> void main() { char letter; printf(“\nPlease enter any character:“); letter = getchar(); printf(“\nThe character entered by you is %c“, letter); } Elementary Programming with C/Session 4/ 26 of 27

putchar( ) Hàm xuất ký tự trong ‘C’ Có một đối số Đối số của một hàm putchar( ) có thể là : Một hằng ký tự đơn Một mã định dạng Một biến ký tự Elementary Programming with C/Session 4/ 27 of 27

Các tùy chọn và chức năng của putchar( ) Tham số Hàm Chức năng Biến ký tự putchar(c) Hiển thị nội dung biến ký tự c Hằng ký tự putchar(‘A’) Hằng ký tự A Hằng số putchar(‘5’) Hằng số 5 Mã định dạng putchar(‘\t’) Chèn ký tự khoảng trắng putchar(‘\n’) Chèn ký tự xuống dòng Elementary Programming with C/Session 4/ 28 of 27

putchar( ) /* This program demonstrates the use of constants and escape sequences in putchar()*/ #include <stdio.h> void main(){ putchar(‘H’); putchar(‘\n’); putchar(‘\t’); putchar(‘E’); putchar(‘\n’); Ví dụ putchar(‘\t’); putchar(‘\t’); putchar(‘L’); putchar(‘\n’); putchar(‘\t’); putchar(‘\t’); putchar(‘\t’); putchar(‘O’); } Elementary Programming with C/Session 4/ 29 of 27