Top 100 domande di colloquio sulla programmazione C e amp; Risposte

Anonim

Scarica il pdf

1) Come si costruisce un'istruzione di incremento o decremento in C?

In realtà ci sono due modi per farlo. Uno consiste nell'usare l'operatore di incremento ++ e l'operatore di decremento -. Ad esempio, l'affermazione "x ++" significa incrementare il valore di x di 1. Allo stesso modo, l'affermazione "x -" significa decrementare il valore di x di 1. Un altro modo di scrivere istruzioni di incremento è usare il convenzionale + plus segno o - segno meno. Nel caso di "x ++", un altro modo per scriverlo è "x = x +1".

2) Qual è la differenza tra Call by Value e Call by Reference?

Quando si utilizza Call by Value, si invia il valore di una variabile come parametro a una funzione, mentre Call by Reference invia l'indirizzo della variabile. Inoltre, in Call by Value, il valore nel parametro non è influenzato da nessuna operazione che ha luogo, mentre nel caso di Call by Reference, i valori possono essere influenzati dal processo all'interno della funzione.

3) Alcuni programmatori eseguono il debug dei loro programmi inserendo simboli di commento su alcuni codici invece di eliminarli. In che modo questo aiuta nel debugging?

Posizionare i simboli di commento / * * / attorno a un codice, noto anche come "commento fuori", è un modo per isolare alcuni codici che si ritiene possano causare errori nel programma, senza eliminare il codice. L'idea è che se il codice è effettivamente corretto, devi semplicemente rimuovere i simboli di commento e continuare. Ti fa anche risparmiare tempo e fatica a dover ridigitare i codici se l'hai cancellato in primo luogo.

4) Qual è il codice equivalente della seguente istruzione nel formato WHILE LOOP?

for (a=1; a<=100; a++)printf ("%d\n", a * a);

Risposta:

a=1;while (a<=100) {printf ("%d\n", a * a);a++;}

5) Cos'è uno stack?

Uno stack è una forma di una struttura dati. I dati vengono archiviati in pile utilizzando l'approccio FILO (First In Last Out). In ogni particolare istanza, è accessibile solo la parte superiore dello stack, il che significa che per recuperare i dati archiviati all'interno dello stack, è necessario estrarre per primi quelli nella parte superiore. La memorizzazione dei dati in uno stack viene anche definita PUSH, mentre il recupero dei dati viene definito POP.

6) Cos'è un file ad accesso sequenziale?

Quando si scrivono programmi che memorizzeranno e recupereranno i dati in un file, è possibile designare quel file in forme diverse. Un file ad accesso sequenziale è tale che i dati vengono salvati in ordine sequenziale: un dato viene inserito nel file dopo l'altro. Per accedere a un dato dato all'interno del file ad accesso sequenziale, i dati devono essere letti un dato alla volta, fino a raggiungere quello giusto.

7) Cos'è l'inizializzazione delle variabili e perché è importante?

Si riferisce al processo in cui a una variabile viene assegnato un valore iniziale prima che venga utilizzata nel programma. Senza inizializzazione, una variabile avrebbe un valore sconosciuto, che può portare a output imprevedibili quando viene utilizzata in calcoli o altre operazioni.

8 Cos'è la programmazione degli spaghetti?

La programmazione degli spaghetti si riferisce a codici che tendono a ingarbugliarsi e sovrapporsi durante il programma. Questo approccio non strutturato alla codifica è solitamente attribuito alla mancanza di esperienza da parte del programmatore. La programmazione degli spaghetti rende un programma complesso e l'analisi dei codici difficile, e quindi deve essere evitato il più possibile.

9) Differenziare i codici sorgente dai codici oggetto

I codici sorgente sono codici scritti dal programmatore. È composto dai comandi e da altre parole chiave in stile inglese che dovrebbero indicare al computer cosa fare. Tuttavia, i computer non sarebbero in grado di comprendere i codici sorgente. Pertanto, i codici sorgente vengono compilati utilizzando un compilatore. Gli output risultanti sono codici oggetto, che sono in un formato che può essere compreso dal processore del computer. Nella programmazione C, i codici sorgente vengono salvati con l'estensione di file .C, mentre i codici oggetto vengono salvati con l'estensione di file .OBJ

10) Nella programmazione C, come si inseriscono le virgolette ('e ") nella schermata di output?

Questo è un problema comune per i principianti perché le virgolette fanno normalmente parte di un'istruzione printf. Per inserire il carattere di virgolette come parte dell'output, utilizzare gli specificatori di formato \ '(per virgolette singole) e \ "(per virgolette doppie).

11) A cosa serve un carattere "\ 0"?

Viene indicato come carattere nullo di terminazione e viene utilizzato principalmente per mostrare la fine di un valore stringa.

