Anda di halaman 1dari 12

6 STRUKTUR KAWALAN ATURCARA 6.1.1 Pemilihan dgn if & else (samb.....

Bab 2 kita telah mempelajari bagaimana hendak menyelesaikan masalah BENAR PALSU
b) if (syarat)
syarat?
dgn menggunakan struktur jujukan, struktur pemilihan, struktur
bhg_benar;
perulangan & gelung. else
bhg_palsu;
C mempunyai beberapa struktur kawalan utk mengawal aliran aturcara bhg_benar bhg_palsu
bagi melakukan pemilihan, perulangan & gelung. Struktur2 ini berguna
utk membuat keputusan.
Katakunci2 yg digunakan dlm suruhan kawalan:

if else goto
switch case while do
for c) if (syarat1) BENAR
bhg_benar1; syarat1 bhg_benar1
else if (syarat2)
6.1 Struktur Pemilihan bhg_benar2; PALSU
else if (syarat3) BENAR
Dlm struktur pilihan, arahan2 tertentu akan dipilih utk dilaksanakan, bhg_benar3; syarat2 bhg_benar2
pemilihan ini berganting kpd syarat pemilihan. :
else PALSU
C melaksanakan struktur pemilihan dgn 3 cara: bhg_palsu; BENAR
I) Pemilihan dgn if & else syarat3 bhg_benar3
II) Pemilihan dgn operator@pengolah bersyarat
III) Pemilihan dgn switch, case & break PALSU

bhg_palsu
6.1.1 Pemilihan dgn if & else

Di dlm struktur a) - c) di atas:


Katakunci if & else digunakan utk memilih aliran aturcara @
membuat keputusan. Ada 3 format penggunaan if & else dlm syarat, syarat1 ... adalah ungkapan 2 logik dan hubungan mudah/
aturcara: kompleks.
Ada 3 format penggunaan if & else dlm aturcara: bhg_benar ... terdiri dari 1 @ lebih kenyataan2 C yg akan dilaksanakan
jika syarat... adalah BENAR. Jika bhg_benar mempunyai lebih dari
PALSU satu kenyataan, ia mesti diletakkan di antara tanda { }.
a) if (syarat) syarat?
bhg_benar; bhg_palsu ... terdiri dari 1 @ lebih kenyataan2 C yg akan dilaksanakan
BENAR jika syarat... adalah PALSU. Jika bhg_palsu mempunyai lebih dari satu
kenyataan, ia mesti diletakkan di antara tanda { }.
bhg_benar
Soalan: Di dlm struktur c) di atas, jika syarat1 & syarat3 adalah
BENAR, bahagian benar manakah yg akan dilaksanakan ?

Bab 6 -1- (C) Dayang & Rosbi 2001 Bab 6 -2- (C) Dayang & Rosbi 2001
6.1.1 Pemilihan dgn if & else (samb.....) 6.1.1 Pemilihan dgn if & else (samb.....)

Contoh penggunaan if & else: Jika dlm satu pemilihan if hanya ada 1@2 bahagian pilihan sahaja
dinamakan struktur pemilihan mudah.
a) if (x == 10) d) if (x > 10)
printf( "sama dgn 10"); {
printf( "lebih dari 10"); Utk lebih dpd 2 pilihan if bersarang perlu digunakan. 2 cara if
b) if (x < 0) ++kira; bersarang digunakan:
printf( "negatif"); } i) Keputusan Berbilang Alternatif
else else Telah diguna sebelum ini iaitu if .. else if ... else rujuk if
printf( "positif"); { format c) ms 2.
printf( "kecil dari 10");
c) if (x == 0) --kira;
} ii) Syarat if yang diberi dlm beberapa aras. Contoh 3 aras i f
printf( "sifar");
bersarang:
else if (x < 0)
printf( "negatif"); e) if ((x>10) || (y>20))
printf("Memenuhi syarat"); if (syarat1)
else
printf( "positif"); if (syarat2)

if (syarat3)
Contoh pengujian fail: Untuk memastikan tiada ralat dlm proses bhg_benar;
membuka fail, pengujian boleh dilakukan terutama bagi fail yg hendak
dibaca. Semasa fail stor12.dat hendak dibuka & dibaca pengujian
dilakukan.

