Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Windows 8
  • Glavni dijelovi programa na jeziku s. Interna struktura programa

Glavni dijelovi programa na jeziku s. Interna struktura programa

C, kao što su statičke i lokalne varijable, nizovi, pokazivači, funkcije itd., što je moguće bliži arhitekturi pravih računala. Dakle, pokazivač je samo memorijska adresa, niz je susjedno područje memorije, lokalne varijable su varijable koje se nalaze na hardverskom stogu, statičke varijable su u statičkoj memoriji. C programer uvijek ima prilično točnu ideju o tome kako će program koji kreira raditi na bilo kojoj određenoj arhitekturi. Drugim riječima, jezik C daje programeru potpunu kontrolu nad računalom.

Izvorno je C bio zamišljen kao zamjena za Assembly za pisanje operativnih sustava. Budući da je C jezik visoke razine, neovisan o arhitekturi, tekst operacijskog sustava bio je lako prenosiv s jedne platforme na drugu. Prvi operativni sustav, napisan gotovo u cijelosti na C, bio je Unix sustav. Danas su gotovo svi operativni sustavi koji se koriste napisani na C. Osim toga, programski alati koji operacijski sustav pruža programerima aplikacijskih programa (tzv. API - Application Program Interface) - skup funkcija sustava u jeziku C.

Međutim, opseg C jezika nije bio ograničen na razvoj operativnih sustava. Jezik C pokazao se vrlo prikladnim u programima za obradu teksta i slike, u znanstvenim i inženjerskim izračunima. Objektno orijentirani jezici bazirani na C izvrsni su za programiranje u okruženjima s prozorima.

U ovom dijelu bit će dati samo osnovni koncepti jezika C (i djelomično C ++). Ne zamjenjuje čitanje kompletnog udžbenika C ili C ++, kao što su knjige i.

Koristit ćemo prevodilac C ++ umjesto C kompajlera. Činjenica je da je jezik C gotovo u potpunosti uključen u C ++, tj. normalan C program je valjan C++ program. Riječ "normalno" znači da ne sadrži loše konstrukcije preostale od ranijih verzija C-a i koje se danas ne koriste. Prevodilac C ++ preferira se u odnosu na C prevodilac jer ima strožu kontrolu grešaka. Osim toga, neke C++ konstrukcije koje nisu povezane s objektno orijentiranim programiranjem vrlo su zgodne i zapravo su poboljšanja jezika C. To su, prije svega, komentari //, mogućnost opisivanja lokalnih varijabli u bilo kojoj točki programa, a ne samo na početku bloka, kao i postavljanje konstanti bez korištenja operatora predprocesora #define. Koristit ćemo ove značajke C ++, ostajući u suštini unutar okvira C jezika.

Struktura C programa

Bilo koji dovoljno veliki C program (programeri koriste taj izraz projekt) sastoji se od datoteka. Datoteke kompajlira C prevodilac neovisno jedna o drugoj, a zatim ih kombinira program za izgradnju zadataka, što rezultira datotekom s programom spremnom za izvršenje. Pozivaju se datoteke koje sadrže tekstove C programa početni.

U jeziku C izvorne datoteke su dvije vrste:

  • zaglavlje ili h-datoteke;
  • implementacijske datoteke ili C datoteke.

Nazivi datoteka zaglavlja imaju ekstenziju ".h". Nazivi implementacijskih datoteka imaju ekstenzije ".c" za C i ".cpp", ".cxx" ili ".cc" za C++.

Nažalost, za razliku od jezika C, programeri se nisu uspjeli dogovoriti oko jednog proširenja imena za datoteke koje sadrže C ++ programe. Koristit ćemo ekstenziju ".h" za datoteke zaglavlja i ekstenziju ".cpp" za datoteke implementacije.

Datoteke zaglavlja sadrže samo opise. Prije svega, to su prototipovi funkcija. Prototip funkcije opisuje naziv funkcije, vrstu povrata, broj i tipove njenih argumenata. Tekst same funkcije nije sadržan u h-datoteci. Također, h-datoteke opisuju nazive i tipove vanjskih varijabli, konstanti, novih tipova, struktura itd. Općenito, h-datoteke sadrže samo sučelja, tj. informacije potrebne za korištenje programa koje su već napisali drugi programeri (ili isti programer prije). Datoteke zaglavlja pružaju samo informacije o drugim programima. Prilikom prevođenja datoteka zaglavlja u pravilu se ne stvaraju objekti. Na primjer, u datoteci zaglavlja ne možete definirati globalna varijabla. Redak opisa

definiranje cjelobrojne varijable x je greška. Umjesto toga treba koristiti opis

što znači da je varijabla x definirana negdje u implementacijskoj datoteci (što je nepoznato). Samo riječ extern (vanjski). komunicira informacije o vanjskoj varijabli, ali ne definira tu varijablu.

