Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • vijesti
  • Opis strukture programa glavne funkcije u C. Struktura C programa

Opis strukture programa glavne funkcije u C. Struktura C programa

Svaki program napisan u jeziku C sastoji se od jedne ili više "funkcija", koje su osnovni moduli od kojih je sastavljen.

Primjer strukture jednostavnog C programa:

Opšti oblik

Primjer

direktive predprocesora

#include

# definirajte N 10

ime glavna funkcija

početak tijela glavne funkcije

deklaracije varijabli i niza

intx=1; charstr[N];

programske izjave

stavlja ("Enter ime");

gets(str);

printf("\n %s, %d ste moj gost!",str,x);

Kraj tijela glavne funkcije

      1. Preprocesorske direktive

Dio kompajlera je program tzv pretprocesor. Predprocesor radi sve dok se program ne prevede sa jezika visoki nivo u mašinski jezik, vršeći njegovu preliminarnu transformaciju. Svaka direktiva pretprocesora počinje znakom # (broj) i proteže se kroz cijeli red. Smjernice koje se ne uklapaju u jedan red mogu se nastaviti u sljedećem redu. Znak za nastavak reda je znak obrnute kose crte (\) u redu koji se nastavlja.

Najčešće korištena direktiva je uključivanje datoteke u program.

# uključiti < ime>

gdje ime je naziv datoteke uključene u tekst programa.

Ova direktiva se zove direktiva o supstituciji . Kaže kompajleru da ga zamijeni datotekom ime. File ime zove zaglavlje. Sadrži deklaracije podataka i funkcija koje se koriste u programu. Na primjer, uključujući i direktivu

# uključiti < math. h>

će vam omogućiti da koristite standardne matematičke funkcije u programu, kao što su sin x, cos x, ln x, itd. Lista standardnih matematičkih funkcija će biti data u nastavku.

Direktiva

# uključiti < stdio. h>

omogućava programu da koristi standardne ulazno-izlazne funkcije.

Druga često korištena direktiva je direktiva o definiciji.

#defini S1 S2

gdje S1, S2- nizovi znakova.

Pretprocesor traži niz znakova u tekstu programa S1 i zamjenjuje ga nizom S2 . Na primjer, uključujući i direktivu

# definisati P printf

omogućava vam da kucate slovo na tastaturi P umjesto riječi printf.

Ova zamjena se ne vrši unutar tekstualnih nizova (literala), karakternih konstanti i komentara, tj. direktivna akcija # definisati ne odnosi se na tekstove omeđene navodnicima, apostrofima i smještene unutar komentara.

      1. Glavna funkcija

Svaki C program mora sadržavati deklaraciju funkcije main(), koja se zove glavna funkcija . Obično ova funkcija nema parametre i ne vraća nikakvu vrijednost. Riječ se koristi da ukaže na ovu činjenicu. void. Dakle, red s imenom glavne funkcije obično izgleda ovako:

void main(void)

void main()

      1. Varijable i nizovi

Niz je grupa varijabli istog tipa sa zajedničkim imenom. Ime varijable ili niza je identifikator - niz sastavljen od znakova:

a - z, A - Z, 0 - 9,_(donja crta),

a prvi znak ne može biti cifra. Mala slova i velika slova Latinica se percipira kao različita slova. Funkcionalne riječi jezika C ne mogu se koristiti kao ime varijable ili niza. Glavne funkcijske riječi jezika C date su u Dodatku.

Elementi niza se razlikuju po broju (indeksima). Indeks može uzeti samo nenegativne vrijednosti cijelih brojeva. Indeks se upisuje iza imena niza u uglaste zagrade. Može postojati nekoliko indeksa. U ovom slučaju, svaki indeks je napisan u svojim uglastim zagradama.

Promenljive i nizovi se mogu koristiti u jeziku C razne vrste. Svaka vrsta podataka zauzima određeni broj bajtova memorije i može uzeti vrijednosti iz određenog raspona. Količina ove memorije i, shodno tome, raspon prihvaćenih vrijednosti u različitim implementacijama jezika C može varirati. Broj bajtova memorije koje zauzima varijabla određenog tipa za određenu implementaciju C jezika može se odrediti pomoću operacije sizeof(tip). Na primjer, možete odrediti količinu memorije koja je dodijeljena za varijablu cjelobrojnog tipa na sljedeći način:

k = sizeof(int);

printf(“ Ispod varijable tipaintdodijeljen %d bajtova memorije”,k);

U ovim smjernicama razmatraju se tri glavna tipa varijabli i nizova, date su tipične vrijednosti količine zauzete memorije i raspon vrijednosti (tabela 1):

Tabela 1

Specifikator vrste (ključna riječ)

Značenje

Veličina

memorija (bajt)

Raspon vrijednosti

Cijeli broj

32768 . . . +32767

2147483648 . . . +2147483647

Validan

Broj stvarnog tipa

3,4ּ10 -38 . . . 3,4ּ10 38

(modulo)

Symbolic

128 . . . +127

Pogledajmo pobliže varijablu tipa char. Kao što se može vidjeti iz tab. 1, tip varijabli char zauzima jedan bajt memorije. Jedan bajt memorije može sadržavati ili neoznačeni cijeli broj iz raspona ili predpisani cijeli broj iz raspona [–128, 127]. Ovaj broj je kod za jedan od 256 znakova. Simbol koji odgovara datom kodu je određen korištenom tablicom kodova. Dakle, vrijednost varijable tipa char može se smatrati ili kao cijeli broj, ili kao znak čiji je kod jednak ovom broju.