12) Qual è la differenza tra il simbolo = e il simbolo ==?

Il simbolo = è spesso usato nelle operazioni matematiche. Viene utilizzato per assegnare un valore a una determinata variabile. D'altra parte, il simbolo ==, noto anche come "uguale a" o "equivalente a", è un operatore relazionale utilizzato per confrontare due valori.

13) Cos'è l'operatore modulo?

L'operatore modulo restituisce il resto di una divisione. Utilizza il simbolo della percentuale (%). Ad esempio: 10% 3 = 1, ovvero quando dividi 10 per 3, il resto è 1.

14) Cos'è un ciclo annidato?

Un ciclo annidato è un ciclo che viene eseguito all'interno di un altro ciclo. Mettiamola in un altro senso, hai un anello interno che è all'interno di un anello esterno. In questo scenario, il ciclo interno viene eseguito un numero di volte come specificato dal ciclo esterno. Per ogni turno sul loop esterno, viene eseguito prima il loop interno.

15) Quale dei seguenti operatori non è corretto e perché? (> =, <=, <>, ==)

<> non è corretto. Sebbene questo operatore sia correttamente interpretato come "diverso da" nella scrittura di istruzioni condizionali, non è l'operatore appropriato da utilizzare nella programmazione C. Invece, l'operatore! = Deve essere utilizzato per indicare la condizione "non uguale a".

16) Confronta e contrapponi i compilatori degli interpreti.

I compilatori e gli interpreti spesso si occupano di come vengono eseguiti i codici di programma. Gli interpreti eseguono i codici di programma una riga alla volta, mentre i compilatori prendono il programma nel suo insieme e lo convertono in codice oggetto, prima di eseguirlo. La differenza fondamentale qui è che nel caso degli interpreti, un programma potrebbe riscontrare errori di sintassi nel mezzo dell'esecuzione e da lì si fermerà. D'altra parte, i compilatori controllano la sintassi dell'intero programma e procedono all'esecuzione solo quando non vengono trovati errori di sintassi.

17) Come si dichiara una variabile che conterrà valori stringa?

La parola chiave char può contenere solo un valore di carattere alla volta. Creando un array di caratteri, è possibile memorizzare i valori di stringa in esso. Esempio: "char MyName [50];" dichiara una variabile stringa denominata MyName che può contenere un massimo di 50 caratteri.

18) È possibile utilizzare le parentesi graffe {} per racchiudere una singola riga di codice?

Sebbene le parentesi graffe siano utilizzate principalmente per raggruppare più righe di codice, funzionerà comunque senza errori se lo si utilizza per una singola riga. Alcuni programmatori preferiscono questo metodo come un modo per organizzare i codici per renderlo più chiaro, specialmente nelle istruzioni condizionali.

19) Cosa sono i file header e quali sono i suoi usi nella programmazione C?

I file di intestazione sono noti anche come file di libreria. Contengono due cose essenziali: le definizioni ei prototipi delle funzioni utilizzate in un programma. In poche parole, i comandi che usi nella programmazione C sono in realtà funzioni definite all'interno di ogni file di intestazione. Ogni file di intestazione contiene un insieme di funzioni. Ad esempio: stdio.h è un file di intestazione che contiene definizione e prototipi di comandi come printf e scanf.

20) Cos'è l'errore di sintassi?

Gli errori di sintassi sono associati a errori nell'uso di un linguaggio di programmazione. Può essere un comando che è stato scritto male o un comando che deve essere stato inserito in modalità minuscola ma è stato invece inserito con un carattere maiuscolo. Un simbolo fuori posto, o la mancanza di un simbolo, da qualche parte all'interno di una riga di codice può anche portare a un errore di sintassi.

21) Cosa sono le variabili e in che modo si differenziano dalle costanti?

Variabili e costanti possono a prima vista sembrare simili nel senso che entrambi sono identificatori costituiti da uno o più caratteri (lettere, numeri e alcuni simboli consentiti). Entrambi avranno anche un valore particolare. I valori detenuti da una variabile possono essere modificati in tutto il programma e possono essere utilizzati nella maggior parte delle operazioni e dei calcoli. Alle costanti vengono assegnati valori in una sola volta, posti all'inizio di un programma. Questo valore non viene modificato nel programma. Ad esempio, è possibile assegnare una costante denominata PI e assegnarle un valore 3,1415. Puoi quindi usarlo come PI nel programma, invece di dover scrivere 3.1415 ogni volta che ne hai bisogno.

22) Come si accede ai valori all'interno di un array?