Datoteke za implementaciju, ili C datoteke, sadrže tekstove funkcija i definicije globalnih varijabli. Jednostavno rečeno, C datoteke sadrže same programe, a h datoteke sadrže samo informacije o programima.

Prezentacija izvornih tekstova u obliku datoteka zaglavlja i implementacijskih datoteka neophodna je za izradu velikih projekata s modularnom strukturom. Datoteke zaglavlja koriste se za prijenos informacija između modula. Datoteke za implementaciju su zasebni moduli koji se razvijaju i prevode neovisno jedan o drugom i kombiniraju se za stvaranje izvršnog programa.

Datoteke implementacije mogu uključivati ​​opise sadržane u datotekama zaglavlja. Datoteke zaglavlja mogu koristiti i druge datoteke zaglavlja. Datoteka zaglavlja uključena je pomoću direktive predprocesora #include. Na primjer, opisi standardnih I/O funkcija uključeni su u liniju

#uključiti

(stdio - od riječi standardni ulaz / izlaz). Naziv h-datoteke piše se u uglatim zagradama, ako je ovaj h-

Struktura C programa.

Korištenje programskog jezika C u rješavanju ekonomskih problema

Programi i podaci

Prednosti jezika C

1) S je moderan jezik, njegova struktura potiče programera na korištenje metoda u svom radu: top-down dizajn, strukturirano programiranje, modularna struktura programa.

2) C je učinkovit jezik. C programi su kompaktni i brzi.

3) C - prijenosni ili mobilni jezik.

4) C je moćan i fleksibilan jezik.

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

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

7) C je jezik za prevođenje. Budući da je C standardiziran, o uređaju neovisan, široko dostupan jezik, aplikacija napisana u C-u često se može izvoditi s malo ili bez izmjena na velikom broju računalnih sustava. Računalo je, unatoč svojoj brzini i računskoj snazi, jednostavan uređaj koji manipulira binarnim brojevima. Neke binarne brojeve računalo tumači kao naredbe, druge kao podatke. Da bi računalo učinilo nešto korisno, trebate napisati program.

Programiranje programske aktivnosti.

Program je opis algoritma za rješavanje problema danog u jeziku računala.

Naredba recept koji određuje sljedeći korak.

Primjer naredbe: C = A + B, gdje su A, B operandi, + je operacija.

Operacija je ono što računalo mora učiniti prema svakoj naredbi.

Operandi -sudionici operacije, zatim na čemu i čime se operacija izvodi. Skup elementarnih operacija iz metoda njihovih opisa tvori sustav naredbi programskog jezika.

Primjer br. 1:

# uključiti

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

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

1 redak: povezivanje pomoćnih knjižnica usmjerenih na unos i izlaz podataka različitih tipova u tok.

2. red: naslov glavne funkcije programa. Cout-operator izlaza informacija<< – помещение в класс данных, \n-переход к новой строке вывода.

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

Koristeći C.

1. Programi i podaci.

2. Shema izvođenja programa na računalu:

Primjer br. 1:

# uključiti< stdio.h>

printf ("Studiram na BSUIR \ n");

Redak 1: naredba predprocesora uključi koja uključuje datoteku stdio.h koja opisuje funkciju knjižnice printf.

Redak 2: definicija funkcije pod nazivom main, koja ne prima nikakve argumente. Glavna izjava je zatvorena vitičastim zagradama. Glavna funkcija poziva funkciju knjižnice printf da ispiše navedeni niz znakova. Kosa crta (\ n) je znak novog reda, prijelaz na novi redak.

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

1) Napravite program u programskom jeziku.

2) Emitirajte ga u standardu ovog jezika.

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

4) Učitavanje u RAM.

5) Izvršite i dobit ćete rezultat.


SHEMA USKLAĐENOSTI

Prevoditelj je računalni program za prevođenje programa napisanog u programskom jeziku u oblik koji računalo može razumjeti. Prevoditelj proizvodi datoteku s nastavkom obj. Izvršna datoteka ili modul za učitavanje je datoteka koja sadrži preveden i spreman za pokretanje programa. Borland C ++ je okruženje za razvoj programa koji uključuje kompajler i nekoliko drugih alata.

Struktura C programa.

Svaki program u jeziku C sastoji se od jedne ili više funkcija i elemenata. Različitim funkcijama može se dati bilo koji naziv. F-cije sadrže upute (naredbe) koje propisuju radnje u određenoj fazi izvršenja, a varijabla pohranjuje vrijednosti koje se koriste u procesu tih radnji. Takve radnje mogu biti dodjeljivanje vrijednosti varijablama, provjera određenog stanja. Funkcija pod nazivom main. Izvršenje bilo kojeg programa počinje s glavnom funkcijom.

a) Opća struktura C programa bez pozivanja potprograma:

b) Opća struktura C programa s pozivom na potprogram:

Argumenti su jedan od mehanizama interakcije između funkcija. Popis argumenata u zagradama slijedi nakon naziva funkcije. Vitičaste zagrade uokviruju početak i kraj programa. Upute koje čine tijelo programa od operatora i operanda. U C-u svaki izraz i svaki redak poziva funkcije završava točkom i zarezom. Jedina iznimka su naredbe pretprocesora i nazivi funkcija na početku programske jedinice. Cilj većine programa je riješiti problem raznim transformacijama početnih podataka. Za to je potrebno.

STRUKTURA JEDNOSTAVNOG PROGRAMA

Sada kada smo pokrili konkretan primjer, spremni ste se upoznati s nekoliko općih pravila o C programima. Program se sastoji od jedne ili više funkcija, a neke od njih moraju biti pozvane glavni ()... Opis funkcije sastoji se od naslova i tijela. Zaglavlje se pak sastoji od predprocesorskih direktiva kao što su #uključiti i tako dalje i naziv funkcije.

RIŽA. 2.4. Struktura funkcije u jeziku C: zaglavlje i tijelo.

Iz knjige C++ od Hill Murraya

1.6 Struktura programa C++ program se obično sastoji od velikog broja izvornih datoteka, od kojih svaka sadrži opise tipova, funkcija, varijabli i konstanti. Da biste mogli koristiti naziv u različitim izvornim datotekama za upućivanje na isti objekt, to mora

Iz knjige Domaći arhitekt. Priprema za popravak i konstrukciju na računalu autor Bulat Vitaly

Struktura programa Super Home Suite Razmotrimo glavni prozor programa Super Home Suite (demo verzija 3.5.2) (slika 2.1). Riža. 2.1. Glavni prozor programa Super Home Suite Na vrhu se nalazi izbornik sustava koji uključuje odjeljke naredbi za upravljanje programom, uređivanje podataka,

Iz knjige Računarstvo i informacijska tehnologija: Bilješke s predavanja autor Cvetkova AV

Struktura programa Programski prozor PromOffice Euroremont (slika 3.1) sastoji se od nekoliko dijelova. Na vrhu se nalazi horizontalna ploča s glavnim izbornikom, ispod nje je alatna traka. Ostatak područja prozora zauzimaju ploče za rad s podacima. U najnovijoj verziji programa s desne strane

Iz knjige Računarstvo i informacijska tehnologija autor Cvetkova AV

1. Struktura programa asemblerskog jezika Program na asembleru je skup blokova memorije koji se nazivaju memorijski segmenti. Program se može sastojati od jednog ili više takvih blok-segmenata. Svaki segment sadrži zbirku jezičnih rečenica,

Iz knjige Programski jezik C # 2005 i platforma .NET 2.0. autor Troelsen Andrew

47. Struktura programa asemblerskog jezika Program asemblerskog jezika je skup blokova memorije koji se nazivaju memorijski segmenti. Program se može sastojati od jednog ili više takvih blok-segmenata. Svaki segment sadrži zbirku rečenica

Iz knjige Programski jezik C za osobno računalo autor Bochkov S.O.

Struktura jednostavnog C # Programa C # zahtijeva da sva programska logika bude sadržana unutar definicije tipa (zapamtite iz poglavlja 1 da se izraz tip koristi za označavanje bilo kojeg elementa skupa (klasa, sučelje, struktura, lista , delegat)). V

Iz knjige Stvori virus i antivirus autor Gulyev Igor A.

STRUKTURA PROGRAMA Izvorni program Izvorni program je zbirka sljedećih elemenata: direktive pretprocesora, instrukcije prevoditelja, deklaracije i definicije. Smjernice pretprocesora određuju radnje pretvorbe pretprocesora

Iz knjige C Jezik – vodič za početnike od Prata Stephen

Struktura i proces učitavanja COM programa Što je COM program, kako se učitava u memoriju i pokreće?Struktura COM programa je krajnje jednostavna - sadrži samo kod i podatke programa, bez čak ni zaglavlja . Veličina COM programa je ograničena

Iz knjige Linux i UNIX: Shell programiranje. Vodič za razvojne programere. od Teinsley Davida

Struktura i proces učitavanja EXE programa Za razliku od COM programa, EXE programi se mogu sastojati od nekoliko segmenata (kodovi, podaci, stog). Mogu biti veće od 64 KB. EXE datoteka ima zaglavlje koje se koristi prilikom učitavanja. Naslov se sastoji od

Iz knjige Kraj Holivara. Pascal protiv C autor Krivtsov M.A.

PRIMJER JEDNOSTAVNOG C PROGRAMA Pogledajmo jednostavan C program. Treba odmah reći da nam je takav primjer potreban samo da bismo identificirali neke od glavnih značajki bilo kojeg programa napisanog u jeziku C. U nastavku ćemo objasniti svaki redak, ali prije

Iz knjige Linux i sve, sve, sve ... Članci i kolumne u LinuxFormatu, 2006.-2013. Autor Aleksej Fedorčuk

