Xem mẫu

  1. K THU T L P TRÌNH C Chương 2: L nh nh p / xu t bangtqh@hotmail.com 04/2010 Xu t d li u, hàm: printf • Thu c thư vi n “stdio.h” • Cú pháp: printf(“Xâu đi u khi n”,[danh sách tham s ]); • Ví d : bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 2
  2. 04/2010 Hàm printf • Xâu ñi u khi n bao g m 3 lo i kí t – Các kí t ñi u khi n • \n sang dòng m i • \f sang trang m i • \b xóa kí t bên trái • \t d u Tab – Các kí t ñ ñưa ra màn hình – Các kí t ñ nh d ng và khuôn in • Công th c đ nh d ng: %[-][w][.p]Kt • w = wide(đ r ng); p = precise(đ chính xác); Kt = Ký t chuy n d ng (d ng hi n th ). D u tr s quy đ nh canh l trái thay vì canh l ph i • Ví d : %.2f %8d %s %-5c bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 3 04/2010 Hàm printf • Các ký t chuy n d ng thư ng dùng Ký t Ý nghĩa c In ra d ng ký t char d In ra d ng s nguyên int u In ra d ng s nguyên unsigned int ld In ra d ng s nguyên long lu In ra d ng s nguyên unsigned long f In ra d ng s th c float s In ra d ng xâu ký t x In ra d ng s nguyên h 16 (hecxa) o In ra d ng s nguyên h 8 e, E In ra r d ng khoa h c g, G In ra d ng s th c (b các s 0 vô nghĩa) bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 4
  3. 04/2010 Hàm printf • Ví d bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 5 04/2010 Hàm printf • In các ký t ñ c bi t Vi t Ý nghĩa • Công th c đ nh d ng \’ In ký t d u nháy đơn (‘) %[-][w][.p]Kt \” In ký t d u nháy kép (“) \\ In ký t backslash (\) – W: wide (đ r ng) \t In ký t Tab – P: precse (đ chính xác) \b In lùi 1 v trí – Kt: Ký t chuy n d ng \n In xu ng dòng m i • Giá tr c a w – Nh hơn ho c b ng đ r ng th c t in bình thư ng – L n hơn đ r ng th c t (chèn thêm kho ng tr ng cho đ đ r ng là w (n u có d u tr chèn bên ph i, ngư c l i chèn bên trái) • Giá tr p: quy ñ nh làm tròn đ n bao nhiêu ch s đ ng sau ch m th p phân. bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 6
  4. 04/2010 Hàm puts • Thư vi n: “conio.h” • Công d ng: in ra màn hình 1 xâu ký t • Ví d : bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 7 04/2010 Hàm sprintf • Thư vi n: “stdio.h” • Công d ng: gi ng printf, ch khác ñi m k t qu không xu t ra màn hình mà ñưa vào 1 bi n xâu. • Ví d : bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 8
  5. 04/2010 Nh p d li u, hàm: scanf • Thu c thư vi n “stdio.h” • Cú pháp: scanf(“Xâu đi u khi n”,[DS tham s ]); – Xâu đi u khi n: Cho phép đ nh d ng d li u nh p vào – Danh sách tham s : Là ñ a ch các bi n c n nh p li u • S d ng toán t & ñ xác đ nh đ a ch các bi n • Ví d : scanf(“%d%f%c”, &x, &y, &z); scanf(“%s”, &hoten); bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 9 04/2010 Hàm scanf • Không thông báo cho ngư i dùng bi t giá tr c n nh p là giá tr gì? ph i k t h p v i l nh xu t d li u • Không nh n đư c xâu có d u cách tr ng • Không xóa ký t th a trong b ñ m nh hư ng t i l n nh p phía sau. bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 10
  6. 04/2010 S d ng fflush sau scanf Công d ng: xóa nh ng ký t th a còn dư l i trong b ñ m c a scanf bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 11 04/2010 K t h p nh p và xu t d li u K t qu chương trình ? bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 12
  7. 04/2010 Hàm gets • Thư vi n: “conio.h” • Công d ng: nh p vào 1 xâu ký t • Ví d : Li u có dùng gets nh p 1 s không? bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 13 04/2010 M t s hàm nh p/xu t d li u khác Hàm Ý nghĩa int getch() đ i nh p 1 ký t t bàn phím (không hi n th màn hình) int getche() gi ng getch() nhưng hi n th màn hình int putch() In ra màn hình 1 ký t int kbhit() Ki m tra xem có 1 phím b nh n không? cprintf() Gi ng printf nhưng có màu s c gotoxy(x, y) chuy n t i v trí (c t x, hàng y) bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 14
  8. 04/2010 Màu s c khi xu t d li u • Đ t màu n n H ng màu Giá tr ý nghĩa textbackground(màu n n) BLACK 0 Đen • Đ t màu ch BLUE 1 Xanh dương textcolor(màu ch ) GREEN 2 Xanh lá CYAN 3 Xanh ng c RED 4 Đ MAGENTA 5 Tím BROWN 6 Nâu LIGHTGRAY 7 Xám bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 15 04/2010 M t vài ví d nh p/xu t d li u 1. Vi t chương trình cho nh p các h s c a phương trình b c nh t 1 n ax+b=0 (v i a≠0) hãy in ra màn hình nghi m c a phương trình đã cho. 2. Vi t chương trình hi n th ra màn hình s ti n ph i tr cho 1 cu c g i đi n tho i N giây. Bi t r ng cư c g i tính theo m i block là xñ, và 1 block b ng 6 giây. Các giá tr x, N nh p t bàn phím. 3. Vi t chương trình nh p t a đ c a 3 ñi m A, B, C trên m t ph ng. Tính và in ra màn hình chu vi, di n tích c a tam giác ABC. 4. Vi t chương trình nh p h tên, h s lương c a 1 nhân viên. Tính và in ra màn hình lương còn lĩnh c a nhân viên đó sau khi tr ñi các kho n: BHYT 1.5%, BH th t nghi p 1% và ð ng phí 1% 5. Vi t chương trình hi n ra màn hình th tích c a t di n ABCD bi t r ng A, B, C có t a đ nh p t bàn phím (XA, YA) (XB, YB) (XC, YC) và chi u cao t ñ nh D xu ng m t ph ng ABC là h bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 16
  9. 04/2010 bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 17 04/2010 bangtqh@hotmail.com K thu t l p trình C - Nh p/xu t d li u 18
nguon tai.lieu . vn