Sastav jezikaU tekstu na bilo kojem prirodnom jeziku, četiri
osnovni elementi: simboli, riječi, fraze i rečenice.
Slični elementi su sadržani u algoritamskom jeziku:
Abeceda jezika, odnosno njegovi simboli, su osnovni nedjeljivi znakovi, sa
kojim su napisani svi tekstovi na jeziku.
Leksema je najmanja jedinica jezika koja ima samostalnu
značenje.
Izraz definira pravilo za izračunavanje neke vrijednosti.
Operator specificira potpuni opis neke radnje.
Za opis složena akcija potreban redosled
operateri. Operateri se mogu kombinovati u spoj
izraz ili blok (blok u jeziku C++ je
niz izjava zatvorenih vitičastim zagradama ( )).
U ovom slučaju, oni se tretiraju kao jedna izjava.
Svaki element jezika je definisan sintaksom i semantikom.
Sintaktičke definicije uspostavljaju pravila građenja
elemenata jezika, a semantika određuje njihovo značenje i pravila
koristiti.
Kombinovano jednim algoritmom, skupom opisa i
operatori formiraju program na algoritamski jezik.

Proces izvršavanja programa

Da biste pokrenuli program, morate ga prevesti
na jezik razumljiv procesoru - u mašinske kodove. Ovo
proces se sastoji od nekoliko faza:
Program se prvo prosljeđuje pretprocesoru, koji
povezuje tekstualne datoteke, koji sadrži opis
elemente koji se koriste u programu.
Rezultirajući puni tekst programa se unosi
kompajler, koji ističe tokene, a zatim na osnovu
gramatika jezika prepoznaje izraze i operatore,
izgrađene od ovih leksema. Kompajler tada detektuje
sintaksičke greške i, ako ih nema, gradi
objektni modul.
Linker, ili linker, generiše
izvršni modul programa koji se povezuje sa objektom
modul ostali objektni moduli. Ako je program
od nekoliko izvorne datoteke, oni su sastavljeni prema
odvojeno i kombinovano u fazi povezivanja.
Izvršni modul ima ekstenziju .exe i može biti
pokrenut na izvršenje.

Abeceda jezika C++

C abeceda uključuje:
velika slova i mala slova latinica(A,B,...,Z, a, b,..., z) i i
donja crta;
cifre: 0,1,2,3,4,5,6,7,8,9
specijalni znakovi: " , {} | () * + - / % \ ; " . :?< = >_ ! & # znakova koji se ne mogu prikazati ("generalizirani razmaci"),
koristi se za razdvajanje leksema jedne od druge (npr. prostor,
tab stop, skoči na nova linija).
Od znakova abecede
formiraju se jezičke lekseme:
identifikatori;
ključne (rezervisane) riječi;
znakovi rada;
konstante;
separatori (zagrade, tačka, zarez, razmak).
Granice tokena su definirane drugim tokenima, kao što su
separatori ili oznake rada.

Identifikatori

ID je ime programski objekat. IN
Mogu se koristiti latinični identifikatori
slova, brojke i donje crte. Velika slova i
mala slova se razlikuju. Prvi lik
identifikator može biti slovo ili znak
donje crte. pri čemu:
identifikator ne smije odgovarati ključnim riječima
riječi i nazivi korištenih standarda
jezički objekti;
ne preporučuje se pokretanje identifikatora sa znakom
donje crte;
Identifikatori mogu biti bilo koje dužine, ali
kompajler ne uzima u obzir više od 31 znak iz
početak identifikatora;
Primjeri identifikatora:
KOM_16, veličina 88, _MIN, VRIJEME, vrijeme

Ključne riječi

Ključne riječi su rezervirani identifikatori koji imaju
posebna vrijednost za kompajler. Mogu se koristiti samo u
smislu u kojem su definisani. Lista ključne riječi C++ je dat
sto:
INT
CHAR
FLOAT
DOUBLE
STRUCT
UNION
DUGO
KRATKO
NEPOTPISAN
AUTO
CONST
TAČNO
EXTERN
REGISTRIRAJ SE
TYPEDEF
STATIČNO
IDI
RETURN
SIZEOF
BREAK
NASTAVI
IF
VOID
NOVO
ELSE
ZA
DO
WHILE
SWITCH
CASE
DEFAULT
ULAZ
I
STRUCT
TYPEDEF
BOOL

Operativni znakovi

Znak operacije je jedan ili više
akcioni simboli
preko operanda. unutrašnji znak
prostori nisu dozvoljeni.
Operacije se dijele na unarne,
binarni i ternarni po broju
uključeni operandi.

Jednostavni tipovi podataka

Tip podataka definira:
interno predstavljanje podataka u memoriji
kompjuter;
skup vrijednosti koje mogu
prihvatite vrijednosti ove vrste;
operacije i funkcije koje mogu biti
primijeniti na vrijednosti ove vrste.
C++ jezik definiše šest standarda
jednostavni tipovi podataka za predstavljanje
cijeli broj, real, karakter i
logičke vrijednosti.

Tipovi podataka
Specifikatori tipa uključuju:
char
- simbolički;
double - realna dvostruka preciznost s pomičnim zarezom;
float - pravi plutajući zarez;
int - cijeli broj;
dugo
- cijeli broj povećane dužine (dugi cijeli broj);
kratki - cijeli broj smanjene dužine (kratki cijeli broj);
potpisan - potpisan, tj. predpisani cijeli broj (najznačajniji bit se računa kao
ikonski);
unsigned - unsigned, tj. neoznačeni cijeli broj (najznačajniji bit ne
smatra ikoničnim).
void
- nedostatak vrijednosti;
bool - boolean (može uzeti samo vrijednosti true i false.
Unutrašnja reprezentacija false je 0 (nula).
Svaka druga vrijednost se tumači kao tačna.)
Da opišete konstante, prije koristite servisnu riječ const
opis tipa. Na primjer, const float g=9,8;

