Megosztás a következőn keresztül:


C# if utasítások és hurkok – feltételes logikai oktatóanyag

Ez az oktatóanyag bemutatja, hogyan írhat olyan C#-kódot, amely megvizsgálja a változókat, és ezen változók alapján módosítja a végrehajtási útvonalat. C# kódot kell írnia, és látnia kell a fordítás és a futtatás eredményeit. Az oktatóanyag olyan leckéket tartalmaz, amelyek a C#-ban található elágaztatási és hurkozási szerkezeteket vizsgálják. Ezek a leckék a C# nyelv alapjait tanítják meg.

Jótanács

Ha egy kódrészletblokk tartalmazza a "Futtatás" gombot, az a gomb megnyitja az interaktív ablakot, vagy lecseréli a meglévő kódot az interaktív ablakban. Ha a kódrészlet nem tartalmaz "Futtatás" gombot, átmásolhatja a kódot, és hozzáadhatja az aktuális interaktív ablakhoz.

Futtassa az alábbi kódot az interaktív ablakban. Válassza a Futtatás lehetőséget:

int a = 5;
int b = 6;
if (a + b > 10)
    Console.WriteLine("The answer is greater than 10.");

Módosítsa úgy a deklarációt b , hogy az összeg 10-nél kisebb legyen:

int b = 3;

Kattintson ismét a Futtatás gombra. Mivel a válasz kisebb, mint 10, semmi sem lesz kinyomtatva. A tesztelt feltétel hamis. Nincs végrehajtható kód, mert csak az egyik lehetséges ágat írta meg egy if utasításhoz: a valódi ágat.

Jótanács

A C# (vagy bármely programozási nyelv) felfedezése során hibákat követ el a kód írásakor. A fordító megkeresi ezeket a hibákat, és jelentést készít önnek. Ha a kimenet hibaüzeneteket tartalmaz, tekintse meg alaposan a példakódot és az interaktív ablakban található kódot, hogy lássa, mit kell kijavítani. Ez a gyakorlat segít a C#-kód szerkezetének megismerésében.

Ez az első minta a if és a logikai típusok erejét mutatja be. A logikai érték olyan változó, amely két érték egyikével rendelkezhet: true vagy false. A C# egy speciális típust határoz meg logikai bool változókhoz. Az if utasítás ellenőrzi egy bool értékét. Ha az érték true, akkor a if utáni utasítás végrehajtódik. Ellenkező esetben kihagyásra kerül.

A feltételek ellenőrzésének és az ezen feltételeken alapuló utasítások végrehajtásának folyamata hatékony. Vizsgáljuk meg többet.

Az if és else együttműködése

Ha a valódi és a hamis ágakban is különböző kódot szeretne végrehajtani, hozzon létre egy else ágat, amely akkor hajtja végre, ha a feltétel hamis. Próbálja ki a következő kódot:

int a = 5;
int b = 3;
if (a + b > 10)
    Console.WriteLine("The answer is greater than 10");
else
    Console.WriteLine("The answer is not greater than 10");

A kulcsszót else követő utasítás csak akkor fut, ha a tesztelt feltétel teljesül false. A if és else logikai feltételekkel való kombinálása minden szükséges képességet biztosít.

Fontos

A behúzás a if és else utasítások alatt az emberi olvasók számára készült. A C# nyelv nem tartja fontosnak a behúzást vagy a szóközt. A if vagy else kulcsszót követő utasítás a feltétel alapján hajtódik végre. Az oktatóanyagban szereplő összes minta egy általános gyakorlatot követ a sorok behúzására az utasítások vezérlőfolyamata alapján.

Mivel a behúzás nem jelentős, használja a { és } címkéket annak jelzésére, amikor több utasítást szeretne a feltételesen végrehajtandó blokk részeként megadni. A C#-programozók általában az összes if és else záradékban használják a kapcsos zárójeleket. Az alábbi példa megegyezik a létrehozott példával. Próbálja ki.

int a = 5;
int b = 3;
if (a + b > 10)
{
    Console.WriteLine("The answer is greater than 10");
}
else
{
    Console.WriteLine("The answer is not greater than 10");
}

Jótanács

Az oktatóanyag további részében a kódminták tartalmazzák a kapcsos zárójeleket, az elfogadott eljárásokat követve.

Bonyolultabb feltételeket is tesztelhet:

int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) && (a == b))
{
    Console.WriteLine("The answer is greater than 10");
    Console.WriteLine("And the first number is equal to the second");
}
else
{
    Console.WriteLine("The answer is not greater than 10");
    Console.WriteLine("Or the first number is not equal to the second");
}

A == szimbólum az egyenlőséget teszteli. A == használata megkülönbözteti az egyenlőségi tesztet a hozzárendeléstől, amelyet a(z) a = 5 során láthatott.

Az && "és" értéket jelöli. Ez azt jelenti, hogy mindkét feltételnek igaznak kell lennie az utasítás igaz ágban való végrehajtásához. Ezek a példák azt is mutatják, hogy minden feltételes ágban több utasítás is szerepelhet, feltéve, hogy { és } közé vannak zárva.

Az "vagy" jelölésére is használható || :

if ((a + b + c > 10) || (a == b))

Módosítsa a a, b és c értékeket, és váltson a && és || között a vizsgálat érdekében. Jobban megismerheti, hogy az && és a || operátorok hogyan működnek.

Hurkok használata műveletek ismétlésére

Egy másik fontos fogalom a nagyobb programok létrehozásához a hurkok. A ciklusokkal többször is megismételheti azokat az utasításokat, amelyeket többször szeretne végrehajtani. Próbálja ki ezt a kódot az interaktív ablakban:

