Documente Academic
Documente Profesional
Documente Cultură
34:6.250000
d)printf(\n%-d:%-.3f,a,x);
34:6.250
e)printf(\n%d:%f,a,x);
34:6.250000
Raspuns corect: b)
30
R.I.17
Dac de la tastatur se introduce caracterul a, iar codurile literelor mici sunt successive, sunt
succesive, ncepand cu 97, ce afiseaz programul urmtor ?
#include <iostream.h>
#include<stdio.h>
void main ()
{
char c, p ;
p=getchar() ;
int n=p+259 ;
c=n;
putchar (c) ;
}
a)356
b)a
c)d
d)100
Soluie
Funciile getchar(), getch(), i getche() citesc un caracter i returneaz
caracterul citit.Deosebirile dintre cele trei funcii sunt urmtoarele:
Funcia getchar() preia caracterul numai dup apsarea tastei ENTER i l
afieaz pe ecran (vom spune c citirea se face fr ecou);
Funcia getche() preia caracterul far s mai atepte apsarea tastei ENTER, i l
afieaz (adic citirea se face fr ecou)
Funcia getch() preia caracterul fr s mai atepte confirmarea cu ENTER,
dar nu l afieaz.
Cu ajutorul funciei getchar se citete un caracter care se atribuie variabilei p
{p=getchar()}.S urmrim celelalte instruciuni pentru cazul in care am citi caracterul a.
int=p+259;
Operanzii care se adun sunt un caracter i un ntreg.Expresia nu este greit.n acest caz
acioneaz conversia implicit a caracterului ctre tipul int: caracterul din variabila p
(caracterul a) este nlocuit cu codul su ASCII.Vom obine n=97+259=356.Conversia sa
fcut fr pierdere de informaie.
c=n;
Variabilei c de tipul char i se atribuie numrul ntreg n.Aceast instruciune nu este greit,
avand loc conversia invers, de la ntreg la caracter.n urma acestei operaii se va produce o
pierdere de informaie, conversia avand loc n baza urmtoarei reguli:
se determinp valoarea restului mprtirii lui n la 256, iar valoare obinut este
interpretat ca fiind codificarea ASCII a unui caracter.De exemplu, numarul -159
va fi convertit in caracterul a, ca urmare a mparirii cu rest:
-159=---------1*256+97
n cazul reprezentrii ntregului pe doi octei, cu octeii inversai, plecand de la
egalitatea 356=256+100, putem concluziona c octetul din stanga va conine
valoarea 100, iar octetul din dreapta valoarea 256.Variabila c, fiind de tipul
char, are la dispoziie un singur octet pentru memorarea valorii sale.n
consecin, dintre cei doi octei ai valorii lui n, se va reine in c doar octetul din
R.I.18.
Ce valoare afieaza programul de mai jos?
#include <iostream.h>
void mai ()
{
int a=3, b=2, n=4,x;
x=(a<<n)+(a&b)+(n|b);
cout<<x;
}
a) 2
b) 8
c) 51
d) 56
S OLU I E
Limbajul C++ dispune de o serie de operatori pentru prelucrarea valorilor ntregi la
nivel de bit.Acetia sunt:
&I pe bii (conjuncie), | SAU pe bii (disjuncie);
^ SAU EXCLUSIV pe bii (disjuncie exclusiv);
~ negarea pe biti ;
<< deplasarea pe stanga pe bii: a<<n are ca effect deplasarea biilor lui a cu n
poziii la stanga; este echivalent cu a*2 la puterea n;
>> deplasarea la dreapta pe bii: a>>n are ca efect deplasarea bitilor lui a cu n
pozitii la dreapta; este echivalent cu a/2 la puterea n ;
n1 0 0 (SAU)
b0 1 0
_________
n|b1 1 0 6
7) a
P.I.3 Pentru fiecare dintre constantele aflate in coloana A), alegeti din coloana B) tipul sau :
Coloana A)
Coloana B)
A1) 5.0
B1) constantaintreaga
A2) 5
B2)constanta reala
A3) 5
B3)constantahexazeci
A4) 05
B4)constanta octala
A5) 5
B5)constantacaracter
A6) 0*5
B6)constanta sir de
caractere
a)A1
B2, A1 B1, A3 B5, A4
B1, A5 B6, A6
B3
b) A1
B2, A1 B1, A3 B5, A4 B4, A5 B5, A6 B3
c) A1
B2, A2 B1, A3 B5, A4 B4, A5 B6, A6 B3
d) A1
B2, A2 B1, A3 B5, A4 B4, A5 B6, A6 eronata
e) A1 B2, A2
B1, A3
B5, A4
B1, A5
B6, A6
eronata
P.I.4 Care dintre urmatoarele declaratii de variabile declara correct o variabila x ce poate
memora valori reale ?
a) float x;
b) double x;
c) unsigned float x;
d) x:float;
e) x:double;
P.I.5 Care dintre liniile de program de mai jos realizeaza initializarea corecta 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;
34
P.I.6 Care dintre variabile vor avea valori intregi dupa executie secventei de program
urmatoare ?
int a=3,b,c;
float x=-11.23;
char d;
b=x;
d=A;
c=M-N;
a) variabila x b)variabila c c)variabila d d)variabila a e)variabila b
P.I.7 Definiti o constanta simbolica PI cu valoarea 3.14, folosind directiva-preprocesor
define.
a)#define 3.14 PI;
b)#define PI 3.14;
c)#define float PI 3.14;
d)#define PI=3.14;
e)#define float PI=3.14;
P.I.8 Care dintre programele de mai jos nu contin erori si afiseaza cuvintele Program si
simplu unu sub altul (fiecare pe cate un rand)?
a)
b)
#include<iostream.h>
#include <iostream.h>
void main ();
main()
{cout<<Program;
{
cout<</n<<simplu;
cout<<Program/n;
}
cout<<simplu;
}
c)
d)
#include<iostream.h>
#include <iostream.h>
void main ()
void main ()
{
{
cout<<Program;
cout<<Program/nsimplu;
cout<<simplu<</n
cout<</n
}
}
e) Nici unul dintre programele anterioare .
P.I.9 Ce valoare afiseaza programul urmator ?
#include <iostream.h>
#include <math.h>
void main ()
{
int x=4, y=-9 ,
z=(x+y)/2,
u;
z--;
u=(sqrt(abs(x))+sqrt(abs(y)))/(x+y);
z-=u/52-x-y;
cout<</n<<z;
}
a) -7
b)-8
c)-9
d)4
e)5
P.I.10 Fie variabilele intregi a=1, b=2, c=3, d=4.Care dintre constructiile de mai jos sunt expresii
scrise correct, cu valoarea 0?
a)!d
b)a+b<d
c)a*b+c
d)a=b<c
e)(a<b)!=(b<c)
P.I.11 Care dintre urmatoarele afirmatii sun adevarate ?
a)Operatorul de atribuire este ==
b)Operatorul care realizeaza SAU logic intre 2 expresii este &&
c)!= este un operator logic .
d)a%b reprezinta restul impartirii a lui a la b
e)Intr-o expresie, operatorii relatioanali se executa inaintea celor aritmetici.
P.I.12 Pentru care dintre seturile de valori ale variabilei x, y, z de mai jos expresia
(x<y)<((z!=x)<((z-y)<x) are valoarea 1?
a) x=3;y=5;z=4; b) x=4;y=3; z=4;
c) x=3; y=4; z=3
d) x=5; y=4;z=3;
e) x=5; y=5; z=5;
P.I.13 Fie variabilele intregi a si b.Expresia
ab + a-b /2
a-2
a
b-2
b
a) ((a*b) + (a-b)/2)/((a-2)/(b-2)-(a/b))
b)(a*b+(a-b)/2/((a-2)/(b-2)-a/b)
c)(a*b+(a-b)/2)/a-2/b-2-(a/b)
d)((a*b+(a-b)/2)/a-2/b-2)-a/b
e)(a*b+(a-b)/2)/(a-2/b-2-/b)
P.I.14 Fiind date variabilele intregi a si b, cum se scrie correct conditia a mai mic decat b si b
mai mic decat c?
a)(a<b) && (b<c)
b) (a<b) & (b<c)
c)a<b && b<c
d)
(a<b) (b<c)
e) a<b | b<c
P.I.15 Care dintre urmatoarele expresii au valoarea 1 daca si numai daca valorile variabilelor x si
y sunt numere pare ?
a)x-y==2
b)x*y%4==o
c)(x+y)%2==0
d)y%x==2
e) (x%2==0) && (y%2==0)
P.I.16 Care dintre urmatoarele expresii sunt adevarate daca si numai daca valorile variabilelor x
si y sunt numere naturale consective ?
a)x-y==1
b)(x==1) && (y==2)
c)(x-y==1) && (y-x==1)
d)y==x1
e) (x-y==1) (y-x==1)
d)
P.I.18 Fie variabilele a, b, c, si m toate de tipul float. Care dintre secventele de mai jos afiseaza
correct media aritmetica a numerelor a, b si c?
a)printf (%f, (a+b+c)/3);
b)printf(%f, a+b+c/3)
c)printf(%d, a/3+b/3+c/3);
d) printf(%f,((a+b)/2+c)/2);
e) printf(%f,m=(a+b+c)/3)
P.I.19 Fie variabilele x, y, ai u de tipul int.Care dintre instructiunile de mai jos mareste
valoarea variabilei u cu catul intreg al impartirii lui x la y ?
a)u+=x%y;
b) u=x%y+u;
c) u=x/y;
d)u+=x/y;
e)u=x/y+u;