Gli array contengono un numero di elementi, a seconda delle dimensioni assegnate durante la dichiarazione delle variabili. Ad ogni elemento viene assegnato un numero da 0 a numero di elementi-1. Per assegnare o recuperare il valore di un particolare elemento, fare riferimento al numero dell'elemento. Ad esempio: se hai una dichiarazione che dice "intscores [5];", allora hai 5 elementi accessibili, vale a dire: punteggi [0], punteggi [1], punteggi [2], punteggi [3] e punteggi [4 ].

23) Posso usare il tipo di dati "int" per memorizzare il valore 32768? Perché?

No. Il tipo di dati "int" è in grado di memorizzare valori da -32768 a 32767. Per memorizzare 32768, è possibile utilizzare invece "long int". Puoi anche usare "unsigned int", supponendo che non intendi memorizzare valori negativi.

24) È possibile combinare due o più operatori come \ ne \ t in una singola riga di codice programma?

Sì, è perfettamente valido combinare operatori, soprattutto se si presenta la necessità. Ad esempio: puoi avere un codice come "printf (" Hello \ n \ n \ 'World \' ")" per visualizzare il testo "Hello" sulla prima riga e "World" racchiuso tra virgolette singole per apparire nella successiva due righe.

25) Perché non tutti i file di intestazione sono dichiarati in ogni programma C?

La scelta di dichiarare un file di intestazione all'inizio di ogni programma C dipenderà da quali comandi / funzioni userete in quel programma. Poiché ogni file di intestazione contiene diverse definizioni di funzioni e prototipi, useresti solo quei file di intestazione che conterrebbero le funzioni di cui avrai bisogno. Dichiarare tutti i file di intestazione in ogni programma aumenterebbe solo la dimensione complessiva del file e il carico del programma e non è considerato un buon stile di programmazione.

26) Quando viene utilizzata la parola chiave "void" in una funzione?

Quando si dichiarano le funzioni, si deciderà se quella funzione restituirà un valore o meno. Se quella funzione non restituirà un valore, come quando lo scopo di una funzione è di visualizzare alcuni output sullo schermo, allora "void" deve essere posizionato nella parte più a sinistra dell'intestazione della funzione. Quando è previsto un valore restituito dopo l'esecuzione della funzione, il tipo di dati del valore restituito viene inserito invece di "void".

27) Cosa sono le affermazioni composte?

Le istruzioni composte sono costituite da due o più istruzioni di programma che vengono eseguite insieme. Questo di solito si verifica durante la gestione delle condizioni in cui una serie di istruzioni viene eseguita quando viene valutato TRUE o FALSE. Le istruzioni composte possono anche essere eseguite all'interno di un ciclo. Le parentesi graffe {} vengono inserite prima e dopo le istruzioni composte.

28) Qual è il significato di un algoritmo per la programmazione in C?

Prima di poter scrivere un programma, è necessario creare prima un algoritmo. Un algoritmo fornisce una procedura passo passo su come derivare una soluzione. Agisce anche come un modello su come un programma inizierà e finirà, incluso il processo e i calcoli coinvolti.

29) Qual è il vantaggio di un array rispetto alle singole variabili?

Quando si archiviano più dati correlati, è una buona idea utilizzare gli array. Questo perché gli array vengono denominati utilizzando solo 1 parola seguita da un numero di elemento. Ad esempio: per memorizzare i 10 risultati del test di 1 studente, è possibile utilizzare 10 diversi nomi di variabili (grado1, grado2, grado3… grado10). Con gli array, viene utilizzato solo 1 nome, gli altri sono accessibili tramite il nome dell'indice (grado [0], grado [1], grado [2]… grado [9]).

30) Scrivi un'istruzione loop che mostrerà il seguente output:

1

12

123

1234

12345

Risposta:

for (a=1; a<=5; i++) {for (b=1; b<=a; b++)printf("%d",b);printf("\n");}

31) Cosa c'è di sbagliato in questa affermazione? scanf ("% d", whatnumber);

È necessario inserire una e commerciale e il simbolo prima del nome della variabile whatnumber. Mettere & significa che qualsiasi valore intero immesso dall'utente viene memorizzato all '"indirizzo" del nome della variabile. Questo è un errore comune per i programmatori, che spesso porta a errori logici.

32) Come si generano numeri casuali in C?

I numeri casuali vengono generati in C utilizzando il comando rand (). Ad esempio: anyNum = rand () genererà qualsiasi numero intero che inizia da 0, assumendo che anyNum sia una variabile di tipo integer.

33) Quale potrebbe essere il problema se un nome di funzione valido come tolower () viene segnalato dal compilatore C come non definito?

Il motivo più probabile alla base di questo errore è che il file di intestazione per quella funzione non è stato indicato nella parte superiore del programma. I file di intestazione contengono la definizione e il prototipo delle funzioni e dei comandi utilizzati in un programma C. Nel caso di "tolower ()", il codice "#include " deve essere presente all'inizio del programma.

34) Cosa sono i commenti e come si inseriscono in un programma in C?