int counter = 0;
while (counter < 10)
{
    Console.WriteLine($"Hello World! The counter is {counter}");
    counter++;
}

Az while utasítás ellenőrzi a feltételt, és végrehajtja a következő utasítást: while. Megismétli a feltétel ellenőrzését és az utasítások végrehajtását, amíg a feltétel nem hamis.

Ebben a példában van még egy új operátor. A ++ változó utáni counter a inkrementáló operátor. Hozzáad 1-et a számláló értékéhez, és ezt az értéket a számlálóváltozóban tárolja.

Fontos

Győződjön meg arról, hogy a while ciklusfeltétel hamisra vált a kód végrehajtása során. Ellenkező esetben végtelen hurkot hoz létre, amelyben a program soha nem ér véget. Ezt ne mutassuk be, mert a kódját futtató motor túllépi az időkorlátot, és nem jelenik meg a program kimenete.

A while ciklus a feltételt teszteli, mielőtt végrehajtja a while kódot. A do ... while ciklus először végrehajtja a kódot, majd ellenőrzi a feltételt. A következőképpen néz ki:

int counter = 0;
do
{
    Console.WriteLine($"Hello World! The counter is {counter}");
    counter++;
} while (counter < 10);

Ez do ciklus és a korábbi while ciklus ugyanúgy működik.

Térjünk át egy utolsó ciklusutasításra.

A for ciklussal való munka

Egy másik gyakori hurokutasítás, amelyet a C#-kódban lát, a for ciklus. Próbálja ki ezt a kódot az interaktív ablakban:

for (int counter = 0; counter < 10; counter++)
{
    Console.WriteLine($"Hello World! The counter is {counter}");
}

Az előző for ciklus ugyanazt a munkát végzi, mint a while és a do ciklus, amelyeket már használt. Az for utasítás három részből áll, amelyek a működést szabályozzák:

  • Az első rész a for inicializáló: int counter = 0; meghatározza, hogy counter a hurokváltozó, és beállítja a kezdeti értékét 0-ra.
  • A középső rész a feltételcounter < 10: deklarálja, hogy ez a for hurok továbbra is fut, amíg a számláló értéke kisebb, mint 10.
  • Az utolsó rész az iterátorhoz tartozik: counter++ meghatározza, hogyan módosíthatja a ciklusváltozót a blokk utasítást követő for végrehajtása után. Itt azt határozza meg, hogy counter a blokk minden egyes végrehajtásakor 1-zel nőjön.

Kísérletezzen ön is ezekkel a feltételekkel. Próbálkozzon az alábbi módosításokkal:

  • Módosítsa az inicializálót úgy, hogy más értéken kezdődjön.
  • Módosítsa a feltételt úgy, hogy egy másik értéknél megálljon.

Ha végzett, írjon magad néhány kódsort, hogy felhasználja a tanultakat.

Van egy másik, az oktatóanyagban nem szereplő ciklusutasítási utasítás: az foreach utasítás. Az foreach utasítás megismétli az utasítást az elemek sorozatának minden elemére vonatkozóan. Leggyakrabban gyűjteményekhez használják. Ezt a következő oktatóanyag ismerteti.

Beágyazott hurkok létrehozása

A while, dovagy for hurok beágyazható egy másik hurokba, hogy mátrixot hozzon létre a külső hurok egyes elemeinek és a belső hurok egyes elemeinek kombinációjával. Hozzunk létre egy alfanumerikus párokat, amelyek a sorokat és az oszlopokat jelölik.

Egy for hurok hozhatja létre a sorokat:

for (int row = 1; row < 11; row++)
{
    Console.WriteLine($"The row is {row}");
}

Egy másik hurok létrehozhatja az oszlopokat:

for (char column = 'a'; column < 'k'; column++)
{
    Console.WriteLine($"The column is {column}");
}

Az egyik hurkot beágyazhatja a másikba párok létrehozásához:

for (int row = 1; row < 11; row++)
{
    for (char column = 'a'; column < 'k'; column++)
    {
        Console.WriteLine($"The cell is ({row}, {column})");
    }
}

Láthatja, hogy a külső hurok a belső hurok minden teljes futása után egyet növekszik. Fordítsd meg a sor- és oszlopbeágyazást, és nézd meg a változásokat magad.

Ágak és hurkok egyesítése

Most, hogy látta az if utasítást és a ciklusszerkezeteket a C# nyelvben, ellenőrizze, hogy tud-e C#-kódot írni az 1 és 20 között osztható összes egész szám összegének 3-tal való megtalálásához. Íme néhány tipp:

  • Az % operátor egy osztási művelet hátralévő részét adja meg.
  • Az if utasítás azt a feltételt adja meg, hogy egy szám legyen-e része az összegnek.
  • A for hurok segítségével több lépést is megismételhet az 1–20- os számok esetében.

Próbálja ki saját maga. Ezután ellenőrizze, hogyan tette. Tippként 63-at kell kapnia a válaszhoz.

Előjött valami ilyesmi?

int sum = 0;
for (int number = 1; number < 21; number++)
{
    if (number % 3 == 0)
    {
        sum = sum + number;
    }
}
Console.WriteLine($"The sum is {sum}");

Elvégezte az "ágak és hurkok" interaktív oktatóanyagot. A listagyűjtemény hivatkozására kattintva elindíthatja a következő interaktív oktatóanyagot, vagy a .NET webhelyre látogatva letöltheti a .NET SDK-t, létrehozhat egy projektet a gépén, és tovább kódolódhat. A "Következő lépések" szakaszban visszatérhet ezekhez az oktatóanyagokhoz.

Ezekről a fogalmakról az alábbi cikkekben tudhat meg többet: