Rumah pembangunan bahagian belakang Tutorial C#.Net for循环是先执行循环体语句,后判断表达式吗?

for循环是先执行循环体语句,后判断表达式吗?

Jul 23, 2020 pm 02:53 PM
untuk gelung

不是,for循环是先判断表达式,然后执行循环体语句。一般形式“for(表达式1;表达式2;表达式3){循环体}”;先执行“表达式1”;再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环;执行完循环体后再执行“表达式3”。

for循环是先执行循环体语句,后判断表达式吗?

for 循环的一般形式为:

for(表达式1; 表达式2; 表达式3){
    语句块
}
Salin selepas log masuk

它的运行过程为:

1) 先执行“表达式1”。

2) 再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环。

3) 执行完循环体后再执行“表达式3”。

4) 重复执行步骤 2) 和 3),直到“表达式2”的值为假,就结束循环。

上面的步骤中,2) 和 3) 是一次循环,会重复执行,for 语句的主要作用就是不断执行步骤 2) 和 3)。

“表达式1”仅在第一次循环时执行,以后都不会再执行,可以认为这是一个初始化语句。“表达式2”一般是一个关系表达式,决定了是否还要继续下次循环,称为“循环条件”。“表达式3”很多情况下是一个带有自增或自减操作的表达式,以使循环条件逐渐变得“不成立”。

for循环的执行过程可用下图表示:

1.jpg

我们来分析一下“计算从1加到100的和”的代码:

#include <stdio.h>
int main(){
    int i, sum=0;
    for(i=1; i<=100; i++){
        sum+=i;
    }
    printf("%d\n",sum);
    return 0;
}
Salin selepas log masuk

运行结果:

5050
Salin selepas log masuk

代码分析:

1) 执行到 for 语句时,先给 i 赋初值1,判断 i<=100 是否成立;因为此时 i=1,i<=100 成立,所以执行循环体。循环体执行结束后(sum的值为1),再计算 i++。

2) 第二次循环时,i 的值为2,i<=100 成立,继续执行循环体。循环体执行结束后(sum的值为3),再计算 i++。

3) 重复执行步骤 2),直到第101次循环,此时 i 的值为101,i<=100 不成立,所以结束循环。

由此我们可以总结出for循环的一般形式:

for(初始化语句; 循环条件; 自增或自减){
    语句块
}
Salin selepas log masuk

for循环中的三个表达式

for 循环中的“表达式1(初始化条件)”、“表达式2(循环条件)”和“表达式3(自增或自减)”都是可选项,都可以省略(但分号;必须保留)。

1) 修改“从1加到100的和”的代码,省略“表达式1(初始化条件)”:

int i = 1, sum = 0;
for( ; i<=100; i++){
    sum+=i;
}
Salin selepas log masuk

可以看到,将i=1移到了 for 循环的外面。

2) 省略了“表达式2(循环条件)”,如果不做其它处理就会成为死循环。例如:

for(i=1; ; i++) sum=sum+i;
Salin selepas log masuk

相当于:

i=1;
while(1){
    sum=sum+i;
    i++;
}
Salin selepas log masuk

所谓死循环,就是循环条件永远成立,循环会一直进行下去,永不结束。死循环对程序的危害很大,一定要避免。

3) 省略了“表达式3(自增或自减)”,就不会修改“表达式2(循环条件)”中的变量,这时可在循环体中加入修改变量的语句。例如:

for( i=1; i<=100; ){
    sum=sum+i;
    i++;
}
Salin selepas log masuk

4) 省略了“表达式1(初始化语句)”和“表达式3(自增或自减)”。例如:

for( ; i<=100 ; ){
    sum=sum+i;
    i++;
}
Salin selepas log masuk

相当于:

while(i<=100){
    sum=sum+i;
    i++;
}
Salin selepas log masuk

5) 3个表达式可以同时省略。例如:

for( ; ; )  语句
Salin selepas log masuk

相当于:

while(1)  语句
Salin selepas log masuk

6) “表达式1”可以是初始化语句,也可以是其他语句。例如:

for( sum=0; i<=100; i++ )  sum=sum+i;
Salin selepas log masuk

7) “表达式1”和“表达式3”可以是一个简单表达式也可以是逗号表达式。

for( sum=0,i=1; i<=100; i++ )  sum=sum+i;
Salin selepas log masuk

或:

for( i=0,j=100; i<=100; i++,j-- )  k=i+j;
Salin selepas log masuk

8) “表达式2”一般是关系表达式或逻辑表达式,但也可是数值或字符,只要其值非零,就执行循环体。例如:

for( i=0; (c=getchar())!=&#39;\n&#39;; i+=c );
Salin selepas log masuk

又如:

for( ; (c=getchar())!=&#39;\n&#39; ; )
    printf("%c",c);
Salin selepas log masuk

相关推荐:《c语言教程

Atas ialah kandungan terperinci for循环是先执行循环体语句,后判断表达式吗?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana menggunakan php untuk mencari nombor ganjil dalam 100 Bagaimana menggunakan php untuk mencari nombor ganjil dalam 100 Dec 23, 2022 pm 06:54 PM

Langkah pelaksanaan: 1. Gunakan julat kawalan pernyataan untuk merentasi nombor dari 1 hingga 100, sintaksnya ialah "untuk ($i = 1; $i <= 100; $i++) {kod badan gelung}"; badan gelung, Hanya gunakan pernyataan if dan operator "%" untuk mendapatkan dan mengeluarkan nombor ganjil Sintaksnya ialah "if($i % 2 != 0){echo $i."

Apakah perintah pelaksanaan untuk gelung dalam PHP Apakah perintah pelaksanaan untuk gelung dalam PHP Sep 22, 2021 pm 06:24 PM

Urutan pelaksanaan: 1. Jalankan "ungkapan permulaan"; 2. Laksanakan "ungkapan penghakiman bersyarat". body, jalankan "Ungkapan kemas kini pembolehubah"; 4. Selepas pembolehubah dikemas kini, masukkan gelung seterusnya sehingga nilai penghakiman syarat adalah palsu, menamatkan gelung.

Adakah mysql mempunyai gelung for? Adakah mysql mempunyai gelung for? Mar 30, 2023 pm 08:26 PM

MySQL tidak mempunyai gelung for. MySQL tidak menyokong penyataan gelung Ia hanya menyokong tiga penyataan gelung: WHILE, REPEAT dan LOOP menyediakan penyataan gelung, membolehkan anda melaksanakan blok kod SQL berulang kali.

Cara menggunakan for loop dalam Python Cara menggunakan for loop dalam Python Oct 25, 2023 pm 12:18 PM

Cara menggunakan gelung for dalam Python Python ialah bahasa pengaturcaraan yang ringkas dan mudah digunakan, dan gelung for ialah salah satu alatan yang paling biasa digunakan. Dengan menggunakan untuk gelung, kami boleh menggelung melalui satu siri data, melaksanakan pemprosesan dan operasi yang berkesan serta meningkatkan kecekapan kod. Di bawah, saya akan memperkenalkan cara menggunakan gelung for dalam Python melalui contoh kod tertentu. Asas untuk sintaks gelung Dalam Python, sintaks a for gelung adalah seperti berikut: untuk pembolehubah dalam objek boleh lelaran:

Pembelajaran gelung JS: penggunaan penyataan untuk gelung (contoh terperinci) Pembelajaran gelung JS: penggunaan penyataan untuk gelung (contoh terperinci) Aug 03, 2022 pm 06:45 PM

Dalam artikel sebelumnya "JS Loop Learning: The Use of While Loop Statements (Contoh Terperinci)", kami mempelajari secara ringkas tentang while loops dan do while loops, dan hari ini kami akan memperkenalkan satu lagi gelung - penyataan untuk gelung berguna kepada semua orang.

Mengendalikan tatasusunan besar dalam Go: gunakan untuk julat atau untuk gelung? Mengendalikan tatasusunan besar dalam Go: gunakan untuk julat atau untuk gelung? Jul 24, 2023 pm 02:47 PM

Kami tahu bahawa sintaks Go adalah agak ringkas. Ia tidak menyediakan sintaks kawalan gelung seperti while, do...while, dsb. disokong oleh C, tetapi hanya mengekalkan satu pernyataan, gelung for.

Cara menggunakan for loop untuk melaksanakan operasi flip dalam bahasa Go Cara menggunakan for loop untuk melaksanakan operasi flip dalam bahasa Go Mar 24, 2024 pm 02:15 PM

Tajuk: Cara menggunakan untuk gelung untuk melaksanakan operasi flip dalam bahasa Go Dalam bahasa Go, anda boleh membalikkan struktur data dengan mudah seperti tatasusunan dan kepingan dengan menggunakan untuk gelung. Dalam artikel ini, kami akan memperkenalkan cara menggunakan gelung untuk membalik tatasusunan dan kepingan, dan memberikan contoh kod khusus. Operasi membalikkan tatasusunan Mula-mula, mari kita lihat cara menyelak tatasusunan melalui gelung for. Kami mentakrifkan tatasusunan yang mengandungi elemen integer dan membalikkannya menggunakan gelung for. packagemain

Bagaimana untuk memisahkan nombor genap dan ganjil dalam tatasusunan menggunakan gelung dalam bahasa C? Bagaimana untuk memisahkan nombor genap dan ganjil dalam tatasusunan menggunakan gelung dalam bahasa C? Aug 25, 2023 pm 03:09 PM

Tatasusunan ialah sekumpulan item data berkaitan yang disimpan di bawah satu nama. Contohnya intStudent[30];//student ialah nama tatasusunan, himpunan 30 item data yang mengandungi nama pembolehubah tunggal Carian operasi tatasusunan - digunakan untuk mencari sama ada unsur tertentu wujud pengisihan - ia membantu menyusun elemen dalam tatasusunan dalam tertib menaik atau Susun mengikut tertib menurun. Traversal - Ia memproses setiap elemen dalam tatasusunan secara berurutan. Sisipan - Ia membantu untuk memasukkan elemen dalam tatasusunan. Padam - Ia membantu dalam memadam elemen daripada tatasusunan. elemen dalam tatasusunan. Logik mencari nombor genap dalam tatasusunan adalah seperti berikut - for(i=0;i<size;i++){ if(a[i]%2==0){

See all articles