#include <stdio.h> if bersarang keputusan berbilang alternatif digunakan bila hanya satu
data(1 pembolehubah) shj digunakan utk mementukan bahagian yang
main()
benar.
{
FILE *failptr;
failptr = fopen("stor12.dat", "r");
Contoh if bersarang menggunakan kep.berbilang alternatif:
if (failptr ==NULL) Jika kadar kebisingan bunyi dalam desibel dihubungkan dgn kesannya
{ terhadap tanggapan manusia. Jadual di bawah menghubungkan kadar
printf("Ralat dalam pembukaan fail.\n") bunyi dgn tanggapan manusia:
exit(-1); /*Tamatkan Aturcara*/
}
kebisingan dlm desibel (db) Tanggapan manusia
return 0;
} 50 atau kurang Senyap
51-70 Menggangu
71-90 Menyakitkan hati
91-110 Sangat menyakitkan hati
Kod ini boleh ditukar spt berikut - memberi maksud yg sama: lebih dpd 110 Tidak selesa
if(failptr = fopen("stor12.dat", "r"))== NULL
{
puts("Ralat dalam pembukaan fail.");
exit(-1); /*Tamatkan Aturcara*/
}
Bab 6 -3- (C) Dayang & Rosbi 2001 Bab 6 -4- (C) Dayang & Rosbi 2001
6.1.1 Pemilihan dgn if & else (samb.....) 6.1.1 Pemilihan dgn if & else (samb.....)
Penyelesaian ....:
Penyelesaian: ii) Kod pseudo:
baca panjang & lebar dari pengguna
if (bising_db<=50) if panjang = 0 atau lebar = 0 then
printf("%d db adalah Senyap\n", bising_db); begin
else if (bising_db<=70) cetak mesej amaran
printf("%d db adalah Menggangu\n", bising_db); luas := 0
else if (bising_db<=90)
printf("%d db adalah Menyakitkan hati\n", bising_db);
end
else if (bising_db<=110) else
printf("%d db adalah Sangat menyakitkan hati\n",bising_db); begin
else if panjang negatif then
printf("%d db adalah Tidak selesa\n",bising_db); panjang:= magnitud panjang
endif
if lebar negatif then
lebar:= magnitud lebar
endif
luas := panjang * lebar
Contoh syarat if yang diberi dlm beberapa aras: end
Tulis satu aturcara utk mengira & memaparkan luas satu segiempat. endif
Saiz sisi2 segiempat ini diberikan oleh pengguna melalui papan kekunci. cetak luas
Aturcara anda mesti memastikan saiz sisi2 yg diberi bukanlah sifar atau
negatif. Jika saiz yg diberikan adalah sifar, cetak mesej amaran kpd iii) Aturcara:
pengguna & jadikan luas sifar. Jika saiz yg diberikan adalah negatif, #include <stdio.h>
main()
ambil magnitudnya shj. {
float luas, panjang, lebar;
Penyelesaian: printf ("masukkan nilai panjang dan lebar\n");
i) Analisa Masalah scanf ("%f %f", &panjang, &lebar);
Input: if (panjang== 0 || lebar ==0)
media : papan kekunci {

if bersarang 2 aras
data : panjang & lebar printf("%*@$%^#***@^\n");
luas=0;
}
Output: else
media : skrin {
data : luas segiempat if (panjang < 0)
panjang = -panjang; /*cari magnitud panjang*/
Proses: if (lebar < 0 )
1. utk mencari magnitud sesuatu nombor: lebar = -lebar; /* cari magnitud lebar*/
luas = panjang*lebar;
jika nombor adalah negatif, magnitud = -(nombor) }
jika nombor adalah positif, magnitud = nombor
2. luas segiempat = panjang x lebar printf ("luas segiempat ialah %f\n", luas);
}