18.5.1. Simple for petlja Ova petlja jednostavno prikazuje popis koji se sastoji od "1 2 3 4 5". Za pristup svakoj varijabli koristite "loop" kao parametar_name_varijable. $ Pg for_i #! / Bin / sh # for_ifor petlja u 1 2 3 4 5doecho $ LOOP done Gornja skripta daje sljedeće: $

Iz knjige Opis jezika PascalABC.NET Autor RuBoard tim

1. Struktura Pascal programa U Pascal programu razlikuju se sljedeće glavne sekcije: naziv programa, opisi, operatori. Odjeljci su međusobno odvojeni točkom i zarezom. Na kraju programa stavlja se točka. Svaki odjeljak počinje vlastitim ključem

Iz knjige autora

1. Struktura programa u C Program se može sastojati od jedne ili više međusobno povezanih funkcija, od kojih se glavna naziva glavna - od toga počinje izvršavanje programa. Stoga je prisutnost funkcije s ovim imenom u bilo kojem programu

Iz knjige autora

Stvaranje jednostavnog bazena Nakon što smo ranije savladali osnovne koncepte, naučili smo kako razumjeti ZFS. Za obrnuti problem - da bi nas ZFS razumio - morate se upoznati s njegovim naredbama. Glavna su dva: zpool za kreiranje i upravljanje skupovima podataka i zfs za kreiranje skupova podataka i upravljanje njima.

Iz knjige autora

Struktura programa Struktura programa: pregled Program sadrži ključne riječi, identifikatore, komentare. Ključne riječi se koriste za isticanje sintakse, a u uređivaču su podebljane. Identifikatori su imena

Iz knjige autora

Struktura programa: pregled Program sadrži ključne riječi, identifikatore, komentare. Ključne riječi se koriste za isticanje sintakse, a u uređivaču su podebljane. Identifikatori su imena programskih objekata i ne mogu

Sastav jezika U tekstu na bilo kojem prirodnom jeziku, četiri
osnovni elementi: simboli, riječi, fraze i rečenice.
Algoritamski jezik sadrži slične elemente:
Abeceda jezika, odnosno njegovi simboli, glavni su nedjeljivi znakovi, s
uz pomoć kojih su napisani svi tekstovi na jeziku.
Leksem je minimalna jedinica jezika koja ima samostalnu
značenje.
Izraz specificira pravilo za izračunavanje određene vrijednosti.
Operator navodi potpuni opis neke radnje.
Složena radnja zahtijeva slijed
operateri. Operatori se mogu kombinirati u spoj
operator ili blok (blok u C ++ je
niz izjava zatvorenih vitičastim zagradama ()).
U ovom slučaju oni se tretiraju kao jedan operater.
Svaki element jezika definiran je sintaksom i semantikom.
Sintaktičke definicije uspostavljaju pravila građenja
elemenata jezika, a semantika određuje njihovo značenje i pravila
koristiti.
Skup opisa kombiniranih jednim algoritmom i
operatori tvore program u algoritamskom jeziku.

Proces izvođenja programa

Da biste izvršili program, morate ga prevesti
u jezik razumljiv procesoru - u strojne kodove. Ovaj
proces se sastoji od nekoliko faza:
Prvo se program prosljeđuje pretprocesoru, koji
uključuje tekstualne datoteke koje sadrže opis
elemenata koji se koriste u programu.
Rezultirajući puni tekst programa šalje se na ulaz
prevodilac koji izvlači tokene i zatim se temelji na
gramatika jezika prepoznaje izraze i operatore,
izgrađen od ovih žetona. U ovom slučaju prevodilac otkriva
sintaktičke pogreške i, u njihovom nedostatku, građe
objektni modul.
Linker, ili linker, generira
izvršni modul programa koji se povezuje s objektom
module ostali objektni moduli. Ako se program sastoji
iz nekoliko izvornih datoteka, sastavlja ih
odvojeno i kombinirano u fazi povezivanja.
Izvršni modul ima ekstenziju .exe i može biti
pokrenut na izvršenje.

C++ abeceda

C abeceda uključuje:
velika i mala slova latinske abecede (A, B, ..., Z, a, b, ..., z) i i
podvlaka;
znamenke: 0,1,2,3,4,5,6,7,8,9
posebni znakovi: ", () | () * + - /% \;". :?< = >_! & # znak koji se ne može prikazati ("generički razmak"),
koristi se za odvajanje tokena jedan od drugog (na primjer, razmak,
tabela, prijelom reda).
Od simbola abecede
tvore se leksemi jezika:
identifikatori;
ključne (rezervirane) riječi;
znakovi rada;
konstante;
graničnici (zagrade, točka, zarez, razmak).
Granice tokena definirane su drugim tokenima kao npr
separatori ili znakovi rada.

Identifikatori

