Sunteți pe pagina 1din 13

Lucrarea de laborator Nr.

Tema: Tipuri de date in C. Funcții de intrare, ieșire

Scopul lucrării: Însușirea tipurilor de date de baza in C, a funcțiilor de intrare,


ieșire, utilizarea lor la introducerea si extragerea datelor sub controlul unor
formate si fără aceasta.

Indicații si sugestii de lucru:

Orice program prelucrează careva date si in rezultatul acestei prelucrări se obțin


alte date noi.

Date variabile si date constante. Datele unui program pot fi constante sau
variabile. Datele constante sunt constantele in sensul obișnuit al cuvântului.
Valoarea unei constante este definita de caracterele care intra in reprezentarea
ei si nu poate fi schimbata. Așa sunt, de exemplu, numerele 3, -2, 2003, 1.2,
3.141592653, -123.456, caracterele 'a', 'S', '%', șirurile de caractere
"Informatica", "CiBeR" etc. Pentru a scrie o constanta caracter, scriem
caracterul necesar intre doua caractere apostrof: 'a', '4', '&', ';' etc. Altfel se scrie
caracterul apostrof, care se reprezintă cu un caracter backslash in fata:'\''. In
același mod se reprezintă caracterul backslash si caracterul ghilimele: '\\',
'\"' .Pentru a scrie o constanta sir de caractere, scriem șirul respectiv intre doua
caractere ghilimele: "Arborele Lumii". Constantele numerice se scriu in mod
obișnuit: 5, -12, 65432, 3.14, -123.456, 0.314E+1 etc. Datele variabile, spre
deosebire de cele constante, își pot schimba valorile in timpul execuției
programului. Atunci când lucrează, programul păstrează datele in memoria
calculatorului. Datele variabile sunt păstrate in variabile. Variabila este numele
unei locații de memorie in care se poate păstra o valoare. Numele unei
variabile este format din litere, cifre si caracterul de subliniere '_' . Primul
caracter al numelui nu poate fi o cifra.

O variabila este de un tip careva. Tipul variabilei indica genul de valori pe


care variabila le poate păstra si operațiile pe care programul le poate executa cu
aceste valori. Tipul determină si dimensiunea locației de memorie in care se vor
păstra valorile variabilei. In timpul execuției programului, valorile unei variabile
se pot schimba, dar tipul variabilei nu se poate schimba. O constanta, pe lângă

1
valoare, are si ea tip. Dar tipul constantei, ca si valoarea ei, se determina de
caracterele ce intra in reprezentarea ei si nu poate fi schimbat.

Tipuri de baza in C. Tipurile de date se specifica prin cuvinte cheie. In C


tipurile de baza sunt: char, int, float, double. O variabila de tipul char păstrează
un caracter, de exemplu o litera din alfabet. Caracterele se păstrează in memorie
prin codul lor ASCII, care sunt numere întregi. Implicit, domeniul de valori
pentru o variabila de tipul char sunt toate numerele intregi de la -128 pana la
127. O valoare de tipul char se păstrează in memorie pe un octet.

Toate variabilele unui program trebuie sa fie declarate. Pentru a


declara o variabila sau mai multe, scriem numele tipului necesar si numele
variabilei sau variabilelor de care avem nevoie: char car; char rac, arc; etc.

Atribuirea unei valori pentru o variabila se poate face cu operatorul de


atribuire '=': car = 'C'; rac = 'i'; arc = 'b';

Compilatorul, cand "vede" declarația char car; alocă un octet de memorie


pentru variabila char si fixeaza numele variabilei si adresa locației alocate pentru
ea. Iar atunci, când calculatorul executa instrucțiunea de atribuire car = 'C'; el
scrie in locația de memorie, rezervată pentru variabila car, valoarea constantei
caracter 'C', adică scrie acolo numărul întreg 67 - codul ASCII al caracterului
'C'.

O variabila de tipul int păstrează valori întregi. Diapazonul de valori si


