Tải bản đầy đủ (.pdf) (16 trang)

Các câu lệnh điều khiển

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (151.06 KB, 16 trang )

Chỉång V : Cạc cáu lãûnh âiãưu khiãøn


Trang 35
Ch−¬ng V.
CẠC CÁU LÃÛNH ÂIÃƯU KHIÃØN
Thäng thỉåìng trong mäüt chỉång trçnh, cạc cáu lãûnh âỉåüc thỉûc hiãûn tưn tỉû tỉì trãn
xúng. Tuy nhiãn cọ nhiãưu khi ta lải mún thay âäøi tráût tỉû trãn nhåì sỉí dủng cạc cáu lãûnh âiãưu
khiãøn chỉång trçnh. Cạc cáu lãûnh âiãưu khiãøn cọ thãø lm cho cạc cáu lãûnh âỉåüc thỉûc hiãûn nhiãưu
láưn hồûc khäng láưn no c.
Cạc cáu lãûnh âiãưu khiãøn gäưm cọ :
• cáu lãûnh r nhạnh : if...else ; switch
• cáu lãûnh nhy khäng âiãưu kiãûn
• cáu lãûnh vng làûp
• cáu lãûnh häù tråü nhỉ break, continue.
I.
Cáu lãûnh if .. else....:
I.1.

Cạc dảng ca cáu lãûnh if :
Dảng 1 : if (biãøu thỉïc) /* khäng cọ dáúu cháúm pháøy åí âáy*/
lãûnh_1;

Dảng 2 : if (biãøu thỉïc)
lãûnh_1;
else
lãûnh_2;
biãøu thỉïc
khäúi lãûnh 1
T
F


Chổồng V : Caùc cỏu lóỷnh õióửu khióứn


Trang 36

Daỷng 1 : nóỳu bióứu thổùc coù giaù trở khaùc 0 (TRUE) thỗ thổỷc hióỷn khọỳi lóỷnh 1, nóỳu bũng 0
(FALSE) thỗ tióỳp tuỷc thổỷc hióỷn lóỷnh tióỳp theo sau lóỷnh if.
Daỷng 2 : nóỳu bióứu thổùc coù giaù trở khaùc 0 (TRUE) thỗ thổỷc hióỷn khọỳi lóỷnh 1, nóỳu bũng 0
(FALSE) thỗ thổỷc hióỷn khọỳi lóỷnh 2.
Bióứu thổùc khọng nhỏỳt thióỳt phaới laỡ bióứu thổùc so saùnh maỡ coù thóứ laỡ bióứu thổùc sọỳ hoỹc.
Vờ duỷ : tỗm sọỳ lồùn nhỏỳt vaỡ nhoớ nhỏỳt trong 2 sọỳ nhỏỷp tổỡ baỡn phờm.
#include <stdio.h>
#include <conio.h>
main()
{
float x,y,min,max;
printf(Nhap so thuc thu nhat:);scanf(%f,&x);
printf(Nhap so thuc thu hai :);scanf(%f,&y);
if ( x<y )
{ min = x;
max = y;
}
else
{ min = y;
max = x;
}
printf(\n Gia tri lon nhat = %f, Gia tri nho nhat = %f,max, min);
getch();
return 0;
}

Ta coù thóứ thay thóỳ lóỷnh trón bũng lóỷnh :
min=(x<y)? x:y;
max=(x>y)? x:y;
I.2.
Sổỷ lọửng nhau giổợa caùc cỏu lóỷnh if:
Caùc cỏu lóỷnh if coù thóứ lọửng nhau : trong khọỳi lóỷnh cuớa cỏu lóỷnh if naỡy coù thóứ coù cỏu
lóỷnh if khaùc. óứ traùnh nhỏửm lỏựn ta nón sổớ duỷng dỏỳu õoùng mồớ khọỳi lóỷnh.
bióứu thổùc
Khọỳi lóỷnh 2
khọỳi lóỷnh 1
T
F
Chổồng V : Caùc cỏu lóỷnh õióửu khióứn