10. Struktura C programa

C++ program je
jednu ili više funkcija. Jedna od funkcija
treba nazvati main(). Od ovoga je
funkcija počinje izvršavanje programa, a od
ovu funkciju, po potrebi,
druge funkcije se pozivaju.
Najjednostavnija definicija funkcije ima sljedeći format:
return_type ime ([ parametri ])
{
izjave koje čine tijelo funkcije
}
Po pravilu, funkcija se koristi za izračunavanje neke
vrijednosti, tako da imenu funkcije prethodi njen tip. Ako
funkcija ne smije vratiti vrijednost, specificiran je tip void.
pri čemu:
– Tijelo funkcije je zatvoreno vitičastim zagradama.
– Funkcije ne mogu biti ugniježđene.
– Svaka izjava završava tačkom i zarezom (osim
složeni operater).

11. Struktura C programa

Program se može sastojati od nekoliko modula (izvornih datoteka) i, po pravilu,
sadrži direktive predprocesora. Primjer strukture programa koji sadrži
glavne, f1 i f2 funkcije:
direktive predprocesora
opisi
int main()
{
operatori glavne funkcije
}
int f1() (
operatori funkcije f1
}
int f2() (
operatori funkcije f2
}
/* Primjer jednostavnog programa */
#include
int main()
{
printf("Zdravo svijet!");
return 0;
}

12. I/O funkcije u stilu C

Osnovne I/O funkcije u stilu C:
int scanf (const char* format...) // ulaz
int printf(const char* format...) // izlaz
Oni izvode formatirani unos i izlaz proizvoljnog broja vrijednosti prema nizu
formatu. Niz formata sadrži znakove koji se kopiraju u tok (na ekran) ili
se traže od toka (sa tastature) na ulazu, a specifikacije konverzije počinju sa
Predznak %, koji se zamjenjuju određenim vrijednostima tokom unosa i izlaza.
#include
int main() (
int i;
printf("Unesite cijeli broj\n");
scanf("%d", &i);
printf("Uneli ste broj %d, hvala!", i);
return 0; )
Prvi red ovog programa je direktiva pretprocesora koja umeće u tekst programa
header fajl , koji sadrži opis ulazno/izlaznih funkcija koje se koriste u programu. Sve
direktive preprocesora počinju znakom #.
Treći red je opis varijable cjelobrojnog tipa pod nazivom i.
printf funkcija u četvrtom redu prikazuje upit Unesite cijeli broj i prelazi na novi red
prema \n escape sekvenci.
Funkcija scanf pohranjuje cijeli broj unet s tastature u varijablu i, a sljedeća izjava se ispisuje na
ekranizirajte niz koji sadrži, zamjenjujući specifikaciju konverzije vrijednošću tog broja.

13. I/O funkcije u C++ stilu

Isti program koji koristi biblioteku
C++ klase :
#include
korištenje imenskog prostora std;
int main()
{
int i;
cout<< "Введите целое число\n";
cin >> i;
cout<< "Вы ввели число" << i << ", спасибо!"; return 0;
}

14. Standardne biblioteke

C jezik ima bogatu podršku u obliku
više od 450 bibliotečkih rutina funkcija i makroa koje možete
pozovite iz svojih C programa da riješite problem
širok spektar zadataka, uključujući I/O
niskog i visokog nivoa, rad sa
linije i datoteke, dodjela memorije,
upravljanje procesima, transformacija
podatke, matematičke proračune i
mnogo više.

15. Direktive o pretprocesoru

Prva faza se zove pretprocesor.
kompajler. Uputstva za pretprocesor
nazivaju se direktivama. Oni moraju
počinje znakom #, kojem prethodi
linija može sadržavati samo razmake
simboli.
Potražite datoteku ako puna putanja nije navedena,
održavaju se u standardnim katalozima
uključeni fajlovi. Umjesto ugaone
mogu se koristiti zagrade, navodnici (" ").
- u ovom slučaju, pretraga datoteke se vrši u
direktorij koji sadrži izvorni fajl, i
tada već u standardnim imenicima.
Fajlovi zaglavlja obično imaju
proširenje.h .

16. Direktiva o pretprocesoru #include

Za povezivanje biblioteka koristite
predprocesorska direktiva
# uključuje [ime datoteke]
#include direktiva<имя_файла>umetci
sadržaj navedene datoteke do te tačke
izvorni fajl u koji je napisan.
Na primjer:
#include
#include "mylib.h"

17. #define direktiva preprocesora

Direktiva #define definira zamjenu u tekstu
programe. Koristi se za određivanje
simboličke konstante.
Format definicije simboličke konstante:
#define name substitution_text /*Sva pojavljivanja
imena se zamjenjuju zamjenskim tekstom */
primjeri:
#defini M 1000
#define Vasia "Vasilije Ivanovič"

18. Neke standardne biblioteke

ALLOC.H
Opis funkcija upravljanja memorijom
(dodjela, delokacija, itd.)
BIOS.H
Opis različitih funkcija koje se koriste u
pristup BIOS potprogramima (osnovni
I/O sistem).
CONIO.H Opis različitih funkcija koje se koriste u
pristupa DOS I/O rutinama sa
tastature.
GRAPHICS.H Sadrži prototipove grafičkih funkcija.
MATH.H Sadrži opis prototipova matematičkih
funkcije
STDIO.H Definira tipove i makroe potrebne za
standardni I/O paket. Također definira
standardni ulazno/izlazni tokovi stdin, stdout i
opisuje I/O potprograme.
STDLIB.H opisuje neke rutine opće namjene:
potprogrami za transformaciju, pretraživanje, sortiranje i drugo.
STRING.H
Opisuje nekoliko rutina za obradu nizova i
rad pamćenja.

