Sunteți pe pagina 1din 1

Lucrare șiruri de caractere – clasa 10D -............................................................................................................

1. Precizați ce se va afișa după executarea secvenței de program de mai jos:


char a[20]=”informatica”,b[20]=””;
strncat(b,a,strlen(strchr(a,’t’)));
cout<<b;
a) tica b) form c) info d) inf
2. Precizați ce valoare are variabila b de tip șir de caractere după executarea secvenței de program de mai jos:
char b[]=”toc2019”;
b[3]=b[3]-1;
strcpy(b+5,b+7); strcpy(b,b+3);
a) b20 b)10 c)19 d)toc
3. Se consideră definit un subprogram care determină ștergerea tuturor aparițiilor unui caracter c din șirul de
caractere s. Antetul subprogramului este :
void del(char s[255], char c);
Precizați ce secvență poate fi utilizată pentru ștergerea tuturor caracterelor ce reprezintă cifre din șirul s, unde s este un șir
de maxim 255 caractere iar i este o variabilă de tip caracter.
a)del(s,”0123456789”); b)del(s,i); c)for(i=0;i<=9;i++) del(s,i); d)for(i=’0’;i<=’9’;i++) del(s,i);
4. Precizați care este rolul următorului subprogram:
void f(char s[], char t[], int k)
{ char aux[255];
strcpy(aux,s+k); s[k]=0;
strcat(s,t); strcat(s,aux);
}
a) Înlocuiește primele k caractere din s cu primele k caractere sin t
b) Inserează șirul s în șirul t, începând cu poziția k c) Inserează șirul t în șirul s începând cu poziția k
d) Nici una dintre variantele de mai sus
5. Precizați ce se va afișa după executarea secvenței de program de mai jos, știind că s este o variabilă ce
memorează un șir de caractere, iar i este o variabilă de tip întreg:
strcpy(s,”lucrare siruri de caractere”);
for(i=0;i<strlen(s);i++)
if(strchr(”vacanta”,s[i])) strcpy(s+i,s+i+1);
cout<<s;
a) lurre siruri de arcere b) lurre siruri de rere c) lurr iui e aaee d) lurresiruridearcere
6. Precizați ce se va afișa după executarea secvenței de program de mai jos, știind că a și b sunt variabile ce
memorează cel mult 100 caractere :
strcpy(a,"matematica"); strcpy(b,strstr(a,"ema")+2); strcat(b,strchr(a,a[3])+1); cout<<b;
a) aticamatica b) maticamatica c) maticaatica d) atica
7. În urma executării secvenței de mai jos, în care variabila s memorează un șir cu cel mult 100 caractere, iar i este
de tip întreg, se fișează șirul acbb. Precizați conținutul șirului s înainte de această secvență.
char s[100];int i;
for(i=0;i<strlen(s);i++)
{ strcpy(s+i,s+i+1);
if(!strchr("aeiou",s[i])) s[i]--;
else s[i]++;}
cout<<s;
a) abba b) abcbdcba c)abcddcba d)abcd
8. Se consideră declarările:
char s[30]="bacaacbc";
char t[3][3]= {"ab","ac","bc"};
Precizați ce se va afișa după executarea secvenței de program de mai jos:
for(int i=0; i<3; i++)
if(!strstr(s,t[i])) strcat(s,t[2-i]);
else cout<<t[i];
cout<<strlen(s); cout<<s;
a) Secvența este incorectă sintactic b) acbc10bacaacbcbc c)bcac10bacaacbcbc d)abc10bacaacbc
9. Precizați care este valoarea întoarsă de subprogramul f , definit mai jos, în urma apelului f(s), atunci când variabila s
memorează șirul de caractere : 123abc45678
int f(char s[100])
{ int nr=0,i,n=strlen(s),p=1;
for(i=0;s[i]>='0'&&s[i]<='9';i++)
{ nr=nr+p*(s[n-i-1]-'0');p*=10; }
return nr;}
a) 12345678 b) 45678 c) 678 d) 876

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