Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
{i=0; j=strlen(s)-1;
astfel
v1=0; v2=0;
for(i=1;i<=3;i++)
v1=v1+1;
for (k=i;k<=3;k++)
v2=v2+1;
for(i=1;i<=5;i++)
{ b=b+1;
1
a=a-1 ;
va loa rea 1 daca s i numai daca va lo r i l e var i ab i l e l o r i n t reg i x sci . y(x%2==0) | | (y%2==0)
max = a[n-1] ;
Care d in t re urmatoa re le dec la ra t i i sun t co rec te s in tac t i c :
1) i n t ab=30 ;
2) i n t a+b;
c . 1, 3
3) f l oa t a1 ;
4) char 2ab ;
5) i n t m.n ;
Care d in t re urmatoa re le expres i i are va loa rea 1 daca s i numai
c . (c%a == 0) && (c%b
daca numaru l natu ra l c es te un mul t i p lu comun a l numere lo r natu ra le
==0)
nenu le (uns igned i n t ) a s i b?
Care d in t re urmatoa re le expres i i C are va loa rea 1 daca s i
numai
es te
d iv i z i b i l cu 100?
Care d in t re urmatoa re le expres i i C are va loa rea 1 daca s i
doua c i f re?
Care d in t re urmatoa re le expres i i C are va loa rea 1 daca s i numai
d. ( (x - y==2) | | (y - x==2))
daca var i ab i l e l e x s i y memoreaza doua numere natu ra le pare && (x%2==0)
consecu t i ve?
Care d in t re urmatoa re le expres i i C are va loa rea 1 daca s i numai b. (z>x) && (z<y)
2
x s i z ( x<z )?
Care d in t re urmatoa re le expres i i C are va loa rea 1 daca s i numai daca b. a*a-x*x>0
numaru l rea l memora t i n var i ab i l a x se a f l a i n i n te rva lu l ( - a , a)?
memora t i n
var i ab i l a x?
Care d in t re următoa re le i n s t ruc ţ i un i C dete rmina i n se ra rea a.
x=(x /10*10+7)*10+x
c i f re i 7 î n f a ta u l t ime i c i f re a unu i numar natu ra l , cu mai mul t de %10;
2 c i f re , memora t i n var i ab i l a x?
Care d in t re urmatoa re le i n s t ruc t i un i C es te ech iva len ta cu
b. x = x/2 + y/2 + z /2 ;
x
{x=x+1; y=y-1;}
Care dintre urmatoarele programe afiseaza diferenta a) #include <stdio.h>
perechilor static int tab[12]={1, 2,
de elemente din orice tablou initializabil tab cu maximum 12 4, 3, 5, 6, 9, 7, 10, 8, 0,
0};
componente?
static int dif[6];
void main(void){
while (tab[i] != 0)
dif[id++] = tab[i++]-
3
tab[i++];
scopuri)?
Care dintre urmatoarele secvente de instructiuni determina, in
c=2*a-b; b. doar c
a=a-b; a=c-a;
b=2*a-c;
pentru o variabila x care memoreaza simultan varsta in ani impliniti a. struct {float media;
4
al unui candidat la un examen, exprimat ca un numar natural de cel
număr real?
Care dintre urmatoarele variante reprezinta o declarare corecta
a. struct punct {float
pentru o variabila x care memoreaza simultan coordonatele reale
ox,oy;} x;
(abscisa si ordonata) ale unui punct in planul xOy?
Care dintre urmatoarele variante reprezinta o declarare corecta c. struct complex{
pentru o variabila x care memoreaza simultan partea reala si partea float im, re;} x;
x = y + z;
z = x – z; b. numai y şi z
y = z;
z = x - y;
o singură cifra?
Care este instructiunea prin care variabilei x i se atribuie a.
valoarea sumei cifrelor numarului natural format din exact trei x=y/100+y/10%10+y%10;
memorat in variabila y?
Care este instructiunea prin care variabilei x i se atribuie
a. x=y%10*10+y/10;
numarul obtinut prin inversarea ordinii cifrelor numarului natural
/* 1 */ x = x / 10;
/* 2 */ z = x / y;
5
/* 3 */ x = 100;
/* 4 */ y = x / 10;
}
Care este valoarea expresiei 20 / 10 * 2 + 30 / 15 * 2 c. 8
Care este valoarea expresiei C: (a/b%c<=b)||!(b==a) daca
b. 1
variabilele intregi a, b, c au valorile a=20, b=3, c=5?
Care este valoarea expresiei C: 50-(100–300/2/(2+3))? c. - 20
Care este valoarea expresiei C: 9/2*2-5 a. 3
Care este valoarea expresiei strlen(s) pentru variabila s de tip sir de
a. 7
caractere, declarata si initializata astfel: char
s[15]=”Proba_1”;
Care este valoarea expresiei: 4000/10/10*2+4*10*10 / 2 b. 280
Care este valoarea pe care trebuie să o aiba initial
variabila
while (x!=3){ c. 6
x=x-1;
printf(”HH”);
x=30;
y=5;
z=(x+y)/6.0; c. 5.83
z=(int)(z*100);
z=z/100;
printf(“%0.2f”,z);
instructiunilor urmatoare:
{ a = 1235; b = a % 10;
if (a == b) a = a *100;
6
}
Care sunt valorile variabilelor intregi x si y dupa executarea
x = 0x3; d. x= 0 si y = 6
y = x + 0x3;
x = x - 3;
}
Care va fi continutul fisierului “H.TXT” in urma executarii programului
urmator?
#include <stdio.h>
fprintf(f,”Azi %d”,14);
fprintf(f,”Maine %d\n”,15);
fclose(f);
}
Care vor fi valorile afisate dupa executarea secventei
else
printf(”%s %s”,s2,s1);
variabila x
b. 4
pentru ca valoarea expresiei x/2/2 scrisa in C sa fie egala cu
1?
Ce se va afisa in urma executarii secventei de instructiuni a. En
char a[10]="Examen";
n=strlen(a);
7
strcpy(a+1,a+n-1);
printf("%s",a);
else
else
printf(“imposibil”);
printf("%s", x);
printf(“%6.3f\n”, b. 45.230
45.23); ?
Ce valoare are variabila s de tip sir de caractere dupa executarea
a. amen
instructiunilor de mai jos?
s=strstr(strnset("Olimpiada",'#',strlen("2009")),"ad");
Ce valoare are variabila s de tip sir de caractere dupa executarea
instructiunilor de mai jos? a. format
s=strncpy(s,strstr("informatica","form"),strlen("LIC009"));
s[6]='\0';
Ce valoare are variabila s de tip sir de caractere dupa executarea
b. infoLIC
instructiunii de mai jos?
s=strcat(strncpy(s,"informatica",strlen("2008")),"LIC");
Consideram ca variabila s memoreaza sirul de caractere examen. c. ExAMeN
8
Care va fi valoarea lui s dupa executarea instrus[0]= ‘E’;s[strlen(s)-1]=
‘N’;s[strlen(s)/2-1]= ‘A’;s[strlen(s)/
2]=
‘M’.
Consideram ca variabila s memoreaza sirul de caractere mama.
a. MAma
Care va fi valoarea lui s dupa executarea instructiunilor de mai jos?
struct student{
float nota1,nota2; a.
} x; m=(x.nota1+x.nota2)/2;
char nume[10],prenume[20];
float medie;
a. p.nume[0]
}p;
int x,y;
c. p.x=7;
} p;
9
executarii, a succesiunii de cifre 55? while(j>4){
printf(”%d”,i);
j--;
}
Considerand ca variabila f este de tip fisier (FILE *), care
b. if (feof(f))
dintre urmatoarele instructiuni verifica daca s-a ajuns la sfarsitul printf(“final”); else
printf(“mai este”);
fisierului indicat de f?
Considerand declararea
struct {
struct {
struct cerc
{float raza;
b. c.x
int x,y;};
cerc c;
struct fig
punct a,b,c;}
fig e;
vedere
sintactic ?
10
Considerand variabila x de tip float si variabila de tip int a,
char denumire[20];
int pret;} m;
Cum se poate accesa prima litera a denumirii unui produs ale
char denumire[15];
int pret;}p;
Cum se poate accesa prima litera a numelui unei persoane ale
char nume[20],prenume[20];
int varsta;} p;
Cum se poate accesa prima literă a numelui unui student ale carui date
de identificare sunt memorate in variabila e,declarata prin:
b. e.nume[0]
struct student{
char nume[20],prenume[20];
int varsta;}e;
Daca a, b sunt variabile de tip int, iar x si y sunt variabile de tip float,
stabiliti care dintre urmatoarele secvente de atribuiri sunt incorecte:
1) b = 2; a = b/2;
c. 2, 3, 4, 5
2) x = 8; y = 10; a == x+y;
3) x = 4; b = 2; y = x/b;
5) a = b = 5; x = a+b;
Daca n este un numar natural (intreg pozitiv), ce realizeaza
}
Daca variabila s de tip sir de caractere memoreaza sirul
d. 11
INFORMATICA atunci strlen(s) are valoarea?
Determinati valoarea expresiei ((int)fabs(-14.2)) % 7 c. 0
11
Determinati va loa rea expres ie i f abs ( - 11 .2
sqrt(floor(16.23)).
) + d. 15.2
Dintre tipurile simple de date face parte tipul: a. double
Elementele tabloului bidimensional
1234
12 13 14 5
11 16 15 6
10 9 8 7
d. 22
cu 4 linii si 4 coloane, sunt toate numerele naturale cuprinse
struct student{
char nume[30];
b. printf(“%c“,x.nume[0]);
float nota;};
student x;
int a = 5, b = 3, c = 1, d = 3;
(adevarat):
1) a < b || c) d. 1, 2, 4
2) (b == d && c || a >= b)
3) (c && d > b)
4) a > b || !(d<a)
5) (a == b) && c
Fie expresia C 10*2/3*3/2. Care este rezultatul evaluarii d. 9
expresiei?
Fie expresia C: ((a>3) && (a<15)) || (a!=b) Care dintre b. !((a<=3) || (a>=15)) ||
12
expresiile C de mai jos ii este echivalentă? (a!=b)
Fie expresiile A = 18 - 3 +2; B = 18 + 7 / 3 +2; C = 2.3 + 3%;
#include <stdio.h>
void main(void){
b) Mesajul "Nu"
int a = 7, b=5, c = 2;
#include <stdio.h>
void main(void){
int s = 6;
a = 5, /* incarca a b) 0
b=2; incarca b */
s = (a*b)/2;
programului:
Fie programul: c) 0.00000
#include <stdio.h>
void main(void){
double f = 0.6;
f = a/b;
13
Care este valoarea variabilei f afisata in urma executarii
programului:
Fie secventa C:
p=1; n=279;
while (n>=100)
{ p=p*10;
a. 4
n=n-100;
x=4; y=6;
secventei de instructiuni?
Fie secventa de instructiuni:
for(j=1; j<=5; j++) for (i=1; i<=3; i++) a[i][j] = i+j; 32345
{i=0;
14
while (i<n) {v[i] = i*i; i++;}
(n
b. for(int i=2; i<=n;
>=2). Stiind ca primul element din tablou se afla pe pozitia 1 i++)if(v[i-1]>v[i]) v[i] =
v[i-1]; max =
(pozitia 0 este utilizata in alte scopuri), indicati care dintre
v[n];
urmatoarele secvente atribuie variabilei intregi max cea mai mare
natural. Care dintre expresiile C de mai jos are valoarea 1 daca si c. x*(y-5)>=0
numar natural de cel mult 4 cifre. Stiind ca x<y, care dintre a. (t<=x) || (t>=y)
struct p{
int t;
a. t=x.b; x.b=y.b; y.b=t;
campul a al structurii memoreaza numaratorul, iar campul b
memoreaza
struct punct
float x,y;
}P;
carteziene ale unui punct din planul xOy. Care dintre urmatoarele b. P.y==0
expresii are valoarea 1 daca si numai daca punctul P este situat pe axa
Ox ?
In expresia C: x%2+(x+1)%2 variabila x este de tip intreg. a. are valoarea 1 pentru
Aceasta expresie: orice numar natural x.
In functia recursiva de mai jos se considera ca tabloul
if(i<10) {
a. int v[] = {1, 4, 3, 2, 1,
printf(“*”);
6, 5, 4, 3, 10};
if (v[i] == i+1) star(i+2); else star(i+1);
}}
asteriscuri (stelute)?
In secventa a. eliminarea liniei k din
matrice
for ( i=k+1; i<=n; i++)
16
for (j=1; j<=n; j++)
v[i-1][j] = v[i][j];
n=n-1;
if(!(strcmp(s1,s2) || strcmp(s1,s3)))
val=2;
for(i=0;i<=strlen(x)-1;i=i+3) printf(“%c”,x[i]);
caractere
a[i][j] = (i+j)%8; a. 28
17
for(i=0; i<n; i++)
a[i][j] = (i+j)%n;
for (i=1;i<=3;i++)
for (j=10;j>=i+1;j--)
a. 24
printf(”%d”,j);
cu:
In secventa de instructiuni C:
x=20; y=5;
x=x+y;
y=x-2*y; d. 40
x=y+x;
y=1;
if (k>0)
if (i!=j)
a. k=0; i=5; j=5
y=0;
else y=2;
if (k>0)
if (i!=j) x=0;
else x=1;
else x=2;
if (i!=j)
if (k>0) y=0;
18
else y=2;
else y=1;
if (k>0)
if (i!=j) y=0;
else y=1;
c. k=10; i=5; j=5
else y=2;
y=x;
while(x<=3)
printf("*");
a.0
y=y+1; x=x+y;
intregi.
{n=156; y = 770;
c. 2
while(n*y > 0) if (n >y) n = n%y; else y = y%n;
y = y+n;
{x = 1; y = x-1;
do{
y=x*(x-1)+y;
19
x++;
}while(x <=n);
secventei?
În secvenţa:
p=1;
for(i=1;i<=4;i++)
....
if (x != 0){
c. 021
printf(“%d”, x %10);
ex(x/10);
}
20
Pentru o matrice t cu 8 linii si 8 coloane, numerotate de la 0 la 7, cu
elemente numere intregi, secventa de program
z=0;
d. strict sub diagonala
for(i=0;i<8;i++)
secundara
for(j=8-i;j<8;j++)
z=z+t[i][j];
s = 0;
if (i % 2 != 0) {x[i]=j; x[j]=9-x[i];}
}
Prototipul corect al unei functii care primeste doua numere
intregi ca primi doi parametri (de intrare) si determina media c. void calcul (int, int,
aritmetica si produsul celor doua numere, pe care le transmite double *, int *);
21
1. citeste n; a = 0; b = 1; k = 2;
struct A {
int x;
char y;
struct B {
struct A x;
long y;};
B x, y;.
int j;
d. 1121
if (n>0) for (j=1; j<=n; j++) {printf(“%d”,j); f(n-1);}
if (n == k || k == 1) return 1;
if (n < k) return 0;
long s=0, i;
22
for (i=1; i<=k; i++) s+=f(n-k,i);
return s;
if (n == 0) return 1;
d. 4
else if (n == 1) return 4;
if (x == y || x == 0) return 1; b. 45
#include <stdio.h>
#include <stdio.h>
void main(void){
int s;
int k; b) intotdeauna 55
for (k = 1; k <= 10; ++k) s += k;
s);
Ce afiseaza programul:
Se considera programul
#include <stdio.h>
void main(void){
int s=0;
int k; b) intotdeauna 11
s);
Ce afiseaza programul:
Se considera programul
#include <stdio.h>
void main(void){
int s=0;
int n, k;
d) 65
printf("N = "); scanf("%d", &n);
s);
#include <stdio.h>
printf(“%d,”,y);aplic(y,&y); }
#include <stdio.h> b)
} G2
acestui program
Se considera programul C:
#include <stdio.h>
void main(void){
d) 2, 3, 4, 5, 7
int k[5] = {1, 2, 3, 4, 5}, i=7;
printf("\n");
#include <stdio.h>
Ce se afiseaza?
Se considera programul C: d) 8
#include <stdio.h>
x = 1; y = x << 2 + 1;
printf("%d\n", y);
y = 7;
}
25
Care este valoarea variabilei y ce se afiseaza prin executarea
programului?
Se considera programul C:
#include <stdio.h>
x = 7;
a) -5
y = (x = 1)? (-5) : 7;
printf("%d\n", y), y = 8;
programului:
Se considera programul C:
#include <stdio.h>
clrscr(); k = 2, Da
switch(k){ k = 4, Nu
case 2: k = 5, Da
case 3: k = 6, Nu
case 5: k = 7, Da
} k = 10, Nu
#include <stdio.h>
void main(void){
int k;
Atunci:
Se considera programul C:
#include <stdio.h>
void main(void){
a) Mesajul redat prin "Cel
int k1 = 12, k2 = 3; putin un numar este
zero\n"
if (k1 & k2) printf("Ambele numere sint nenule\n");
#include <stdio.h>
#include <conio.h>
int i;
x >>= 1;
printf("\n");
27
void main(void){
bit(0x55AF);
#include <stdio.h>
b +=*a; (*a)*=b;
void main(void){
#include <stdio.h> 14 13 20
int i, j, k;
c[i][j] = 0;
}}
}}
int i, j;
}}
void main(void){
28
int x[3][3] = {{4, 8, 2}, {3, 1, 1}, {8, 8, 2} };
int z[3][3];
mp(z, x, y);
pm(z);
}
Se considera programul:
#include <stdio.h>
void main(void){
#include <stdio.h>
void main(void){
printf("Nu\n");
}
Se considera secventa C:
y=0;
do{
x=x/10;
b. 5000
y++;
} while(x%100==0);
{char a[]=”aabbddeff”;
29
char b[] =”aabbdeeff”’
{int i, j;
printf(“%d%d”, i, j);
d. 28
}
{int a = 5, b = 0;
do {
a--; b +=a*a; d. a = 0 si b = 30
}while(a!=0);
a = a % 2 + b / 2 / 2;
b = 2 * a % 2; d. a = 6, b = 0
a = a + b;
b = a % 2 + b + 10 % 2;
elementul a[n-1][p] dupa executarea secventei de program: a. cel mai mare element
p=0; de pe linia n-1
for (i=1;i<m;i++)
if (a[n-1][p]<a[n-1][i])
p=i
Se considera tabloul unidimensional int a[5]={1, 2, 3, 4, 5}; d. 1361015
30
si secventa de instructiuni
printf(“%d”,s);}
sus?
Se considera textul C:
#include <stdio.h>
int k = 5;
k = k/*x;
a) Programul afiseaza
return k;
valoarea 1
}
void main(void){
int n = 5;
printf("%d\n", div(&n));
Atunci:
Se considera un tablou bidimensional a cu n linii si n coloane,
program:
a. Suma elementelor de
x=0; pe diagonala pr inc ipa lă a
tab loulu i a
for(i=1;i<=n; i++)
x=x+a[i][i];
Se considera un tablou bidimensional a, format din numere
program:
x=a[n][1];
b. cel mai mare număr de
for(i=n;i>=1;i--) pe diagonala secundară a
tabloului a
if (x<a[i][n-i+1])
x=a[i][n-i+1];
Se considera un tablul unidimensional in care elementele sunt b. 7, 16, 10
int y, i;
si secventa de instructiuni:
{ b. 5
y = x[1];
printf(“%d”, y);
format din cele doua cifre din mijloc ale valorii memorate in a?
Se presupune ca lucrati pentru o casa de software americana si
d) {char a[]="1,000,000";
vi se cere sa afisati 'un milion' in scrierea americana , adica 1,000, puts(a);}
0000.
2) int a[1..10];
d. 2, 3, 4
3) int x, y;
4) string s;
5 ) double e; v;
Stabiliti care dintre urmatoarele expresii C are valoarea 1
daca
a. (x<=-a) || ((x<c)|| (x>=-
si numai daca numarul intreg memorat in variabila x nu apartine
b)) || (x>d)
intervalului (-a,-b)u[c,d], unde a, b, c si d sunt numere reale
pozitive.
32
Stabiliti care dintre urmatoarele expresii C are valoarea 1
daca
si numai daca numarul intreg memorat in variabila x nu apartine d. (x<=-a) && (x>b)
astfel
incit b < a.
Stabiliti care dintre urmatoarele expresii C are valoarea 1 daca si
numai daca numarul intreg x, nu apartine intervalului a. (x<=-10) || (x<50 &&
x>=-2) || (x>100)
A=(- 10 , - 2)u [50 ,100]?
Stabiliti ce se afiseaza in urma executarii secventei de instructiuni C
y=10.1234;
x=(int)(y*100)/100; d. 10
printf(”%d”,x);
struct student
a.
{ char nume[30];
m=(var1.nota+var2.nota)/
float nota; 2;
}var1,var2;
13 45 23
32 42 234
56 78
32 23 43
32 32 32 32
#include <stdio.h>
void main(){
f = fopen(“D.TXT”,”r”);
1234
67 34 23
#include <stdio.h> a. 1 2 3
void main(){
f = fopen(“E.TXT”, “r”);
fscanf(f, “%d\n”,&z);
}
Stiind ca fisierul “F.TXT” are urmatorul continut:
12345 12
93 16 32
8.023 322 21
0.823 21
0.21 213.12
#include <stdio.h>
a. 1 2 3
FILE *f, char x, y, z;
void main(){
f = fopen(“F.TXT”, “r”);
while(getc(f) != ‘\n’);
}
Stiind ca fisierul “G.TXT” are urmatorul continut: a. I S -
34
IaEaws
S,a.d sdll
-dsa
da
sda sad
#include <stdio.h>
void main(){
f = fopen(“G.TXT”,”r”);
while(getc(f) != ‘\n’);
fscanf(f,”%c”, &x);
while(getc(f) != ‘\n’);
fscanf(f,”%c”, &y);
while(getc(f) != ‘\n’);
fscanf(f,”%c”, &z);
}
Stiind ca in urma executarii secventei x=strlen(s);
x=1,
G(k+1);}
}
Stiind ca variabila intreaga n memoreaza un numar natural cu
cel putin 3 cifre, care dintre urmatoarele expresii C are ca valoare c. n/100
if (nr<7) if (nr>3)
d. Bine
printf(”Bine”);
else printf(”Rau”);
Stiind ca variabilele x si y sunt de tip intreg, care este
c. x=y%10;
instrucţiunea prin care variabilei x i se atribuie ultima cifra a
cifre.
format
variabila b, de tip int, memoreaza un numar natural par. Care dintre b. !(!(a%2) || b%2);
urmatoarele expresii C are valoarea 1?
36
Variabila d, declarata prin
struct dreptunghi
}d;
struct dreptunghi
float a,b,aria;
d. d.aria=d.a*d.b;
}d;
int *p;
37
Stiind ca p retine adresa unei variabile de tip int, care dintre
c2 sunt de tip char. Care expresie are valoarea 1 daca si numai daca a. strstr(s,c1+c2)!=0
celelalte
for(j=i+1;j<5;j++)
x=x+t[i][j];
celelalte
for(i=0;i<8;i++)
for(j=0;j<8-i;j++)
38
z=z+t[i][j];
z=0;
z=z+t[i][j];
decat 30000 . Care dintre urmatoarele declarari este corecta? int sal;} x;
Variabile a si b sunt declarate astfel: char a[20,b[20]; Ce se
{
a. examen20*08
strcpy(a, “examen20”); strcpy(b, “08”);
}
Variabile intregi x si y memoreaza cate un numar natural, cu c. 1
exact doua cifre. Care este valoarea expresiei x-y stiind fiecare
39
x/10==y%10
y/10==x%10
x/10==x%10+1
Variabilele a si b sunt de tip int, iar variabilele c si d sunt
int a[100], i;
a. a = i;
Care dintre urmatoarele instructiuni este corecta din punct de
vedere sintactic?
Variabilele a, b si c, de tip int, pot fi initializate cu
oricare numere naturale impare distincte. Stiind ca c este divizor a. !((a % c!=0) || !(b %
al lui a, iar b nu este multiplu al lui c, care dintre urmatoarele c!=0))
pare, iar n<m. Care dintre expresiile C de mai jos are valoarea b. m/2-n/2
nenul. Cel mai mic multiplu comun al valorilor lor este egal cu
d. x%y==0
numarul memorat in y daca si numai daca urmatoarea
dintre expresiile de mai jos are valoarea 1, daca si numai daca c. (x<=100 && x>=10)||
(y>=5 && y<=30)
valoarea memorata de x
intervalului [5,30]?
Variabilele intregi x si y memoreaza numere naturale nenule. d. (x%10+y%10)%10==0
40
Care dintre urmatoarele expresii C este nenula daca si numai daca
caractere:
anotimp.
strncat(s, x, 5);
Variabilele x si y sunt de tip intreg, x memorand valoarea 4, d. !(x==2*y)
41