Identifikator je naziv programskog objekta. V
identifikator se može koristiti na latinskom
slova, brojke i donja crta. Velika slova i
mala su slova različita. Prvi lik
identifikator može biti slovo ili znak
podvlake. pri čemu:
identifikator ne smije odgovarati ključu
riječi i imena koje koristi standard
jezični objekti;
ne preporuča se započinjati identifikatore znakom
podcrtavanje;
Identifikatori mogu biti bilo koje duljine, ali
prevodilac ne broji više od 31 znak od
početak identifikatora;
Primjeri identifikatora:
COM_16, veličina 88, _MIN, VRIJEME, vrijeme

Ključne riječi

Ključne riječi su rezervirani identifikatori koji imaju
posebno značenje za sastavljača. Mogu se koristiti samo ako
smislu u kojem su definirani. Za popis ključnih riječi C ++ pogledajte
stol:
INT
CHAR
Plutati
DVOSTRUKO
STRUKT
UNIJA
DUGO
KRATAK
NEPOTPISAN
AUTO
KONST
PRAVI
VANJSKI
REGISTAR
TYPEDEF
STATIČKI
IĆI
POVRATAK
VELIČINA
PAUZA
NASTAVITI
AKO
PONIŠTITI
NOVI
DRUGO
ZA
ČINI
DOK
SKLOPKA
SLUČAJ
ZADANO
ULAZ
I
STRUKT
TYPEDEF
Bool

Znakovi operacije

Znak operacije je jedan ili više
akcijski simboli
nad operandima. Unutar znaka
radni prostori nisu dopušteni.
Operacije se dijele na unarne,
binarni i ternarni po količini
operandi koji u njima sudjeluju.

Jednostavne vrste podataka

Tip podataka definira:
interni prikaz podataka u memoriji
Računalo;
skup vrijednosti koji može
uzeti vrijednosti ove vrste;
operacije i funkcije koje mogu
primijeniti na vrijednosti ove vrste.
Jezik C ++ definira šest standarda
jednostavne vrste podataka za predstavljanje
cijeli brojevi, realni, simbolički i
logičke vrijednosti.

Vrste podataka
Specifikatori vrste uključuju:
čar
- simbolički;
double - realna dvostruka preciznost s pomičnim zarezom;
float - pravi plutajući zarez;
int - cijeli broj;
dugo
- cjelina povećane duljine (duga cijela);
kratki - cijeli broj smanjene duljine (kratki cijeli broj);
potpisan - potpisan, t.j. predznačeni cijeli broj (najznačajniji bit je
ikona);
nepotpisan - nepotpisan, t.j. cijeli broj bez predznaka (najznačajniji bit nije
smatra se ikoničnim);
poništiti
- nedostatak smisla;
bool - boolean (može uzeti samo vrijednosti true i false.
Unutarnji oblik lažne vrijednosti je 0 (nula).
Svaka druga vrijednost se tumači kao istinita.)
Da biste opisali konstante, prije upotrijebite ključnu riječ const
opis vrste. Na primjer, const float g = 9,8;

10. Struktura C programa

C++ program je
jednu ili više funkcija. Jedna od funkcija
treba zvati glavni (). S ovim je
funkcija počinje izvršavati program, a od
ovu funkciju, prema potrebi,
druge funkcije se pozivaju.
Najjednostavnija definicija funkcije ima sljedeći format:
naziv vrste povrata ([opcije])
{
operatori koji čine tijelo funkcije
}
Obično se za izračunavanje neke koristi funkcija
vrijednosti, pa je tip naznačen prije naziva funkcije. Ako
funkcija ne smije vratiti vrijednost, specificiran je tip void.
pri čemu:
- Tijelo funkcije zatvoreno je vitičastim zagradama.
- Funkcije se ne mogu ugniježditi.
- Svaka izjava završava točkom i zarezom (osim
složeni operator).

11. Struktura C programa

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

12. I/O funkcije u stilu C

Osnovne I/O funkcije u C stilu:
int scanf (const char * format ...) // ulaz
int printf (const char * format ...) // izlaz
Oni izvode formatirani unos i izlaz proizvoljnog broja vrijednosti prema nizu.
format formata. Niz formata sadrži znakove koji se kopiraju u tok (na ekran) na izlazu, ili
traže se od streama (s tipkovnice) na ulazu, a specifikacije pretvorbe počevši od
% znakova, koji se zamjenjuju određenim vrijednostima tijekom unosa i izlaza.
#uključiti
int main () (
int i;
printf ("Unesite cijeli broj \ n");
scanf ("% d", & i);
printf ("Upisali ste broj% d, hvala!", i);
vrati 0; )
Prvi redak ovog programa je direktiva pretprocesora, prema kojoj se umeće u tekst programa
datoteka zaglavlja koji sadrži opis ulaznih/izlaznih funkcija koje se koriste u programu. Sve
direktive pretprocesora počinju znakom #.
Treći red je opis cjelobrojne varijable pod nazivom i.
Funkcija printf u četvrtom retku ispisuje upit Unesite cijeli broj i nastavlja na novi redak u
prema escape sekvenci \ n.
Funkcija scanf stavlja cijeli broj unet s tipkovnice u varijablu i, a sljedeći izraz izlazi u
pregledajte navedeni niz, zamjenjujući specifikaciju konverzije vrijednošću ovog broja.