"dimensiunea" pentru tipul int pot varia de la un calculator la altul. De regula,
la un sistem, unde cuvântul calculator este de 2 octeți, o valoare de tipul int se
păstrează pe 2 octeți si diapazonul de valori pentru acest tip de date sunt
numerele întregi de la -32768 pana la 32767. In general, dimensiunea tipului
int coincide cu dimensiunea cuvântului calculator.

Unei variabile i se poate atribui o valoare la declararea ei: int an = 2003,


luna; Aici la declaratia variabilei an, ei i se atribuie valoarea 2003, iar despre
valoarea variabilei luna nu se poate spune nimic, pana la prima atribuire a unei
valori pentru ea.

Tipul float se folosește pentru a păstra numere raționale care au si partea


fracționara. Numerele se păstrează cu o precizie ordinara, adică 7 cifre corecte.
Compilatorul aloca 4 octeti pentru o variabila de acest tip. Diapazonul de valori
este de la 3.4×10-38 până la 3.4×10+38.

2
Pentru a păstra numere raționale cu mai multe cifre precise, se folosește
tipul double. O valoare de acest tip se păstrează pe 8 octeti. Numerele se
păstrează cu o precizie dubla, adică pana la 15 cifre corecte. Diapazonul de valori
este de la 1.7×10-308 pana la 1.7×10+308.

Pentru reprezentarea numerelor raționale, mai ales atunci când ele sunt
destul de "lungi", se folosește notația E ( notația științifica ). De exemplu, distanta
in kilometri a unui an lumina este 9460800000000. In notația științifica acest
număr poate fi scris in mai multe moduri: 9.4608E12, 94.608e11, 0.94608E13
etc. Aici litera E mare, ca si litera e mica, semnifica un factor care exprima o
putere a lui 10. Deci, 3.14E0, 0.314e1, 31.4E-1, 314.0e-2 reprezintă unul si
același număr 3.14. Forma unui număr in notația științifica, unde partea
întreaga a numărului este o cifra diferita de 0, se numește forma normalizata a
numărului.

Modificatori de tip. In limbajul C sunt tipuri de date "rude" cu cele de


baza. Ele se obțin prin modificarea tipurilor de baza. Modificatorii de tip sunt:
short ( scurt ), long ( lung ), signed ( cu semn ), unsigned ( fara semn ). Astfel,
"rudele" tipului int sunt short int, long int, signed int, unsigned int, long
signed int, long unsigned int.

Modificatorii signed si unsigned se refera la valorile întregi. Primul


admite, iar al doilea nu admite valori negative. Se știe, că in reprezentarea unui
întreg, pozitiv sau negativ, in memoria calculatorului, bitul cel mai superior este
rezervat pentru semnul numărului. Pentru tipul unsigned, pe acest bit, ca si pe
ceilalți, se păstrează o cifra binara a numărului. Din aceasta cauza, diapazonul
pentru valorile respective creste de 2 ori.

De obicei, tipurile char si signed char coincid. Prin urmare, diapazonul


de valori pentru tipul unsigned char este de la 0 pana la 255. Dimensiunea
tipului este ca si la char ( 1 octet ).

Ca regula, coincid si tipurile int si signed int. Diapazonul pentru


unsigned int este de la 0 pana la 65535. Dimensiunea tipului este ca si la int
(de obicei, 2 octeti ).

Modificatorul long poate fi aplicat la tipurile int, unsigned int si double.


Pentru long int si unsigned long int cuvintul int poate fi omis: se scrie long si
unsigned long respectiv. Ordinea scrierii modificatorilor (long unsigned sau
unsigned long ) nu contează. Daca dimensiunea pentru int este de 2 octeti,

3
atunci pentru long este de 4 octeți. Iar in cazul, ca int cere 4 octeți, atunci si
long ocupa 4 octeți.

Compilatoarele C mai recente admit tipul long double pentru numere