I commenti sono un ottimo modo per inserire alcune osservazioni o descrizioni in un programma. Può servire come promemoria su ciò di cui tratta il programma o come descrizione del motivo per cui un determinato codice o funzione è stato inserito lì in primo luogo. I commenti iniziano con / * e terminano con * / caratteri. I commenti possono essere una singola riga o possono anche estendersi su più righe. Può essere posizionato ovunque nel programma.

35) Cos'è il debug?

Il debug è il processo di identificazione degli errori all'interno di un programma. Durante la compilazione del programma, gli errori rilevati interromperanno l'esecuzione del programma completamente. In questo stato, il programmatore esaminerà le possibili parti in cui si è verificato l'errore. Il debug garantisce la rimozione degli errori e svolge un ruolo importante nel garantire che l'output del programma previsto sia soddisfatto.

36) Cosa fa l'operatore && in un codice di programma?

Il && è anche indicato come operatore AND. Quando si utilizza questo operatore, tutte le condizioni specificate devono essere TRUE prima di poter eseguire l'azione successiva. Se si hanno 10 condizioni e tutte tranne 1 non vengono valutate come TRUE, l'intera istruzione di condizione è già valutata come FALSE

37) Nella programmazione C, quale comando o codice può essere utilizzato per determinare se un numero pari o dispari?

Non esiste un singolo comando o funzione in C che possa verificare se un numero è pari o dispari. Tuttavia, questo può essere ottenuto dividendo quel numero per 2, quindi controllando il resto. Se il resto è 0, il numero è pari, altrimenti è dispari. Puoi scriverlo in codice come:

if (num % 2 == 0)printf("EVEN");elseprintf("ODD");

38) Cosa significa il formato% 10.2 quando incluso in un'istruzione printf?

Questo formato viene utilizzato per due cose: per impostare il numero di spazi assegnati per il numero di output e per impostare il numero di posizioni decimali. Il numero prima del punto decimale è per lo spazio assegnato, in questo caso assegnerebbe 10 spazi per il numero di output. Se il numero di spazio occupato dal numero di uscita è inferiore a 10, i caratteri di spazio aggiuntivo verranno inseriti prima del numero di uscita effettivo. Il numero dopo il punto decimale imposta il numero di posizioni decimali, in questo caso sono 2 spazi decimali.

39) Cosa sono gli errori logici e in cosa differiscono dagli errori di sintassi?

I programmi che contengono errori logici tendono a superare il processo di compilazione, ma l'output risultante potrebbe non essere quello previsto. Ciò accade quando nel codice è stata inserita una formula sbagliata o è stata eseguita una sequenza di comandi errata. Gli errori di sintassi, d'altra parte, si occupano di comandi errati che sono scritti in modo errato o non riconosciuti dal compilatore.

40) Quali sono i diversi tipi di strutture di controllo nella programmazione?

Ci sono 3 principali strutture di controllo nella programmazione: sequenza, selezione e ripetizione. Il controllo sequenziale segue un flusso dall'alto verso il basso nell'esecuzione di un programma, in modo tale che la fase 1 venga eseguita per prima, seguita dalla fase 2, fino a quando non viene eseguita l'ultima fase. La selezione riguarda le istruzioni condizionali, il che significa che i codici vengono eseguiti a seconda della valutazione delle condizioni come VERE o FALSE. Ciò significa anche che non tutti i codici possono essere eseguiti e ci sono flussi alternativi all'interno. Le ripetizioni sono note anche come strutture loop e ripeteranno una o due istruzioni di programma impostate da un contatore.

41) Cos'è || operatore e come funziona in un programma?

Il || è anche noto come operatore OR nella programmazione C. Quando si utilizza || per valutare le condizioni logiche, qualsiasi condizione che restituisce TRUE renderà l'intera istruzione di condizione come TRUE.

42) È possibile utilizzare la funzione "if" per confrontare le stringhe?

No. Il comando "if" può essere utilizzato solo per confrontare valori numerici e valori di singoli caratteri. Per confrontare i valori delle stringhe, esiste un'altra funzione chiamata strcmp che si occupa specificamente delle stringhe.

43) Cosa sono le direttive del preprocessore?

Le direttive del preprocessore vengono inserite all'inizio di ogni programma C. Qui è dove vengono specificati i file di libreria, che dipendono dalle funzioni da utilizzare nel programma. Un altro utilizzo delle direttive del preprocessore è la dichiarazione delle costanti, che iniziano con il simbolo #.

44) Quale sarà il risultato della seguente istruzione condizionale se il valore della variabile s è 10?

s> = 10 && s <25 && s! = 12

Il risultato sarà VERO. Poiché il valore di s è 10, s> = 10 restituisce VERO perché s non è maggiore di 10 ma è comunque uguale a 10. Anche s <25 è VERO poiché 10 è inferiore a 25. Ugualmente, s! = 12 , che significa che s non è uguale a 12, restituisce TRUE. && è l'operatore AND e segue la regola che se tutte le condizioni individuali sono TRUE, l'intera istruzione è TRUE.

45) Descrivere l'ordine di precedenza rispetto agli operatori in C.

L'ordine di precedenza determina quale operazione deve essere eseguita per prima in un'istruzione operazione o in un'istruzione condizionale. Sul livello di precedenza più alto ci sono gli operatori unari!, +, - e &. È seguito dai normali operatori matematici (*, / e prima il modulo%, seguito da + e -). Successivamente in linea ci sono gli operatori relazionali <, <=,> = e>. Questo è quindi seguito dai due operatori di uguaglianza == e! =. Gli operatori logici && e || vengono poi valutati. All'ultimo livello c'è l'operatore di assegnazione =.

46) Cosa c'è di sbagliato in questa affermazione? myName = "Robin";

Non è possibile utilizzare il segno = per assegnare valori a una variabile stringa. Usa invece la funzione strcpy. L'affermazione corretta sarebbe: strcpy (myName, "Robin");

47) Come si determina la lunghezza di un valore stringa che è stato memorizzato in una variabile?

Per ottenere la lunghezza di un valore stringa, utilizzare la funzione strlen (). Ad esempio, se si dispone di una variabile denominata FullName, è possibile ottenere la lunghezza del valore di stringa memorizzato utilizzando questa istruzione: I = strlen (FullName); la variabile I ora avrà la lunghezza del carattere del valore della stringa.

48) È possibile inizializzare una variabile nel momento in cui è stata dichiarata ?

Sì, non è necessario scrivere un'istruzione di assegnazione separata dopo la dichiarazione della variabile, a meno che non si preveda di modificarla in seguito. Ad esempio: char planet [15] = "Earth"; fa due cose: dichiara una variabile stringa chiamata planet, quindi la inizializza con il valore "Earth".

49) Perché il linguaggio C è considerato un linguaggio di livello medio?

Questo perché il linguaggio C è ricco di funzionalità che lo fanno comportare come un linguaggio di alto livello e allo stesso tempo può interagire con l'hardware utilizzando metodi di basso livello. L'uso di un approccio ben strutturato alla programmazione, insieme a parole simili all'inglese utilizzate nelle funzioni, lo rende un linguaggio di alto livello. D'altra parte, C può accedere direttamente a strutture di memoria simili alle routine in linguaggio assembly.

50) Quali sono le diverse estensioni di file coinvolte nella programmazione in C?

I codici sorgente in C vengono salvati con estensione file .C. I file di intestazione o di libreria hanno l'estensione di file .H. Ogni volta che il codice sorgente di un programma viene compilato correttamente, crea un file oggetto .OBJ e un file eseguibile .EXE.

51) Cosa sono le parole riservate?

Le parole riservate sono parole che fanno parte della libreria del linguaggio C standard. Ciò significa che le parole riservate hanno un significato speciale e quindi non possono essere utilizzate per scopi diversi da quelli per cui sono originariamente previste. Esempi di parole riservate sono int, void e return.

52) Cosa sono le liste collegate?

Un elenco collegato è composto da nodi collegati a un altro. Nella programmazione C, gli elenchi concatenati vengono creati utilizzando i puntatori. L'utilizzo di elenchi collegati è un modo efficiente di utilizzare la memoria per l'archiviazione.

53) Cos'è FIFO?

Nella programmazione C, esiste una struttura dati nota come coda. In questa struttura, i dati vengono archiviati e accessibili utilizzando il formato FIFO o First-In-First-Out. Una coda rappresenta una riga in cui i primi dati archiviati saranno anche i primi accessibili.

54) Cosa sono gli alberi binari?

Gli alberi binari sono in realtà un'estensione del concetto di elenchi concatenati. Un albero binario ha due puntatori, uno sinistro e uno destro. Ciascun lato può diramarsi ulteriormente per formare nodi aggiuntivi, ciascuno dei quali con due puntatori.

55) Non tutte le parole riservate sono scritte in minuscolo. Vero o falso?

FALSO. Tutte le parole riservate devono essere scritte in minuscolo; altrimenti il ​​compilatore C lo interpreterebbe come non identificato e non valido.

56) Qual è la differenza tra l'espressione "++ a" e "a ++"?

Nella prima espressione, l'incremento avverrebbe per primo sulla variabile a e il valore risultante sarà quello da utilizzare. Questo è anche noto come incremento del prefisso. Nella seconda espressione, il valore corrente della variabile a sarebbe quello da utilizzare in un'operazione, prima che il valore di a stesso venga incrementato. Questo è anche noto come incremento postfisso.

57) Cosa succederebbe a X in questa espressione: X + = 15; (assumendo che il valore di X sia 5)

X + = 15 è un metodo breve per scrivere X = X + 15, quindi se il valore iniziale di X è 5, allora 5 + 15 = 20.

58) In linguaggio C, le variabili NAME, name e Name sono tutte uguali. Vero o falso?

FALSO. Il linguaggio C è un linguaggio che distingue tra maiuscole e minuscole. Pertanto, NAME, name e Name sono tre variabili differenti in modo univoco.

59) Cos'è un loop infinito?

Un ciclo infinito può significare due cose. Uno è che è stato progettato per eseguire un ciclo continuo fino a quando la condizione all'interno del ciclo non viene soddisfatta, dopodiché una funzione di interruzione fa uscire il programma dal ciclo. Un'altra idea di un ciclo infinito è quando è stata scritta una condizione di ciclo errata, causando l'esecuzione errata del ciclo per sempre. I loop infiniti sono spesso indicati come loop infiniti.

60) Che cos'è un diagramma di flusso di un programma e in che modo aiuta nella scrittura di un programma?

Un diagramma di flusso fornisce una rappresentazione visiva della procedura passo passo verso la risoluzione di un dato problema. I diagrammi di flusso sono fatti di simboli, con ogni simbolo sotto forma di forme diverse. Ogni forma può rappresentare un'entità particolare all'interno dell'intera struttura del programma, come un processo, una condizione o anche una fase di input / output.

61) Cosa c'è di sbagliato in questa dichiarazione del programma? void = 10;

La parola void è una parola riservata nel linguaggio C. Non è possibile utilizzare parole riservate come variabile definita dall'utente.

62) Questa dichiarazione di programma è valida? INT = 10,50;

Supponendo che INT sia una variabile di tipo float, questa istruzione è valida. Si può pensare che INT sia una parola riservata e non debba essere usata per altri scopi. Tuttavia, ricorda che le parole riservate sono espresse in minuscolo, quindi il compilatore C non la interpreterà come una parola riservata.

63) Quali sono gli argomenti effettivi?

Quando crei e utilizzi funzioni che devono eseguire un'azione su alcuni valori dati, devi passare questi valori dati a quella funzione. I valori che vengono passati alla funzione chiamata sono indicati come argomenti effettivi.

64) Cos'è una sequenza di escape di nuova riga?

Una sequenza di escape di nuova riga è rappresentata dal carattere \ n. Viene utilizzato per inserire una nuova riga durante la visualizzazione dei dati nella schermata di output. È possibile aggiungere più spazi inserendo più \ n caratteri. Ad esempio, \ n \ n inserirà due spazi. È possibile inserire una sequenza di escape di nuova riga prima dell'espressione di output effettiva o dopo.

65) Cos'è il reindirizzamento dell'output?

È il processo di trasferimento dei dati a una sorgente di output alternativa diversa dallo schermo del display. Il reindirizzamento dell'output consente a un programma di salvare l'output in un file. Ad esempio, se si dispone di un programma denominato COMPUTE, digitandolo sulla riga di comando come COMPUTE> DATA può accettare input dall'utente, eseguire determinati calcoli, quindi reindirizzare l'output a un file denominato DATA, invece di mostrarlo sullo schermo .

66) Cosa sono gli errori di runtime?

Questi sono errori che si verificano durante l'esecuzione del programma. Un caso comune in cui possono verificarsi errori in fase di esecuzione è quando si tenta di dividere un numero per zero. Quando si verificano errori in fase di esecuzione, l'esecuzione del programma si interrompe, mostrando la riga del programma che ha causato l'errore.

67) Qual è la differenza tra le funzioni abs () e fabs ()?

Queste 2 funzioni fondamentalmente eseguono la stessa azione, ovvero ottenere il valore assoluto del valore dato. Abs () viene utilizzato per i valori interi, mentre fabs () viene utilizzato per i numeri di tipo mobile. Inoltre, il prototipo di abs () è sotto , mentre fabs () è sotto .

68) Quali sono i parametri formali?

Nell'uso delle funzioni in un programma C, i parametri formali contengono i valori che sono stati passati dalla funzione chiamante. I valori vengono sostituiti in questi parametri formali e utilizzati in qualunque operazione come indicato all'interno del corpo principale della funzione chiamata.

69) Cosa sono le strutture di controllo?

Le strutture di controllo si occupano di quali istruzioni devono essere eseguite in un programma. Ciò significa che il flusso del programma potrebbe non spostarsi necessariamente da un'istruzione all'altra, ma potrebbe essere necessario passare o ignorare alcune parti alternative, a seconda del risultato delle istruzioni condizionali.