13.I / O funkcije u C ++ stilu

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

14. Standardne knjižnice

C jezik ima bogatu podršku u obliku
više od 450 knjižničnih funkcija rutina i makronaredbi koje možete
nazovite iz svojih C programa za rješavanje
širok raspon zadataka, uključujući ulaz/izlaz
niska i visoka razina, rad s
linije i datoteke, dodjela memorije,
kontrola procesa, transformacija
podaci, matematički izračuni i
mnogo više.

15. Smjernice za pretprocesor

Prva faza naziva se pretprocesor.
prevodilac. Upute za pretprocesor
nazivaju se direktivama. Oni moraju
započnite znakom #, kojem prethodi
redak može sadržavati samo razmak
simboli.
Potražite datoteku ako puna staza nije navedena,
održava se u standardnim katalozima
uključiti datoteke. Umjesto kuta
zagrade mogu koristiti navodnike ("")
- u ovom slučaju, datoteka se traži u
direktorij koji sadrži izvornu datoteku, i
zatim u standardnim katalozima.
Datoteke zaglavlja obično imaju
proširenje .h.

16. # uključuje direktivu za pretprocesor

Za povezivanje knjižnica koristite
direktiva za pretprocesor
# uključuje [naziv datoteke]
#Uključi direktivu<имя_файла>umetci
sadržaj navedene datoteke do te točke
izvornu datoteku gdje je napisana.
Na primjer:
#uključiti
#include "mylib.h"

17. Direktiva #define pretprocesora

Direktiva #Define definira zamjenu u tekstu
programe. Koristi se za određivanje
simboličke konstante.
Format za definiranje simboličke konstante je:
#define name substitution_text / * Sva pojavljivanja
imena se zamjenjuju zamjenskim tekstom * /
primjeri:
#definiraj M 1000
#define Vasia "Vasily Ivanovich"

18. Neke standardne knjižnice

ALLOC.H
Opis funkcija upravljanja memorijom
(dodjela, raspodjela itd.)
BIOS.H
Opisi različitih funkcija koje se koriste u
pristup BIOS rutinama (osnovni
ulazno-izlazni sustav).
CONIO.H Opis različitih funkcija koje se koriste u
pristup DOS I/O rutinama s
tipkovnica.
GRAPHICS.H Sadrži prototipove grafičkih funkcija.
MATH.H Sadrži opis matematičkih prototipova
funkcije
STDIO.H Definira vrste i makronaredbe potrebne za
standardni I/O paket. Definira isto
standardni I/O tokovi stdin, stdout i
opisuje ulazne/izlazne rutine.
STDLIB.H opisuje neke rutine opće namjene:
rutine za transformaciju, pretraživanje, sortiranje i druge.
STRING.H
Opisuje nekoliko rutina za obradu nizova i
rad s pamćenjem.

19. Funkcija formatiranja izlaza PRINTF

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

20. Funkcija unosa SCANF formata

Za interaktivni način unosa se vjerojatno može koristiti u
u većini slučajeva, scanf. scanf je ulazna funkcija, unutar značenja
ekvivalent printf; njegov format izgleda ovako:
scanf (<строка формата>,<адрес>,<адрес>,...)
Međutim, scanf ima jednu vrlo važnu razliku: objekte koji slijede
formatni niz 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 očekuje unos od vas.
dva decimalna (cijela) broja odvojena razmakom; prvi će biti
dodijeljen a, a drugi b. Imajte na umu da se ovdje koristi operacija
adrese (&) za prosljeđivanje adresa a i b u scanf.

21. Formatni niz

Niz formata je niz koji počinje
i završava dvostrukim navodnicima ("ovako");
svrha printf-a je ispisati ovaj redak na ekran. Ispred
s printf izlazom sve dodatno zamjenjuje
navedeni objekti po retku prema
sa danim specifikacijama formata
sama linija. Primjer printf izjave:
printf ("d =% f \ n", d);

22. Formatni niz

% f u nizu formata je specifikacija formata. Sve
specifikacije formata počinju sa znakom postotka (%) i
(obično) nakon čega slijedi jedno slovo koje označava vrstu
podatke i kako se oni pretvaraju.
% f korišten u specifikaciji označava što se očekuje
neki pravi broj. Evo nekoliko drugih najčešće korištenih specifikacija formata:
-% u cijeli broj bez predznaka
-% ld dugi cijeli broj
-% p vrijednost pokazivača
-% d cijeli broj
-% e broj s pomičnim zarezom u eksponencijalnom obliku
-% c znak
-% s niz
-% x ili% X je cijeli broj u heksadecimalnom formatu.

23. Formatni niz