flotante. O valoare de acest tip se păstrează pe 10 octeți cu o precizie de pana la
18 cifre. Diapazonul ( in valoarea absoluta ) este de la 3.4E-4932 pana la
1.1E+4932.

Se stie ca tipul unei constante este determinat de reprezentarea ei. Astfel,


constanta 314 este de tipul int, iar constanta 45678 este de tipul long, deoarece
valoarea ei depășește limitele diapazonului de valori pentru tipul int. Se poate
impune explicit tipul long pentru o constanta ca 314. Pentru aceasta, in
reprezentarea constantei, dupa ultima cifra, se scrie litera l sau L: 314l sau
314L. Același lucru se refera si la modificatorul unsigned. Litera u sau U la
sfârșitul constantei, determina tipul unsigned pentru ea. Se admite si
combinatia literelor l sau L cu u sau U ( ordinea nu contează ).

Comentarii. Intru-un program se pot introduce comentarii. Un


comentariu este o remarca, un text, care explica unele momente legate de
program. O remarca poate fi scrisa pe mai multe rânduri. Ea începe cu /* , care
semnifica începutul comentariului si se termina cu */ , care semnifica sfârșitul
lui. Intre caracterele '/' si '*' nu sunt admise alte caractere.

Funcția getch() citește fără ecou un caracter de la intrarea standard


direct in memorie, fără acționarea tastei Enter. La citirea unui caracter al codului
ASCII, funcția revine cu valoarea codului caracterului citit. La citirea unui
caracter ce nu corespunde codului ASCII, cum ar fi la acționarea tastelor F1, F2
etc. sau la acționarea unor combinații de taste, funcție se apelează de doua ori:
la primul apel ea revine cu valoarea 0, iar la cel de al doilea apel ea revine cu
valoarea specifica tastei acționate. Funcția nu are parametri.

De obicei, funcția getch() se folosește si pentru a opri execuția unui program si a


menține afișata fereastra utilizator pana la acționarea unei taste.

Functia are prototipul int getch( void ); in fisierul <conio.h>.

Functia getche() citeste cu ecou un caracter de la intrarea standard


direct in memorie, fără acționarea tastei Enter. La citirea unui caracter ASCII
funcția revine cu valoarea codului caracterului citit. La citirea unui caracter ce
nu corespunde codului ASCII, funcția se apelează de doua ori: la primul apel ea

4
revine cu valoarea 0, iar la cel de al doilea apel ea revine cu valoarea specifica
tastei acționate. Funcția nu are parametri.

Functia are prototipul int getche( void ); in fisierul <conio.h>.

Functia putch( e ) scrie un caracter la ieșirea standard. Ea are un


singur parametru. Valoarea expresiei e determina imaginea extrasa. Pentru o
valoare a lui e din intervalul [32,126] funcția extrage caracterul imprimabil de
codul respectiv. Pentru alte valori funcția extrage o imagine grafica, daca
valoarea lui e corespunde unui caracter grafic. Daca valoarea lui e nu
corespunde unui caracter grafic, atunci funcția sau nu are efect sau "executa"
acțiunea corespunzătoare caracterului de codul respectiv. De exemplu, putch(
10 ), ca si putch( '\n' ), trece cursorul pe linia următoare in aceiași coloana.

Functia revine cu valoarea codului imaginii extrase, adica valoarea lui e.

Functia are prototipul int putch( int c ); in fisierul <conio.h>.

Functia getchar() citeste cu ecou caractere ASCII de la intrarea


standard într-un tampon special pana la acționarea tastei Enter. La acționarea
tastei Enter, ea revine cu valoarea codului caracterului curent din tampon. La
următorul apel, funcția revine cu valoarea codului caracterului următor din
tampon. Daca in tampon nu mai sunt caractere, atunci apelul funcției impune
citirea unui nou set de caractere de la intrarea standard in tampon. Citirea
caracterelor prin intermediul unui tampon ne da posibilitatea de a corecta erorile
făcute la tastare pana la apăsarea tastei Enter.