19. Funkcija izlaza PRINTF formata

Već smo koristili najčešće
izlazna funkcija u C je printf potprogram. Ona
svrha je ispisivanje informacija na ekran.
Njegov format je jednostavan i fleksibilan:
printf(<строка формата>, <объект>, <объект>, ...);

20. Funkcija unosa SCANF formata

Za interaktivni način unosa, vjerovatno se može koristiti u
u većini slučajeva, funkcija scanf. scanf je ulazna funkcija, po definiciji
ekvivalent printf; njegov format izgleda ovako:
scanf(<строка формата>,<адрес>,<адрес>,...)
Međutim, scanf ima jednu vrlo važnu razliku: objekte koji slijede
format string mora biti adrese, a ne vrijednosti. Na primjer, u
Program sadrži sljedeći poziv:
scanf("%d %d", &a, &b);
Ovaj poziv govori programu da treba da očekuje unos od vas.
dva decimalna (cijela) broja odvojena razmakom; prva volja
dodijeljen a, a drugi b. Imajte na umu da ovdje koristimo operaciju
adrese (&) za prosljeđivanje adresa a i b u skeniranje.

21. Format string

Niz formata je niz koji počinje
i završava dvostrukim navodnicima ("kao ovaj");
svrha printf-a je da napiše ovaj red na ekranu. Front
izlaz printf-a zamjenjuje sve ekstra
navedeni objekti u redu prema
sa specifikacijama formata navedenim u
sama linija. Primjer printf naredbe:
printf(“ d= %f \n",d);

22. Format string

%f u nizu formata je specifikacija formata. Sve
specifikacije formata počinju sa znakom procenta (%) i
(obično) nakon čega slijedi jedno slovo koje označava tip
podatke i kako ih transformisati.
%f koji se koristi u specifikaciji govori šta se očekuje
neki pravi broj. Evo nekoliko drugih najčešće korištenih specifikacija formata:
- %u cijeli broj bez predznaka
- %ld dugačak cijeli broj
- %p vrijednost pokazivača
- %d cijeli broj
- %e broj s pomičnim zarezom u eksponencijalnom obliku
- %c znak
- %s string
- %x ili %X cijeli broj u heksadecimalnom formatu.

23. Formatni niz

Možete postaviti širinu polja tako što ćete je staviti
između % i slova, npr. decimalno polje
širina 4 je data kao %4d. Vrijednost će biti
odštampano pomaknuto udesno (ispred
razmaci), tako da je ukupna širina polja 4.
Ili bi na primjer %6.2f to značilo
dodeljeno 6 pozicija za realan broj,
i 2 - ispod razlomka.
Ako želite da odštampate znak %, ubacite %%.

24. Formatni niz

\n u nizu nije specifikacija formata, već
koristi se (iz istorijskih razloga) kao
izlazna sekvenca i predstavlja
poseban znak umetnut u string. U ovom slučaju
\n ubacuje znak na početak novog reda, tako da
nakon što je linija ispisana, kursor će se pomaknuti na početak novog reda
linije.
- \f (formatirati prijevod ili očistiti ekran)
- \t (tab)
- \b (povratnica<-)
- \xhhh (ubacite znak sa ASCII kodom hhh, gdje je hhh
sadrži 1 do 3 heksadecimalne cifre)
Ako trebate ispisati obrnutu kosu crtu
umetni \\.

25. Primjer C programa

#include
#include
main()
{
float x1,y1,x2,y2;
printf("Unesite dva broja: ");
scanf("%f %f %f %f",&x1,&y1,&x2,&y2);
float d = sqrt(pow((x2-x1),2)+pow((y2-y1),2));
printf("d= %f \n", d);
}

26. Ostale izlazne funkcije PUTS, PUTCHAR

Postoje još dvije izlazne funkcije koje vam mogu pomoći
od interesa: puts i putchar. Funkcija puts ispisuje string na
ekran i završava izlaz znakom za novi red.
Razmotrite primjer programa:
#include
main()
{
puts("Zdravo, student VKI NSU");
}
Imajte na umu da je \n izostavljen na kraju reda; ovo nije potrebno, jer
stavlja se dodaje ovaj lik.
Suprotno tome, funkcija putchar upisuje jedan znak
ekran i ne dodaje \n. putchar(ch) je ekvivalentan
printf("%c",ch).

27. GETS, GETCH funkcije

main()
{
char name ;
printf("Kako se zoveš: ");
scanf("%s",name);

}
Ako unesete prezime i ime, biće prikazano samo prezime. Jer
prostor koji unesete iza imena signalizira skeniranje kraja unosa
linije.
Ovaj problem možete riješiti pomoću funkcije gets.
main()
{
char name ;
printf("Kako se zoveš: ");
gets(ime);
printf("Bok, %s\n", ime);
}

28. GETS, GETCH funkcije

#include
#include
main()
{
clrscr();
char name ;
printf("Kako se zoveš: ");
gets(ime);
printf("Bok, %s\n", ime);
getch();
}
Ovdje funkcija getch čeka da se unese bilo koji znak.
Funkcija getch čita jedan znak sa tastature bez izdavanja
to na ekran (za razliku od scanf i gets). Imajte na umu da ona nema
parametar. Ako funkciju dodijelimo simboličkoj varijabli, onda
dobiće vrijednost pritisnutog znaka.
Na primjer: c=getch();

29. Operacija dodjele

Najčešća operacija je dodjela,
na primjer, p=a/b ili ch = getch(). U C
dodjela je označena jednim znakom
jednakost (=); dok je vrijednost desno od znaka
jednakost je dodijeljena varijabli s lijeve strane.
Možete koristiti i sekvencijalni
zadaci, na primjer: suma=a= b. Takve
slučajevima, dodjela se vrši na desnoj strani
lijevo, odnosno b ​​će biti dodijeljen a, što u
zauzvrat će biti dodijeljen zbroju, tako da sve
tri varijable će dobiti istu vrijednost (i
odnosno početnu vrijednost b).

30. Aritmetičke operacije. Povećanje. Dekrement.

C podržava uobičajeni skup aritmetičkih operacija:
- množenje (*)
- podjela (/)
- određivanje ostatka podjela (%)
- dodatak (+)
- oduzimanje (-)
Da biste povećali vrijednost varijable za jedan, koristite inkrement (++),
dekrement (--) za smanjenje za jedan.
dakle:
x++; // povećaj x za jedan
y--; // smanji y za jedan
Primjeri postfiksnih i prefiksnih operacija:
a=2;
a=2;
x=18-2*a++;
x=18-2*(++a);
Dobijamo:
a=3
a=3
x=14
x=12

31. Kombinovane operacije

Slijede neki primjeri izraza
i načini za njihovo smanjenje:
a = a + b skraćeno na a += b;
a = a - b; skraćeno na a -= b;
a = a * b; skraćeno na a *= b;
a = a / b; skraćeno na a /= b;
a = a % b; svedeno na a %= b;

32. Primjer 1

Izračunajte X3 i X10 koristeći četiri množenja za
data cjelobrojna vrijednost X.
#include
int x,x2,x3,x5,x10;
main() (
printf("\n X^3 i X^10 program za proračun\n");
puts("Unesite vrijednost X");
scanf("%i",&x);
x2=x*x;
x3=x*x2;
x5=x2*x3;
x10=x5*x5;
printf("%i na 3. stepen = %i \n",x,x3);
printf("%i na 10. stepen = %i",x,x10);
}

33. Primjer 2

Zadan ugao u radijanima. Izračunajte sinus i kosinus ugla.
#include
#include
float Angle,Result1,Result2;
main()
{
printf("\n Program za izračunavanje sin i cos ugla\n");
puts("Postavite vrijednost ugla u radijanima");
scanf("%f",&Angle);
Rezultat1=sin(ugao);
Rezultat2=cos(Ugao);
printf("Sinus ugla je %f \n",Rezultat1);
printf("Kosinus ugla je %f",Rezultat2);

Prije nego počnete pisati programe, potrebno je proučiti strukturu programa u programskom jeziku C++. Drugim riječima, struktura programa je označavanje radnog područja (područja koda) kako bi se jasno definirali glavni blokovi programa i sintaksa. Struktura programa se malo razlikuje u zavisnosti od programskog okruženja. Fokusiramo se na Microsoft Visual Studio IDE, te će stoga primjeri programa biti prikazani posebno za MVS. Ako koristite drugi IDE, onda vam neće biti teško da prenesete kod iz MVS-a u druga razvojna okruženja i shvatit ćete kako to učiniti s vremenom.

Struktura programa za Microsoft Visual Studio.

// struct_program.cpp: definira ulaznu točku za aplikaciju konzole. #include "stdafx.h" // ovdje uključujemo sve potrebne direktive preprocesora int main() ( // početak glavne funkcije pod nazivom main // vaš programski kod će se nalaziti ovdje)

Red 1 se odnosi na ulaznu tačku za aplikaciju konzole, što znači da se ovaj program može pokrenuti kroz Windows komandnu liniju navođenjem naziva programa, kao što je struct_program.cpp. Red 1 je komentar u jednom redu jer počinje znakovima // , više o komentarima bit će riječi u sljedećem članku. Red 2 uključuje datoteku zaglavlja "stdafx.h". Ovaj fajl je sličan kontejneru, budući da su u njemu povezane glavne direktive predprocesora (one koje je kompajler povezao prilikom kreiranja konzolne aplikacije), pomoćne direktive (koje povezuje programer) takođe se mogu povezati upravo tu.

include je direktiva pretprocesora, tj. poruka pretprocesoru. Redove koji počinju simbolom # obrađuje pretprocesor prije prevođenja programa.

Direktive preprocesora također mogu biti uključene u redove, počevši od #include "stdafx.h" unosa prije početka glavne funkcije. Štaviše, ovaj način povezivanja biblioteka je glavni, a korištenje "stdafx.h" je dodatna mogućnost povezivanja datoteka zaglavlja, koja je dostupna samo u MVS-u. Od 4. do 6. reda deklarira se glavna funkcija. Red 4 je zaglavlje funkcije, koje se sastoji od tipa vraćanja (u ovom slučaju, int) ove funkcije, i imena funkcije, kao i zagrada koje deklariraju parametre funkcije.

int - cjelobrojni tip podataka

Između vitičastih zagrada nalazi se glavni programski kod, koji se naziva i tijelo funkcije. Ovo je najjednostavnija struktura programa. Ova struktura je napisana u Microsoft Visual Studio. Sve gore navedeno vrijedi i za druge kompajlere, osim za red 2. Ne postoji "stdafx.h" kontejner nigdje osim MVS-a.

Struktura programa za C++ Builder.

Kada kreirate konzolnu aplikaciju, čarobnjak za novi projekat automatski generira sljedeći kod:

//preprocesor direktiva automatski uključena od strane čarobnjaka za kreiranje projekta #include int main() (vrati 0;)

Vidimo da je tip podataka funkcije int. To znači da kada se funkcija završi, vratit će neku cjelobrojnu vrijednost, u našem slučaju 0. Integer jer je int tip podataka za cijele brojeve kao što su 4, 5, 6, 456, 233, itd.

Glavna stvar koju treba zapamtiti je da ako je tip povratnih podataka glavne funkcije int ili bilo koji drugi osim void , tada biste trebali napisati red ovako: return<возвращаемое значение>;

U redu 2, biblioteka vcl.h je povezana - automatski je povezuje čarobnjak za kreiranje aplikacije, tako da je ne biste trebali brisati, inače projekat neće raditi.

Općenito, čarobnjak automatski kreira strukturu programa koja se malo razlikuje od onih koje smo razmatrali, ali suština ostaje ista.

Na primjer:

int main(int argc, char* argv) (vrat 0;)

Takav primjer strukture generira čarobnjak u MVS2010. Ova glavna je malo drugačija. Kasnije ćemo ga detaljnije pogledati, ali reći ću da ovaj main ima ovaj oblik, budući da je prvobitno dizajniran da podržava Unicode.

Unicode je standard za kodiranje znakova koji može predstavljati znakove gotovo svih pisanih jezika. Kasnije ćemo više pričati o Unicodeu.

Postoje različite verzije main , ali u tome nema ništa loše, pošto je main bila glavna funkcija, tako i ostaje, tako da sve što je gore rečeno ostaje relevantno.

Primjer strukture MVS programa sa povezanim bibliotekama.

#include "stdafx.h" #include korištenje imenskog prostora std; int main() ( )

Ime povezanih biblioteka je upisano unutar znakova veće od, manje od. Datoteke zaglavlja i nazivi uključenih biblioteka su sinonimi.

Sintaksa za uključivanje datoteka zaglavlja je:

#include<имя заголовочного файла>

Starije datoteke zaglavlja su uključene ovako (ovaj stil uključivanja biblioteka je naslijeđen iz programskog jezika C):

#include<имя заголовочного файла.h>

Razlika je u tome što iza imena slijedi ekstenzija .h.

Programski jezik C++ razlikuje velika i mala slova. Na primjer:
return 0; - pogrešno, doći će do greške u kompilaciji.
return 0; - tačno!!!

Ovaj članak govori o strukturama C++ programa u okruženjima kao što su MVS i Borland. I kao što ste već primijetili, ove strukture su gotovo iste. Stoga je ovaj članak relevantan za bilo koji IDE. Ako se još niste odlučili za izbor IDE, pročitajte.

Struktura C programa.

Upotreba programskog jezika C u rješavanju ekonomskih problema

Programi i podaci

Prednosti jezika C

1) C je moderan jezik, njegova struktura podstiče programera da koristi metode u svom radu: top-down dizajn, strukturirano programiranje, modularna struktura programa.

2) C je efikasan jezik. C programi su kompaktni i brzi za izvršavanje.