Širinu polja možete postaviti tako da ga postavite
između% i slova, npr. decimalno polje
širina 4 je data kao % 4d. Vrijednost će biti
ispisano pomaknuto udesno (ispred
razmaci) tako da je ukupna širina polja 4.
Ili će, na primjer, % 6.2f to značiti
6 pozicija je dodijeljeno za realni broj,
i 2 - za frakcijski dio.
Ako želite ispisati znak %, umetnite %%.

24. Formatni niz

\ n u retku nije specifikacija formata, već
korišten (iz povijesnih razloga) kao
izlazni slijed i predstavlja
poseban znak koji treba umetnuti u niz. U ovom slučaju
\ n umeće znak na početak novog retka, dakle
nakon prikaza retka, kursor će se pomaknuti na početak novog
žice.
- \ f (format prijevoda ili brisanje zaslona)
- \ t (kartica)
- \ b (povratnica<-)
- \ xhhh (umetnite znak s ASCII kodom hhh, gdje je hhh
sadrži od 1 do 3 heksadecimalne znamenke)
Ako trebate ispisati obrnutu kosu crtu
umetnuti \\.

25. Primjer C programa

#uključiti
#uključiti
glavni ()
{
plutaju 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 dvije druge izlazne funkcije koje vam mogu pomoći
kamata: puts i putchar. Funkcija puts ispisuje string na
zaslon i završava izlaz znakom novog reda.
Pogledajmo primjer programa:
#uključiti
glavni ()
{
stavlja ("Zdravo, student VKI NSU");
}
Imajte na umu da je \ n izostavljen na kraju retka; nije potrebno kao
stavlja se dodaje ovaj lik.
Suprotno tome, funkcija putchar upisuje jedan znak
zaslon i ne dodaje \ n. Naredba putchar (ch) je ekvivalentna
printf ("% c", ch).

27. Funkcije GETS, GETCH

glavni ()
{
char naziv;
printf ("Kako se zoveš:");
scanf (“% s”, ime);

}
Ako unesete prezime i ime, tada će se prikazati samo prezime. Jer
prostor koji unesete nakon naziva signalizira skeniranje do kraja unosa
žice.
Ovaj problem možete riješiti pomoću funkcije gets.
glavni ()
{
char naziv;
printf ("Kako se zoveš:");
dobiva (ime);
printf ("Zdravo% s \ n", ime);
}

28. Funkcije GETS, GETCH

# uključiti
# uključiti
glavni ()
{
clrscr ();
char naziv;
printf ("Kako se zoveš:");
dobiva (ime);
printf ("Zdravo% s \ n", ime);
dobiti ();
}
Ovdje funkcija getch očekuje unos bilo kojeg znaka.
Getch čita jedan znak s tipkovnice bez ispisa
to na ekran (za razliku od scanf i gets). Imajte na umu da ona nema
parametar. Ako funkciju dodijelimo simboličkoj varijabli, onda
dobit će vrijednost pritisnutog znaka.
Na primjer: c = getch ();

29. Operacija zadatka

Najčešća operacija je dodjela,
na primjer p = a / b ili ch = getch (). U Xi
dodjela se označava jednim znakom
jednakost (=); vrijednost desno od znaka
jednakost se dodjeljuje varijabli s lijeve strane.
Također možete koristiti sekvencijalno
zadaci, na primjer: zbroj = a = b. Takav
slučajevima zadatak je s desna
lijevo, odnosno b ​​će biti dodijeljen a, što u
red će biti dodijeljen zbroju, tako da sve
tri varijable će dobiti istu vrijednost (i
naime početna vrijednost b).

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

C podržava uobičajeni skup aritmetičkih operacija:
- množenje (*)
- podjela (/)
- određivanje ostatka od dijeljenja (%)
- dodatak (+)
- oduzimanje (-)
Za povećanje vrijednosti varijable za jedan, koristite inkrement (++),
dekrement (-) smanjiti za jedan.
Tako:
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);
dobivamo:
a = 3
a = 3
x = 14
x = 12

31. Kombinirane operacije

Slijedi nekoliko primjera izraza
i načini za njihovo smanjenje:
a = a + b; skraćeno na a + = b;
a = a - b; svodi se na a - = b;
a = a * b; skraćeno na a * = b;
a = a / b; svodi se na a / = b;
a = a% b; svodi se na a% = b;

32. Primjer 1

Izračunajte X3 i X10 koristeći četiri operacije množenja za
zadanu cjelobrojnu vrijednost X.
#uključiti
int x, x2, x3, x5, x10;
glavni () (
printf ("\ n Program za izračunavanje X ^ 3 i X ^ 10 \ n");
puts ("Unesite vrijednost X");
scanf ("% i", & x);
x2 = x * x;
x3 = x * x2;
x5 = x2 * x3;
x10 = x5 * x5;
printf ("% i u 3. stepenu =% i \ n", x, x3);
printf ("% i na 10. stepen =% i", x, x10);
}

33. Primjer 2

