TIN H C I C NG
PH N II CH3: XU T NH P
1 L nh / kh i l nh
2 Th vi n xu t nh p
3 Hàm printf
4 Hàm scanf
5 Hàm getchar
6 Hàm putcharp
7 M t vài hàm tóan thông d ng
Trang 21 L nh/Kh i l nh
Là m t ch th tr c ti p ra l nh cho máy tính th c
hi n m t s tác v nh t đ nh nào đó
Trình biên d ch b qua các kho ng tr ng (hay tab
ho c xu ng dòng) chen gi a l nh cho đ n khi g p
d h h ( )
d u ch p ph y (;)
X Câu l nh đ n: ch g m m t câu l nh
X Câu l nh ph c (kh i l nh): g m nhi u câu l nh
đ n đ c bao b i { và }
Trang 32 Th vi n chu n xu t nh p
X Th vi n chu n trong C (stdio.h (STandarD
Input/Output)) cung c p các hàm x lý cho vi c
nh p và xu t
X Th vi n chu n có các hàm I/O, dùng đ qu n
lý i h t á th tá t ê ký t à
lý vi c nh p, xu t, các thao tác trên ký t và
chu i
X Thi t b nh p chu n th ng là bàn phím
X Thi t b nh p chu n th ng là bàn phím
X Thi t b xu t chu n th ng là màn hình
X Nh à t ó th đ lý á t ti
X 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
Trang 42 Th vi n chu n xu t nh p
Ü s d ng c n khai báo:
# include <stdio.h>
Ü 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 bao g m:
X printf() : Dùng cho xu t có đ nh d ng
X scanf() : S d ng đ nh p có đ nh d ng
X putchar() : c ch m t ký t t bàn phím
X getchar() : Xu t m t ký t lên màn hình
Trang 53 Hàm xu t 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);
X D h á h đ i ( t li t) h h bi bi
X 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
X Ph i có m t l nh Ph i có m t l nh đ nh d ng trong “ đ nh d ng trong control string control string” cho cho
m i đ i s trong danh sách
X Các l nh đ nh d ng ph i kh p v i danh sách đ i s v
l ki à th t
s l ng, ki u và th t
X control string luôn đ c đ t trong d u nh y kép “ ”, đây
là d u phân cách
Trang 63 Hàm xu t printf
“control string” là cách trình bày thông tin xu t và
đ c đ t trong c p nháy kép “ ” bao g m:
X V n b n th ng (literal text)
X Ký t đi u khi n (escape sequence)
X L nh đ nh d ng (conversion specifier)
Trang 73.1 Chu i đ nh d ng: V n b n th ng
V n b n th ng (literal text)
c xu t gi ng h t nh lúc gõ trong chu i
c u g g úc gõ o g c u
đ nh d ng
Ví d
Xu t chu i Hello World
å printf(“Hello ”); printf(“World”);
å printf(“Hello World”);
Xu t chu i ax + b = 0
å printf(“ax + b = 0”);
Trang 83.2 Chu i đ nh d ng: Ký t đi u khi n
Ký t đi u khi n (escape sequence):
G m d u \ và m t ký t nh trong b ng sau:
Ký t K Ý ngh a
\a Ti ng BEEP
\b
\n
\t
Lùi l i m t b c
Xu ng dòng
D u tab
\t
\\
\?
\”
D u tab
In d u \
In d u ?
I d “ printf(“\t”); // In ký t tab trên màn hình
\” In d u “
printf(“\n”); // Xu ng dòng
Trang 93.3 Chu i đ nh d ng: L nh đ nh d ng
L nh đ nh d ng(conversion specifier)
X G m d u % và m t ký t
X Xác đ nh ki u c a bi n/giá tr mu n xu t
X Các đ i s chính là các bi n/giá tr mu n xu t, g ,
đ c li t kê theo th t cách nhau d u ph y
c t Ý ngh a Ki u d li u
c t Ý ngh a Ki u d li u
%c
%d, %ld, %i
%f %lf
Ký t
S nguyên có d u
S h
char int, short, long
fl d bl
%f, %lf
%s
%u
S th c Chu i ký t
S nguyên 0 d u
float, double char[], char*
unsigned int/short/long
Trang 103.4 Hàm printf: Ví d
int a = 10, b = 20;
printf(“%d” a); // In ra màn hình 10
printf( %d , a); // In ra màn hình 10
printf(“%d”, b); // In ra màn hình 20
printf(“%d %d” a b); // In ra màn hình 10 20
printf( %d %d , a, b); // In ra màn hình 10 20
float x = 15.06;
printf(“%f” x); // In ra màn hình 15 060000 printf(“%f”, x); // In ra màn hình 15.060000 printf(“%f”, 1.0/3); // In ra màn hình 0.333333
Trang 113.4 Hàm printf: nh d ng
%f: s in ra d ng x.yyyyyy
float x = 15.06;
printf(“%f”, x); // In ra màn hình 15.060000
printf( %f , x); // In ra màn hình 15.060000
nh d ng xu t s nguyên: % n d
nh d ng xu t s th c: % n.k d
int a = 2345;
float x = 234 56;
printf(“%d \n”, a) ;
i tf(“%10d \ ” ) 2 3 4 5
2 3 4 5
printf(“%10d \n”, a);
printf(“%10.2f \n”, x);
2 3 4 5
3 4 5 6 2
printf(“%.2f\n”, x);
Trang 123.4 Hàm printf: Ví d
// Chuong trinh nhap va tinh tong 2 so nguyen a, b
#i l d tdi
#include <stdio>
int main()
{{
int a, b ; print (“Nhap 2 so nguyen a, b: ” ; scanf (“%d %d” &a &b);
printf(“ %d + %d = %d\n ”, a, b, a+b);
getchar;
t 0 return 0;
}
Trang 134 Hàm nh p scanf
scanf (“Control string”, argument list);
Control string
X G m d u % và m t ký t
X Xác đ nh ki u c a bi n/giá tr mu n nh p.
X Các đ i s chính là các bi n mu n nh p, theo th t
cách nhau d u ph y và thêm d u & tr c tên bi n
Ý
c t Ý ngh a Ki u d li u
%c
%d %ld %i
Ký t
S nguyên có d u
char int short long
%d, %ld, %i
%f, %lf
%s
%
S nguyên có d u
S th c Chu i ký t
S ê 0 d
int, short, long float, double char[], char*
i d i t/ h t/l
%u S nguyên 0 d u unsigned int/short/long
Trang 144 Hàm nh p scanf: Ví d
int a, b ;
float x, y, z ;
scanf(“%d”, &a); // Nh p giá tr cho bi n a
scanf(“%d”, &b); // Nh p giá tr cho bi n b
// Có th vi t thành: scanf(“%d%d”, &a, &b);
scanf(“%f” &x) ; // Nh p giá tr cho bi n x
scanf(“%f”, &y) ; // Nh p giá tr cho bi n y
scanf(“%f” &z) ; // Nh p giá tr cho bi n z
// Có th vi t thành:
scanf(“%f%f%f”, &x, &y, &z)( y )
Trang 155 Hàm 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ùngg g g g
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 ( )
char letter
char letter;
printf(“\nNhap 1 ky tu: “);
letter = getchar();
printf(“\nKy tu da nhap la: %c“, letter);
Trang 166 Hàm 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à :
X M t h ký t đ
X M t h ng ký t đ n
X M t mã đ nh d ng
X M t bi n ký t
i s Hàm Ch c n ng
Bi ký t t h ( ) Hi th i d
Bi n ký t putchar(c) Hi n th n i dung c a c
H ng ký t putchar(‘A’) Hi n th ký t A
H t h (‘5’) Hi th 5
H ng s putchar(‘5’) Hi n th s 5
Mã đ nh d ng putchar(‘\n’) L nh xu ng dòng
Trang 177 Hàm tóan h c thông d ng
Các hàm trong th vi c toán h c math.h
Khai báo: #include <math.h>
̌ d bl t(d bl ) // T b 2
̌ double sqrt(double x) // Tr v c n b c 2 c a x
̌ double pow(double x, double y) // Tr v x y
̌ int abs(int x) // Tr v tr tuy t đ i c a x, x nguyên
̌ double abs(double x) // Tr v tr tuy t đ i c a x, x th c
Ví d :
delta = sqrt( pow(b, 2) – 4.0 * a * c) // delta = b 2 – 4ac
x= abs(f) // x = |f|