3) C - prenosivi ili mobilni jezik.

4) C je moćan i fleksibilan jezik.

5) Programi napisani u C se koriste za rješavanje problema različitih nivoa. C ima niz moćnih asemblerskih konstrukcija.

6) C je zgodan jezik, strukturiran je i istovremeno ne ograničava slobodu programera previše.

7) C je jezik za kompajliranje. Budući da je C standardizovan, nezavisan od uređaja, široko dostupan jezik, aplikacije napisane u C-u često mogu da rade sa malo ili bez modifikacija na velikom broju računarskih sistema. Računar je, uprkos svojoj brzini i računarskoj snazi, jednostavan uređaj koji manipuliše binarnim brojevima. Neke binarne brojeve kompjuter tumači kao komande, druge kao podatke. Da bi računar učinio nešto korisno, potrebno je da napišete program.

Programiranje programske aktivnosti.

Program je opis algoritma za rješavanje problema dat u kompjuterskom jeziku.

Zapovjedi upute za sljedeći korak.

Primjer komande: S=A+V, gdje je A, V-operandi, +- operacija.

Operacija je ono što računar mora učiniti prema svakoj komandi.

operandi -učesnicima operacije, zatim nad čime i čime se operacija izvodi. Skup elementarnih operacija od načina njihovog opisivanja čini sistem naredbi programskog jezika.

