Bästa svaret
Det beror på programmeringsspråket. Min favorit, vanlig engelska, är ett minimalt men praktiskt språk som bara har fem påståenden:
• Typdefinitioner, som alltid börjar med A, AN eller SOME; • Globala variabeldefinitioner, som alltid börjar med THE; • Rutinrubriker, som alltid börjar med TO; • Villkorliga uttalanden, som alltid börjar med IF; och • Tvingande uttalanden, som börjar med allt annat.
Ett annat sätt att titta på det är detta:
Program, i enkla termer, består av tre saker:
• Typer som berättar kompilatorn / tolken hur många byte något kommer att uppta i minnet.
• Variabler som är faktiska instanser av olika typer i minnet; och
• Rutiner (ofta kallade funktioner eller metoder eller algoritmer) som skapar, manipulerar och så småningom slänger variabler i minnet
Men tre andra saker används vanligtvis vid skapandet av program:
• En utvecklingsmiljö där program kan skrivas och testas;
• A programmeringsspråk ; och
• Ett standardbibliotek med fördefinierade typer, variabler och rutiner som kan användas istället för att skriva allt från grunden.
Här är ett exempel som använder programmeringsspråket Plain English, som visas i utvecklingsmiljön Plain English (klicka för att förstora):
utvecklingsmiljö inkluderar skrivbordsgränssnittet, de alfabetiska menyerna, textredigeraren som används för att redigera koden och kompilatorn som översätts källkoden till körbar kod.
programmeringsspråket innehåller både uttalanden (i svart) och kommentarer (i blått). De flesta programmeringsspråk har en mer matematisk syntax och är svårare att läsa och skriva.
standardbiblioteket av fördefinierade typer, variabler och rutiner, i detta system, kallas ”nudeln” och har öppnats på den andra fliken från vänster längst ner på skärmen. Typer som ”namn” och ”teckensnitt” och variabler som ”skärmen” och ”den gröna pennan” och rutiner som ”lägg ett namn och en storlek i ett teckensnitt” och ”rita en sträng i mitten av en ruta med en penna och ett teckensnitt ”definieras i Noodle.
När kommandot Run körs (det är under R-menyn) kompileras den vanliga engelska koden till ett körbart Windows-program och programmet startas upp . Den (icke-triviala) processen illustreras här …
… och resultatet på skärmen ser ut så här:
Mer om vanlig engelsk programmering hittar du här:
Den osmosiska ordningen för vanliga engelska programmerare välkomnar dig
Et voila!
Svar
Kontrolluttalanden gör det möjligt för oss att specificera flödet av programkontroll; dvs den ordning i vilken instruktionerna i ett program måste köras. De gör det möjligt att fatta beslut, utföra uppgifter upprepade gånger eller hoppa från en kodsektion till en annan.
Det finns fyra typer av kontrolluttalanden i C:
- Beslutsbeslut
- Urvalsuttalanden
- Iterationsuttalanden
- Hopputtalanden
Uttalande om beslutsfattande: if-else-uttalandet
If-else-uttalandet används för att genomföra ett logiskt test och sedan vidta en av två möjliga åtgärder beroende på resultatet av test (dvs. om resultatet är sant eller falskt).
Syntax:
if (condition)
{
statements
}
else
{
statements
}
Om villkoret anges i if-uttalandet utvärderas till sant, uttalandena inuti if-blocket körs och sedan överförs kontrollen till uttalandet omedelbart efter if-blocket. Även om villkoret är falskt och inget annat-block finns, överförs kontrollen till uttalandet omedelbart efter if-blocket.
Den andra delen krävs endast om en viss instruktionssekvens behöver utföras om tillståndet utvärderas till falskt. Det är viktigt att notera att villkoret alltid anges inom parentes och att det är en god praxis att bifoga påståendena i if-blocket eller i annars-blocket inom parenteser, oavsett om det är en enda sats eller en sammansatt sats.
Följande program kontrollerar om det inmatade numret är positivt eller negativt.
#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;
}
Följande program jämför två strängar för att kontrollera om de är lika eller inte.
#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;
}
Ovanstående program jämför två strängar för att kontrollera om de är desamma eller inte. Funktionen strcmp
används för detta ändamål. Det förklaras i string.h
-filen som:
int strcmp(const char *s1, const char *s2);
Den jämför strängen påpekad av s1
till strängen som s2
pekade på. Funktionen strcmp
returnerar ett heltal som är större än, lika med eller mindre än noll, följaktligen som strängen pekad på av s1
är större än , lika med eller mindre än strängen pekad av s2
.
Därför i ovanstående program, om de två strängarna a
och b
är lika, strcmp
-funktionen ska returnera 0. Om den returnerar en 0 är strängarna desamma ; annars är de olika.
Inkapslade om och om-annat uttalanden
Det är också möjligt att bädda in eller till bo om-annars uttalanden i varandra. Nestning är användbart i situationer där en av flera olika handlingsmetoder måste väljas.
Det allmänna formatet för ett kapslat if-else-uttalande är:
if(condition1)
{
// statement(s);
}
else if(condition2)
{
//statement(s);
}
.
.
.
.
else if (conditionN)
{
//statement(s);
}
else
{
//statement(s);
}
Ovanstående kallas också if-else-stegen . Under exekveringen av ett kapslat if-else-uttalande, så snart ett tillstånd påträffas som utvärderas till sant, kommer uttalandena som är associerade med det specifika if-blocket att köras och resten av de kapslade if-else-uttalandena kommer att kringgå. Om inget av villkoren är sant, antingen det sista annars-blocket exekveras eller om annars-blocket är frånvarande, överförs kontrollen till nästa instruktion närvarande omedelbart efter den annars-om-stegen.
följande program använder det kapslade if-else-uttalandet för att hitta det största av tre siffror.
#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;
}
Programmet ovan jämför tre heltal och skriver ut det största.Det första if-uttalandet jämför värdena för a
och b
. Om a>b
är sant, överförs programstyrning till if-else-satsen kapslad inuti if-blocket, där b
jämförs med c
. Om b>c
också är sant skrivs värdet för a
ut; annars jämförs värdet av c
och a
och om c>a
är sant, är värdet av c
skrivs ut. Efter detta kringgår resten av if-else-stegen.
Men om det första villkoret a>b
är falskt, överförs kontrollen direkt till det yttersta -if-block, där värdet av b
jämförs med c
(som a
är inte den största). Om b>c
är sant skrivs värdet för b
ut annars skrivs värdet för c
. Observera häckningen, användningen av hängslen och fördjupningen. Allt detta krävs för att upprätthålla tydligheten.
Markeringsuttalande: växelväsendeklarationen
Ett växlingsuttalande är används för flervägsval som kommer att förgrenas till olika kodsegment baserat på värdet på en variabel eller ett uttryck. Detta uttryck eller variabel måste vara av heldatatyp.
Syntax:
switch (expression)
{
case value1:
code segment1;
break;
case value2:
code segment2;
break;
.
.
.
case valueN:
code segmentN;
break;
default:
default code segment;
}
Värdet för detta -uttryck genereras antingen under programkörningen eller läses in som användarinmatning. Fallet vars värde är detsamma som för uttrycket väljs och körs. Den valfria standard -etiketten används för att specificera det kodsegment som ska köras när värdet på uttrycket inte matchar något av fallvärdena.
Uttrycket break
finns i slutet av varje ärende. Om det inte var så skulle körningen fortsätta in i kodsegmentet i nästa ärende utan att ens kontrollera ärendets värde. Om vi till exempel antar att ett switch
-uttalande har fem fall och värdet för det tredje fallet matchar värdet av uttryck . Om det inte fanns något avbrottsuttalande i slutet av det tredje ärendet, skulle alla ärenden efter ärende 3 också avrättas tillsammans med ärende 3. Om avbrott är närvarande väljs och exekveras endast det erforderliga ärendet. varefter kontrollen överförs till nästa uttalande omedelbart efter växlingsuttalandet. Det finns ingen break
efter default
för efter standardfallet kommer kontrollen antingen att överföras till nästa uttalande omedelbart efter omkopplaren.
Exempel: ett program för att skriva ut veckodagen.
#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;
}
Detta är en mycket grundläggande program som förklarar hur switch-case-konstruktionen fungerar. Beroende på det antal som användaren har angett väljs och utförs lämpligt fall.Till exempel, om användarinmatningen är 5, kommer fall 5 att köras. break
-uttalandet närvarande i fall 5 pausar körningen av växlingsuttalandet efter fall 5 och kontrollen överförs till nästa uttalande efter omkopplaren, vilket är:
return 0;
Det är också möjligt att bädda in sammansatta uttalanden i fallet med en switch-sats. Dessa sammansatta uttalanden kan innehålla kontrollstrukturer. Således är det också möjligt att ha en kapslad switch genom att bädda in den i ett fall.
Alla program skrivna med switch-case-uttalandet kan också skrivas med if-else-uttalandet. Det är dock bra med programmering att använda if-satsen när du behöver vidta några åtgärder efter att ha utvärderat ett enkelt eller komplext tillstånd som kan innebära en kombination av relationella och logiska uttryck (t.ex. (if((a!=0)&&(b>5))
).
Om du behöver välja bland en stor grupp av värden, kommer ett växlingsuttal att köras mycket snabbare än en uppsättning kapslade ifs. Omkopplaren skiljer sig från om i den omkopplaren bara kan testa för jämlikhet, medan den kan utvärdera vilken typ av booleskt uttryck som helst.
Omkopplaruttrycket måste användas när man behöver göra ett val från en given uppsättning val. Växelförklaringen används vanligtvis i menybaserade applikationer . Den vanligaste användningen av ett switch-case-uttalande är vid datahantering eller filhantering. Det mesta av filhanteringen innefattar de vanliga funktionerna: skapa en fil, lägga till poster, ta bort poster, uppdatera poster, skriva ut hela filen eller några selektiva poster. Följande program ger en uppfattning om hur switch case-uttalandet kan användas vid datahantering. Det involverar inte koden för filhantering eftersom vi kan diskutera filhantering i C först efter att vi har lärt oss avancerade begrepp som pekare, strukturer och fackföreningar.
Exempel: Ett bytesfall uttalande som används vid datafilbehandling.
#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;
}
Tack ..