successivo precedente inizio fine indice generale aiuto indice analitico volume parte
Per lo svolgimento della verifica può essere usata una calcolatrice comune; inoltre possono essere usati fogli di brutta copia, per annotare i calcoli intermedi.
Quando viene richiesto di indicare valori numerici, non si deve specificare la base.
1) [-0.64..0.24] Si indichino quali sono le righe errate, dal punto di vista sintattico, contenute nell'estratto di codice seguente. Se un errore riguarda un'istruzione suddivisa su più righe, si indichi solo la prima di queste righe.
1 // bla bla bla bla bla /* bla bla // 2 bla bla bla */ 3 4 // bla bla bla bla bla // bla bla // bla bla bla 5 /* bla bla bla bla bla bla bla bla */ 6 7 bla bla bla // 8 /* bla bla bla bla bla // bla bla */ 9 10 /* bla bla bla bla bla // bla bla */ bla bla bla */ 11 // bla bla bla bla bla bla bla bla
2) [-0.96..0.24] Si indichino quali sono le righe errate, dal punto di vista sintattico, contenute nell'estratto di codice seguente. Se un errore riguarda un'istruzione suddivisa su più righe, si indichi solo la prima di queste righe.
1 c = d * 34; 2 a = 123 + b. 3 d = e * 4 + 4 f 5 ; 6 ; 7 { c = d * 34 8 d = e * 4 + 9 f; } 10 { a = 123 + b; }
3) [-0.36..0.24] Segue un elenco di nomi di variabili o di funzioni (non ha importanza distinguere). Si indichino quali sono i nomi che non possono essere usati.
uno
uno_due_tre
uno:due.tre
uno2tre
uno#due!tre
4) [-0.25..+0.25] Cosa fanno le istruzioni seguenti?
printf ("Ciao"); printf ("mondo!");
5) [-0.25..+0.25] A cosa serve la sequenza \n che appare nell'esempio seguente?
printf ("bla bla bla bla\n");
6) [-0.24..0.24] Si indichino quali sono le righe errate, contenute nell'estratto di codice seguente.
1 printf ("Prezzo: %d, sconto 5%%.", 1000); 2 printf ("Prezzo: %d, sconto %d%%.\n", 1000, 5, 11); 3 printf ("Prezzo: %d, sconto %d%%", 1000, 5); 4 printf ("Prezzo: %d, sconto 5%%\n.", 1000, 5);
7) [-0.25..+0.25] Cosa rappresenta una variabile scalare di tipo unsigned long int?
8) [-0.25..+0.25] Come si definisce una variabile scalare di tipo intero più breve del normale con segno?
unsigned
short
long
signed long
unsigned long
long long
signed long long
unsigned long long
char
signed char
unsigned char
short int
signed short int
unsigned short int
int
signed int
unsigned int
long int
signed long int
unsigned long int
long long int
signed long long int
unsigned long long int
float
double
long double
9) [0..0.25] Si scriva la sequenza corretta, in ordine di rango crescente, dei tipi indicati. Vanno inserite esattamente quattro cifre numeriche, senza spazi e senza altri caratteri.
10) [-0.25..+0.25] Dovendo rappresentare valori da -12810 a +12810, è possibile usare una variabile scalare di tipo signed char a 8 bit?
11) [-0.25..+0.25] Dovendo rappresentare valori da -200000000010 a +200000000010, è possibile usare una variabile scalare di tipo signed int a 32 bit?
12) [-0.25..+0.25] Dovendo rappresentare valori da -200000000010 a +200000000010, è possibile usare una variabile scalare di tipo double a 32 bit?
13) [-0.25..+0.25] Indicare il tipo corrispondente alla costante 123LL.
14) [-0.25..+0.25] Indicare il tipo corrispondente alla costante 0x123.
15) [0..0.25] Si scriva la costante che esprime il valore 123 di tipo signed long int. Non viene proposto alcun suggerimento.
16) [0..0.25] Seguendo il suggerimento, si scriva il valore in base dieci corrispondente alla costante 022.
17) [0..0.25] Seguendo il suggerimento, si scriva il valore in base dieci corrispondente alla costante 0x22.
18) [-0.25..+0.25] Cosa individua il tipo void?
19) [-0.25..+0.25] Supponendo di poter creare una variabile di tipo void, quale intervallo di valori le si potrebbe assegnare?
20) [-0.25..+0.25] Indicare il tipo del risultato che dovrebbe essere prodotto dall'espressione 123/45.0.
21) [-0.25..+0.25] Indicare il tipo del risultato prodotto dall'espressione a = 123/45, sapendo che la variabile a è di tipo long double.
22) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile b. Si indichi il valore in base dieci.
int a = 4; int b = ++a; b *= 2; b++;
23) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile b. Si indichi il valore in base dieci.
int a = 7; int b = a / 2; b = b + a;
24) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile c. Si indichi il valore in base dieci.
unsigned int a = 7; signed int b = -4 int c = b > a;
25) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile c. Si indichi il valore in base dieci.
int a = 4; unsigned char b = a--; int c = --b == a++;
26) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile c. Si indichi il valore in base dieci.
int a = 4; unsigned char b = (4 > 3); int c = a && b;
27) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile c. Si indichi il valore in base dieci.
int a = 0; unsigned char b = (4 < 3); int c = a || b;
28) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile c. Si indichi il valore in base dieci, specificando il segno.
int a = 5; int c = a >> 1;
29) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile c. Si indichi il valore in base dieci.
int a = 9; int b = 6; int c = a & b;
30) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile c. Si indichi il valore in base dieci.
int a = 9; int b = 6; int c = a | b;
31) [-0.25..+0.25] Indicare il tipo del risultato prodotto dall'espressione (int) (a / 3).
32) [0..0.25] Osservando la porzione di codice indicata, si scriva il valore contenuto nella variabile c. Si indichi il valore in base dieci.
int a = 7; int b = 3; int c = (a *= 2, b += 4, c = a + b);
33) [-0.25..+0.25] Osservando il programma indicato, cosa viene visualizzato?
1 #include <stdio.h> 2 int main (void) 3 { 4 int x = 8; 5 if (x % 2) 6 { 7 printf ("Sono felice :-)\n"); 8 } 9 else 10 { 11 printf ("Sono triste :-(\n"); 12 } 13 getchar (); 14 return 0; 15 }
Sono felice :-)
Sono triste :-(
34) [-0.25..+0.25] Osservando il programma indicato, cosa viene visualizzato?
1 #include <stdio.h> 2 int main (void) 3 { 4 int w = 3; 5 switch (w * 2) 6 { 7 case 0: printf ("domenica\n"); break; 8 case 1: printf ("lunedì\n"); break; 9 case 2: printf ("martedì\n"); break; 10 case 3: printf ("mercoledì\n"); break; 11 case 4: printf ("giovedì\n"); break; 12 case 5: printf ("venerdì\n"); break; 13 case 6: printf ("sabato\n"); break; 14 case 7: printf ("domenica\n"); break; 15 } 16 getchar (); 17 return 0; 18 }
domenica
lunedì
martedì
mercoledì
giovedì
venerdì
sabato
35) [0..0.25] Osservando il programma indicato, cosa contiene la variabile k alla fine del ciclo?
1 #include <stdio.h> 2 int main (void) 3 { 4 int j = 0; 5 int k = 3; 6 while (j > 3) 7 { 8 j++; 9 k++; 10 } 11 printf ("La variabile k contiene %d\n", k); 12 getchar (); 13 return 0; 14 }
36) [0..0.25] Osservando il programma indicato, cosa contiene la variabile k alla fine del ciclo?
1 #include <stdio.h> 2 int main (void) 3 { 4 int j; 5 int k = 7; 6 for (j = 8; j >= 7; j--) 7 { 8 k++; 9 } 10 printf ("La variabile k contiene %d\n", k); 11 getchar (); 12 return 0; 13 }
37) [-0.25..+0.25] Selezionare il prototipo della funzione mia() che restituisce un intero normale senza segno e richiede due parametri: il primo di tipo carattere e il secondo di tipo a virgola mobile normale.
int mia (unsigned char x, float y);
signed int mia (unsigned int z, double a);
unsigned int mia (char b, double c);
float mia (double d, double e);
double mia (char f, unsigned int g);
38) [-0.96..0.24] Si indichino quali sono le righe errate, contenute nell'estratto di codice seguente. Se un errore riguarda un'istruzione suddivisa su più righe, si indichi solo la prima di queste righe.
1 unsigned int 2 fattoriale (unsigned int x) { 3 unsigned int i 4 unsigned int f = x; 5 for (i = x i > 0 i--) 6 { 7 f = f * i; 8 } 9 return i; 10 }
39) [-0.25..+0.25] Osservando l'estratto di codice successivo, si vuole sapere se il prototipo e la descrizione della funzione sono compatibili.
1 unsigned int mia_funzione (signed int uno, float due, 2 char tre); 3 4 unsigned int 5 mia_funzione (signed int due, float tre, char uno) 6 { 7 unsigned int i; 8 ...omissis... 9 return i; 10 }
«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net