Primjer #1:

#include

(void main(void) //zaglavlje glavne funkcije programa

sout<< “Здравствуй, С!\ n”;

1 red: povezivanje pomoćnih biblioteka fokusiranih na unos i izlaz podataka različitih tipova u tok.

2. red: zaglavlje glavne funkcije programa. Cout izjava za izlazne informacije<< – помещение в класс данных, \n-переход к новой строке вывода.

Program je niz instrukcija koje implementiraju algoritam, skup recepata koji na jedinstven način određuju sadržaj i redoslijed operacija za rješavanje problema.

Upotreba S.

1. Programi i podaci.

2. Šema izvođenja programa na računaru:

Primjer #1:

#include< stdio.h>

printf ("Studiram na BSUIR\n");

1 red: komanda uključuje pretprocesor, koji uključuje datoteku stdio.h, koja opisuje funkciju printf biblioteke.

Red 2: definicija funkcije pod nazivom main koja ne uzima argumente. Glavna izjava je zatvorena vitičastim zagradama. Glavna funkcija poziva funkciju printf biblioteke za ispis, datu nizom znakova. Kosa crta (\n) - doslovno novi red, prijelaz na novi red.

Da biste izvršili program na PVEM-u, morate učiniti sljedeće:

1) Napišite program u programskom jeziku.

2) Emitujte ga na standardu ovog jezika.

3) Povežite ga sa potrebnim programima i funkcijama.

4) Učitavanje u RAM.

5) Trčite i dobijte rezultat.


SHEMA KOMPILACIJE