Bab 6 -5- (C) Dayang & Rosbi 2001 Bab 6 -6- (C) Dayang & Rosbi 2001
6.1.1 Pemilihan dgn if & else (samb.....) 6.1.2 Pemilihan dgn pengolah bersyarat (Samb..)
Contoh:
Contoh syarat if yang diberi dlm beberapa aras: i) harga_tiket = (umur < 12) ? 10 : 20;
Kementerian pertahanan hendak menyenaraikan nama-nama kakitangan
lelaki yg berumur 20 hingga 26 tahun dan belum berkahwin. pembolehubah harga_tiket akan diberikan nilai 10 jika nilai
pembolehubah umur kurang dari 12 sebaliknya ia akan diberikan
Kenyataan if bersarang berikut boleh digunakan: nilai 20 jika nilai pembolehubah umur lebih dari@ sama dgn 12.
if (jantina == 'L' ) Kenyataan if-else yg setara:
if (taraf_perkahwinan == 'B')
if (umur <=26) if (umur < 12)
if (umur>=20) harga_tiket = 10;
printf("%s\n",nama ); else
harga_tiket = 20;

ATAU kenyataan berikut juga boleh digunakan: ii) Aturcara mencari luas segi4 menggunakan operator bersyarat:
if (jantina == 'L' )&& (taraf_perkahwinan == 'B')
&& (umur <=26) && (umur>=20) #include <stdio.h>
printf("%s\n",nama ); main()
{
float luas, panjang, lebar;

printf ("masukkan nilai panjang dan lebar\n");


scanf ("%f %f", &panjang, &lebar);
if (panjang== 0 || lebar ==0)
{
printf("%*@$%^#***@^\n");
6.1.2 Pemilihan dgn operator@pengolah bersyarat
luas=0;
C mempunyai singkatan bagi mengungkap kenyataan i f - e l s e }
menggunakan operator bersyarat ? : else
{
Format penggunaan operator bersyarat dlm aturcara: panjang = (panjang < 0) ? -panjang : panjang;
lebar = (lebar < 0 ) ? -lebar : lebar;
syarat ? ungkapan_benar : ungkapan_palsu luas = panjang*lebar;
}
Jika syarat adalah BENAR, maka keseluruhan ungkapan ini akan printf ("luas segiempat ialah %f\n", luas);
memberikan nilai ungkapan_benar . Sebaliknya, jika syarat adalah }
PALSU, maka keseluruhan ungkapan ini akan memberikan nilai
ungkapan_palsu.

Bab 6 -7- (C) Dayang & Rosbi 2001 Bab 6 -8- (C) Dayang & Rosbi 2001
6.1.3 Pemilihan dgn switch, case & break

Struktur if-else-if-...-else digunakan utk memilih aliran aturcara


Latihan yg terdiri dari banyak alternatif. Kadang-kadang ini lebih mudah
dilakukan dgn menggunakan struktur switch-case-break.
1. Bentukkan ungkapan2 dlm C bagi mengungkap syarat2 berikut: Format penggunaan switch-case-break dlm aturcara:
a) nombor sama dgn atau lebih besar dari 1 tetapi lebih kecil dari 9
b) pembolehubah hrf bukan huruf q atau k switch (ungkapan_integer)
c) nombor adalah di antara 1 dan 9 tetapi bukan 5 {
d) nombor bukan di antara 1 dan 9 case pemalar1: kenyataan2A; break;
case pemalar2: kenyataan2B; break;
case pemalar3: kenyataan2C; break;
2. Tulis satu aturcara untuk memaparkan mesej samada satu huruf :
yg dibaca dari papan kekunci adalah huruf vokal @ konsonan. default: kenyataan2D;
}

Di mana ungkapan_integer adalah ungkapan yg akan menghasilkan nilai


3. Tukar aturcara mencari luas segiempat dlm contoh untuk mengira juga jenis integer @ char.
luas satu bulatan yg jejarinya dibaca dari pengguna. Pengguna boleh
memilih samada mencari luas bulatan atau luas segiempat.
Cara operasi:
4. Tulis aturcara yang memberi grade bagi satu mata pelajaran. Pengguna 1) Aturcara akan mencari nilai ungkapan_integer.
memasukkan peratusan markah pelajar dari papan kekunci dan aturcara
akan menukarkan markah tersebut dalam bentuk gred dan dipaparkan 2) Nilai ini akan dibandingkan dgn nilai2 pemalar1,pemalar2 ... dlm
ke skrin. kenyataan case pemalar1, case pemalar2 dsbnya satu demi satu
sehingga aturcara jumpa nilai pemalar yg sama dgn nilai
ungkapan_integer. Jika sama, kenyataan2 di antara case .. break
tersebut akan dilaksanakan. Misalnya jika ungkapan_integer ==
pemalar2, maka kenyataan2B akan dilaksanakan.

