Sunteți pe pagina 1din 19

UNIVERSITATEA HYPERION

Algoritmi si structuri de date – ANUL I

SEM./LAB. 7

Daniela LITAN
1. Care dintre liniile de program de mai jos realizează
iniţializarea corectă a variabilei x la declararea sa ?

a) int x==2;
b) x:int=2;
c) int x=2;
d) int x 2;
e) x=2:int;
2. O declaratie de genul :
int i=7.3;
va avea urmatorul efect :

a) semnalarea unei erori din partea compilatorului


b) va atribui lui i valoarea 7.3 şi va semnala un avertisment
din partea compilatorului
c) va modifica tipul variabilei i
d) va atribui lui i valoarea 7
3. Declaraţia corectă pentru definirea unei variabile
caracter numită litera este:
a) litera:=char;
b) char litera;
c) litera: char;
d) character litera;

4. 18. Definirea corectă a unei variabile numită bani care


poate fi utilizată pentru a memora valori reale simplă
precizie este :
a) bani: real;
b) real bani;
c) float bani;
d) bani float;
5. Definirea corectă a unei variabile întregi numită total
iniţializată cu zero este :
a) total: integer=0;
b) total=0, int;
c) int total=0;
d) int=0 , total;

6. Precizaţi care sunt valorile afişate, dacă se vor citi în


ordinea indicată valorile numerice 5 2 -3:
{ int a, b;
scanf(“%d%d%d”,&a,&b,&a);
printf(“%d”,a);
printf(“%d\n”,b);
printf(“%d”,a+b);
}
a) 5 2 7
b) –3 2 -1
c) 5 2 7
d) există erori de sintaxă
Raspunsuri

1. c)
2. d)
3. b)
4. c)
5. c)
6. b)
Seminar 6.
1. Sa se calculeze suma a n numere intregi nenule,
utilizand instructiunea do while
#include <stdio.h> • În cadrul funcţiei main se declară două variabile s şi n
care vor memora valori întregi. Variabila s (care va
main() { păstra suma numerelor introduse) este iniţializată cu
int s,n; valoarea 0.
• În continuare se repetă o secvenţă de două instrucţiuni,
s = 0; prima fiind o operaţie de intrare şi a doua o adunare.
• Primul argument al funcţiei scanf - formatul de
do { introducere "%d" - indică faptul că se aşteaptă
scanf("%d",&n); introducerea unei valori întregi în format zecimal de la
terminal (consolă). Al doilea argument indică unde se va
s += n; depune în memorie valoarea citită; de aceea este
necesar să se precizeze adresa variabilei n (cu ajutorul
} operatorului &).
while (n!=0); • În a doua instrucţiune la valoarea variabilei s se adună
valoarea variabilei n. Operatorul += are semnificaţia
adună la.
• Această secvenţă se repetă (do) cît timp (while)
printf("%d\n",s); valoarea introdusă (n) este nenulă. Operatorul != are
semnificaţia diferit de.
return 0; • În final funcţia printf afişează pe terminal valoarea
} variabilei s în format zecimal.
2. Tipăriti primele 10 numere naturale folosind structurile
repetitive:

- for
- while
- do while
.
1
2.
3.
4.
5.
Fie expresia a<b&&a<c. Să se verifice afirmaţiile următoare :
a) expresia este incorectă sintactic
b) este corectă şi este echivalentă cu : (a<b)&&(a<c)
c) este corectă şi este echivalentă cu expresia : a<(b&&a)<c

6. Fie o expresie care conţine operatori aritmetici, relaţionali


şi de atribuire şi nu conţine paranteze. Să se precizeze,
care va fi ordinea de evaluare a operatorilor ?
a) de atribuire, relaţionali, aritmetici
b) aritmetici,relaţionali, de atribuire
c) de atribuire, aritmetici, relaţionali
7. Avem următorul program :
int main()
{ float x, y, z;
x=1.3; y=1.2; z=x%y;
return 0;
}
La sfârşitul programului variabila z va avea
valoarea :
a) 0.1
b) 0
c) 1
d) programul generează eroare la compilare
Raspunsuri
5)b
6)b
7)d

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