Prevodilac je kompjuterski program koji prevodi program napisan u programskom jeziku u oblik koji kompjuter može razumjeti. Izlaz kompajlera je datoteka sa ekstenzijom obj. Izvršna datoteka ili modul za učitavanje je datoteka koja sadrži kompajlirani program spreman za izvršavanje. Borland C++ je razvojno okruženje za programe koji uključuju i kompajler i neke druge alate.

Struktura C programa.

Svaki C program se sastoji od jedne ili više funkcija i elemenata. Različitim funkcijama može se dati bilo koja imena. Funkcije sadrže instrukcije (naredbe) koje propisuju radnje u određenom koraku izvršenja, a varijabla pohranjuje vrijednosti koje se koriste u toku tih radnji. Takve radnje mogu biti dodjeljivanje vrijednosti varijablama, provjera nekog stanja. Funkcija pod nazivom main. Izvršenje bilo kojeg programa počinje glavnom funkcijom.

a) Opća struktura C programa bez pozivanja na potprogram:

b) Opća struktura C programa u odnosu na podprojekte:

Argumenti su jedan od mehanizama za interakciju između funkcija. Lista argumenata u zagradama prati ime funkcije. Vitičaste zagrade uokviruju početak i kraj programa. Instrukcije koje čine tijelo programa od operatora i operanda. U C-u, svaka izjava i svaki red poziva funkcije završava se tačkom i zarezom. Izuzetak su naredbe pretprocesora i nazivi funkcija koji se pojavljuju na početku programske jedinice. Cilj većine programa je rješavanje problema kroz različite transformacije izvornih podataka. Za ovo je neophodno.

Molimo pauzirajte AdBlock na ovoj stranici.

Nadam se da ste već instalirali neki IDE na svoj računar i naučili kako da kompajlirate programe u njemu. Ako ne, onda

Svi programi napisani u C-u imaju zajedničku strukturu. O čemu ćemo govoriti u ovoj lekciji. U tome će nam pomoći naš prvi program napisan u prethodnom koraku.

Hajde da popunimo jednostavnu mapu. Trenutno znamo da programi postoje, ali ne znamo kako su raspoređeni unutra. Stoga će naša karta izgledati ovako.

Slika 1 Mapa "Struktura C programa." Prvi nivo.

Kroz kurs ćemo se vraćati na ovu mapu, usavršavati je, dopunjavati je novim elementima i blokovima.

Sada pažnja. Ne boj se! Ispod je izvorni kod tri jednostavna programa. Vaš zadatak je da ih pažljivo pogledate i pokušate pronaći neki obrazac u njihovom kodu (nešto što je uobičajeno u svakom programu).

Listing 1. Program 1. Štampa "Hello, World!"

#include

Listing 2. Program 2

int main(void) (int a, b, c; a = 5; b = 10; c = a+b; povratak 0; )

Listing 3. Program 3

#include int main(void) (FILE *fp; fp = fopen("input.txt", "w"); fprintf(fp, "Ovo je Sparta!"); fclose(fp); return 0; )

Odvojite vrijeme da pogledate nastavak lekcije i tačan odgovor na ovaj problem. Prvo pokušajte sami odgovoriti. Nakon toga kliknite na dugme "Pogledajte nastavak!"

Dakle, odgovor je: U svim gore navedenim programima postoji sljedeća konstrukcija:

Listing 4. Glavna funkcija bilo kojeg C programa je glavna funkcija.

int main(void) (vrat 0;)

Kakav je ovo dizajn. Ovo je deklaracija glavne funkcije. Svaki program koji je napisan u C ima takvu funkciju. Bilo da se radi o velikom ili malom programu, kompjuterskoj igrici ili programu "Hello, World!" koji ste napisali vi ili Bill Gates -- ako je program napisan na C - - ima glavnu funkciju. To je, da tako kažem, glavna funkcija našeg programa. Kada pokrenemo program, možemo misliti o sebi kao da pokrećemo glavnu funkciju programa.

Zaustavimo se na sekund. Čini se da smo već shvatili nešto o strukturi programa u jeziku C. Svaki C program mora sadržavati glavnu funkciju. Pokažimo ovu činjenicu na našoj mapi znanja "Struktura C programa."

Slika 2 Mapa "Struktura C programa." glavna funkcija.

Sada nas karta ne uznemirava svojom zjapećom prazninom. Nastavimo naše istraživanje.

Dozvolite mi da pričam malo o glavnoj funkciji i o funkcijama općenito.

Ime funkcije prethodi int, što je skraćenica za riječ integer, koja se sa engleskog prevodi kao "cjelina". Takva notacija znači da kada glavna funkcija završi svoj rad, ona mora vratiti cijeli broj pozivnom programu (u našem slučaju to je operativni sistem). Obično, za glavnu funkciju, ovo je broj nula, koji obavještava operativni sistem: "Kažu, sve je u redu. Nije bilo incidenata."

Jeste li ikada vidjeli poruke o grešci na ekranu vašeg računara? Obično napišu nešto poput "Program se srušio ... bla bla bla ... Šifra -314." Ovdje je otprilike isto. Razlika je u tome što nas operativni sistem obaveštava kada dođe do problema, a kada je sve u redu, više nam ne smeta.

Nakon naziva funkcije, riječ void ispisuje se u zagradama. Općenito, argumenti funkcije se obično pišu u zagradama, ali u našem slučaju, kada je void napisan u zagradama, to znači da funkcija nema argumente. Drugim riječima, glavna funkcija ne treba nikakav dodatni unos izvana da bi započela. O svemu tome ćemo detaljnije, ali za sada samo zapamtite da riječ void umjesto argumenata funkcije znači da za ovu funkciju nisu potrebni argumenti.

