Các thành phần cơ bản của lập trình C... do double else extern float for goto if int long register return short sizeof static struct switch typedef union unsigned void volatile while..
Trang 1Các thành phần cơ bản của lập trình C
Trang 2&' E X # , P Y ) # N O C6Z# ? L* = D C6Z# ?
@E @A D ? @A # , P [[$
\ ," ? M ? M 6Z# ? I7J V" 6 7 $
V" 6 7 K-* O*# Q ] 1 " 8' ," ? M ^ ? M "V" 6 7 [[ &$ $
• , )# h$m4VR 6 , )# @ ) ' , )# M @A B 9 U Q 7f 6 Q U9
@e ? $
• , )# h$<VnR 6 , )# @A ' @A 7o 9 U 6 Q U9 @e ? P c", )# h$aba @e ; Y @e ? *_ $
F P* , U H V" 6 7 $ ! " # N M' ^ c 9 E )* , U HV" 6 7 : d ; $ ( ) U H @ V" 6 7 @A X ) l , B
cM )# V $aba$
Trang 3a 7 W@ " w O * 7j} ~# W@ " w O N* H ?} • W@ " w O * H ?
Trang 4= L # ` !' ‚ # 6" U Q # ` u F c , Z "xƒ' 9* ‚ ! Z ? = F P s U` X " ' 9* ƒ ? = s U` X @ $/H , U , P s U` X " "x @ 6 = L _ # ` " #$ U` X Ns' 9* ‚ ! Z ? = u Z @A U` X @ ' 9* ƒ ? = Z @AU` X " $
Trang 5do double else extern float for
goto if int long register return
short sizeof static struct switch typedef
union unsigned void volatile while
Trang 6F U P* R # *) + # *) $
P*U` X ` @E / O , f
1 # *)8
Trang 7>b‡ 1 p8( H 7& 1 T R> &6C S 1U R> M VR Q U` X > 1 >8 " @E *MQ ) %$
Trang 8! " 'U P* ""6 U @A f d H , @ $ / F @A I7J 7@E 7c $ /H , f U , > @A " 6 = 1 * 8' H , f l > @A " 61S 6 8$
, # {# ", 6" " _ R
i"x 1< 8 > p › =} Y f 1 <!8 ž ž> › =X? ( 3 Y3 C H
j * L# " = ", I P " , Q , f # z 1>8$ , ", I M " _ R
Trang 9u @A ? M J P " , # N *$
V J& O( ( [ @
/H @e ? @ F L* = R
#include < > /* G•i các t•p tiêu •• trong ch••ng trình */
#define /* Khai báo h•ng s• */
typedef /* ••nh ngh•a ki•u d• li•u */
/* Nguyên m•u các hàm: khai báo tên h•m và các tham s• */
/* Khai báo các bi•n toàn c•c */
Trang 11U P*t7 t6 )* Q t l › ,t ft l(` 7JR
Trang 12f d " )# )# $ ` ? 9 Q " @e ? ' I 7J 9 z* 6)(# +)* P ^7k @e ? 9 , )# M$
/H )# Q* O M I7J R
)# )# Q* O ; , " *+
)# Q* O ; , ", B # )# Q* O ; , 6) " 6 Q -* 9 ?
Trang 13> ? @A+B
m) # $ " # {# P f H 7* ? $ (` 7J' H @e ? e ] I7J6) # $$
` X f7c
4 H U` X U P*
) 4 *MQ U P*#
+ 4 *MQ U 7L*U P*+ # *) #) 4 *MQ U P*
+ 4 *MQ U P*+ # *)
Trang 14P &
, ) U * 6 -* f , ; 7 6 )* ^ w :7 6 )* u 9 '6O , M 6O# ]$ WP7‘ 9 , U` X' = u I7J U` X ¡ P ^ f ` "
U * $
* F7c R E E
Trang 15@E zM 6 6 ) UQ , U` X f 7c " $R
` X f7c
Z# " H U` X U P*
) Z# " *MQ U P*#
+ Z# " *MQ U 7L*U P*+ # *) #
Trang 16A Z# " *MQ 7@E 7c e • 1 v 8
Z# " *MQ 7@E 7c e %(` 7JR Z# " *MQ ` : Y F$
Trang 17? › Žq • Žq • f 6"c U w 7
5 i S y P6c 7 U` X Žq •$ ` X M u6 "x *F$
WP , M "c H = ? # ] U IU` X Žq • j 6c Y S l ,
Q x ]œh " * *| O*U P "x 7o SS6* 18R
(` 7J R ! Q œh " * *| O*U P
main() { char ht[25];
Trang 18= # ,#R #* 1 8•„„ ; K Y U` X N v*L $
!, 7J R W@ U` X 6Q 7"*$ ' ] OU` X @A v*L 'U F6|'] Oa<‡$
F )GH#* 1Ž2•8• u @ 6Q ? c f ` " w U` X 2$
' 5) J RP 2 (
! " J M' uv{ , ' '#* 'U ' 6 ' " "vM 1 " @) " "$ 8
I * -1
= # ,#R 1 " 78•
!, 7J R Z H U` X # ` 1 " "6 8'U " P f 6Q ? $ i] OU` X Z @A $
Trang 19K ? 6#L+ !#?
H 45( D
M
/H , J' H P* ; ' H z*6) , '$$$ @A U9 = 7L*C•D O* @A B 6 Hz*6) $ (` 7JR
Trang 20m) #$ 6 H z*6) O*U ) e ] L ' = F P ? LM " L ] ,6Z# ? $ m) #$ " # {# 6X B ) X U 6) Y H " , *§
Trang 21printf(“Gia tri nhap vao la bang 0.\n”);
printf(“Ket thuc chuong trinh\n”);
Trang 24M# 1 P* ; *MQ 8
¥
* R, z*6)
* R, z*6)
$$$
* UR, z*6)ˆ7 S *6 R
Trang 25? $
/,M u U w ", I M# U F x# z*6) * !' *+ "x F x# 7L*C¦D Y z*6) M# $
= € l H U ,M ]M E H K " F ? 9*U9 = Y 7KM 6) @e ;
E K M U F6) * ! ? F u 9# J X ) , z*6) K [ " 9 Ux# 6) * ! "x *+ $ @ 9 9* | 7KM , z*6) @e ; E , K U9 =z*6) * ! ? ^ H " , 7KM 6) M @A @ ) $
Trang 263 H $
9 = $9* › ,M u R
3 $
9 = $9* › ,M u R
= $
9 = $
WP LM s , 7J 6) * !' KM I : ` 7J Q $(` 7JR 9*6) * !
3 H $
3 $
9 = $9* › ,M u R
3 $
9 = $
Trang 28Q ? RS T
! YL Z 9
! " U 6Z# ? ' x# @ A# H z*6) 6x# 6x# 6c E 6N 6x# * c $9* 9 6x# 6x# 6c , z*6) M ? @e ? u L 7 $ J P' ] I * , 9 6Q ? ' | Q H 7j ? $ ! " @ A# M' F P 9z*6) # $ P P f , f M 1 "x z*6) 8' @ s , 6 M "
" U U " B ` "ž b , 9 H z*6) R
# S1©œ7q œ7q $$$ œ7q œ7q ©' ' '&' 'p'$$' 8•
WP ] -*M9 " L O M' * L# z*6) $ " # {# 6Z# ? X ) 6x# 6x#6c H z*6) ' = # ,# @ *R
Trang 30h[.` > H 7& 1 T <m !b3 X 8
V
a 7
V * * W= 'ž›>
Trang 31}
(` 7J R ` v " ; vL# v^ *| ! M6"
= 9 l ,M ` X ^ 9 6 , 6) B e ] 6 [' 5'h' <!'
2 '< $$$ j , 6@A , ' Q* ) $$$ ? ,M ` U 9$ ! F P6LM `7J ` 6c ab}1v8 -* , # {# ` B FU P *| ! M6" E H
Trang 32• *MP j 6x# $ j 6x# M #*$
• ( 9 @e ? ` 1v8 P U " *| *R
1v8 › v„ ž ¤ v&„&ž [ $$$ [ 15 8 $v [ „1 [ 8ž # N I @A B " E U c H ` v, R v [ „1 [ 8ž Ÿ a}3 17o ^9HR
scanf("%d", &n);
printf(" B•n •ã ••c m•t s• %d\n", n);
}while (n<=0);
printf(" •úng s• d••ng r•i.");
Trang 34for (i=1; i <= 5; i++)
{printf(" B•t ••u %d\n", i);
Trang 36scanf(“%f%f”, &x, &y);
printf(“Giá tr• l•n nh•t c•a %f và %f là ”, x, y, max2so(x, y));
F f ` U , * " E 9 P f d R
Trang 38' H ] 5)
Q t 1ˆ7 , , X ‹8•
= N # z ) R v*L ) " # N U ," @A B 6 ? ; ' v*L ) " # N B @A B 6 X $
Trang 39int i;
long gt = 1;
if (n > 1) /* N•u không có câu l•nh này ???*/
for (i=2; i <=n; i++)
9 ^ @A I7J Q " <o1&$
" ' = Z LM l <o1& I7J , f Y 9 U M : ?F$ !*M Q = " " F P M : , f Y " <o1&$ £ c R
printf(" %d %d\n", i++, m);
Trang 40!*M Q ' O* M " LM ) M : oM ) , f Y 9 " J u6 L `
U P ",' L 6 " , @e ? 6E $ (? ZM'<M( Rj 1i H A (i( ! C U( A$
(O *MQ ƒ ' @ F PU ," , 9 " J O* | " ? ` , Y '7‘
? '7‘ ? U 9 Y @e ? ' Q U ," L ] , 9 " J 9* F I7J MN* @e ? $
W E , 9 J H @A U ," " H ? = U F X 6 Q ) " E, 9 J H @A U ," " U , E L U§ 9 " J " F o Q
Trang 41main()
{
int cuc_bo = 100; /* Bi•n c•c b• */
ham_vi_du(); /* G•i hàm ví d• */
printf(“Bi•n c•c b• trong hàm main:\n cuc_bo = %d\n”, cuc_bo);
printf(“Bi•n toàn c•c:\n a = %d\n”, a);
V 9 J H @A 6 6"cR 9 J H X H 9 J H d $
? A (i( Hp + p
, L# # , H E " , 9 J H Y @A B 6 L# # , X H ' N 9 z*L# # , 9 F' | 6N B 6 H 6N L# # ,$ \ , f Y , 9 J H M U @A6@* 6c H U U9 = "c H $ (? ZM F H *MQ ƒ @ *R
( H A (i( Hp !& 8 A Z&\ ( ( ( !- R9& - H A !- J6G( ( H A ]9
Trang 42Goi lan thu 1
Goi lan thu 2
Goi lan thu 3
Goi lan thu 4
Goi lan thu 5
9 d ^ F P @A I7J " <o1& $
'! S ) CD 5 _
! @E U ? M O , I7J Y H 6 " w' = uv U ,) ]9 ( u ( $
m@* € 6 ,M # z ) , U P* f ^R f ^U P* # ' f ^U P* $ ' f ^U P*) + *'$$$
Trang 43U ," *MQ 9'H " w U P*# 6 3; 36$ K F , U ," M ? ,z*6) *R
Trang 44@e ? M " U9 -*] *R
Tr••c khi g•i hàm : 10 20
Tr••c khi hoán v• : 10 20
Sau khi hoán v• : 20 10
Sau khi g•i hàm : 10 20
void hoan_vi(int *a, int *b)
// a và b bây gi• là 2 ••a ch•
{ int t;
printf(" Tr••c khi hoán v• : %d %d\n", *a, *b);
t = *a; /* t nh•n giá tr• ch•a trong ••a ch• a */
Trang 45Sau khi g•i hàm : 20 10
= KM = € U` )*R
w9 B 6 , f c f ^9'6 U` )* , f @A 6@* " H E F f ^6 9$
v9 B 6 f ^ Y 9'6 U` )* f ^ H E ; , f 9$
z* w x 6 R U " ? 7o 6 " w¨! X ' " , Y H' 6 6"c$ m"c ; L 6 , , , f N *MO " " ' B 6 "$ m"c ; 6 , 7o P ; , U9 -*] E Z @A ' B 6
$ (` 7J' N 6Z# H P ] # @e ? Z 1 v [ v [ › >8' ? , " u69'H'(• j , u6 , Q ; ; $ @ 9' , ; ; # ] I7J
Trang 47while (i < n) {
i = i+1;
k = k*i;
} return(k); /* Gán k•t qu• t• bi•n trung gian k vào tên hàm */
Trang 48KM ‡ " 6 7KM ‡ '‡ '‡&'$$$$ ‡ @A c" E ; R
‡ › ‡ 5 [ ‡ 5(E ‡ › '‡ ›
Trang 50for (i=0; i < kich_thuoc; i++)
c[i] = a[i] + b[i];
Trang 52{ printf(" x[%d]= ", i);
scanf("%d", &x[i]); /* ••ng quên d•u & */
}
/* S•p x•p m•ng theo chi•u t•ng d•n */
for (i=0; i < kich_thuoc-1; i++)
for (j=i+1; j < kich_thuoc; j++) {
if (x[i] > x[j]) {
tam=x[i]; /* Hoán ••i giá tr• 2 bi•n */
x[i]=x[j];
x[j]=tam;
} }
/* Vi•t l•i các giá tr• c•a m•ng lên màn hình */
tam=x[m];
x[m]=x[i];
x[i]=tam;
} }
Trang 53N hz3 ;A3 _ H)
*MQ ƒ Y # @e # ,# 6 7*M) , # N I Y ] ,M 6Q 9 ^ 1 M *.] 9 N* ] 8$ B @ 9* x# # N IU9 Z @A ; X ? : : = "
*$ @ ZM' " 6@A N* , f w L u *MP 6Q 9 ^ 1 N* ] 8$ W9 6@A ;'# N I w ; @A *MP 6Q f ` ; '$$$ 9* ? 7* ' ] @A x £
if (x[j] < x[j-1]) {
tam=x[j];
x[j]=x[j-1];
x[j-1]=tam;
} }
Trang 54} hoanvi(&a[j], &a[l]);
quicksort(a, l, j-1);
quicksort(a, j+1, r);
} }
while ((i < n) && (a[i] != x)) i++;
return(i); /* n•u i = n thì không tìm th•y x */
g = (t + p)/2;
if (x < a[g]) p = g – 1;
else if (x > a[g]) t = g + 1;
Trang 55} return(n); /* tr••ng h•p không tìm th•y x */
}
L3R iKM " , # @e # ,# ? U 9 f # z # @e # ,# ? U 9 *N X$
*' $ 5 ) CD 5)
ƒ 6c l # {# ", 6LM f ^ H 9 6 G' F y @A ,# 7J " , # N I Y] $
/* Vi•t l•i các giá tr• c•a m•ng lên màn hình */
printf(" \nM•ng x g•m có các ph•n t•");
for (i=0; i < kich_thuoc; i++) printf("%7d", x[i]);
}
Trang 56if (x[i] > x[j]) {
tam=x[i];
x[i]=x[j];
x[j]=tam;
} }
}
! ` 7J Q Z LM'U U ," F 6 ] ' ^ N U ," ] E7L* "x * P *MO " f ^ Y ] $
void sap_xep(int n, int x[]);
> vˆ>'>‹ bˆ>' ‹ vˆ>' ‹ vˆ>'&‹ vˆ>' ‹
vˆ '>‹ bˆ ' ‹ vˆ ' ‹ vˆ '&‹ vˆ ' ‹
vˆ '>‹ bˆ ' ‹ vˆ ' ‹ vˆ '&‹ vˆ ' ‹(` 7J O *M Z# , # N I Y ] 6 @ *R vˆ>'&‹• vˆ '¬‹'š
(` 7J U ," , ] U , R
float x[2][2];
Trang 57void nhap_ma_tran (int a[][Max_Cot], int so_hang, int so_cot);
void tinh_tong (int a[][Max_Cot], int b[][Max_Cot],
int c[][Max_Cot], int so_hang, int so_cot);
void in_ma_tran (int c[][Max_Cot], int so_hang, int so_cot);
main()
{
int so_hang, so_cot;
/* Khai báo các m•ng */
int a[Max_Hang][Max_Cot], b[Max_Hang][Max_Cot], c[Max_Hang][Max_Cot];
printf(" Bao nhieu hang : ");
scanf("%d", &so_hang);
printf(" Bao nhieu cot : ");
scanf("%d", &so_cot);
printf("\n\nMang thu nhat:\n");
nhap_ma_tran (a, so_hang, so_cot);
Trang 58nhap_ma_tran(b, so_hang, so_cot);
tinh_tong(a, b, c, so_hang, so_cot);
printf("\n\nTong cua 2 mang la:\n\n");
in_ma_tran(c, so_hang, so_cot);
return;
}
/* Tính t•ng 2 m•ng các s• nguyên */
void tinh_tong(int a[][Max_Cot], int b[][Max_Cot],
int c[][Max_Cot], int m, int n);
Trang 61char line[20]="Hoc TC kho qua";
char *message="Hoc TC kho qua";
Trang 62char str1[dodaixau], str2[dodaixau];
printf("\nNhap vao mot str 1:");gets(str1);
printf("Nhap vao mot str 2:");gets(str2);
printf(" Sau khi strcat str2 vao str1: %s",strcat(str1,str2));
getch();
}
cM @e ? ' 9* Z# , vz* " R "x R H 7 Y = @A -*,U` @E U ," ? ,M u6|$ !@e X " @ A# 9* R !' cR d"R !' cR d6E
e U` @E R @A U ,"$
Q s 9 H \ 7& *+ < z( 3 i( M q A& ;L& q( Y3 < A&
| > a
Trang 63#define dodaixau 80
main()
{
char str1[dodaixau], str2[dodaixau];
printf("\nNhap vao mot str 1:"); gets(str1);
printf("Nhap vao mot str 2:"); gets(str2);
if (dodaixau > strlen(str1) + strlen(str2))
printf(" Sau khi strcat str2 vao str1: ",strcat(str1, str2));
else printf("Khong du cho trong");
printf("Nhap vao mot str 2:"); gets(str2);
printf(" Sau khi strcat str2 vao str1: %s",strcat(str1, str2));
• i vz* l * 9* l * ] H 7* H 7 $
Trang 64= # ,#R R ( 3c( 9 wR G( 9 wR d
i ] OR > 9* vz* l *
r> 9*vz*R } RŸ> 9*vz*R ~ R(` 7JR Z# " vz*' " 9 vz* M M U , $
#include <string.h>
main()
{
char *str1, *str2;
printf("\nNhap vao mot str 1:");gets(str1);
printf("Nhap vao mot str 2:");gets(str2);
Trang 65printf("Nhap vao mot chuoi :"); gets(pstr);
printf("\nChuyen pstr sang so nguyen int: %d", atoi(pstr));
printf("\nChuyen pstr sang so nguyen dai: %ld", atol(pstr));
printf("\nChuyen pstr sang so thuc: %f", atof(pstr));
Trang 661 &H!' R 1 c( R ( 9 w 3 G( 9 ww' 13 dR *MP : H *| w " w 3 X U P*1 &H!'$ i F R H *| 3 c( 9 w 3 d H " w w O
printf("Nhap vao mot chuoi:");gets(str);
printf("\nPhan so kieu double:%.2f", strtod(str,&pstr));
Trang 68= " P U ]" Q , vI 6` *| " , @ ) R GR 1!H G( 63' $
printf("Nhap cac xau:\n");
for(i = 0; i < row; i++)
gets(mainstr[i]);
// Hien thi mainstr
for(i = 0; i < row; i++)
puts(mainstr[i]);
sapxep(mainstr,row);
// Hien thi mainstr sau khi sap xep
printf("Xau sau khi sap xep:\n");
for(i = 0; i < row; i++)
Trang 69/* hi•n th• dòng kí t• d••i d•ng ch• hoa */
for (dem ; dem >= 0; dem )
putchar(toupper(xau[dem]));
}
i + * 7o P *MP H U` X @ U` X " $m@*€R U * , H vz*U` # ] I7J J$ (` 7JR
Trang 71unsigned char ngay;
unsigned char thang;
unsigned int nam;
}date1, date2;
"x
struct Date date1, date2;
! " F F ` 9 ) M' , ' ^7o , 7@e Q U ," E U F+ # *)$
" ' = F P I7J U F 63'1'^ P f d L* = @ *R
typedef struct {
unsigned char ngay;
unsigned char thang;
unsigned int nam;
typedef struct {
char Ho_Ten[30];
struct Date Ngay_Sinh;
unsinged Gioi_Tinh; /* Nu=0, Nam=1 */
struct Dia_chi O_Tai; /* • t•i */
float Luong; /* L•ng */
} Nhan_Su;
Trang 74void sapxep(Nhan_Cong *p, int n);
void hoanvi(Nhan_Cong *p1, Nhan_Cong *p2);
printf(“Nhap so nhan cong: ”); scanf(“%d”, &n);
for(i = 0; i<n; i++) nhap(&ds[i]);
sapxep(ds, n);
printf(“Danh sach cac nhan cong da sap xep\n”);
for(i = 0; i<n; i++) xuat(ds[i]);
printf(“Ho ten: ”); scanf(“%s”, n.hoten);
printf(“Bac luong: ”); scanf(“%f”, &bl);
Trang 75union table co_address;
union table code_string[10];
union table address_no;
Trang 76• 4 , Q F P ", Q %$> : P 6E e $>
Trang 77# include <stdio.h>
FILE *fp;
Trang 78int putc(int ch, FILE *fp)
int fputc(int ch, FILE *fp)
i M F ; @ *' O* H U` X ( " )# @A w ^3$ i ]OU` X @A ' 9* F6| v]M ? ] Oa<‡$
(` 7JR
Trang 79• "x K B @A Q U` X
• i"x x# 7L*v* 7j 1 x# K & >8$ /K > @A " vz*U9 -*]$
• i"x U9 = )#
bz*U9 -*] @A : * Q U` )*Žq>•$
Trang 81if ((th = fopen("thuchanh.txt", "a+")) == NULL){
printf("Loi mo tep tin thuchanh.txt");
exit(1);
}
fputs("Hom nay, ngay 22 thang 7 nam 2005.", th);
fputc(10, th); /* ghi ki tu xuong dong */
if ((nd = fopen("noidung.txt", "w+")) == NULL) {
Trang 82exit(1);
}
fputs("Chung ta dang thuc hanh", nd);
fputc(10, nd); /* ghi ki tu xuong dong */
fputs("ve thao tac tep tin trong C.", nd);
fputc(10, nd); /* ghi ki tu xuong dong */
/* chep tu tep noidung.txt sang cuoi tep thuchanh.txt */ rewind(nd);
while(fgets(line, LONG, nd) != NULL) fputs(line, th);
Trang 83d ##?+ !
ˆ ‹
Trang 85p$ $ Wf ^ " w$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%p$ $ i F 6 " w $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%p
Trang 86p$•$ !)# Q* O )# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >p$•$ !)# Q* O # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >p$•$& !)# Q* O ) # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >p$•$ !)# Q* O $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >