Score %0 (0 correct0 incorrect20 unanswered)

Q1. Quali esempi di codice porteranno alla fine a esaurire la memoria del computer?

  • :
while(1)
{
    char *smallString = (char *) malloc(10);
}
  • :
long long number = 1;
    while(1)
    number *= 2;
  • :
while(1)
{
    char hugeString[1000000L];
    memset(hugeString, 0, 1000000L);
}
  • :
while(1)
{
    long *bigArray = (long *) malloc(sizeof(long) * 1000);
    memset(bigArray, 1000000, 1000);

    (bigArray);
}

Q2. Qual sarà l'output del codice qui sotto?

int f1 (int a, int b)
{
    if (a > b)
    {
        printf("A is greater than B\n");
        return 1;
    }
    else
    {
        printf("B is greater than A");
        return 0;
    }
}

main()
{
    if (f1(20,10) || f1(10,20))
        printf("C is fun!\n");
}
  • :
A is greater than B
C is fun!
  • :
A is greater than B
B is greater than A
C is fun!
  • :
A is greater than B
B is greater than A
  • Nothing is printed on Screen

Q3. Qual è il nome per chiamare una funzione all'interno della stessa funzione?

  • ricorsione
  • sottofunzione
  • chiamata interna
  • loop infinito

Referenza

Q4. Cosa dimostra la dichiarazione della variabile c2?

main(){
    char c1 ='a';
    char c2 = c1+10;
}
  • aritmetica dei caratteri
  • assegnazione non definita
  • conversione di tipo
  • dichiarazione non valida

Referenza

Q5. Di che tipo è questa dichiarazione?

struct s {
    int i;
    struct s *s1;
    struct s *s2;
};
  • un nodo
  • una lista concatenata
  • uno stack
  • un albero binario

Q6. Gli header file vengono elencati utilizzando la direttiva di preprocessing #include, e possono avere uno dei seguenti formati: #include <fileA> o #include "fileB". Qual è la differenza tra questi due formati?

  • Il preprocessor cercherà di localizzare fileA nella stessa directory del file sorgente, e fileB in un percorso di directory predeterminato.
  • Il preprocessor cercherà di localizzare fileA nella directory fissa del sistema. Cercherà di localizzare fileB nel percorso di directory designato dall'opzione -I aggiunta alla riga di comando durante la compilazione del codice sorgente.
  • Il file che utilizza la sintassi fileA deve essere file di sistema, di numero illimitato; fileB deve essere un file utente con un massimo di uno per file sorgente.
  • Il preprocessor cercherà di localizzare fileA in un percorso di directory predeterminato. Cercherà di localizzare fileB nella stessa directory del file sorgente insieme a un percorso di directory personalizzato.

Referenza

Q7. Utilizzando un ciclo for, come potresti scrivere un codice C per contare da 10 a 1 e visualizzare ogni numero su una propria riga?

  • :
for (int i = 0; i>=0, i--){
    printf("%d\n", i);
}//end of loop
  • :
int i;
for (i=1; i<=10; i++){
    printf("%d", i);
}
  • :
int i = 10;
while (i>0){
    printf("%d\n", i);
    i--;
}
  • :
int i;
for (i= 10; i>0; i--){
    printf("%d\n", i);
}// end of loop

Q8. Qual è una delle parole riservate nel C standard?

  • volatile
  • typeof
  • register
  • typedef

Referenza

Q9. Cosa restituirà il programma mostrato di seguito?

int main(){
    int a=1, b=2, c=3, d=4;
    int x = a;
    if (a>b)
    if (b<c) x=b;
    else x=c;
    return(x);
}
  • 1
  • 3
  • 2
  • 0

Q10. Utilizzando la dichiarazione di Union qui sotto, quante byte di spazio di memoria occuperà il dato di questo tipo?

union Cars {
    char make[20];
    char model[30];
    short year;
} car;
  • 32
  • 54
  • 30
  • 52

Q11. In questo esempio di codice, quale non è un problema per il compilatore C?

main(){
    constant int PI = 3.14;
    printf("%f\n", pi);
}
  • Il valore di PI deve essere impostato su 3,141593, non su 3,14
  • La dichiarazione di PI deve dire const, non constant.
  • Il tipo di dati di PI deve essere float, non int.
  • L'istruzione printf deve usare PI, non pi.

Q12. Quale è il programma più piccolo da compilare ed eseguire senza errori?

  • main()
  • int main() {return 0;}
  • main() { }
  • main() { ; }

Referenza

Q13. Cosa è opzionale in una dichiarazione di funzione?

  • tipo di dati dei parametri
  • tipo di ritorno della funzione
  • nomi dei parametri
  • numero di parametri

Referenza

Q14. C tratta tutti i dispositivi, come lo schermo e la tastiera, come file. Quale file si apre automaticamente quando si esegue un programma?

  • stdout
  • stdio.h
  • default.h
  • string.h

Q15. In quale segmento avviene l'allocazione di memoria dinamica?

  • Segmento BSS
  • pila
  • heap
  • segmento di dati

Referenza

Q16. Quale funzione si utilizza per deallocare la memoria?

  • dalloc()
  • dealloc()
  • release()
  • free()

Referenza

Referenza

Q17. Nel linguaggio C, quali sono i blocchi di base che vengono costruiti insieme per scrivere un programma?

  • parole chiave
  • identificatori
  • token
  • funzioni

Referenza

Q18. Quando viene allocata la memoria per una variabile?

  • durante l'assegnazione della variabile
  • durante l'inizializzazione della variabile
  • durante la dichiarazione della variabile
  • durante la definizione della variabile

Referenza

Q19. Il C utilizza il metodo di chiamata per valore per passare gli argomenti alle funzioni. Come puoi invocare il metodo di chiamata per riferimento?

  • utilizzando i puntatori
  • dichiarando le funzioni separatamente dalla loro definizione
  • utilizzando funzioni ricorsive
  • utilizzando variabili globali

Referenza

Q20. Un'unione ti consente di memorizzare diversi ___ nello stesso ___.

  • Oggetti; Struttura
  • Variabili; Dichiarazione
  • Tipi di dati; Spazio di memoria
  • Matrici; File di intestazione