Funcția are prototipul int getchar( void ); in fisierul <stdio.h>.

Functia putchar( e ) scrie un caracter ASCII la ieșirea standard. Ea


revine cu valoare codului caracterului extras sau cu valoarea -1 in caz de eroare.
Aici putchar( '\n' ), ca si putchar( 10 ), trece cursorul la începutul liniei
următoare.

Funcția are prototipul int putchar( int e ); in fișierul <stdio.h>.

Funcția gets( s ) citește cu ecou de la intrarea standard un sir de caractere


ASCII care se termina cu <Enter>. Ea are un parametru valoarea căruia este
adresa de început a zonei de memorie unde se păstrează șirul de caractere citit.
De obicei, acest parametru este numele unui tablou unidimensional de tip char.
La acționarea tastei <Enter>, funcția nu scrie caracterul newline ( '\n' ) in

5
memorie, ci scrie caracterul NUL ( '\0' ), care semnifica sfârșitul șirului.
Deci '\n' se substituie prin '\0'. Fiecare caracter ocupa un octet in memorie.
Rezulta, ca un sir de n caractere ocupa n+1 octeți.

Funcția revine cu valoarea adresei de început a zonei de memorie unde se


păstrează șirul citit, adică adresa primului caracter. Daca întâlnește
caracterul EOF, funcția revine cu valoarea 0.

Funcția are prototipul in fișierul <stdio.h>.

Funcția puts( s ) scrie la ieșirea standard un sir de caractere ASCII, care in


memorie se termina cu caracterul NUL ( '\0' ). Ea are un parametru, valoarea
căruia este adresa de început a șirului de extras. De obicei, acest parametru este
numele unui tablou unidimensional de tip char. La întâlnirea caracterului NUL,
funcția nu scrie acest caracter, ci trece cursorul la începutul liniei următoare,
adică se substituie caracterul '\0' prin '\n'.

Funcția revine cu valoarea codului ultimului caracter extras, adecă precedent


caracterului NUL, si cu valoarea -1 in caz de eroare.

Funcția are prototipul in fisierul <stdio.h>.

Funcția printf( c, p1, p2, p3, … ) scrie la ieșirea standard date sub controlul
unor formate. Are unul sau mai mulți parametri. De obicei, parametrul c este
un sir de caractere scris in ghilimele, care conține textele eventuale de extras si
specificatorii de format eventuali pentru datele de extras. Textele din
parametrul c sunt extrase fără schimbare. Secvențele escape, cum ar fi '\n', '\t',
'\0' s.a., nu sunt extrase, ci sunt "executate". Parametrii p1, p2, p3, … sunt
expresii, valorile cărora vor fi extrase. La fiecare din acești parametri, in șirul de
caractere c, ii corespunde un specificator de format, care indica cum se va
extrage valoarea respectiva. Un specificator de format începe cu % si se termina
cu una sau doua litere anumite. El determina conversia valorii de extras din
formatul intern in formatul extern. Parametrii p1, p2, p3, … pot lipsi. Atunci vor
fi extrase numai textele din parametrul c.

Un specificator de format, pe lângă literele speciale, ce corespund tipului valorii


de extras, mai pot conține si alte caractere. Aceste caractere au semnificația lor
bine determinata. Un sir de cifre zecimale determina lungimea câmpului, in care
va fi extrasa valoarea. Implicit, valoarea extrasa este aliniata in partea dreapta a
câmpului de extragere, iar pozițiile ramase din partea stânga a câmpului rămân

6
necompletate. Daca lungimea ceruta pentru câmpul de extragere este prea mica,
atunci ea este ignorata si valoarea este extrasa pe numărul necesar de poziții.
Semnul minus determina alinierea valorii in stânga câmpului de extragere. In
acest caz, pozițiile nefolosite, din dreapta câmpului, rămân necompletate.

Cifra 0 determina completarea cu cifra 0 a pozițiilor nefolosite din stânga


câmpului.

Funcția revine cu numărul de octeți ( caractere ) extrași la ieșirea standard sau


cu valoarea -1 in caz de eroare.

Funcția are prototipul in fisierul <stdio.h>.

Funcția scanf( c, p1, p2, p3, … ) citește de la intrarea standard date sub
controlul unor formate. Are mai mulți parametri. De obicei, parametrul c este un
sir de caractere scris in ghilimele, care conține specificatorii de format pentru
datele de la intrare. El poate conține si caractere albe care sunt neglijate.
Parametrii p1, p2, p3, … sunt adresele zonelor de memorie unde se vor păstra
datele citite. De obicei, adresa unei zone de memorie se exprima prin
operatorul & in fata numelui unei variabile simple sau cu indice. La fiecare din
acesti parametri, in șirul de caractere c, ii corespunde un specificator de format
care indica cum se va citi data respectiva de la intrare. Un specificator de format
începe cu % si se termina cu una sau doua litere anumite . El determina
conversia datei de citit din formatul extern in formatul intern.

Funcția citește toate datele ce corespund specificatorilor de format din


parametrul c. Daca o data de la intrare nu corespunde specificatorului de
format, atunci citirea se întrerupe. Funcția revine cu numărul datelor citite
corect.

Funcția are prototipul in fisierul <stdio.h>.

Funcția fflush( stdin ) șterge conținutul buferului (tamponului) claviaturii


(curata bufeul). Ea are prototipul in fisierul <stdio.h>.

Funcția exit( c ) întrerupe execuția programului. Parametrul c definește


starea programului in momentul apelului funcției. De obicei, valoarea 0 a
parametrului c definește o stare normala de terminare a execuției programului,
iar o valoare diferita de 0 semnifica prezenta unei erori. Se folosește pentru a
termina execuția unui program.

7
Funcția are prototipul in fișierul <stdlib.h> si in fisierul <process.h>.

sizeof este un operator care determina dimensiunea in octeti a unei date sau
a unui tip de date. De exemplu, sizeof( int ) determina numărul de octeți
necesari pentru a păstra o valoare de tipul int, iar sizeof d determina numărul
de octeți alocați datei cu numele d.

Exemple de programe:

Exemplul 1.1.Programul introduce cu getch() un caracter ASCII si apoi extrage


același caracter cu putch().

#include <conio.h>
#include <stdio.h>
int main()
{ char a;
a=getch();
putch(a);
getch();
return 0;
}

Exemplul 1.2. Programul citește cu getch() caractere ce nu corespund codului


ASCII si apoi extrage codul fiecăruia cu printf().

#include <conio.h>
#include <stdio.h>
int main()
{ char a;
getch(); // Primul apel
printf("%d\n",getch()); // Al doilea apel
getch(); // Primul apel
a=getch(); // Al doilea apel
printf("%d\n",a);
getch(); // Primul apel
printf("%d\n",a=getch()); // Al doilea apel
getch();
return 0;
}

Exemplul 1.3. Programul citește o litera minuscula si extrage caracterul


precedent acestei litere din setul de caractere al calculatorului.

#include <conio.h>
#include <stdio.h>
int main()

8
{ char c;
c=getchar();
putchar(c-1);
getch();
return 0;
}

Exemplul 1.4. Programul citește un sir de caractere si extrage lungimea șirului


citit.

#include <conio.h>
#include <stdio.h>
#include <string.h>
int main()
{ char s[256];
gets(s);
printf("Sirul are %d caractere",strlen(s));
getch();
return 0;
}

Exemplul 1.5. Programul citește trei numere întregi si afișează media lor
aritmetica rotunjita pana la doua cifre zecimale.

#include <conio.h>
#include <stdio.h>
int main()
{ int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("a=%d\tb=%d\tc=%d\nmedia=%.2f",
a,b,c,(a+b+c)/3.0); //media cu 2 zecimale
return 0;

Exemplul 1.6. Programul afișează intre doua caractere '*' constanta 123.456f (
definita prin directiva #define ) cu diferiți specificatori de format pentru date de
tip float.

#include <conio.h>
#include <stdio.h>
#define a 123.456f
int main()
{ printf("*%f*\n",a);
printf("*%2f*\n",a);
printf("*%20f*\n",a);
printf("*%-20f*\n",a);

9
printf("*%020f*\n",a);
printf("*%.2f*\n",a);
printf("*%.10f*\n",a);
printf("*%2.2f*\n",a);
printf("*%2.10f*\n",a);
printf("*%20.10f*\n",a);
printf("*%-20.10f*\n",a);
printf("*%020.10f*\n",a);
return 0;;
}

Continutul lucrarii:

Elaborați programe pentru sarcinile ce urmează. Salvați programele pe server


si in caiet.

1.0. Introduceți si lansați la execuție programele din exemplele 1.1-1.6.

1.1. Programul citește cu ecou un caracter imprimabil ( cu getche() ) si apoi il


afișează pe ecran ( cu putch() ), trece cursorul pe linia următoare ( cu putch(
'\n' ) ), afișează fereastra utilizator ( cu getch() ) si așteaptă acționarea unei taste.

1.2. Programul citește un caracter ASCII ( cu getchar() ) si apoi il afiseaza pe


ecran ( cu putchar() ), trece cursorul pe linia următoare ( cu putchar( '\n' ) ),
afiseaza fereastra utilizator si blochează programul ( cu getch() ) pana la
actionarea unei taste.

1.3. Programul citește numele si prenumele unei persoane ( cu gets() ), apoi


afișează ( cu putchar() ) inițialele respective pe un rand, fiecare inițiala fiind
urmata de un punct, executa newline ( cu putchar( '\n' ) ), afiseaza ( cu puts() )
mesajul "Pentru a continua acționați o tasta oarecare" si așteaptă ( cu getch() )
acționarea unei taste.

1.4. Programul citește ( cu getchar() ) un caracter, apoi il afișează ( cu printf() )


pe ecran intre doua caractere '*', executa newline, afișează fereastra utilizator si
așteaptă acționarea unei taste oarecare.

1.5. Programul citește ( cu getchar() ) un caracter, apoi il afișează ( cu printf() )


pe ecran intre doua caractere '%', executa newline, afișează fereastra utilizator
si blocheaza programul pana la actionarea unei taste oarecare.

1.6. Programul afișează pe ecran intre doua caractere '*' textul "Limbajul C++",
folosind următorii specificatori de format: %s, %15s, %-15s, %10s, %15.10s,
%-15.10s. Explicati rezultatele.

10
1.7. Programul citește un caracter ASCII ( cu getchar() ) si apoi afișează (
cu printf() ) caracterul citit si codul lui.

1.8. Programul citește un caracter ce nu corespunde codului ASCII ( cu getch() )


si apoi afișează ( cu printf() ) codul caracterului citit.

1.9. Programul afișează in zecimal, octal si hexazecimal constanta 12345


definită prin directiva #define.

1.10. Programul afișează in zecimal, octal si hexazecimal constanta 123456789


definita prin directiva #define.

1.11. Programul afișează intre doua caractere '*' constanta 123 ( definita prin
directiva #define ) cu următorii specificatori de format: %d, %2d, %10d, %-10d,
%010d, %ld, %u, %lu.

Explicați rezultatele.

1.12. Programul afișează intre doua caractere '*' constanta 123.456 ( definita
prin directiva #define ) cu diferiti specificatori de format pentru date de tip
double.

Folosiți literele f, e, E, g, G, lf, le, lE, lg, lG.

Comparați cu exemplul 1.6.

Explicați rezultatele.

1.13. Programul afișează intre doua caractere '*' constanta 123.456l ( definita
prin directiva #define ) cu diferiți specificatori de format pentru date de tip long
double.

Folosiți literele Lf, Le, LE, Lg, LG. Încercați si alte litere.

Comparați cu exemplul 1.6 si programul din punctul 1.12.

Explicați rezultatele.

1.14. Programul citește ( cu scanf() ) un caracter ASCII si apoi afiseaza (


cu printf() ) caracterul citit si codul lui.

1.15. Programul citește ( cu scanf() ) numele si prenumele unei persoane


separate prin spatii albe, apoi afișează ( cu puts() ) prenumele pe un rând si
numele pe altul.

11
1.16. Programul citește ( cu gets() ) numele si prenumele unei persoane, apoi
afișează ( cu printf() ) numele pe un rând si prenumele pe altul. Ce se întâmpla
daca numele si prenumele la intrare sunt separate prin spatii albe si nu prin
acționarea tastei Enter?

1.17. Programul citește ( cu scanf() ) un numar întreg zecimal format din cel mult
patru cifre si apoi afișează ( cu printf() ) numărul citit in zecimal, octal si
hexazecimal.

1.18. Programul citește ( cu scanf() ) un număr întreg zecimal format din cel mult
noua cifre si apoi afișează ( cu printf() ) numărul citit in zecimal, octal si
hexazecimal.

1.19. Programul citește ( cu scanf() ) o data calendaristica sub forma ddmmyy (


o succesiune de 6 cifre ) si apoi o afișează ( cu printf() ) sub forma 20yy/mm/dd.
Aici dd, mm si yy sunt numere din doua cifre care reprezintă
respectiv data, luna si anul.

1.20. Programul citește ( cu scanf() ) o majuscula si apoi afișează ( cu printf() )


minuscula corespunzătoare.

1.21. Programul determina cu operatorul sizeof si afiseaza cata memorie este


rezervata pentru fiecare tip de date ( char, signed char, unsigned char, short,
signed short, unsigned short, int, signed int, unsigned int, long int, long
signed int, long unsigned int, float, double, long double ).

Intrebari de control:

1.4. In care fișiere se afla prototipurile funcțiilor standard?

1.51.6. Ce este o operație de intrare ( citire )?

1.7. Ce este o operație de ieșire ( scriere )?

1.8. Care sunt funcțiile de citire cu ecou?

1.9. Care sunt funcțiile de citire fără ecou?

1.10. Care funcții de intrare cer acționarea tastei Enter?

1.11. Care funcții de intrare nu cer acționarea tastei Enter?

1.12. Care sunt deosebirile dintre getche() si getchar()?

12
1.13. Care sunt deosebirile dintre putch() si putchar()?

1.14. Cu ce valori revin funcțiile de intrare?

1.15. Cu ce valori revin funcțiile de ieșire?

1.16. Care funcții citesc datele direct in memorie?

1.17. Care funcții citesc datele prin intermediul unui tampon ( buffer )?

1.18. Cum "reacționează" funcțiile de intrare la acționarea tastelor Enter, ^z, ^c,
F1, BS, Esc etc.?

1.19. Cum "reacționează" funcțiile de ieșire la caracterele '\n', '\t', '\a', ^z, ^c,
EOF, NUL etc.?

1.20. Cum se poate afișă codul atașat unei taste ce nu corespunde unui caracter
ASCII?

1.21. Ce valoare de revenire are functia cu antetul main()?

1.22. Cum se poate extrage cu printf() un număr inclus intre doua


caractere '%'?

1.23. Ce este un comentariu, unde si cum poate fi scris el in program?

1.26. Cum si pentru ce se utilizează funcția exit()?

1.27. Ce reprezintă numele unui tablou?

1.28. Care este valoare minimala pentru un indice in tablouri?

1.29. Care este valoarea maximala pentru un indice in tablouri?

1.30. Ce este un identificator si care este lungimea lui maximala?

1.31. Câtă memorie ocupa o valoare de tipul: char, int, float, double, long
double?

13

S-ar putea să vă placă și