Trang 37
Nóỳu sọỳ tổỡ khoùa if bũng sọỳ tổỡ khoùa else thỗ ta coù tổồng ổùng tổỡng cỷp if-else
Nóỳu sọỳ tổỡ khoùa if nhióửu hồn sọỳ tổỡ khoùa else thỗ else õổồỹc gừn vồùi if lióửn trổồùc noù.
Vờ duỷ :
if (n>0)
if (a>b)
z=a;
else z=b;
Nhổ vỏỷy else seợ gừn lióửn vồùi if thổù hai.


óứ chổồng trỗnh trong saùng, ta cỏửn tuỏn thuớ :
Ta nón sổớ duỷng cỷp dỏỳu {} õóứ chừc chừn khọng nhỏửm lỏựn.
Caùc cỏu lóỷnh, khọỳi lóỷnh nũm trong mọỹt cỏu lóỷnh if nũm dởch vóử bón phaới.


Caùc cỏu lóỷnh, khọỳi lóỷnh cuỡng cỏỳp thỗ vióỳt thúng cọỹt.
ióứm õỏửu vaỡ õióứm cuọỳi cuớa khọỳi lóỷnh phaới nũm thúng cọỹt.
Vờ duỷ :
if (n>0)
if(a>b)
z=a;
tổồng õổồng vồùi :
if ((n>0)&&(a>b))
z=a;
I.3.
else if:
if (bióứu thổùc 1)
khọỳi lóỷnh 1;
else if (bióứu thổùc 2)
khọỳi lóỷnh 2;
.......
else if ( bióứu thổùc n)
khọỳi lóỷnh n;
else khọỳi lóỷnh n+1;
ọỳi vồùi cỏu lóỷnh naỡy :
Chố coù 1 trong n+1 khọỳi lóỷnh õổồỹc thổỷc hióỷn .
Nóỳu bióứu thổùc i laỡ bióứu thổùc õỏửu tión khaùc 0 (TRUE) thỗ khọỳi lóỷnh i õổồỹc thổỷc hióỷn
Nóỳu caớ n bióứu thổùc õóửu bũng 0 (FALSE) thỗ khọỳi lóỷnh n+1 õổồỹc thổỷc hióỷn.
Vờ duỷ : giaới phổồng trỗnh bỏỷc 2
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
Chổồng V : Caùc cỏu lóỷnh õióửu khióứn



Trang 38
float a,b,c,delta;
printf(\nNhap vao 3 he so:);
scanf(%f%f%f,&a,&b,&c);
if (a==0)
if (b==0)
if (c==0)
printf(\nPhuong trinh dung voi moi x);
else printf(\nPhuong trinh vo nghiem!);
else printf(\nPhuong trinh co 1 nghiem x: %f,(-c) / b);
else
{
delta=b*b-4*a*c;
if (delta<0.0)
printf(\nPhuong trinh vo nghiem);
else if (delta==0.0)
printf(\nPhuong trinh co mot nghiem kep : x = %f,-b/(2*a));
else { printf(\nPhuong trinh co hai nghiem phan biet :);
printf(\nx1 = %f, (-b+sqrt(delta))/(2*a));
printf(\nx2 = %f, (-b-sqrt(delta))/(2*a));
}
}
getch();
return 0;
}
II.
Cỏu lóỷnh switch:
Lóỷnh if chố cho pheùp ta choỹn mọỹt trong hai phổồng aùn tuỡy theo bióứu thổùc õióửu kióỷn.

Tuy nhión õọi khi ta cỏửn phaới lổỷa choỹn 1 trong nhióửu phổồng aùn khaùc nhau. óứ thuỏỷn tióỷn ta seợ
duỡng cỏu lóỷnh switch:
switch (bióứu thổùc)
{
case hũng1 : [ khọỳi lóỷnh 1 ; ]
case hũng2 : [ khọỳi lóỷnh 2 ; ]
........
case hũngn : [ khọỳi lóỷnh n ; ]
[default : khọỳi lóỷnh n+1 ; ]
}
Trong õoù :
bióứu thổùc: laỡ bióứu thổùc nguyón bỏỳt kỗ
Caùc hũng i phaới coù giaù trở khaùc nhau
Caùc khọỳi lóỷnh i vaỡ thaỡnh phỏửn default laỡ khọng bừt buọỹc.
Sổỷ hoaỷt õọỹng cuớa cỏu lóỷnh switch :
Chổồng V : Caùc cỏu lóỷnh õióửu khióứn