70) Scrivi un semplice frammento di codice che controllerà se un numero è positivo o negativo .

If (num>=0)printf("number is positive");elseprintf ("number is negative");

71) Quando è preferibile un'istruzione "switch" rispetto a un'istruzione "if"?

L'istruzione switch viene utilizzata al meglio quando si tratta di selezioni basate su una singola variabile o espressione. Tuttavia, le istruzioni switch possono valutare solo tipi di dati interi e caratteri.

72) Cosa sono le variabili globali e come le dichiari?

Le variabili globali sono variabili a cui è possibile accedere e manipolare in qualsiasi punto del programma. Per rendere globale una variabile, posizionare la dichiarazione della variabile nella parte superiore del programma, subito dopo la sezione delle direttive del preprocessore.

73) Cosa sono i tipi enumerati?

I tipi enumerati consentono al programmatore di utilizzare parole più significative come valori per una variabile. Ogni elemento nella variabile di tipo enumerata è effettivamente associato a un codice numerico. Ad esempio, è possibile creare una variabile di tipo enumerata denominata GIORNI i cui valori sono lunedì, martedì… domenica.

74) Cosa fa la funzione toupper ()?

Viene utilizzato per convertire qualsiasi lettera nella modalità maiuscola. Il prototipo della funzione Toupper () è dichiarato in . Nota che questa funzione convertirà solo un singolo carattere e non un'intera stringa.

75) È possibile avere una funzione come parametro in un'altra funzione?

Sì, è consentito nella programmazione C. È sufficiente includere l'intero prototipo della funzione nel campo del parametro dell'altra funzione in cui deve essere utilizzato.

76) Cosa sono gli array multidimensionali?

Gli array multidimensionali sono in grado di memorizzare dati in una struttura a due o più dimensioni. Ad esempio, è possibile utilizzare una matrice bidimensionale per memorizzare la posizione corrente dei pezzi in una partita a scacchi o la posizione dei giocatori in un programma tris.

77) Quale funzione in C può essere utilizzata per aggiungere una stringa a un'altra stringa?

La funzione strcat. Richiede due parametri, la stringa di origine e il valore della stringa da aggiungere alla stringa di origine.

78) Qual è la differenza tra le funzioni getch () e getche ()?

Entrambe le funzioni accetteranno un valore di input di carattere dall'utente. Quando si usa getch (), il tasto che è stato premuto non apparirà sullo schermo e viene automaticamente catturato e assegnato a una variabile. Quando si usa getche (), il tasto premuto dall'utente apparirà sullo schermo, mentre allo stesso tempo sarà assegnato a una variabile.

79) Queste due istruzioni di programma eseguono lo stesso output? 1) scanf ("% c", & letter); 2) lettera = getchar ()

Sì, entrambi fanno esattamente la stessa cosa, ovvero accettare il tasto successivo premuto dall'utente e assegnarlo alla variabile denominata lettera.

80) Quali sono i tipi di struttura in C?

I tipi di struttura vengono utilizzati principalmente per archiviare i record. Un record è costituito da campi correlati. Ciò semplifica l'organizzazione di un gruppo di dati correlati.

81) Cosa significano i caratteri "r" e "w" quando si scrivono programmi che faranno uso di file?

"r" significa "letto" e aprirà un file come input in cui i dati devono essere recuperati. "w" significa "scrivi" e aprirà un file per l'output. I dati precedenti che erano stati memorizzati su quel file verranno cancellati.

82) Qual è la differenza tra file di testo e file binari?

I file di testo contengono dati che possono essere facilmente compresi dagli esseri umani. Include lettere, numeri e altri caratteri. D'altra parte, i file binari contengono 1 e 0 che solo i computer possono interpretare.

83) è possibile creare i propri file di intestazione?

Sì, è possibile creare un file di intestazione personalizzato. Includere semplicemente in esso i prototipi di funzione che si desidera utilizzare nel programma e utilizzare la direttiva #include seguita dal nome del file di intestazione.

84) Cos'è la struttura dinamica dei dati?

La struttura dinamica dei dati fornisce un mezzo per archiviare i dati in modo più efficiente nella memoria. Utilizzando l'allocazione dinamica della memoria, il programma accederà agli spazi di memoria secondo necessità. Ciò è in contrasto con la struttura dati statica, in cui il programmatore deve indicare un numero fisso di spazio di memoria da utilizzare nel programma.

85) Quali sono i diversi tipi di dati in C?

I tipi di dati di base sono int, char e float. Int viene utilizzato per dichiarare le variabili che memorizzeranno valori interi. Float viene utilizzato per memorizzare i numeri reali. Char può memorizzare valori di caratteri individuali.

86) Qual è la forma generale di un programma C?

