Mô tả:
CHÆÅNG V
CAÏC TOAÏN TÆÍ ÂIÃÖU KHIÃØN
I.
Toaïn tæí IF
Cuï phaïp:
Daûng 1:
if (Biãøu thæïc âiãöu kiãûn)
;
Daûng 2:
if (Biãøu thæïc âiãöu kiãûn)
;
else
;
Chæïc nàng:
- Nãúu Biãøu thæïc âiãöu kiãûn coï giaï trë
bàòng 1 thç thæûc hiãûn Cáu lãûnh 1.
- Ngæåüc laûi thç thæûc hiãûn Cáu lãûnh 2
(Daûng 2), hoàûc thæûc hiãûn caïc lãûnh sau if
(Daûng 1)
Vê duû: Giaíi phæång trçnh báûc hai:
#include "stdio.h"
#include "math.h"
void main()
{
int a,b,c;
float x1,x2,del;
clrscr();
printf("\nNhap he so a = "); scanf("%d",&a);
printf("\nNhap he so b = "); scanf("%d",&b);
printf("\nNhap he so c = "); scanf("%d",&c);
del=pow(b,2)-4*a*c;
if (del >= 0)
{
printf("Phuong trinh co nghiem");
x1=(b-sqrt(del))/2*a; x2=(b+sqrt(del))/2*a;
printf("\n x1 = %6.2f",x1);
printf("\n x2 = %6.2f",x2);
}
else
printf("\n Phuong trinh vo nghiem");
getch();
}
Chuï yï:
- Hoaìn toaìn giäúng caïc ngän ngæî láûp
trçnh khaïc, thç C cuîng cho pheïp sæí duûng
caïc toaïn tæí if läöng nhau.
Vê duû:
if (a>b)
if (b>c)
z=b
else
z=c
...
- Mäüt daûng khaïc cuía kiãøu toaïn tæí if läöng
nhau:
if (Biãøu thæïc âiãöu kiãûn 1)
;
else if (biãøu thæïc âiãöu kiãûn 2)
;
.
.
.
else if (biãøu thæïc âiãöu kiãûn n-1)
;
else
;
Vê duû:
Viãút chæång trçnh nháûp vaìo mäüt säú tæì 1
âãún 7 vaì cho hiãøu thë thæ trong tuáön.
#include "stdio.h"
void main()
{
int t;
clrscr();
printf("Nhap so thu tu cua ngay trong tuan t = ");
scanf("%d",&t);
if (t==1)
printf("\nNgay chu nhat");
else if (t==2)
printf("\nNgay thu hai");
else if (t==3)
printf("\nNgay thu ba");
else if (t==4)
printf("\nNgay thu tu");
else if (t==5)
printf("\nNgay thu nam");
else if (t==6)
printf("\nNgay thu sau");
else
printf("\nNgay thu bay");
getch();
}
II.
Toaïn tæí switch
Vãö yï tæåíng gáön giäúng toaïn tæí Case ..
Of cuía Pascal. Toaïn tæí switch cho pheïp
càn cæï vaìo giaï trë cuía mäüt biãøu thæïc
nguyãn âãø choün mäüt trong nhiãøu caïch
nhaíy.
Cuï phaïp:
swith (Biãøu thæïc)
{
case n1:
;
case n2:
.
.
case nk:
[default:
;]
}
Trong âoï:
- ni laì caïc säú nguyãn, hàòng kyï tæû hoàûc
biãøu thæïc hàòng, caïc ni cáön coï caïc giaï
trë khaïc nhau.
- Âoaûn chæång trçnh âàût giæîa { vaì } chênh
laì thán cuía switch.
- default laì mäüt thaình pháön khäng bàõt
buäüc
- Thæï tæû cuía ni vaì default khäng theo tráût
tæû naìo caí.
- Sæû hoaût âäüng cuía switch tuyì thuäüc
vaìo giaï trë cuía biãøu thæïc.
- Khi biãøu thæïc coï giaï trë ni thç nhaíy tåïi cáu
- Ra khoíi switch:
Maïy seî ra khoíi switch khi gàûp lãûnh break hoàûc gàûp
dáúu ngoàûc âäúng cuäúi cuìng (})cuía switch.
Coï thãø duìng lãûnh goto trong thán switch âãø nhaíy
âãún mäüt lãûnh ngoaìi thán switch
Nãúu switch nàòm trong mäüt haìm naìo thç coï thãø sæí
duûng lãûnh return âãø ra khoíi haìm âoï.
Chuï yï:
Khi maïy nhaíy tåïi mäüt lãûnh naìo thç
sæû hoaût âäüng tiãúp theo cuía noï seî
phuû thuäüc vaìo caïc lãûnh âæïng sau
cáu lãûnh naìy.Tæïc laì nãúu maïy nhaíy
tåïi cáu lãûnh coï nhaîn case ni thç noï coï
thãø thæûc hiãûn táút caí caïc lãûnh sau
âoï cho tåïi khi gàûp lãûnh break, goto
hoàûc return.
Vê duû:
Viãút laûi chæång trçnh åí vê duû trãn bàòng caïch sæí
duûng switch.
#include "stdio.h"
void main()
{
int ch,t;
tt: clrscr();
printf("Nhap so thu tu cua ngay trong tuan t = ");
scanf("%d",&t);
switch (t)
{
case 1:printf("\nNgay chu nhat");
break;
case 2:printf("\nNgay thu hai");
break;
case 3:printf("\nNgay thu ba");
break;
case 4:printf("\nNgay thu tu");
break;
case 5:printf("\nNgay thu nam");
break;
case 6:printf("\nNgay thu sau");
break;
case 7:printf("\nNgay thu bay");
break;
default:printf("\nNhap lai");
getch();
goto tt;
}
printf("\nTiep tuc khong 1/0 ch = ");
scanf("%d",&ch);
if (ch==1) goto tt;
}
III. Toaïn tæí goto vaì nhaîn
-
-
Nhaîn coï cuìng daûng nhæ tãn biãún
vaì âi liãön sau noï laì dáúu (:), nhaîn
coï thãø gaïn cho báút kyì cáu lãûnh
naìo trong chæång trçnh
Vê duû:
tt:clrscr(); /* tt laì nhaîn cuía cáu lãûnh xoaï
maìn hçnh clrscr()*/
Toaïn tæí goto coï daûng:
goto nhaîn;
Khi gàûp cáu lãûnh naìy maîy seî nhaíy
tåïi cáu lãûnh co nhaîn viãút sau tæì
khoaï goto
Chuï yï:
- Cáu lãûnh goto vaì nhaîn cáön nàòm
trong mäüt haìm. Âiãöu âoï noïi lãn
ràòng: Toaïn tæí goto chè cho pheïp
nhaíy tæì vë trê naìy sang vë trê khaïc
trong thán cuía haìm. Khäng duìng nhaíy
tæì haìm naìy sang haìm khaïc.
- Khäng cho pheïp duìng toaïn tæí goto
âãø nhaíy tæì ngoaìi vaìo trong mäüt
khäúi lãûnh, nhæng âiãöu ngæåüc laûi
thç coï thãø thæûc hiãûn âæåüc.
IV. Toaïn tæí for
Cuï phaïp:
for (biãøu thæïc 1; biãøu thæïc 2;
biãøu thæïc 3)
Chæïc nàng:
Cho thæûc hiãûn cáu lãûnh sau for våïi
säú láön âënh træåïc båíi caïc biãøu thæïc
trong for.
Trong âoï:
- Biãøu thæïc 1: Laì mäüt toaïn tæí gaïn
âãø taûo giaï trë khåíi âáöu cho biãún
âiãöu khiãøn.
- Biãøu thæïc 2: Laì mäüt quan hãû logic
biãøu thë âiãöu kiãûn âãø tiãúp tuûc
chæång trçnh.
- Biãøu thæïc 3: Laì mäüt toaïn tæí gaïn
âuìng âãø thay âäøi giaï trë cuía biãún
Chuï yï:
Khi biãøu thæïc 2 vàõng màût thç noï luän
luän âæåüc xem laì âuïng. Trong træåìng
håüp naìy viãûc ra khoíi voìng làûp for
cáön âæåüc thæûc hiãûn nhåì lãûnh
break, goto hoàûc return.
Trong dáúu ngoàûc troìn sau tæì khoaï for
gäöm ba pháön phán caïch nhau båíi dáúu
;. Trong mäùi pháön khäng nhæîng coï
thãø viãút mäüt biãøu thæïc maì coìn coï
quyãön âæåüc viãút mäüt daîy biãøu thæïc
phán caïch nhau båíi dáúu pháøy (,). Khi
âoï caïc biãøu thæïc trong mäùi pháön seî
âæåüc xaïc âënh láön læåüt tæì traïi sang
phaíi. Tênh âuïng sai cuía daîy biãøu thæïc
trong pháön thæï hai âæåüc hiãøu laì tênh
Bãn
trong thán cuía mäüt toaïn tæí for coï
thãø sæí duûng caïc toaïn tæí for khaïc.
Tæïc laì caïc voìng for läöng nhau.
Khi gàûp cáu lãûnh break trong thán for,
maïy seî ra khoíi toaïn tæí for sáu nháút
chæïa cáu lãûnh naìy
Trong thán for coï thãø sæí duûng toaïn
tæí goto âãø nhaïy ra khoíi voìng for âãún
mäüt vë trê báút kyì naìo âoï. Cuîng coï
thãø duìng return trong thán for âãø tråí
vãö mäüt haìm naìo âoï.
Vê duû 1:
Nháûp vaì Sàõp xãúp maíng mäüt chiãöu theo
chiãöu tàng dáön.
#include "stdio.h"
main()
{
int i,j,temp;
int a[10];
clrscr();
for (i=0;i<10;++i)
{
printf("a[%d] ",i);
scanf("%d",&a[i]);
}
for (i=0;i<10;++i)
for (j=i+1; j<10;++j)
if (a[i]>a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
for (i=0;i<10;++i) printf("%d ",a[i]);
getch();
return 0;
}
- Xem thêm -