Unutar vitičastih zagrada je opis glavne funkcije, tj. upravo ono što bi ova funkcija trebala raditi.

Prije zatvaranja vitičaste zagrade, vidimo naredbu return. Ova naredba je odgovorna za vraćanje vrijednosti iz funkcije. One. pogledajte, ako je program dostigao ovu tačku, onda je sve bilo u redu i nije bilo grešaka, što znači da možete vratiti vrijednost nulu.

Možete pitati, zašto baš nula? I đavo zna! To je jednostavno način na koji to obično rade. U principu možete vratiti neki drugi cijeli broj, kao što je 100 ili -236. Sve dok je cijeli broj. Zapamtite int? Dakle, cjelina.

Tako smo shvatili glavnu funkciju. Još jedan trenutak. Ono što je napisano u vitičastim zagradama obično se naziva "tijelo funkcije" (ili opis funkcije), a prvi dio, onaj prije vitičastih zagrada, naziva se zaglavlje funkcije.

Vratimo se na naš prvi program "Zdravo, svijete" i vidimo šta je šta.

Listing 5. Program "Zdravo, svijet".

#include int main(void) ( printf("Zdravo, svijet!\n"); return 0; )

Nešto što sada razumijemo u ovom programu. Samo dva reda ostaju nejasna, idemo redom.

Listing 6. Direktiva uključivanja

#include

Ova linija je poruka kompajleru. Ove poruke, koje počinju znakom #, nazivaju se direktivama kompajlera. Doslovno: "poveži datoteku stdio.h". Tokom kompilacije, sadržaj stdio.h datoteke će biti umetnut umjesto ovog reda. Hajdemo sada malo o ovom fajlu. stdio.h (od STanDart Input Output) je datoteka zaglavlja koja opisuje različite standardne funkcije vezane za ulaz i izlaz.

Postavlja se razumno pitanje: "Zašto trebamo pisati ovaj red? Zašto uopće trebamo umetnuti ovaj fajl ovdje?" Ovo je neophodno kako bismo u našem programu mogli koristiti standardnu ​​printf () funkciju za izlaz na ekran.

Poenta je u ovome. Prije nego nešto koristimo u našem programu, prvo to trebamo opisati. Zamislite situaciju, tražili ste da ponesete luster, ali ne znate šta je to. Nije jasno šta da se radi.

Kao i kompajler. Kada naiđe na funkciju, traži njen opis (tj. šta treba da radi i šta znači) na početku programa (od samog početka do trenutka kada se koristi u programu). Dakle, funkcija printf() je opisana u datoteci stdio.h. Zato ga povezujemo. Ali kada ga povežemo, kompajler će moći pronaći funkciju printf (), inače će dati grešku.

Inače, vrijeme je da dopunimo našu mapu znanja. Prije glavne funkcije dodajmo još jedan blok, blok za povezivanje datoteka zaglavlja.

Slika 3 Mapa "Struktura C programa." Blok povezivanja datoteka zaglavlja.

Nastavimo sa našim programom.

Listing 7. funkcija printf().

Printf("Zdravo, svijete!\n");

U ovom redu pozivamo standardnu ​​funkciju printf() za prikaz na ekranu. U ovom najjednostavnijem slučaju, prosljeđujemo mu jedan parametar, niz napisan pod navodnicima, koji mora biti prikazan na ekranu, u našem slučaju to je Hello, World! \n Ali čekaj, šta je ovo \n? Nije bilo \n na ekranu kada je program počeo. Zašto smo onda ovo napisali ovdje? Ovaj niz je poseban znak koji je naredba za prelazak na sljedeći red. To je kao da pritisnete tipku Enter u MS Wordu. Postoji nekoliko takvih specijalnih znakova, svi se pišu pomoću znaka "\" - obrnute kose crte. Ovi specijalni znakovi se nazivaju kontrolni znakovi. Onda ću ti ih pokazati. U suprotnom, na ekranu će se pojaviti upravo ono što ste napisali pod navodnicima.

Usput, imajte na umu da se svaka C naredba završava sa ";" (tačka-zarez). To je kao tačka na kraju rečenice na ruskom. U normalnom jeziku rečenice odvajamo tačkom, a u programskom jeziku C tačkom i zarezom se naredbe odvajaju jedna od druge. Stoga je tačka-zarez obavezna. U suprotnom, kompajler će opsovati i dati grešku.

Da biste pozvali funkciju, morate napisati njeno ime i navesti parametre koji su joj proslijeđeni u zagradama. Funkcija može imati jedan ili više parametara. Ili možda uopće nema parametara, u tom slučaju ne morate ništa pisati u zagradama. Na primjer, gore smo pozvali funkciju printf() i prenijeli joj jedan parametar, string koji će biti ispisan na ekranu.

Usput, dobar savjet. Pošto svaki program uvijek ima glavnu funkciju, a bukvalno u svakom programu trebamo nešto prikazati na ekranu, preporučujem da odmah kreirate datoteku sa sljedećim praznim da ne pišete svaki put isto.

Listing 8. Standardni predložak za C programe.

#include int main(void) (vrat 0;)

Pa, izgleda da je to sve. Ova prva lekcija se može smatrati završenom. Iako ne, postoji još jedna stvar.

Najvažnija stvar u ovoj lekciji je, naravno, opšta struktura programa. Ali osim toga, naučili smo kako prikazati proizvoljan tekst na ekranu. Čini se da baš ništa nisu naučili, ali i ovo je dovoljno da, na primjer, napravite mali poklon svojoj majci za 8. mart.


Izvorni kod programa za razglednice nalazi se u arhivi sa izvornim kodovima ove lekcije. Eksperimentiraj! Uspjet ćeš.

Top Related Articles