Il programma AC inizia con le direttive del preprocessore, in cui il programmatore specifica quale file di intestazione e quali costanti (se presenti) devono essere utilizzate. Questo è seguito dall'intestazione della funzione principale. All'interno della funzione principale si trovano la dichiarazione della variabile e l'istruzione del programma.

87) Qual è il vantaggio di un file ad accesso casuale?

Se la quantità di dati archiviati in un file è abbastanza grande, l'uso dell'accesso casuale ti consentirà di ricercarlo più rapidamente. Se fosse stato un file ad accesso sequenziale, dovresti passare attraverso un record alla volta fino a raggiungere i dati di destinazione. Un file ad accesso casuale consente di passare direttamente all'indirizzo di destinazione in cui si trovano i dati.

88) In un'istruzione switch, cosa succederà se un'istruzione break viene omessa?

Se una dichiarazione di interruzione non è stata inserita alla fine di una parte del caso particolare? Si passerà alla parte successiva del caso, causando probabilmente un output errato.

89) Descrivi come gli array possono essere passati a una funzione definita dall'utente

Una cosa da notare è che non è possibile passare l'intero array a una funzione. Invece, gli si passa un puntatore che punterà al primo elemento dell'array in memoria. A tale scopo, indicare il nome dell'array senza le parentesi.

90) Cosa sono i puntatori?

I puntatori indicano aree specifiche della memoria. I puntatori contengono l'indirizzo di una variabile, che a sua volta può contenere un valore o anche un indirizzo di un'altra memoria.

91) Puoi passare un'intera struttura alle funzioni?

Sì, è possibile passare un'intera struttura a una funzione in una chiamata in base allo stile del metodo. Tuttavia, alcuni programmatori preferiscono dichiarare la struttura a livello globale, quindi passare una variabile di quel tipo di struttura a una funzione. Questo metodo aiuta a mantenere la coerenza e l'uniformità in termini di tipo di argomento.

92) Cos'è la funzione gets ()?

La funzione gets () consente l'immissione di dati su una riga completa da parte dell'utente. Quando l'utente preme il tasto Invio per terminare l'immissione, l'intera riga di caratteri viene memorizzata in una variabile stringa. Notare che la chiave di invio non è inclusa nella variabile, ma invece un terminatore nullo \ 0 viene inserito dopo l'ultimo carattere.

93) Il simbolo% ha un uso speciale in un'istruzione printf. Come collochereste questo personaggio come parte dell'output sullo schermo?

Puoi farlo usando %% nell'istruzione printf. Ad esempio, puoi scrivere printf ("10 %%") per visualizzare l'output come 10% sullo schermo.

94) Come si cercano i dati in un file di dati utilizzando il metodo di accesso casuale?

Utilizzare la funzione fseek () per eseguire input / output di accesso casuale su un file. Dopo che il file è stato aperto dalla funzione fopen (), fseek richiede tre parametri per funzionare: un puntatore al file, il numero di byte da cercare e il punto di origine nel file.

95) I commenti vengono inseriti durante la fase di compilazione e inseriti anche nel file EXE?

No, i commenti rilevati dal compilatore vengono ignorati. I commenti sono principalmente per la guida del programmatore e non hanno alcun altro uso significativo nella funzionalità del programma.

96) Esiste una funzione incorporata in C che può essere utilizzata per l'ordinamento dei dati?

Sì, usa la funzione qsort (). È anche possibile creare funzioni definite dall'utente per l'ordinamento, come quelle basate sull'algoritmo di ordinamento a bolle e di ordinamento a bolle.

97) Quali sono i vantaggi e gli svantaggi di un heap?

La memorizzazione dei dati nell'heap è più lenta di quanto richiederebbe quando si utilizza lo stack. Tuttavia, il vantaggio principale dell'utilizzo dell'heap è la sua flessibilità. Questo perché la memoria in questa struttura può essere allocata e rimossa in qualsiasi ordine particolare. La lentezza nell'heap può essere compensata se un algoritmo è stato ben progettato e implementato.

98) Come si convertono le stringhe in numeri in C?

Puoi scrivere le tue funzioni per fare conversioni da stringa a numero, o invece usare le funzioni incorporate del C. È possibile utilizzare atof per convertire in un valore in virgola mobile, atoi per convertire in un valore intero e atol per convertire in un valore intero lungo.

99) Crea un semplice frammento di codice che scambierà i valori di due variabili num1 e num2.

int temp;temp = num1;num1 = num2;num2 = temp;

100) Qual è l'uso di un punto e virgola (;) alla fine di ogni istruzione del programma?

Ha a che fare con il processo di analisi e la compilazione del codice. Un punto e virgola funge da delimitatore, in modo che il compilatore sappia dove finisce ogni istruzione e può procedere a dividere l'istruzione in elementi più piccoli per il controllo della sintassi.