Kut je dan u radijanima. Izračunajte sinus i kosinus kuta.
#uključiti
#uključiti
float kut, rezultat1, rezultat2;
glavni ()
{
printf ("\ n Program za izračun sin i cos kut \ n");
puts ("Postavite kut u radijanima");
scanf ("% f", & Kut);
Rezultat1 = sin (kut);
Rezultat2 = cos (kut);
printf ("Sinus kuta je% f \ n", Rezultat1);
printf ("Kosinus kuta je% f", Rezultat2);

Prije nego što počnete pisati programe, morate proučiti strukturu programa u programskom jeziku C ++. Po vlastitim 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 neznatno se razlikuje ovisno o programskom okruženju. Fokusiramo se na Microsoft Visual Studio IDE, te će stoga primjeri programa biti prikazani posebno za MVS. Ako koristite drugi IDE, tada vam neće biti teško prenijeti svoj kod iz MVS-a u druga razvojna okruženja, a s vremenom ćete shvatiti kako to učiniti.

Struktura programa za Microsoft Visual Studio.

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

Redak 1 govori o ulaznoj točki za konzolnu aplikaciju, što znači da se ovaj program može pokrenuti kroz naredbeni redak Windows navođenjem naziva programa, na primjer, ovo je struct_program.cpp. Redak 1 je komentar u jednom retku, budući da počinje znakovima //, više o komentarima bit će riječi u sljedećem članku. Redak 2 uključuje datoteku zaglavlja "stdafx.h". Ova datoteka je slična kontejneru, budući da su u njoj povezane glavne direktive predprocesora (one koje je kompajler povezao prilikom kreiranja konzolne aplikacije), a pomoćne direktive (koje ih povezuje programer) mogu se odmah povezati.

include je direktiva pretprocesora, tj. poruka pretprocesoru. Predprocesor obrađuje retke koji počinju znakom # prije prevođenja programa.

Direktive pretprocesora također se mogu uključiti u retke, počevši od #include "stdafx.h" prije početka glavne funkcije. Štoviše, ovaj način povezivanja knjižnica je glavni, a korištenje "stdafx.h" dodatna je mogućnost povezivanja datoteka zaglavlja, koja je dostupna samo u MVS-u. Od 4. do 6. reda deklarira se glavna funkcija. Redak 4 je zaglavlje funkcije, koje se sastoji od povratnog tipa podataka (u ovom slučaju, int) ovom funkcijom, i naziva funkcije, kao i zagrada u kojima su deklarirani parametri funkcije.

int - cjelobrojni tip podataka

Glavni programski kod, koji se također naziva tijelo funkcije, nalazi se između vitičastih zagrada. Ovo je najjednostavnija struktura programa. Ova struktura je napisana u Microsoft Visual Studio. Sve navedeno ostaje istinito za druge prevodioce, osim za redak 2. Ne postoji "stdafx.h" kontejner nigdje osim MVS-a.

Struktura programa za C++ Builder.

Prilikom izrade konzolne aplikacije, čarobnjak za novi projekt automatski generira sljedeći kod:

// direktiva predprocesora automatski povezana od strane čarobnjaka za kreiranje projekata #include int main () (povratak 0;)

Vidimo da funkcija ima tip podataka int. To znači da će po završetku rada funkcija vratiti neku vrstu cjelobrojne vrijednosti, 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 povrata glavne funkcije int ili bilo što drugo osim void, trebali biste napisati red ovako: return<возвращаемое значение>;

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

Općenito, čarobnjak automatski stvara strukturu programa, malo drugačiju od onih koje smo razmotrili, ali suština ostaje ista.

Na primjer:

Int main (int argc, char * argv) (povratak 0;)

Takav primjer strukture generira čarobnjak u MVS2010. Ova glavna je malo drugačija. Kasnije ćemo detaljnije razmotriti, ali reći ću da ovaj glavni izgleda ovako, budući da je izvorno dizajniran da podržava Unicode.

Unicode je standard za kodiranje znakova koji omogućuje predstavljanje znakova u gotovo svim pisanim jezicima. Kasnije ćemo više razgovarati o Unicodeu.

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

Primjer strukture MVS programa s povezanim knjižnicama.

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

Naziv povezanih knjižnica upisan je unutar više, manje znakova. Datoteke zaglavlja i nazivi povezanih biblioteka su sinonimi.

Sintaksa veze datoteka zaglavlja:

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

Starije datoteke zaglavlja povezuju se ovako (ovaj stil povezivanja knjižnica naslijeđen je iz programskog jezika C):

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

Razlika je u tome što se nakon imena dodaje ekstenzija .h.

Programski jezik C++ razlikuje velika i mala slova. Na primjer:
Vrati 0; - nije točno, doći će do greške pri kompilaciji.
vrati 0; - točno!!!

Ovaj članak govori o strukturi 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 još uvijek niste odlučili o svom IDE-u, čitajte dalje.

Vrhunski povezani članci