Trang 39
Maùy seợ so saùnh bióứu thổùc vồùi caùc hũng i theo thổù tổỷ tổỡ trón xuọỳng. Khi bióứu thổùc coù giaù
trở bũng hũng i thỗ khọỳi lóỷnh i õổồỹc thổỷc hióỷn. Nóỳu trong khọỳi lóỷnh õoù khọng coù lóỷnh nhaớy thỗ
seợ thổỷc hióỷn tióỳp tuỷc caùc khọỳi lóỷnh bón dổồùi maỡ khọng cỏửn so saùnh tióỳp. Nóỳu trong khọỳi lóỷnh
õoù coù lóỷnh break thỗ seợ thoaùt ra khoới cỏu lóỷnh switch. Khi bióứu thổùc coù giaù trở khaùc vồùi tỏỳt caớ
hũng i thỗ seợ thổỷc hióỷn khọỳi lóỷnh n+1 (nóỳu coù).
Khi bióứu thổùc bũng vồùi hũng i, õóứ sau khi thổỷc hióỷn xong khọỳi lóỷnh i chổồng trỗnh seợ
thoaùt ra ngoaỡi cỏu lóỷnh switch sồùm hồn ta coù thóứ duỡng lóỷnh break. Ta cuợng coù thóứ sổớ duỷng lóỷnh
goto õóứ nhaớy ra khoới cỏu lóỷnh switch (ta khọng nón duỡng lóỷnh goto).


Vờ duỷ :

#include <stdio.h>
#include <conio.h>
main()
{
char ch;
printf(\n Nhap 1 ki tu:);
scanf(%c,&ch);
switch (ch)
{
case A : printf(\nChu A);
break;
case B : printf(\nChu B);
break;
case C : printf(\nChu C);
break;
default : printf(\nKhong phai cac chu A,B,C);
}
getch();
return 0;
}
Nhióửu giaù trở case trong mọỹt trổồỡng hồỹp :
Maùy seợ tióỳp tuỷc laỡm vióỷc khi chổa gỷp lóỷnh thoaùt, vỗ vỏỷy ta coù thóứ sừp xóỳp õóứ coù nhióửu
giaù trở case trong mọỹt trổồỡng hồỹp
Vờ duỷ :
#include <stdio.h>
#include <conio.h>
main()
{
int n;
printf(Nhap diem:);

scanf(%d,&n);
Chổồng V : Caùc cỏu lóỷnh õióửu khióứn


Trang 40
switch (n)
{
case 0:
case 1:
case 2:
case 3:
case 4: printf(loaỷi keùm);break;
case 5:
case 6: printf(loaỷi trung bỗnh);break;
case 7:
case 8: printf(loaỷi gioới);break;
default: printf(loaỷi gioới);
}
getch();
return 0;
}
Trong C++ ta coù thóứ vióỳt nhổ sau :
#include <stdio.h>
#include <conio.h>
main()
{
int n;
printf(Nhap diem:);
scanf(%d,&n);
switch (n)

{
case 0,1,2,3,4: printf(loaỷi keùm);break;
case 5,6: printf(loaỷi trung bỗnh);break;
case 7,8: printf(loaỷi gioới);break;
default: printf(loaỷi gioới);
}
getch();
return 0;
}
Ta nón sổớ duỷng default cho duỡ khọng bao giồỡ xaớy ra trổồỡng hồỹp õoù: ta duỡng default õóứ
kióứm tra xem coù thóứ coù lọựi hay khọng bũng caùch õỷt mọỹt thọng baùo lọựi ồớ õoù, tổỡ õoù ta dóự gồợ rọỳi.
III.
Cỏu lóỷnh for:
óứ thổỷc hióỷn caùc cọng vióỷc lỷp õi lỷp laỷi hay laỡm vióỷc vồùi caùc phỏửn tổớ maớng, nóỳu ta
vióỳt tổỡng lóỷnh mọỹt thỗ seợ khọng hióỷu quaớ.

Daỷng :
for([ caùc bióứu thổùc khồới taỷo ] ; [ bióứu thổùc õióửu kióỷn ] ; [ bióứu thổùc thay õọứi õióửu kióỷn ])

×