Bedste svar
Det afhænger af programmeringssproget. Min favorit, almindeligt engelsk, er et minimalt, men praktisk sprog, der kun har fem slags udsagn:
• Typedefinitioner, som altid starter med A, AN eller NOGET; • Globale variabeldefinitioner, som altid starter med THE; • Rutineoverskrifter, der altid starter med TO; • Betingede udsagn, der altid starter med IF; og • Tvingende udsagn, der starter med alt andet.
En anden måde at se på det er denne:
Programmer består i enkle vendinger af tre ting:
• Typer, der fortæller compileren / tolken, hvor mange byte noget vil optage i hukommelsen;
• Variabler, som er faktiske forekomster af forskellige typer hukommelse; og
• Rutiner (ofte kaldet funktioner eller metoder eller algoritmer), der opretter, manipulerer og til sidst kasserer variabler i hukommelsen
Men tre andre ting bruges typisk til oprettelse af programmer:
• Et udviklingsmiljø hvor programmer kan skrives og testes;
• A programmeringssprog ; og
• Et standardbibliotek med foruddefinerede typer, variabler og rutiner, der kan bruges i stedet for at skrive alt fra bunden.
Her er et eksempel, der bruger programmeringssproget Plain English, vist i Plain English-udviklingsmiljøet (klik for at forstørre):
udviklingsmiljø inkluderer desktop-interface, de alfabetiske menuer, teksteditoren, der bruges til at redigere koden, og den kompilator, der oversættes kildekoden til eksekverbar kode.
programmeringssprog inkluderer både udsagn (i sort) og kommentarer (i blåt). De fleste programmeringssprog har en mere matematisk syntaks og er sværere at læse og skrive.
standardbiblioteket af foruddefinerede typer, variabler og rutiner kaldes i dette system “nudlen” og er blevet åbnet på den anden fane fra venstre nederst på skærmen. Typer som “navn” og “skrifttype” og variabler som “skærmen” og “den grønne pen” og rutiner som “læg et navn og en størrelse i en skrifttype” og “tegn en streng i midten af en boks med en pen og en skrifttype ”er defineret i nudlen.
Når kommandoen Kør udføres (den er under R-menuen), sammensættes den almindelige engelske kode til et eksekverbart Windows-program, og programmet startes op . Denne (ikke-trivielle) proces illustreres her …
… og resultatet på skærmen ser sådan ud:
Mere om almindelig engelsk programmering kan findes her:
Den osmosiske rækkefølge af almindelige engelske programmører byder dig velkommen
Et voila!
Svar
Kontroludtalelser giver os mulighed for at specificere strømmen af programkontrol; dvs. rækkefølgen, hvor instruktionerne i et program skal udføres. De gør det muligt at træffe beslutninger, at udføre opgaver gentagne gange eller at springe fra en sektion af kode til en anden.
Der er fire typer kontroludtryk i C:
- Udtalelser om beslutningstagning
- Udvælgelseserklæringer
- Iterationserklæringer
- Jump-udsagn
Erklæring om beslutningstagning: if-else-erklæringen
If-else-udsagnet bruges til at udføre en logisk test og derefter tage en af to mulige handlinger afhængigt af resultatet af test (dvs. om resultatet er sandt eller falsk).
Syntaks:
if (condition)
{
statements
}
else
{
statements
}
Hvis betingelsen specificeret i if-sætningen vurderes til sand, udsagnene inde i if-blokken udføres, og derefter overføres kontrollen til erklæringen umiddelbart efter if-blokken. Selvom betingelsen er falsk, og ingen anden-blok er til stede, overføres kontrol til udsagnet umiddelbart efter if-blokken.
Den anden del kræves kun, hvis en bestemt rækkefølge af instruktioner skal udføres hvis tilstanden evalueres til falsk. Det er vigtigt at bemærke, at betingelsen altid er angivet i parentes, og at det er en god praksis at vedlægge udsagnene i if-blokken eller i den anden blok i parenteser, hvad enten det er en enkelt sætning eller en sammensat sætning.
Det følgende program kontrollerer, om det indtastede nummer er 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ølgende program sammenligner to strenge for at kontrollere, om de er lige eller ikke.
#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;
}
Ovenstående program sammenligner to strenge for at kontrollere, om de er ens eller ikke. Funktionen strcmp
bruges til dette formål. Det erklæres i string.h
-filen som:
int strcmp(const char *s1, const char *s2);
Den sammenligner strengen peget på af s1
til den streng, der er peget på af s2
. Funktionen strcmp
returnerer et heltal større end, lig med eller mindre end nul, som strengen, der er peget på af s1
, er større end , lig med eller mindre end den streng, der er peget på s2
.
Derfor i ovenstående program, hvis de to strenge a
og b
er ens, skal strcmp
-funktionen returnere 0. Hvis den returnerer et 0, er strengene de samme ; ellers er de forskellige.
Indlejrede hvis og hvis-ellers udsagn
Det er også muligt at integrere eller til nest hvis-ellers udsagn hinanden. Indlejring er nyttig i situationer, hvor en af flere forskellige handlingsforløb skal vælges.
Det generelle format for en indlejret if-else-sætning er:
if(condition1)
{
// statement(s);
}
else if(condition2)
{
//statement(s);
}
.
.
.
.
else if (conditionN)
{
//statement(s);
}
else
{
//statement(s);
}
Ovenstående kaldes også if-else stigen . Under udførelsen af en indlejret if-else-sætning, så snart der er en betingelse, der evalueres til sand, vil udsagnene, der er knyttet til den pågældende if-block, blive udført, og resten af de indlejrede if-else-udsagn vil blive omgået. Hvis ingen af betingelserne er sande, udføres enten den sidste anden-blok, eller hvis den anden-blok er fraværende, overføres kontrollen til den næste instruktion, der er til stede umiddelbart efter den anden-hvis-stigen.
det følgende program bruger den indlejrede if-else-sætning til at finde det største af tre tal.
#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;
}
Ovenstående program sammenligner tre heltal og udskriver det største.Den første if-sætning sammenligner værdierne for a
og b
. Hvis a>b
er sandt, overføres programstyring til if-else-sætningen, der er indlejret i if-blokken, hvor b
sammenlignes med c
. Hvis b>c
også er sandt, udskrives værdien af a
; ellers sammenlignes værdien af c
og a
, og hvis c>a
er sand, er værdien af c
udskrives. Herefter omgår resten af if-else-stigen.
Men hvis den første betingelse a>b
er falsk, overføres kontrollen direkte til det yderste -if-blok, hvor værdien af b
sammenlignes med c
(som a
ikke den største). Hvis b>c
er sandt, udskrives værdien af b
ellers udskrives værdien af c
. Bemærk indlejringen, brugen af seler og fordybningen. Alt dette kræves for at opretholde klarhed.
Udvælgelseserklæring: switch-case-erklæring
En switch-sætning er bruges til flerevejsvalg , der forgrener sig til forskellige kodesegmenter baseret på værdien af en variabel eller et udtryk. Dette udtryk eller variabel skal være af heltal datatype.
Syntaks:
switch (expression)
{
case value1:
code segment1;
break;
case value2:
code segment2;
break;
.
.
.
case valueN:
code segmentN;
break;
default:
default code segment;
}
Værdien af dette udtryk genereres enten under programudførelse eller læses ind som brugerinput. Sagen, hvis værdi er den samme som udtrykket , vælges og udføres. Den valgfri standard -etiket bruges til at specificere det kodesegment, der skal udføres, når udtrykets værdi ikke stemmer overens med nogen af sagsværdierne.
break
-erklæringen er til stede i slutningen af hvert tilfælde. Hvis det ikke var tilfældet, ville udførelsen fortsætte i kodesegmentet i den næste sag uden engang at kontrollere sagsværdien. Hvis vi f.eks. Antager, at en switch
-erklæring har fem tilfælde, og værdien af den tredje sag svarer til værdien af -udtryk . Hvis der ikke var nogen pauseerklæring i slutningen af den tredje sag, ville alle sager efter sag 3 også blive henrettet sammen med sag 3. Hvis pause er til stede, vælges og udføres kun den krævede sag; hvorefter kontrollen overføres til den næste erklæring umiddelbart efter switch-erklæringen. Der er ingen break
efter default
, fordi kontrollen efter standardtilfælde på en eller anden måde overføres til næste sætning straks efter switch.
Eksempel: et program til udskrivning af ugedagen.
#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;
}
Dette er en meget grundlæggende program, der forklarer, hvordan switch-case-konstruktionen fungerer. Afhængigt af det antal, der er indtastet af brugeren, vælges og udføres den relevante sag.For eksempel, hvis brugerindgangen er 5, udføres sag 5. break
-sætningen, der er til stede i tilfælde 5, sætter udførelsen af switch-sætningen på pause efter case 5, og kontrollen overføres til den næste sætning efter switch, som er:
return 0;
Det er også muligt at integrere sammensatte udsagn inde i tilfælde af en switch-sætning. Disse sammensatte udsagn kan indeholde kontrolstrukturer. Således er det også muligt at have en indlejret switch ved at indlejre den i en sag.
Alle programmer, der er skrevet ved hjælp af switch-case-erklæringen, kan også skrives ved hjælp af if-else-sætningen. Det giver dog god programmeringsmæssig mening at bruge if-sætningen, når du skal foretage dig noget efter at have evalueret nogle enkle eller komplekse forhold, der kan involvere en kombination af relationelle og logiske udtryk (f.eks. (if((a!=0)&&(b>5))
).
Hvis du har brug for at vælge blandt en stor gruppe af værdier, kører en switch-sætning meget hurtigere end et sæt indlejrede ifs. Omskifteren adskiller sig fra, hvis i denne switch kun kan teste for lighed, hvorimod hvis kan evaluere enhver form for boolsk udtryk.
Switch-sætningen skal bruges, når man skal vælge mellem et givet sæt valg. Switch case-sætningen bruges generelt i menubaserede applikationer . Den mest almindelige anvendelse af en switch-case-erklæring er i datahåndtering eller filbehandling. Det meste af filhåndtering involverer de almindelige funktioner: at oprette en fil, tilføje poster, slette poster, opdatere poster, udskrive hele filen eller nogle selektive poster. Følgende program giver en idé om, hvordan switch case-erklæringen kan bruges til datahåndtering. Det involverer ikke koden til filbehandling, da vi kun kan diskutere filhåndtering i C, efter at vi har lært avancerede begreber som pegepinde, strukturer og fagforeninger.
Eksempel: En switch case-sætning, der bruges til databehandlingsfiler.
#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;
}
Tak ..