Najlepsza odpowiedź
To zależy od języka programowania. Mój ulubiony, zwykły angielski, to minimalny, ale praktyczny język, który ma tylko pięć rodzajów zdań:
• Definicje typów, które zawsze zaczynają się od A, AN lub SOME; • Definicje zmiennych globalnych, które zawsze zaczynają się od THE; • Rutynowe nagłówki, które zawsze zaczynają się od TO; • Instrukcje warunkowe, które zawsze zaczynają się od IF; oraz • Instrukcje rozkazujące, które zaczynają się od czegoś innego.
Innym sposobem spojrzenia na to jest:
Programy, mówiąc najprościej, składają się z trzech rzeczy:
• Typy, które mówią kompilatorowi / interpreterowi, ile bajtów zajmie coś w pamięci;
• Zmienne, które są faktycznymi instancjami różnych typów w pamięci; oraz
• Procedury (często nazywane funkcjami, metodami lub algorytmami), które tworzą, przetwarzają i ostatecznie odrzucają zmienne w pamięci
Ale przy tworzeniu programów zwykle używane są trzy inne rzeczy:
• środowisko programistyczne , w którym można pisać i testować programy;
• A język programowania ; oraz
• standardowa biblioteka wstępnie zdefiniowanych typów, zmiennych i procedur, których można używać zamiast pisać wszystko od zera.
Oto przykład wykorzystujący język programowania Plain English, pokazany w środowisku programistycznym Plain English (kliknij, aby powiększyć):
środowisko programistyczne obejmuje interfejs pulpitu, menu alfabetyczne, edytor tekstu używany do edycji kodu oraz kompilator, który tłumaczy kod źródłowy w kod wykonywalny.
język programowania zawiera zarówno instrukcje (w kolorze czarnym), jak i komentarze (na niebiesko). Większość języków programowania ma bardziej matematyczną składnię i jest trudniejsza do czytania i pisania.
biblioteka standardowa wstępnie zdefiniowanych typów, zmiennych i procedury w tym systemie nazywane są „makaronem” i zostały otwarte na drugiej karcie od lewej na dole ekranu. Typy takie jak „nazwa” i „czcionka” oraz zmienne, takie jak „ekran” i „zielony długopis”, oraz procedury takie jak „wstaw nazwę i rozmiar do czcionki” oraz „narysuj ciąg na środku pola za pomocą pióro i czcionka ”są zdefiniowane w Noodle.
Po wykonaniu polecenia Uruchom (znajduje się w menu R), kod w języku Plain English jest kompilowany do wykonywalnego programu Windows i program jest uruchamiany . Ten (nietrywialny) proces jest zilustrowany tutaj…
… a wynik na ekranie wygląda następująco:
Więcej o programowaniu w prostym języku angielskim można znaleźć tutaj:
Wita Cię Osmański Zakon Prostych Angielskich Programistów
Et voila!
Odpowiedź
Instrukcje sterujące pozwalają nam określić przepływ kontroli programu; tj. kolejność, w jakiej instrukcje w programie muszą być wykonywane. Umożliwiają podejmowanie decyzji, wielokrotne wykonywanie zadań lub przeskakiwanie z jednej sekcji kodu do drugiej.
W języku C istnieją cztery typy instrukcji sterujących:
- Instrukcje do podejmowania decyzji
- Instrukcje wyboru
- Instrukcje iteracyjne
- Instrukcje Jump
Instrukcja podejmowania decyzji: instrukcja if-else
Instrukcja if-else jest używana do przeprowadzenia testu logicznego, a następnie podjęcia jednej z dwóch możliwych akcji w zależności od wyniku test (tzn. czy wynik jest prawdziwy czy fałszywy).
Składnia:
if (condition)
{
statements
}
else
{
statements
}
Jeśli warunek określone w instrukcji if zwraca wartość true, instrukcje wewnątrz bloku if są wykonywane, a następnie sterowanie jest przenoszone do instrukcji bezpośrednio po bloku if. Nawet jeśli warunek jest fałszywy i nie ma bloku else, sterowanie jest przekazywane do instrukcji bezpośrednio po bloku if.
Część else jest wymagana tylko wtedy, gdy trzeba wykonać określoną sekwencję instrukcji jeśli warunek ma wartość fałsz. Należy zauważyć, że warunek jest zawsze podawany w nawiasach i że dobrą praktyką jest umieszczanie instrukcji w bloku if lub w bloku else w nawiasy klamrowe, niezależnie od tego, czy jest to instrukcja pojedyncza czy instrukcja złożona. p>
Poniższy program sprawdza, czy wprowadzona liczba jest dodatnia czy ujemna.
#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;
}
Poniższy program porównuje dwa łańcuchy, aby sprawdzić, czy są równe, czy nie.
#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;
}
Powyższy program porównuje dwa łańcuchy, aby sprawdzić, czy są takie same, czy nie. Służy do tego funkcja strcmp
. Jest zadeklarowany w pliku string.h
jako:
int strcmp(const char *s1, const char *s2);
Porównuje ciąg wskazywany przez s1
na ciąg wskazany przez s2
. Funkcja strcmp
zwraca liczbę całkowitą większą niż, równą lub mniejszą od zera, ponieważ ciąg wskazywany przez s1
jest większy niż , równe lub mniejsze niż ciąg wskazywany przez s2
.
Dlatego w powyższym programie, jeśli dwa łańcuchy a
i b
są równe, funkcja strcmp
powinna zwrócić 0. Jeśli zwraca 0, ciągi są takie same ; w przeciwnym razie są różne.
Zagnieżdżone instrukcje if i if-else
Możliwe jest również osadzanie lub zagnieżdżanie instrukcji if-else jedna w drugiej. Zagnieżdżanie jest przydatne w sytuacjach, w których należy wybrać jeden z kilku różnych sposobów działania.
Ogólny format zagnieżdżonej instrukcji if-else to:
if(condition1)
{
// statement(s);
}
else if(condition2)
{
//statement(s);
}
.
.
.
.
else if (conditionN)
{
//statement(s);
}
else
{
//statement(s);
}
Powyższe jest również nazywane drabiną if-else . Podczas wykonywania zagnieżdżonej instrukcji if-else, gdy tylko zostanie napotkany warunek, którego wynikiem jest prawda, instrukcje powiązane z tym konkretnym blokiem if-else zostaną wykonane, a pozostałe zagnieżdżone instrukcje if-else zostaną pominięte. Jeśli żaden z warunków nie jest spełniony, wykonywany jest albo ostatni blok else-if, albo brak bloku else, sterowanie zostaje przeniesione do następnej instrukcji obecnej bezpośrednio po drabinie else-if.
poniższy program używa zagnieżdżonej instrukcji if-else, aby znaleźć największą z trzech liczb.
#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;
}
Powyższy program porównuje trzy liczby całkowite i wypisuje największą.Pierwsza instrukcja if porównuje wartości a
i b
. Jeśli a>b
ma wartość true, sterowanie programem jest przenoszone do instrukcji if-else zagnieżdżonej w bloku if, gdzie b
jest porównywane z c
. Jeśli b>c
jest również prawdziwe, drukowana jest wartość a
; w przeciwnym razie porównywane są wartości c
i a
, a jeśli c>a
to prawda, wartość z c
jest drukowane. Po tym reszta drabiny if-else jest pomijana.
Jednakże, jeśli pierwszy warunek a>b
jest fałszywy, sterowanie jest bezpośrednio przekazywane do najbardziej zewnętrznej -if blok, gdzie wartość b
jest porównywana z c
(jako a
jest nie największy). Jeśli b>c
to prawda, drukowana jest wartość b
, w przeciwnym razie drukowana jest wartość c
. Zwróć uwagę na zagnieżdżenie, użycie nawiasów klamrowych i wcięcie. Wszystko to jest potrzebne do zachowania jasności.
Instrukcja Selection: instrukcja switch-case
Instrukcja switch to używany dla wyborów wielostronnych , które będą rozgałęziać się na różne segmenty kodu na podstawie wartości zmiennej lub wyrażenia. To wyrażenie lub zmienna musi być liczbą całkowitą.
Składnia:
switch (expression)
{
case value1:
code segment1;
break;
case value2:
code segment2;
break;
.
.
.
case valueN:
code segmentN;
break;
default:
default code segment;
}
Wartość tego wyrażenia jest generowana podczas wykonywania programu lub wczytywana jako dane wejściowe użytkownika. Przypadek, którego wartość jest taka sama, jak w wyrażeniu , jest wybierany i wykonywany. Opcjonalna etykieta default jest używana do określenia segmentu kodu, który ma zostać wykonany, gdy wartość wyrażenia nie pasuje do żadnej z wartości wielkości liter.
Instrukcja break
znajduje się na końcu każdej sprawy. Gdyby tak nie było, wykonanie byłoby kontynuowane do segmentu kodu następnej sprawy bez sprawdzania nawet wartości przypadku. Na przykład załóżmy, że instrukcja switch
ma pięć przypadków, a wartość trzeciego przypadku jest zgodna z wartością wyrażenia . Gdyby na końcu trzeciego przypadku nie było instrukcji break, wszystkie obserwacje po przypadku 3 również zostałyby wykonane wraz z przypadkiem 3. Jeśli występuje break, tylko wymagany przypadek jest wybierany i wykonywany; po czym kontrola zostaje przeniesiona do następnej instrukcji bezpośrednio po instrukcji switch. Nie ma break
po default
, ponieważ po domyślnym przypadku kontrola zostanie przeniesiona do następnej instrukcji natychmiast po przełączeniu.
Przykład: program do drukowania dnia tygodnia.
#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;
}
To jest bardzo podstawowa program, który wyjaśnia działanie konstrukcji przełącznika. W zależności od liczby wprowadzonej przez użytkownika, wybierany i wykonywany jest odpowiedni przypadek.Na przykład, jeśli dane wejściowe użytkownika to 5, to zostanie wykonany przypadek 5. Instrukcja break
obecna w przypadku 5 wstrzyma wykonywanie instrukcji switch po przypadku 5, a sterowanie zostanie przeniesione do następnej instrukcji po przełączeniu, czyli:
return 0;
Możliwe jest również osadzenie instrukcji złożonych wewnątrz przypadku instrukcji switch. Te instrukcje złożone mogą zawierać struktury sterujące. W ten sposób możliwe jest również posiadanie zagnieżdżonego przełącznika poprzez osadzenie go w obudowie.
Wszystkie programy napisane za pomocą instrukcji switch-case można również napisać przy użyciu instrukcji if-else. Jednak programowanie ma sens, aby używać instrukcji if, gdy trzeba podjąć jakąś akcję po ocenie jakiegoś prostego lub złożonego warunku, który może obejmować kombinację wyrażeń relacyjnych i logicznych (np. (if((a!=0)&&(b>5))
).
Jeśli potrzebujesz dokonać wyboru spośród dużej grupy wartości, instrukcja switch będzie działać znacznie szybciej niż zestaw zagnieżdżonych ifs. Przełącznik różni się od if w tym przełączniku, który może testować tylko pod kątem równości, podczas gdy if może oceniać dowolny typ wyrażenia boolowskiego.
Instrukcja switch musi być używana, gdy trzeba dokonać wyboru z danego zestawu wybory. Instrukcja switch case jest zwykle używana w aplikacjach opartych na menu . Najczęstszym zastosowaniem instrukcji switch-case jest obsługa danych lub przetwarzanie plików. Większość obsługi plików obejmuje typowe funkcje: tworzenie pliku, dodawanie rekordów, usuwanie rekordów, aktualizowanie rekordów, drukowanie całego pliku lub wybranych rekordów. Poniższy program daje wyobrażenie o tym, jak instrukcja switch case może być używana w obsłudze danych. Nie obejmuje kodu do przetwarzania plików, ponieważ możemy omówić obsługę plików w C dopiero po opanowaniu zaawansowanych pojęć, takich jak wskaźniki, struktury i związki.
Przykład: Instrukcja switch case używana w przetwarzaniu pliku danych.
#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;
}
Dzięki …