Sunteți pe pagina 1din 12

CURSUL 1 Capitolul 1 - notiuni introductive 1.

unitatile functionale ale unui sistem de calcul unitatea de intrare cu functia de citire,face conversia informatiei din format extern in intern unitatea de iesire cu functia de scriere, afisare, face conversia inversa din format intern in extern memoria interna - succesiune de octeti unitatea centrala - prelucreaza datele din memoria interna.inglobeaza microprocesorul si coporcesorul matematic memoria externa - reprezentata fizic prin unitatile de discuri [ ard dis!, flopp" dis!#, are caracter permanent 2.diferenta dintre bit si byte bitul reprezinta unitatea elementara de informatie si poatea avea una din valorile $ si 1 b"te-ul reprezinta cea mai mica unitate de informatie adresabila de catre un calculator.% biti&1 octet. nu prea inteleg care e diferenta. doar ca bit'b"te 3.ce este un algoritm set de pasi care defineste modul in care poate fi dusa la indeplinire o anumita sarcina. reprezinta conceptul fundamental al informaticii 4.deosebirile intre un algoritm si un program programul este un ansamblu de instructiuni pe care calculatorul le executa pentru a rezolva o anumita problema, pe cand algoritmul doar defineste modul in care poate fi rezolavta problema programul contine atat informatii despre datele care vor fi prelucrate cat si despre algoritmul aplicat in prelucrarea acestora 5.proprietatile fundamentale ale algoritmilor caracter finit - trebuie sa se termine intr-un numar finit de pasi caracter unic si universal - orice algoritm trebuie sa rezolve toate problemele dintr-o clasa de probleme, sa poata fi aplicat oricarui set de date de intrare caracter realizabil - trebuie sa poata fi codificat in limba(ul de programare pentru care a fost conceput caracter discret - fiecare pas al algoritmului se executa la un moment dat de timp caracter determinist - ordinea actiunilor in executie este determinata in mod unic de rezultatele obtinuite la fiecare moment de timp 6.ce sunt limbajele de programare limba(e artificiale care permit o descriere a datelor si a algoritmului intr-un program, care sa fie inteles de catre calculator 7.modalitati de reprezentare a algoritmilor pseudocod

8.ce sunt limbajele de programare de nivel inalt limba(e apropiate de limba(ele umane naturale, puternic formalizate .ce legatura e!ista intre limbajele " si "## C)) este o varianta imbunatatita a limba(ului C, mai riguroasa, puternica. pastreaza toate elementele limba(ului C, beneficiind de eficienta si flexibilitatea acestuia. 1$.diferente intre programele de aplicatie si sistemul de operare sistemul de operare- coordoneaza intreaga activit*ae a ec ipamentului de calcul,activat la pornirea calculatorului.furnizeaza suportul pt dezvoltarea si executia aplicatiilor pe cand sistemul de aplicatii include medii de programare, compilatoare, programe aplicative din diverse domenii 11.diferentele intre memoria interna si e!terna memoria interna - este pastrata doar informatia prelucrata la un moment dat.are capacitate redusa, datele nu sunt pastrate dupa terminarea prelucrarii,accesul la informatie este mai rapid memoria externa - reprezentata fizic prin unitati de discuri, are capacitate mai mare, informatia are caracter permanent, timp de acces redus CURSUL + 1.ce reprezinta datele si care sunt atributele lor datele apar sub forma unor constante ,valori cunoscute anticipat , care nu-si modifica valoarea- sau sub forma unor variabile.constantele si variabilele sunt obiectele informationale de baza manipulate de un program. atribute . nume, valoare, tip, clasa de memorare. 2.care sunt diferentele intre variabile si constante variabilele isi pot sc imba valoarea in timpul executiei programului iar constantele nu compilatorul stabileste automat tipul constantei, in cazul variabilelor fiind necesara specificarea tipului 3.cine determina tipul unei constante tipul si valoarea ei sunt determinat ein mod automat de compilator pe baza caracterelor care compun literalul 4.ce sunt identificatorii identificatorii reprezinta numele unor date sau ale unor functii 5.ce sunt directivele preprocesor Librarii in care se gasesc anumite functii 6.ce reprezinta variabilele

variabilele sunt date ,obiecte informationale- ale caror valori se pot modifica in timpul executiei programului.sunt nume simbolice utilizate pentru memorarea valorilor introduse pentru datele de intrare sau a rezultatelor. 7.ce sunt constantele o constanta este un literal numeric, caracter sau sir de caractere ,forma externa de reprezentare a unei valori in fisierul sursavaloarea unei constante nu poate fi sc imbata in timpul executiei programului in care a fost utilizata. 8.tipuri simple de variabile date izolate - nu are legaturi cu alte date .cate tipuri de directive preprocesor cunoasteti%e!emple /include' eader. 0 - este vorba de un fisier eader sistem /include1 eader. 1 - este vorba de un fisier eader creat de utilizator /define - asignarea unei valori unui anumit nume s"mbolic 1$.care este modalitatea de a interzice modificarea valorii unor variabile calificatorul const asociat unei variabile, nu va permite modificarea ulterioara a valorii acesteia 11.ce loc ocupa declararea variabilelor in cadrul unui program sursa scris in limbajul "## intr-un program scris in limba(ul C)) declaratiile de variabile pot apare in orice loc in programul sursa 12.ce tipuri de variabile se utilizeaza pentru datele numerice 2nt cu derivatele lui, double, float 13.care este diferenta intre constantele 35.2e&1 si 3.52%'ar intre ()t( si *)t*% intre primele + constante nu exista nicio diferenta. 34.+e-1 & 34.+ 5 1$6-1 14.ce tip are constanta 6.44 double 15.diferenta dintre operatori + si ++ operatorul & este un operator de atribuire oepratorul && operator relational binar de egalitate, compara valorile a + operanzi al doilea nu modifica valoarea niciunuia dintre operanzi, iar primul modifica valoarea operandului stang 16.ce reprezinta caracterele (escape(% determina pozitionarea cursorului la inceputul urmatoarei linii a programului 17.constante intregi

18.ce tipuri de conversii cunoasteti automate - realizate de catre compilator cerute de evaluarea expresiilor explicite - cerute de programator, se realizeaza cu a(utorul constructiilor cast 1 .care sunt conversiile realizate in mod automat, de catre compilator, la evaluarea unei e!presii% daca un operand este long int - celalalt de tip int sau c ar va fi convertit tot la long int daca un operand este double - celalalt de tip int, c ar sau float, va fi convertit tot la double daca un operand este float - celalalt tip int sau c ar , va fi convertit tot la float 2$.ce este (volatile(% calificatorul volatile permite modificarea ulterioara a valorii unei variabile, 21.constante reale daca o constanta numerica contine punct zecimal,ea este de tipul double daca o constanta este urmata de 7 sau f, ea este de tipul float daca o constanta este urmata de L sau l ,ea este de tipul long double daca o constanta este urmata de 8 sau e si de un numar intreg, ea este in notatie stiintifica.numarul din fata literei 89e reprezinta mantisa, iar ce urmeaza dupa 89e reprezinta exponentul 22.ce sunt operatorii simboluri pentru operatii 23.care din urmatoarele tipuri desemneaza date intregi, fara semn - int, s.ort int, c.ar, signed int, unsigned int, long int unsigned int 24.operatori aritmetici binari compusi )&, -&, 5&, 9&, :& 25.operatorul de referentiere operatorul unar adresa ;, furnizeaza adresa la care este memorata variabila.poate fi aplicat datelor de orice tip 26.operatori relationali binari &&, <&, ', '&, 0, 0& 27.ce sunt literalii% o forma externa de reprezentare a unei valori in fisierul sursa 28.diferentele intre operatorii logici pe bit si operatorii logici pe cuvant operatorii logici pe cuvant pot fi aplicati datelor numerice sau caracter <, ;; , == operatorii logici pe bit nu se aplica numerelor reale , ci numai datelor de tip intreg sau caracter, actioneaza la nivel de bit ;, =, 6, >

2 .cum e!plicati ca operatorii aplicabili datelor intregi pot fi aplicati si datelor de tip caracter 3$.care sunt modalitatile de realizare a operatiilor de intrare/iesire in limbajul "% 'ar in "##% in limba(ul C operatiile de intrare9iesire se realizeaza cu a(utorul functiilor printf, scanf in limba(ul C)) operatiile de intrare9iesire se realizeaz cu a(utorul dispozitivelor logice de intrare cin-console input, cout - console output

31.care este tipul rezultatului unei operatii de atribuire se evalueaza expresia din membrul drept iar valoarea este atribuita variabilei din membrul stang.daca tipurile membrilor stang si drept difera, se realizeaza conversii 32.cum sunt reprezentate intern datele de tip c.ar caracterele sunt reprezentate intern printr-un numar intreg,fara semn, memorat pe 1 octet.valoarea numarului este asa numitul cod ?SC22 33.cum se memoreaza o data sir de caractere caracterele unui sir de caractere sunt memorate intr-o zona continua de memorie, la adrese succesive.dupa ultimul caracter al sirului compilatorul plaseaza automat caracterul @ULL 34.ce semnifica parantezele ung.iulare 0 1 care incadreaza numele unui fisier .eader parantezele ung iulare indica faptul ca este vorba de un fisier eader s"stem 35.ce contin fisierele .eader un fisier eader contine declaratii si definitii de functii si variabile 36.care sunt calificatorii folositi alaturi de tipurile de baza pentru obtinerea tipurilor derivate de date s ort, long, signed, unsigned 37.de catre cine este dat tipul unei e!presii tipul unei expresii este dat de tipul rezultatului obitnut in urma evaluarii acesteia 38.operatorul virgula forteaza evaluarea unei expresii de la stanga la drepta.este folosit in cadrul instructiunii for.are cea mai mica prioritate 3 .constante sir de caractere succesiune de zero sau mai multe caractere,incadrate in g ilimele.poate intra orice caracter,lungimea este nelimitata, pentru trecerea pe urmatorul rand se poate folosi caracterul bac!slas

4$.ce operatori ternari cunoasteti operatorul conditional expresie1Aexpresie+.expresie3 41.care dintre urmatorii operatori pot fi aplicati datelor numerice reale% 23de referentiere4, 5, # & 6 /, 00 42.care dintre urmatorii identificatori sunt incorecti - acceleratie gravitationala, acceleratie, acceleratie7gravitationala, ?cceleratieBgravitationala,Cacceleratie acceleratie gravitationala ,Cacceleratie

43.constante caracter simboluri care reprezinta litere, cifre, semne de punctuatie, etc.incadrate intre apostroafe corespunzatoare caracterelor imprimbaile si corespunzatoare caracterelor neimprimabile CURSUL 3 1.care sunt instructiunile care implementeaza in limbajul " structura conditionala% instructiunea if si instructiunea s*itc 2.care sunt instructiunile care implementeaza in limbajul " structura secventiala% instructiunea vida D instructiunea compusa ,instructiunea bloc3.care sunt instructiunile care implementeaza in limbajul " structura repetitiva cu test initial% instructiunea * ile instructiunea for 4.care sunt instructiunile care implementeaza in limbajul " structura repetitiva cu test final% instructiunea do-* ile 5.ce deosebiri sunt intre instructiunea 8.ile si instructiunea do&8.ile in cazul in care la prima evaluare a expresiei aceasta are valoarea zero, corpul instructiunii * ile nu va fi executat niciodata.spre deosebire de instructiunea * ile, in cazul instructiunii do-* ile, corpul ciclului se executa cel putin o data 6.pornind de la sinta!a instructiunii for, stabiliti ec.ivalenta intre aceasta si instructiunile 8.ile si do&8.ile instructiunile for si * ile sunt ambele repetitive cu test initial. cele tre instructiuni sunt ec ivalente deoarece sunt instructiuni repetitive, repetandu-se in urma evaluarii unei expresii. CURSUL E 1.care este diferenta dintre sirurile de caractere si vectorii de caractere

sirurile de caractere sunt vectori de caractere, care au ca ultim element un terminator de sir, caracterul null FG$F 2.ce sunt tablourile colectie de date de acelasi tip, situate intr-o zona de memorie continua 3.prin ce se refera elementele unui tablou elementele unui tablou pot fi referite prin numele tabloului si indicii care reprezinta pozitia elementului in cadrul tabloului 4.de ce tablourile reprezinta date structurate tablourile sunt variabile compuse,structurate- deoarece grupeaza mai multe elemente 5.cum sunt memorate tablourile tablourile suint memorate intr-o zona de memorie continua, elemtenele tabloului aflanduse la adrese succesive. 6.cine impune tipul unui tablou tipul tabloului este dat de tipul elementelor sale CURSUL 4 1.in ce consta operatia de incrementare a pointerilor incrementarea unui pointer ptr)) inseamna ptr&ptr)sizeof,tipul pointerului-D 2.tablouri de poineri un tablou de pointeri este un tablou ale carui elemente sunt pointeri. 3.ce sunt pointerii generici pointerii generici au ca valoare adresa unui obiect oarecare, de tip neprecizat 4.ce operatii se pot realiza asupra variabilelor pointer% asupra variabilelor pointer se pot realiza operatii de atribuire, comparare, adunare si scadere

5.de ce numele unui pointer este lvalue% numele unui pointer este considerat un lvalue deoarece poate fi folosit atat pentru a obtine valoarea obiectului cat si pentru a o modifica printr-o operatie de atribuire

6.operatorul de deferentiere operatorul de deferentiere furnizeaza valoarea din zona de memorie spre care pointeaza pointerul operand

7.ce fel de variabile pot constitui operandul operatorului de deferentiere%dar ale celui de referentiere% 8.unui pointer generic i se poate atribui valoarea unui pointer cu tip% unui pointer void i se pot atribui adrese de memorie care pot contine valori ale unor date de diferite tipuri.acesti pointeri pot fi folositi cu mai multe tipuri de date .care este legatura intre tablouri si pointeri% numele unui tablou este un pointer constant numele unui tablou este rvalue, numele unui pointer este lvalue diferenta dintre pointerul - nume al unui tablou si o variabila pointer obisnuita este aceea ca unei variabile de tip pointer i se pot atribui valori la executie, lucru imposibil pentru numele unui tablou 1$.de ce numele unui tablou este rvalue% numele unui tablou este consideart ca fiind un rvalue deoarece numele unui tablou este un pointer constant, deci poate aparea doar in partea dreapta a unei expresii de atribuire 11.ce restrictii impune operatia de scadere a doi pointeri% Hre sa fie de acelasi tip CURSUL I 1.asemanari intre transferul parametrilor unei functii prin pointeri si prin referinta pointeri - parametrii formali ai functiei apelate vor fi initializati cu valorile parametrilor efectivi.functia apelata poate modifica continul locatiilor spre care pointeaza argumentele,pointeriireferinta - parametrilor formali li se poate asocia c iar obiectul parametrului efectiv.parametrul efectiv poate fi modificat direct prin operatiile din corpul functiei apelate

2.caracteristicile modului de transfer a parametrilor unei functii prin pointeri parametrii formali ai functiei apelate vor fi initializati cu valorile parametrilor efectivi.functia apelata poate modifica continul locatiilor spre care pointeaza pointerii. la transmiterea parametrilor prin pointeri, ca parametri efectivi pot apare expresii de pointeri 3.caracteristicile variabilelor globale variabile declarate in afara oricarei functii timpul de viata a unei variabile globale este durata de executie a programului vizibilitate pe tot programul 4.caracteristicile variabilelor locale

variabile declarate in interiorul unui bloc timpul de viata a unei variabile locale este durata de executie a blocului ,sau a functiei- in care aceasta este definite domeniu de vizibilitate - blocul sau functia 5.care este diferenta intre antetul unei functii si prototipul acesteia% in antetul functiei se indica . tipul functiei, numele acesteia, lista declaratiilor parametrilor formali declaratiile de functii din care lipsesc numele parametrilor formali se numesc prototipuri diferenta intre antetul unei functii si prototipul acesteia este ca in antet se indica tipul, numele functiei dar si lista declaratiilor parametrilor formali, spre deosebire de prototiprui in care se indica doar tipul si numele functiei, fara lista declaratiilor parametrilor formali 6.care sunt modurile de alocare a memoriei% alocare statica, alocare dinamica, alocare pe stiva 7.care sunt modurile de transfer a parametrilor unei functii% transferul parametrilor catre functiile apelate se poate realiza prin valoare ,specific C-, prin pointeri sau prin referinta,specific C))8.care sunt operatorii din "## care permit alocarea/dealocarea dinamica a memoriei% in limba(ul C)) alocarea dinamica a memoriei si eliberearea ei se pot realiza cu operatorii ne* si delete .ce clase de memorare cunoasteti% auto, register, extern, static 1$.ce este domeniul de vizibilitate a unei variabile% domeniul de vizibilitate ,scopul- unei variabile reprezinta portiunea de cod in care o variabila este accesibila 11.ce este prototipul unei functii% prototipul unei functii este o declaratie ed functie din acre lipsesc numele parametrilor formali

12.ce este timpul de viata a unei variabile% timpul de viata a unei variabile este durata de executie a prorgamului sa a blocului in care aceasta este definite 13.ce loc ocupa declaratiile variabilelor locale in corpul unei functii

14.ce reprezinta antetul unei functii%

antetul functiei indica tipul functiei, numele acesteia si lista declaratiilor parametrilor formali 15.ce rol are declararea functiilor declaratia are rolul de a informa compilatorul asupra tipului, numelui functiei si a listei declaratiilor parametrilor formali 16.ce se indica in specificatorul de format al functiei printf specificatorii de format definesc conversiile care vor fi realizate asupra datelor de iesire, din formatul intern, in cel extern ,de afisare17.ce sunt functiile cu numar variabil de parametri%e!emple functiile cu numar variabil de parametri, sunt functii cu parametri ficsi care trebuie sa fie prezenti la orice apel si cu parametri variabili, prezenta lor indicandu-se prin trei puncte care se scriu dupa ultimul parametru fix al functiei printf, scanf 18.ce sunt functiile cu parametri impliciti functiile cu parametri implicit sunt funcii ale caror parametri formali sunt initializati 1 .ce sunt pointerii catre functii pointerii catre functii sunt variabile pointer care contin adresa de inceput a codului executabil al unei functii 2$.ce sunt variabilele referinta% variabila referitna reprezinta un sinonim al altei variabile 21.cine determina timpul de viata si domeniul de vizibilitate ale unei variabile% timpul de viata si domeniul de vizibilitate ale unei variabile sunt determinate de clasa de memorare 22.comparatie intre declararea si definirea functiilor declaratia consta in specificarea antetului functiei.fiind doar declarate, functiile pot fi utilizate, corpul acestora urmand sa se specifice anterior. definita contine atat antetul functiei cat si corpul acesteia. 23.diferente intre modurile de transfer a parametrilor prin valoare si prin referinta in cazul transmiterii parametrilor prin valore, parametrii efectivi pot fi c air expresii in cazul transmiterii parametrilor prin referinta, parametrul efectiv poate fi modificat direct prin operatiile din corpul functiei apelate la apelul prin valoare, transferul datelor este unidirectional, valorile se transfera de la functia apelanta catre cea apelata la apelul prin referinta transferul datelor este bidirectional, deoarece o modificare a parametrilor formali edtermina modificarea parametrilor efectivi, care sunt sinonime. la transmiterea parametrilor prin valoare, ca parametrii efecitiv pot apare expresii sau nume de variabile.la transmiterea parametrilor prin referinta ca parametri efectivi nu pot apare expresii ci doar nume de variabile.

24.din apelul functiei printf se poate omite specificatorul de format% cred ca da.nu stiu sigur. pt ca de exemplu daca scrierea datei necesita un camp de lungime mai mare, lungimea indicata in specificator este ignorata. 25.din ce este formata o functie% o functie este formata din antet si corp 26.in ce zona de memorie se rezerva spatiu pentru variabilele globale% 27.o functie poate fi declarata in corpul altei functii% 28.o functie poate fi definita in corpul unei alte functii% nu este admisa definirea unei functii in corpul altei functii 2 .parametrii formali ai unei functii sunt variabile locale sau globlae% variabilele declarate in interiorul unei functii cat si parametrii formali sunt variabile locale si nu pot fi accesate din alte functii 3$.transferul parametrilor prin valoare in momentul apelului unei functii, se transmit valorile parametrilor efectivi, reali, care vor fi atribuite parametrilor formali procedeul de transmitere a parametrilor prin valoare consta in incarcarea valorii parametrilor efectivi in zona de memorie a parametrilor formali la apelul prin valoare, transferul datelor este unidirectional, adica valorile se transfera numai de la functia apelanta catre cea apelata 31.ce rol au parametrii formali functii%ai unei parametri declarati in antetul unei functii sunt numiti formali ei nu reprezinta valori concrete ci au rolul de a tine locul acestora pentru a putea exprima proecsul de calcul realizat prin functie.ei se concretizeaza la executie prin apelurile functiei. 32.ce reprezinta supraincarcarea unei functii% supraincarcarea unei functii conduce la utilizarea unor functii cu acelasi nume, care executa prelucrari diferite. 33.prin ce se deosebesc variabilele cu clasa de memorare register fata de cele cu clasa de memorare auto% variabilele din clasa registe au acelasi domeniu de vizibilitate si timp de viata ca si cele din clasa auto pentru memorarea variabilelor register se utilizeaza registrii interni ,creste eficienta- ai procesorului pe cand pentru variabilele auto se aloca memorie automat,la intrarea in blocul sau in functia in care ea este declarata.

34.diferente intre modurile de transfer a parametrilor unei functii prin pointeri si prin referinta la transmiterea parametrilor prin referinta, ca parametri efectivi nu pot apare expresii.la transmiterea parametrilor prin pointeri ca parametri efectivi pot apare expresii de pointeri CURSUL J 1.variabilele tablou si variabilele de tip definit de utilizator sunt e!emple de variabile compuse 3reprezinta date structurate4. "are este totusi deosebirea dintre ele% 2.ce posibiltiati de definire a unor noi tipuri de date va ofera limbajul "/"##% limba(ul C ofera posibilitati de definire a unor noi tipuri de date cu a(utorul structurilor, campurilor de biti, uniunilor, declaratiilor t"pedef si enumerarilor. 3.in ce consta diferenta dintre structuri si uniuni% in privinta uniunilor, aceeasi zona ed memorie poate fi utilizata pentru pastrarea unor obiecte de diferite tipuri. singura diferenta dintre structuri si uniuni consta in modul de memorare. 4.ce restrictii impune folosirea campurilor de biti% utilizarea campurilor de biti impune urmatoarele restrictii . tipul membrilor poate fi int sau unsigned int, lungime este o constanta intreaga din intervalul $,14, un camp de biti nu poate fi operandul unui operator de referentiere, nu se pot organiza tablouri de campuri de biti 5.e!ista vreo restrictie referitoare la tipul membrilor unei structuri%'aca da, care este aceasta% membrii unei structuri pot fi de orice tip, cu exceptia tipului structura care se declara. 6.cum se numesc componentele unei structuri% componentele unei structuri se numesc membrii,campurile- structurii 7.cum se poate da un nou nume unui tip de date% pentru a da un nou nume unui tip de date se folosesc declaratiile de tip ex. t"pedef