Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Il numero binario 00100100 corrisponde al numero decimale 36
Il numero binario 0011000 corrisponde al numero decimale 12
54. Selezionare le affermazioni vere sulla memoria RAM.
Può essere sia statica (SRAM) che dinamica (DRAM)
Può mantenere i valori anche senza alimentazione
E’ una tecnologia ormai obsoleta e non più usata
Non è accessibile dalla CPU
55. Dato il codice:
int a=2, b=2, d=3, e=10;
int c = b >= d ? e : a;
Qual è il valore di c dopo l’esecuzione?
2
56. Quale delle seguenti affermazioni sulle funzioni C/C++ é vera:
a. Una funzione non deve mai restituire il contenuto di variabili locali
b. Nessuna di queste
c. Una funzione deve avere sempre almeno un parametro di ingresso
d. Le funzioni void ritornano puntatori
57. Il passaggio per valore di una struct ad una funzione:
a. genera errore di compilazione
b. é potenzialmente computazionalmente onerosa
C. é in generale da preferirsi al passaggio per riferimento
d. genera un comportamento non prevedibile
e. comporta la copia di tutti i membri della struct
58. Il passaggio di array in ingresso a funzione con la seguente sintassi: int f(int a[ ])
Seleziona una o più risposte:
a. comporta la copia degli elementi dell’array
b. equivale al passaggio per riferimento
c. permette la modifica degli elementi dell’array all’interno della funzione
59. Qual è il valore di x dopo l’esecuzione del seguente codice?
int x=3;
int *y=&x;
x++;
*y *= 2;
Risposta: 8
60. Dato il seguente codice:
int *a = new int [3];
delete a;
Selezionare le affermazioni corrette:
a. si tratta di una deallocalizzazione di memoria statica
b. la deallocalizzazione di memoria è effettuata correttamente
c. si tratta di una allocazione di memoria dinamica
61. Quale dei seguenti frammenti di codice compila correttamente?
a. const int y=6;
int z=4;
int z+y;
b. const int y=6;
int z=4;
y=z;
c. const int y=6;
int z=4+y;
int y=z+y;
d. const int y=6;
int z=4;
y=y+z;
e. const int y=6;
int z=4+y;
const int w=y+2;
f. const int y=6;
int z=4+y;
int w=z+y;
62. Selezionare le affermaizoni vere sulla porta logica inverter.
Scegli una o più alternative:
a. Se il bit d’ingresso ha valore a=1 allora il bit di uscita avrà valore a=0
b. E’ realizzabile con 2 transistor
c. Se il bit d’ingresso ha valore a=1 allora il bit di uscita avrà valore a=1
d. Non ha alcuna utilità pratica
63. Quale output stampa questo frammento di codice?
int x=1; double y=2;
cout<<double( x / y);
Risposta: 0.5
64. Dato il codice:
int r = 0;
for(int x = 0; x <10; x+=2){
r = x;
}
Selezionare l’affermazione vera.
Scegli un’alternativa:
a. r alla fine del ciclo vale 8
b. r alla fine del ciclo vale 10
c. non si ferma mai
65. Qual è l’output del seguente codice?
int p(int b)
{ cout<<b;
return 0;
}
int main()
{ int z=2;
int a=z/2;
return p(z*a);
}
Scegli un’alternativa:
a. Nessun output
b. 4
c. Errore di compilazione
d. 2
66. Cosa contiene normalmente la variabile argv[1]?
a. il primo parametro passato al main
b. è sempre vuota
c. il nome dell’eseguibile
67. Quale sarà il valore di x dopo l’esecuzione del seguente codice?
int x=3;
int *y=&x;
x++;
*y *= 2;
Risposta: 8
68. La deallocazione della memoria:
Scegli una o più alternative:
a. cancella il contenuto della memoria interessata
b. avviene con l’operatore new
c. avviene con l’operatore delete
d. segnala che la memoria interessata non è più utilizzata e quindi può essere utilizzata
per altri scopi
69. Dopo l’esecuzione del seguente codice:
struct vector{
int data [3];
};
void increase(vector &v){
v[2]++;
}
vector x = { { 5, 6, 7 } };
increase(x);
Quale sarà il valore degli elementi di x.data?
Scegli un’alternativa:
a. genera errore di compilazione
b. 5, 7, 7
c. 5, 6, 8
d. 5, 6, 7
e. genera un comportamento non prevedibile
70. Data la seguente tabella di verità, selezionare la funzione logica corrispondente:
Scegli un’alternativa:
71. Quale delle seguenti istruzioni é priva di significato?
Scegli una o più alternative:
a.
int y;
y=3;
b.
int y;
y==3;
c.
int y;
y-3;
d.
int y;
y=y*3;
e.
int y;
y/=3;
f.
int y;
y-=3;
72. Quale tra le seguenti sequenze di tipi sono ordinate correttamente rispetto al massimo valore
rappresentabile?
Scegli una o più alternative:
a.short, unsigned float,float, double
b.float, long float, double, long double
c.float, double, long double
d.short, float, long, double
73. Come si definisce una funzione che non restituisce nessun valore?
Scegli un'alternativa:
a.void somma (int a, int b, int *c) { *c = a + b; }
b.void somma (int a, int b) { return a + b; }
c.void somma (int a, b) { a + b; }
d. somma (int a, int b) { ... }
74. Cosa contiene normalmente la variabile argc?
Scegli un'alternativa:
a.la dimensione del nostro eseguibile
b.il numero di parametri passati al programma piú uno
c.il nome del nostro eseguibile
75. Selezionare le affermazioni vere.
Scegli una o più alternative:
una variabile puntatore é una variabile che contiene un indirizzo
una variabile puntatore non può essere modificata
una variabile puntatore non ha indirizzo
76. Per definire un array di 7 elementi di tipo double, quali tra queste sintassi sono corrette?
Scegli una o più alternative:
a. double &a[7];
b. double a = new double[7];
c. double *a = new double[7];
d. double &a = new double[7];
e. double a[7];
f. double *a[7];
77. Dopo l’esecuzione del seguente codice:
struct vector{
int data[3];
};
void increase(vector v){
v.data[2]++;
}
vector x = { { 5, 6, 7 } };
increase(x);
Quale sará il valore degli elementi di x.data?
Scegli un'alternativa:
a. genera errore di compilazione
b. 5, 7, 7
c. 5, 6, 7
d. genera un comportamento non prevedibile
e. 5, 6, 8
78. Selezionare le affermazioni vere, considerando la codifica complemento a 2.
Scegli una o più alternative:
a. -X in complemento a 2 corrisponde a 2^(n-1) - X in codifica senza segno
b. Il numero binario 10000000 corrisponde al numero decimale -128
É
c. la codifica più usata perchè non richiede modifiche all’algoritmo di somma
d. Il numero binario 10001001 corrisponde al numero decimale -118
79. Selezionare le affermazioni vere sulla RAM
Scegli una o più alternative:
a. Può memorizzare dei valori ed eseguire operazioni aritmetiche
b. Si chiama “random access” perchè l’utilizzatore può scegliere in qualsiasi ordine quale
registro accedere
c. É la memoria più vicina alla CPU
d. Prevede un bit di load separato per ogni registro al suo interno
80. Quali dei seguenti frammenti di codice compila correttamente?
Scegli una o più alternative:
a. const int y=6;
int z=4+y;
const int w=y+2;
b. const int y=6;
int z=4;
int z+y;
c. const int y=6;
int z=4;
y=z;
d. const int y=6;
int z=4+y;
int y=z+y;
e. const int y=6;
int z=4+y;
int w=z+y;
f. const int y=6;
int z=4;
y=y+z;
81. Qual è il modo corretto di eseguire una prozione di CODICE, solo se A è strettamente minore di
B?
Scegli un’alternativa:
a. if ( A <<B) {...CODICE…}
b. if ( B >A) {...CODICE…}
c. if ( A >= B ) {...CODICE…}
d. if ( A <= B ) {...CODICE…}
82. Quali sono le parti obbligatorie nella dichiarazione di una funzione?
a. nome della funzione, parametri, valore di ritorno
b. nome della funzione, parametri
c. valore di ritorno, nome della funzione, parametri, istruzione return
d. valore di ritorno, nome della funzione
83. Cosa contiene normalmente la variabile argc?
a. il numero di parametri passati al programma più uno
b. il nome del nostro eseguibile
c. la dimensione del nostro eseguibile
84. Quale delle seguenti affermazioni è vera?
a. solo le variabili non puntatore hanno indirizzo
b. ogni variabile ha un indirizzo
c. solo le variabili puntatore hanno un indirizzo
85. Quali tra le seguenti sequenze di tipi sono ordinate correttamente rispetto al massimo valore
rappresentabile?
Select one or more:
a. short, unsigned short, int, unsigned int
b. long, unsigned long, long long, unsigned long long
c. long, double, long long, unsigned long long
d. long, long long, unsigned long, unsigned long long
e. short, unsigned short, unsigned int, int
f. short, unsigned int, long, unsigned short
86. Qual è l’output del seguente codice?
int f(int a)
{ int z=2;
return z*a/2;
}
void p(int b)
{ cout<<b;
return;
}
int main()
{ p(f(2));
return 0;
}
Scegli un’alternativa:
a. 4
b. Errore di compilazione
c. 2
d. Nessun output
87. Dato il seguente codice, cosa sarà stampato a terminale?
int a[] = {3, 2, 1, 4};
int b[] = {3, 2,1, 4}
cout<<(a<<b);
Scegli un’alternativa:
a. Non è possibile prevederlo
b. 1
c. 0
d. Errore di compilazione
88. Quale sarà il valore di x dopo l’esecuzione del seguente codice?
int x=1;
int *y=&x;
x*=3;
x = *y + 2;
Risposta: 5
89. Come si definisce una funzione che non restituisce nessun valore?
Scegli un’alternativa:
a. somma (int a, int b) {...}
b. void somma (int a, int b) {return a + b; }
c. void somma (int a, int b, int *c) { *c = a + b; }
d. void somma (int a, b) { a + b; }
90. L’operazione di assegnamento (corrispondente all’operatore “=”):
Scegli una o più alternative:
a. per le struct comporta copia di tutti i membri
b. per gli array comporta la copia di tutti gli elementi
c. è definita per gli array
d. è definita per le struct
91. Dopo l’esecuzione del seguente codice: (STAI ATTENTO PERCHE’ CE NE SONO DIVERSI!)
struct vector{
int data[3];
};
void increase(vector &v){
v.data[2]++;
}
vector x = { { 5, 6, 7 } };
increase(x);
Quale sarà il valore degli elementi di x.data?
a. 5, 7, 7
b. genera un comportamento non prevedibile
c. 5, 6, 7
d. genera errore di compilazione
<