3) Jika tiada ungkapan_integer tidak sama dgn kesemua pemalar2 dlm


senarai case maka kenyataan2D di bhg default akan dilaksanakan.
Bhg default adalah pilihan-boleh ditinggalkan jika tak perlu.

4) Katakunci break akan menyebabkan perlaksanaan selanjutnya akan


bermula luar dari blok kenyataan switch() {...}. Jika break
ditinggalkan, kenyataan2 selepasnya akan dilaksanakan.

Bab 6 -9- (C) Dayang & Rosbi 2001 Bab 6 -10- (C) Dayang & Rosbi 2001
6.1.3 Pemilihan dgn switch, case & break (Samb..) 6.1.3 Pemilihan dgn switch, case & break (Samb..)

i) Aturcara ini akan mencetak nombor 1, 2, @3 yg dimasukkan melalui iii) Aturcara ini akan mencetak warna pada skrin, akan mencetakan
papan kekunci dlm perkataan- satu, dua @ tiga "merah" jika aksara 'M' @ 'm' dimasukan, "biru" jika aksara B @ b
dimasukkan & "kuning" jika aksara 'K' @ 'k' dimasukkan melalui papan
main() kekunci.
{
int x; main()
scanf("%d", &x); {
switch (x) char x;
{ scanf("%d", &x);
case 1: puts ("satu"); break; switch (x)
case 2: puts ("dua"); break; {
case 3: puts ("tiga"); break; case 'M':
default: puts ("bukan satu dua tiga "); case 'm': printf ("merah\n"); break;
} case 'B':
} case 'b': printf ("biru\n"); break;
case 'K':
ii) Perhatikan output jika break dikeluarkan spt berikut: case 'k': printf ("kuning\n"); break;
main() }
{ }
int x;
scanf("%d", &x); Carta alir bagi aturcara di atas.
switch (x)
{ ya
case 1: puts ("satu"); break; x='M'
case 2: puts ("dua");
case 3: puts ("tiga"); tidak
default: puts ("bukan satu dua tiga ");
} ya cetak
x='m'
} "merah"
tidak
Masukan: 1 Masukan: 3 ya
Jawapan: Jawapan: x='B'
satu tiga
bukan satu dua tiga tidak
ya cetak
x='b'
"biru"
Masukan: 2 Masukan: selain dpd 1,2 & 3 tidak
ya
Jawapan: Jawapan:
dua bukan satu dua tiga x='K'
tiga tidak
bukan satu dua tiga ya cetak
x='k'
"kuning"

Soalan? Lukiskan carta alir utk bahagian switch, 2 kod di atas .

Bab 6 -11- (C) Dayang & Rosbi 2001 Bab 6 -12- (C) Dayang & Rosbi 2001
6.2 Struktur Perulangan & Gelung 6.2.1 Gelung dgn while & do...while (samb...)

Sering kali dlm satu aturcara, satu/blok kenyataan perlu dilaksanakan Perbezaan while dan do ... while:
berulang2 beberapa kali atau sehingga sesuatu syarat dipenuhi.
Perlaksanaan yg berulang ini membentuk gelung. while do ... while
syarat diuji sebelum masuk syarat diuji setelah masuk
Dlm C kata kunci 3 digunakan utk melakukan perulangan/gelung: ke gelung. ke gelung
I) while Blok kenyataan tidak akan Blok kenyataan akan
II) do .. while dilaksanakan jika syarat dilaksanakan sekurang2nya
III) for adalah PALSU semasa sekali jika syarat adalah PALSU
masuk ke gelung. semasa masuk ke gelung.
Ketiga-tiga gelung tersebut beroperasi dgn cara berlainan. Untuk
menentukan gelung mana yg digunakan, beberapa jawapan perlu
dikenalpasti sebelum menyelesaikan masalah: PALSU Blok kenyataan
1. Ada ulangan dlm PM? syarat
2. Jika soalan 1 Ya, tahu kah, berapa kali perlu diulang?
3. Jika soalan 2 Tidak, bila nak berhenti @ apakah syarat utk BENAR
syarat
berhenti. BENAR
Blok kenyataan PALSU

Contoh 1: Tulis satu aturcara utk memcetak nama Pn. Dayang di


6.2.1 Gelung dgn while & do...while
Skrin sehingga hujan. Perhatikan operasi dgn i/p & o/p fail berikut:
while [i/p: y, o/p:TIADA] do...while [i/p:yy, o/p:1)Pn. Dayang]
Format penggunaan suruhan while dan do .. while dlm aturcara: #include <stdio.h> #include <conio.h>
void main()
while (syarat) do {
{ { FILE *keluar; int pengira=1; char hujan='n';
kenyataan1; kenyataan1; keluar = fopen("dayang.out", "w");
kenyataan2; kenyataan2;
: BLOK : BLOK printf("Dah hujan? Tekan aksara y jika hujan>");
kenyataann; kenyataann; hujan = getch();
} } while (syarat) while ( hujan != 'y' )
{
fprintf (keluar,"%d) Pn. Dayang \n", pengira);
Di mana syarat adalah satu ungkapan Boolean yg akan menghasilkan printf("\nDah hujan? Tekan aksara y jika hujan>");
BENAR (1) @ PALSU (0) hujan = getch();
++pengira;
Cara operasi: }
}
Blok kenyataan2 1,2...n akan dilaksanakan berulang2 selagi syarat adalah
BENAR. do {
fprintf (keluar,"%d) Pn. Dayang \n", pengira);
printf("\nDah hujan? Tekan aksara y jika hujan>");
hujan = getch();
++pengira;
} while (hujan != 'y' );

Bab 6 -13- (C) Dayang & Rosbi 2001 Bab 6 -14- (C) Dayang & Rosbi 2001
6.2.1 Gelung dgn while & do...while (samb...) 6.2.2 Gelung dgn for

Contoh 1: Tulis satu aturcara utk mempamirkan sifir darab bagi 11. Format penggunaan suruhan if dlm aturcara:
Corak output yg dikehendaki adalah spt berikut:
for (bhg_memulakan ; syarat ; bhg_kemaskini)
{
11 X 1 = 11 kenyataan1;
11 X 2 = 22 kenyataan2;
: :
11 X 12 = 121 kenyataann;
}
Penyelesaian: Di mana syarat adalah satu ungkapan Boolean yg akan menghasilkan
#include <stdio.h> BENAR (1) @ PALSU (0).
main()
{ Cara operasi:
int nomb_sifir,
pengira, kiraan_max;
1) ungkapan di bhg_memulakan dilaksanakan. Bhg ini biasanya
digunakan utk mengumpuk nilai awalan kpd sesuatu pembolehubah.
nomb_sifir = 11; Dilaksanakan sekali sahaja.
pengira = 1; kiraan_max =12; 2) syarat akan diuji. Jika syarat adalah BENAR, Blok kenyataan2
1,2...n akan dilaksanakan. Jika PALSU, gelung akan ditamatkan, dan
while ( pengira <= kiraan_max ) perlaksanaan bermula selepas blok suruhan for.
{
printf ("%d X %d = %d \n", nomb_sifir, pengira,
3) ungkapan di bhg_kemaskini dilaksanakan dan perlaksanaan akan
pengira*nomb_sifir); ulang langkah 2).
++pengira;
}
}
Bhg_memulakan
Contoh 2: Tulis satu aturcara permainan meneka nombor. Komputer
akan memilih satu nombor & pengguna diminta meneka nombor
tersebut. Selagi nombor yg diteka tidak sama dgn nombor yg dipilih PALSU
oleh komputer, pengguna mesti terus meneka. Paparkan mesej samada syarat
tekaan adalah tepat atau sebaliknya.
BENAR
Penyelesaian: Blok kenyataan 1,2..n
#include <stdio.h>
main()
{ Bhg_kemaskini
int nomb_komputer, nomb_teka;

nomb_komputer = 17;
do {
puts ("sila teka nombor yg saya pilih (1-20)\n" );
scanf ("%d", nomb_teka);
if (nomb_teka != nomb_komputer) Ungkapan2 bhg_memulakan @ bhg_kemaskini boleh diabaikan ttp
puts ("Anda salah, cuba lagi\n"); tanda semkolon mesti di kekalkan. Contohnya
} while ( nomb_teka != nomb_komputer ); for ( ; syarat ; )
puts ("Tahniah, anda betul\n");
}
Bab 6 -15- (C) Dayang & Rosbi 2001 Bab 6 -16- (C) Dayang & Rosbi 2001
6.2.2 Gelung dgn for (samb....) 6.2.2 Gelung dgn for (samb....)

Contoh 1: Ulang contoh 1 m/s 15 menggunakan for. Contoh 3: Aturcara sifir dgn mengabaikan ungkapan bhg_memulakan
& bhg_kemaskini .
Penyelesaian:
#include <stdio.h> Penyelesaian:
main() #include <stdio.h>
{ main()
int nomb_sifir, {
pengira, kiraan_max; int nomb_sifir,
pengira, kiraan_max;
nomb_sifir = 11;
kiraan_max =12; nomb_sifir = 11;
kiraan_max =12;
for ( pengira = 1; pengira <= kiraan_max; pengira++ ) pengira = 1;
{
printf ("%d X %d = %d \n", nomb_sifir, pengira, for ( ; pengira <= kiraan_max; )
pengira*nomb_sifir); {
} printf ("%d X %d = %d \n", nomb_sifir, pengira,
} pengira*nomb_sifir);
pengira++;
}
}
Contoh 2: Apakah output bagi aturcara berikut ?

#include <stdio.h>
main()
{
int i,j;

for ( i = 6; i ; i-- )
{
for ( j = 0; j < i ; j ++ )
{
putchar ('#');
}
putchar ('\n');
}
}

Penyelesaian:
######
#####
####
###
##
#

Bab 6 -17- (C) Dayang & Rosbi 2001 Bab 6 -18- (C) Dayang & Rosbi 2001
6.3 Contoh Penggunaan Struktur Kawalan Pemilihan & Gelung 6.3 Contoh Penggunaan Struktur Kawalan Pemilihan & Gelung(samb..)

Tulis satu aturcara utk mengira & memaparkan jumlahlah markah Gelung utk membaca markah, mencetak markah & mengira jumlah
pelajar di skrin. Markah2 dibaca dari fail markah.dat. markah boleh ditukar menggunakan macro feof spt berikut:

while (!feof(masuk))
12
{
Isi fail markah.dat 56
fscanf(masuk,"%d\n", &markah);
89
printf("%5d\n",markah);
66
jumlah+=markah;
78
}

1. Ada ulangan dlm PM? Gelung while tersebut juga boleh digantikan dgn gelung for
YA spt berikut:
2. Jika soalan 1 Ya, tahu ke, berapa kali perlu diulang?
Tidak for (status=fscanf(masuk,"%d\n", &markah);
3. Jika soalan 2 Tidak, bila nak berhenti @ apakah syarat utk status != EOF; status=fscanf(masuk,"%d\n", &markah))
berhenti. {
Sehingga habis semua markah dibaca di dlm fail printf("%5d\n",markah);
jumlah+=markah;
}
2 cara untuk memeriksa penghujung fail:
1. EOF - pemalar penghujung fail
2. feof - macro yg memulangkan nilai 0 selagi pemalar EOF belum Output di skrin:
dijumpai

#include<stdio.h> Markah-markah Saya


#include<process.h> 12
56
void main (void) 89
{ 66
FILE *masuk; 78
int jumlah = 0, markah, status; Jumlah markah 301

if ((masuk = fopen("markah.dat", "r"))== NULL)


{
puts("Ralat dalam pembukaan fail.");
exit(-1); /*Tamatkan Aturcara*/
}

printf("Markah-markah Saya\n");
while ((fscanf(masuk,"%d\n", &markah))!=EOF)
{
printf("%5d\n",markah);
jumlah+=markah;
}
printf("Jumlah markah %d", jumlah);
}

Bab 6 -19- (C) Dayang & Rosbi 2001 Bab 6 -20- (C) Dayang & Rosbi 2001
6.4 Gelung Bersarang 6.5 Pintas Struktur

Gelung bersarang - penyataan gelung yg mengandungi gelung lain. 3 struktur PM struktur jujukan, struktur pemilihan, struktur
perulangan & gelung menentukan aliran perlaksanaan aturcara.
Tulis satu aturcara utk mempamirkan sifir darab bagi 1 hingga 5 & Kadang-kadang wujud situasi keluar dari struktur tertentu. C
hanya hasil darab yg kurang & sama dgn 5 sahaja akan dicetak. menyediakan arahan utk tujuan ini, antaranya:
Penyelesaian: 1. fungsi exit()
2. pernyataan break
#include <stdio.h> 3. pernyataan continue
main()
{
int nomb_sifir, hasil_darab,
pengira, sifir_max; Contoh:
MULA
sifir_max=5; hasil_darab=0; pengira = 1; if(failptr = fopen("stor12.dat", "r"))==
NULL
for ( nomb_sifir=1; nomb_sifir<=sifir_max ;nomb_sifir++) : {
{ : puts("Ralat dalam pembukaan fail.");
printf("\nSifir %d\n", nomb_sifir); exit(-1); /*Tamatkan Aturcara*/
hasil_darab = pengira*nomb_sifir; exit() }
Gelung aras 1

:
while (hasil_darab<=5)
:
Gelung aras 2

{
printf ("%d X %d = %d \n", nomb_sifir,
pengira, hasil_darab);
pengira++; TAMAT
hasil_darab = pengira*nomb_sifir;
} while (syarat) do
pengira=1; { {
} kenyataan1; kenyataan1;
return 0; kenyataan2; kenyataan2;
} Sifir 1 : :
1 X 1 = 1 break; break;
1 X 2 = 2 : :
1 X 3 = 3 kenyataann; kenyataann;
1 X 4 = 4 } } while (syarat)
1 X 5 = 5
Output pada skrin dari
aturcara di atas Sifir 2
2 X 1 = 2 for (bhg_memulakan ; syarat ; bhg_kemaskini)
2 X 2 = 4 {
kenyataan1;
Sifir 3 kenyataan2;
3 X 1 = 3 :
break;
Sifir 4 :
4 X 1 = 4 kenyataann;
}
Sifir 5
5 X 1 = 5

Bab 6 -21- (C) Dayang & Rosbi 2001 Bab 6 -22- (C) Dayang & Rosbi 2001
6.5 Pintas Struktur (samb....) 6.5 Pintas Struktur (samb....)

while (syarat) do Contoh 2:


{ {
kenyataan1; kenyataan1; for (i=1; i<=3; i++)
kenyataan2; kenyataan2; {
: : printf("%d\n", i);
continue; continue; if (i==2)
: : continue;
kenyataann; kenyataann; printf("Bahagian bawah gelung\n");
} } while (syarat) }
printf("Keluar dari gelung");

Output di skrin:
1
for (bhg_memulakan ; syarat ; bhg_kemaskini)
Bahagian bawah gelung
{
2
kenyataan1;
3
kenyataan2;
Bahagian bawah gelung
:
Keluar dari gelung
continue;
:
kenyataann;
}
Contoh 3:

Contoh 1: i=0;
while (i<5)
for (i=1; i<=3; i++) {
{ if (i<3)
printf("%d\n", i); {
if (i==2) i+=2;
break; printf("%d\n",i);
printf("Bahagian bawah gelung\n"); continue;
} }
printf("Keluar dari gelung"); else{
printf("%d\n",++i);
break;
Output di skrin: }
printf("Bahagian bawah gelung\n");
1 }
Bahagian bawah gelung printf("Keluar dari gelung");
2
Keluar dari gelung
Output di skrin:
2
4
5
Keluar dari gelung

Bab 6 -23- (C) Dayang & Rosbi 2001 Bab 6 -24- (C) Dayang & Rosbi 2001

Anda mungkin juga menyukai