Dalam artikel ini, kita akan belajar tentang sementara dan melakukan … sambil gelung di C #, bagaimana menggunakannya dan perbezaan antara keduanya.
Dalam pengaturcaraan, seringkali diinginkan untuk melaksanakan sekatan penyataan tertentu untuk sebilangan kali yang ditentukan. Penyelesaian yang mungkin dilakukan adalah dengan menaip pernyataan tersebut sebanyak yang diperlukan. Walau bagaimanapun, bilangan pengulangan mungkin tidak diketahui terlebih dahulu (semasa waktu kompilasi) atau mungkin cukup besar (katakanlah 10000).
Penyelesaian terbaik untuk masalah tersebut adalah gelung. Gelung digunakan dalam pengaturcaraan untuk berulang kali melaksanakan blok penyataan tertentu sehingga beberapa syarat dipenuhi.
Dalam artikel ini, kita akan belajar menggunakan sambil gelung di C #.
Gelung C # sambil
Kata kunci sementara digunakan untuk membuat loop sementara di C #. Sintaks untuk loop sementara adalah:
sementara (ekspresi ujian) (// badan sementara)
Bagaimana semasa gelung berfungsi?
- C # while loop terdiri daripada a
test-expression
. - Sekiranya
test-expression
dinilai untuktrue
,- penyataan di dalam loop sementara dieksekusi.
- setelah dilaksanakan,
test-expression
penilaian dinilai semula.
- Sekiranya
test-expression
dinilaifalse
, loop sementara akan berakhir.
semasa carta alir gelung
Contoh 1: sambil Gelung
using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) )
Semasa kita menjalankan program, outputnya adalah:
C # Untuk Gelung: Pengulangan 1 C # Untuk Gelung: Pengulangan 2 C # Untuk Gelung: Pengulangan 3 C # Untuk Gelung: Pengulangan 4 C # Untuk Gelung: Pengulangan 5
Pada mulanya nilai i adalah 1.
Apabila program mencapai pernyataan loop sementara,
- ungkapan ujian
i <=5
dinilai. Sejak i adalah 1 dan1 <= 5
adalahtrue
, ia akan melakukan badan gelung sementara. Di sini, garis dicetak di skrin dengan Iterasi 1, dan nilai i meningkat sebanyak 1 menjadi 2. - Sekarang, ungkapan ujian (
i <=5
) dinilai lagi. Kali ini juga, ungkapan kembalitrue
(2 <= 5), sehingga garis dicetak di layar dan nilai i sekarang meningkat menjadi 3… - Ini berlaku dan loop sementara akan dijalankan sehingga saya menjadi 6. Pada tahap ini, ekspresi ujian akan dinilai
false
dan oleh itu loop berakhir.
Contoh 2: while loop untuk mengira jumlah 5 nombor semula jadi pertama
using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) )
Semasa kita menjalankan program, outputnya adalah:
Jumlah = 15
Program ini menghitung jumlah 5 nombor semula jadi pertama.
- Pada mulanya nilai jumlah dimulakan menjadi 0.
- Pada setiap lelaran, nilai jumlah dikemas kini
sum+i
dan nilai i meningkat oleh 1. - Apabila nilai i mencapai 6, ungkapan ujian
i<=5
akan kembali palsu dan gelung berakhir.
Mari lihat apa yang berlaku dalam program yang diberikan pada setiap lelaran.
Pada mulanya, i = 1, jumlah = 0
Sementara langkah pelaksanaan gelungPengulangan | Nilai i | saya <= 5 | Nilai jumlah |
---|---|---|---|
1 | 1 | benar | 0 + 1 = 1 |
2 | 2 | benar | 1 + 2 = 3 |
3 | 3 | benar | 3 + 3 = 6 |
4 | 4 | benar | 6 + 4 = 10 |
5 | 5 | benar | 10 + 5 = 15 |
6 | 6 | salah | Gelung berakhir |
Jadi, nilai akhir jumlahnya adalah 15.
C # lakukan… sambil gelung
Kata kunci do and while digunakan untuk membuat loop do… while. Ia serupa dengan loop sementara, namun ada perbezaan besar antara mereka.
Dalam loop sementara, keadaan diperiksa sebelum badan dieksekusi. Ini adalah kebalikan dari do … while loop, iaitu keadaan diperiksa setelah badan dieksekusi.
Inilah sebabnya, badan do… while loop akan dijalankan sekurang-kurangnya sekali tanpa mengira ekspresi ujian.
Sintaks untuk do… while loop adalah:
do (// body of do while loop) sambil (uji-ekspresi);
Bagaimana… semasa gelung berfungsi?
- Badan do … while loop dijalankan pada mulanya.
- Kemudian
test-expression
dinilai. - Sekiranya
test-expression
adatrue
, badan gelung dijalankan. - Apabila
test-expression
adafalse
, lakukan … semasa gelung berakhir.
lakukan… semasa carta alir gelung
Contoh 3: lakukan… sambil gelung
using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) )
Semasa kita menjalankan program, outputnya adalah:
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
As we can see, the above program prints the multiplication table of a number (5).
- Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
- Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
- After the execution of the loop’s body, the test expression
i <= 10
is evaluated. In total, the do… while loop will run for 10 times. - Finally, when the value of i is 11, the test-expression evaluates to
false
and hence terminates the loop.
Infinite while and do… while loop
If the test expression in the while and do… while loop never evaluates to false
, the body of loop will run forever. Such loops are called infinite loop.
For example:
Infinite while loop
while (true) (// badan loop sementara)
Lakukan tanpa had … sambil gelung
lakukan (// body of while loop) sambil (benar);
Gelung tak terhingga berguna apabila kita memerlukan gelung untuk berjalan sepanjang program kita dijalankan.
Sebagai contoh, jika program anda adalah animasi, anda perlu terus menjalankannya sehingga dihentikan. Dalam kes sedemikian, gelung tanpa batas diperlukan untuk terus menjalankan animasi berulang kali.