Legjobb válasz
Ez a programozási nyelvtől függ. A kedvencem, a sima angol, egy minimális, de praktikus nyelv, amelynek csak ötféle állítása van:
• A típusdefiníciók, amelyek mindig A, AN vagy SOME-mal kezdődnek; • Globális változó definíciók, amelyek mindig THE-vel kezdődnek; • Rutin fejlécek, amelyek mindig TO-val kezdődnek; • Feltételes állítások, amelyek mindig IF-vel kezdődnek; és • Az imperatív állítások, amelyek bármi mással kezdődnek.
A nézet másik módja a következő:
A programok egyszerű módon kifejezve három dologból állnak:
• Típusok, amelyek megmondják a fordítónak / tolmácsnak, hogy mekkora bájtot foglal el valami a memóriában;
• Változók, amelyek a memória különféle típusainak tényleges példányai; és
• Rutinok (amelyeket gyakran függvényeknek, módszereknek vagy algoritmusoknak neveznek), amelyek létrehozzák, manipulálják és végül elvetik a változókat a memóriából
De három másik dolgot szoktak használni a programok létrehozásában:
• fejlesztői környezet , amelyben a programokat írni és tesztelni lehet;
• A programozási nyelv ; és
• A szabványos könyvtár előre definiált típusokból, változókból és rutinokból, amelyek felhasználhatók a semmitől a nullától kezdve.
Íme egy példa a sima angol programozási nyelv használatára, a sima angol fejlesztői környezetben (kattintson a nagyításhoz):
A fejlesztői környezet tartalmazza az asztali felületet, az ábécé szerinti menüket, a kód szerkesztésére szolgáló szövegszerkesztőt és a fordítót a forráskód futtatható kódba.
A programozási nyelv mind az utasításokat (fekete színnel), mind a megjegyzéseket (kék színnel) tartalmazza. A legtöbb programnyelv matematikai szintaxissal rendelkezik, és nehezebben olvasható és írható.
Az előre definiált típusok, változók és standard könyvtár a rutinokat ebben a rendszerben „tésztának” hívják, és a képernyő alján, a bal oldalon lévő második fülön nyitották meg. Az olyan típusok, mint a „név” és a „betűtípus”, valamint olyan változók, mint a „képernyő” és a „zöld toll”, valamint a rutinok, mint például: „nevet és méretet rakjon betűkészletbe”, és egy tollat és egy betűtípust ”definiál a Noodle.
A Run parancs futtatásakor (az R menü alatt található) a Plain English kódot lefuttatható Windows programba fordítják, és a program elindul. . Ezt a (nem triviális) folyamatot itt szemléltetjük …
… és a képernyőn megjelenő eredmény így néz ki:
A sima angol nyelvű programozásról itt talál további információt:
A puszta angol programozók Osmosian Rendje üdvözli Önt
Et voila!
Válasz
Vezérlő utasítások lehetővé teszik a programvezérlés folyamatának megadását; azaz a sorrend, amelyben a program utasításait végre kell hajtani. Lehetővé teszik a döntések meghozatalát, a feladatok ismételt végrehajtását vagy a kód egyik szakaszáról a másikra ugrást.
A C-ben négyféle vezérlő utasítás van:
- Döntéshozó állítások
- Kiválasztási utasítások
- Iterációs utasítások
- Ugró utasítások
Döntéshozatali nyilatkozat: az if-else utasítás
Az if-else utasítással logikai tesztet hajtanak végre, majd a két lehetséges művelet egyikét hajtják végre a függvény eredményétől függően. teszt (vagyis hogy az eredmény igaz vagy hamis).
Szintaxis:
if (condition)
{
statements
}
else
{
statements
}
Ha a feltétel az if utasításban megadott érték igaz, az állítások az if-blokk belsejében végrehajtják, majd a vezérlő az if-blokk után azonnal átkerül az utasításba. Még akkor is, ha a feltétel hamis, és nincs más-blokk, a vezérlés azonnal átkerül az utasításba az if-blokk után.
A másik részre csak akkor van szükség, ha egy bizonyos utasítássorozatot végre kell hajtani. ha az állapot hamisnak minősül. Fontos megjegyezni, hogy a feltételt mindig zárójelben adják meg, és hogy jó gyakorlat az utasításokat az if-blokkba vagy az else-blokkba zárójelbe tenni, függetlenül attól, hogy ez egyetlen utasítás vagy összetett utasítás.
A következő program ellenőrzi, hogy a megadott szám pozitív vagy negatív.
#include
int main( )
{
int a;
printf("n Enter a number:");
scanf("\%d", &a);
if(a>0)
{
printf( "n The number \%d is positive.",a);
}
else
{
printf("n The number \%d is negative.",a);
}
return 0;
}
A következő program két karakterláncot hasonlít össze annak ellenőrzésére, hogy egyenlőek-e vagy sem.
#include
#include
int main( )
{
char a[20] , b[20];
printf("n Enter the first string:");
scanf("\%s",a);
printf("n Enter the second string:");
scanf("\%s",b);
if((strcmp(a,b)==0))
{
printf("nStrings are the same");
}
else
{
printf("nStrings are different");
}
return 0;
}
A fenti program két karakterláncot hasonlít össze annak ellenőrzésére, hogy azonosak-e vagy sem. Erre a célra a strcmp
függvényt használják. A string.h
fájlban deklarálva:
int strcmp(const char *s1, const char *s2);
Összehasonlítja a karakterláncot s1
mutatott a s2
mutató karakterláncra. A strcmp
függvény nullával nagyobb, egyenlő vagy nulla alatti egész számot ad vissza, mivel a s1
mutató karakterlánc nagyobb, mint , egyenlő vagy kevesebb, mint az a karakterlánc, amelyre s2
mutat.
Ezért a fenti programban, ha a két karakterlánc a
és b
egyenlő, a strcmp
függvénynek nullát kell adnia. Ha 0-t ad vissza, akkor a karakterláncok ugyanazok ; különben különböznek egymástól.
Beágyazott if and if-else utasítások
Az is lehetséges, hogy beágyazás vagy fészkelés if-else utasítások egymásba foglalása. A fészkelés olyan helyzetekben hasznos, amikor a különböző műveletsorok egyikét kell kiválasztani.
A beágyazott if-else utasítás általános formátuma:
if(condition1)
{
// statement(s);
}
else if(condition2)
{
//statement(s);
}
.
.
.
.
else if (conditionN)
{
//statement(s);
}
else
{
//statement(s);
}
A fentieket if-else létra -nak is nevezik . A beágyazott if-else utasítás végrehajtása során, amint egy feltétel igaz lesz, az adott if-blokkhoz tartozó utasítások végrehajtásra kerülnek, és a beágyazott if-else utasítások fennmaradó részét megkerülik. Ha egyik feltétel sem teljesül, vagy az utolsó else-blokk kerül végrehajtásra, vagy ha az else-mondat hiányzik, akkor a vezérlő átkerül a következő utasításra, amely közvetlenül az else-if létra után található.
A a következő program a beágyazott if-else utasítást használja a három szám közül a legnagyobb megtalálásához.
#include
int main( )
{
int a, b,c;
a=6,b= 5, c=10;
if(a>b)
{
if(b>c)
{
printf("nGreatest is: " , a);
}
else if(c>a)
{
printf("nGreatest is: ", c);
}
}
else if(b>c) //outermost if-else block
{
printf("nGreatest is: " , b);
}
else
{
printf( "nGreatest is: " , c);
}
return 0;
}
A fenti program három egész számot hasonlít össze, és a legnagyobbat nyomtatja.Az első if utasítás összehasonlítja a a
és b
értékeket. Ha a a>b
igaz, akkor a programvezérlés átkerül az if blokkba beágyazott if-else utasításba, ahol a b
elemet a c
. Ha a b>c
is igaz, akkor a a
értéke ki lesz nyomtatva; különben összehasonlítjuk a c
és a a
értéket, és ha a c>a
igaz, akkor az érték c
nyomtatott. Ezután az if-else létra többi részét megkerülik.
Ha azonban az első feltétel a>b
hamis, akkor a vezérlő közvetlenül a legkülsőbe kerül -if blokk, ahol az b
értékét összehasonlítjuk a c
-vel (mint a
nem a legnagyobb). Ha a b>c
igaz, akkor az b
értéke ki van nyomtatva, máskülönben a c
értéke . Vegye figyelembe a fészket, a fogszabályozó használatát és a behúzást. Mindez az egyértelműség megőrzéséhez szükséges.
Kiválasztási nyilatkozat: a switch-case Statement
A kapcsoló utasítás többirányú kijelölésekhez használják, amelyek egy változó vagy kifejezés értéke alapján különböző kódszegmensekké fognak ágazni. Ennek a kifejezésnek vagy változónak egész adattípusúnak kell lennie.
Szintaxis:
switch (expression)
{
case value1:
code segment1;
break;
case value2:
code segment2;
break;
.
.
.
case valueN:
code segmentN;
break;
default:
default code segment;
}
Ennek az kifejezésnek az értéke a program futtatása során jön létre, vagy felhasználói bemenetként olvassa be. Kiválasztja és végrehajtja azt az esetet, amelynek értéke megegyezik a kifejezés értékével. Az opcionális alapértelmezett címke a végrehajtandó kódszegmens megadására szolgál, ha a kifejezés értéke nem egyezik a kis- és nagybetűk értékével.
A break
utasítás minden eset végén megtalálható. Ha nem így lenne, akkor a végrehajtás a következő eset kódszegmensébe folytatódna anélkül, hogy ellenőrizné az eset értékét is. Például feltételezve, hogy egy switch
utasításnak öt esete van, a harmadik eset értéke megegyezik a kifejezés értékével. Ha a harmadik eset végén nem volt megszakítási nyilatkozat, akkor a 3. eset utáni összes eset végrehajtásra kerül a 3. eset mellett is. Ha törés van, csak a szükséges esetet választják ki és hajtják végre; ezután a vezérlő a switch utasítás után azonnal átkerül a következő utasításba. Nincs break
a default
után, mert az alapértelmezett eset után a vezérlő mindkét módon átkerül a következő utasításba közvetlenül a váltás után.
Példa: program a hét napjának kinyomtatására.
#include
int main( )
{
int day;
printf("nEnter the number of the day:");
scanf("\%d",&day);
switch(day)
{
case 1:
printf("Sunday");
break;
case 2:
printf("Monday");
break;
case 3:
printf("Tuesday");
break;
case 4:
printf("Wednesday");
break;
case 5:
break;
case 6:
printf("Friday");
break;
case 7:
printf("Saturday");
break;
default:
printf("Invalid choice");
}
return 0;
}
Ez egy nagyon alapvető program, amely elmagyarázza a switch-case konstrukció működését. A felhasználó által beírt számtól függően kiválasztják és végrehajtják a megfelelő esetet.Például, ha a felhasználói bemenet 5, akkor az 5. eset kerül végrehajtásra. Az 5. esetben megjelenő break
utasítás az 5. eset után szünetelteti a kapcsoló utasítás végrehajtását, és a vezérlő a kapcsolás után átkerül a következő utasításba:
return 0;
Összetett utasításokat is be lehet ágyazni egy switch utasítás esetébe. Ezek az összetett állítások kontroll struktúrákat tartalmazhatnak. Így lehetséges egy beágyazott kapcsoló is, ha beágyazza azt egy tokba.
Az összes program, amely a switch-case utasítás használatával készült, az if-else utasítással is írható. Ugyanakkor jó programozási értelemben használja az if utasítást, amikor valamilyen egyszerű vagy összetett feltétel kiértékelése után valamilyen műveletet kell végrehajtania, amely magában foglalhatja a relációs és logikai kifejezések kombinációját (pl. (if((a!=0)&&(b>5))
).
Ha nagy értékcsoport közül kell választania, akkor egy kapcsoló utasítás sokkal gyorsabban fog futni, mint egy beágyazott if-készlet. A kapcsoló különbözik attól, hogy az if abban a kapcsolóban csak az egyenlőség tesztelhető-e, míg az if bármelyik logikai kifejezés kiértékelésére alkalmas.
A kapcsoló utasítást akkor kell használni, ha egy adott készletből kell választani. választások. A switch case állítást általában a menüalapú alkalmazásokban használják. A switch-case kimutatás leggyakrabban adatkezelésben vagy fájlfeldolgozásban történik. A fájlkezelés nagy része a közös funkciókat foglalja magában: fájl létrehozása, rekordok hozzáadása, rekordok törlése, rekordok frissítése, a teljes fájl vagy néhány szelektív rekord kinyomtatása. A következő program ötletet ad arról, hogy a switch case utasítás hogyan használható az adatkezelésben. Nem foglalja magában a fájlfeldolgozás kódját, mivel a fájlkezelést C-ben csak akkor tudjuk megvitatni, ha olyan fejlett fogalmakat tanultunk meg, mint a mutatók, a struktúrák és a szakszervezetek.
Példa: Az adatfájlok feldolgozásában használt switch case utasítás.
#include
int main()
{ //create file &set file pointer .
int choice;
printf("n Please select from the following options:");
printf("n 1. Add a record at the end of the file.");
printf("n 2. Add a record at the beginning of the file:");
printf("n 3. Add a record after a particular record:";
printf("nPlease enter your choice:(1/2/3)?");
scanf("\%d",&choice);
switch(choice)
{
case 1:
//code to add record at the end of the file
break;
case 2:
//code to add record at the beginning of the file
break;
case 3:
//code to add record after a particular record
break;
default:
printf("n Wrong Choice");
}
return 0;
}
Köszönöm ..