GNU/Linux >> Linux Esercitazione >  >> Linux

Tutorial di programmazione C Parte 3 - Nozioni di base sulle variabili

Finora abbiamo discusso le basi di cos'è un programma C, come compilarlo ed eseguirlo e cosa sono i preprocessori. Se hai seguito questi tutorial, è ora di discutere il prossimo argomento, ovvero le variabili.

Le variabili sono uno degli elementi fondamentali della programmazione C in quanto memorizzano valori che i programmatori possono utilizzare secondo le loro esigenze. Comprendiamo le loro basi attraverso un esempio. Di seguito è riportato un programma C di base:

#include <stdio.h>

int main (void)
{
int a = 10;
char b = 'z';
float c = 1.5;
printf("\n a=%d, b=%c, c=%f \n", a,b,c);
return 0;
}

In precedenti tutorial di programmazione C, abbiamo già spiegato cose come cosa è 'stdio.h', cosa significa '#include' e cos'è una funzione (soprattutto 'main'). Quindi, passeremo direttamente alla parte delle variabili.

La riga 'int a =10' significa che esiste una variabile denominata 'a' che può contenere valori di tipo intero ('int') e il valore corrente che contiene è '10'. Allo stesso modo, 'b' può contenere caratteri e 'c' può contenere numeri in virgola mobile, con i loro valori correnti rispettivamente 'z' e '1.5'.

Il programma di esempio mostrato sopra stampa questi valori in output tramite la funzione 'Printf'. Nota che %d, %c e %f sono usati per indicare alla funzione 'printf' che le variabili 'a', 'b', 'c' devono essere trattate rispettivamente come intero, carattere e float.

Naturalmente, puoi fare molto di più della semplice stampa di questi valori in output. Ad esempio, il seguente programma calcola il fattoriale del numero 5.

#include <stdio.h>

int main (void)
{
int num = 5;
int result = 1;
while (num > 0)
{
result = result * num;
num = num -1;
}

printf("\n Factorial of 5 is %d\n", result);

return 0;
}

Per chi non lo sapesse, il fattoriale di un numero, ad esempio 'n', è il risultato della seguente moltiplicazione:

nx(n-1)x(n-2)x.....1

Quindi, se il numero è 5, il fattoriale di 5 (o 5!) sarebbe 5x4x3x2x1, che equivale a 120.

Tornando al programma, abbiamo definito due variabili intere denominate 'num' e 'result'. Mentre num contiene il numero di cui deve essere calcolato il fattoriale (5 in questo caso), 'result' contiene solo un valore fittizio di '1' per cominciare. Poi arriva un ciclo 'while'.

Come suggerisce il nome, i loop vengono utilizzati nelle funzioni C per eseguire ripetutamente un insieme di istruzioni. In caso di 'while', il ciclo inizia controllando una condizione (in questo caso 'num dovrebbe essere maggiore di zero') e quindi le istruzioni all'interno del ciclo vengono eseguite ripetutamente fino a quando la condizione while diventa falsa.

Nel nostro caso, il valore di "num" è inizialmente 5. Quindi l'esecuzione entrerà all'interno del ciclo e il primo valore del risultato "sarebbe" essere "5" (1x5). Successivamente 'num' diventa 'num -1', il che significa che il nuovo valore di 'num' è ora 4. 

Il ciclo viene quindi eseguito di nuovo perché 4 è ancora maggiore di zero. Questa volta, 'risultato' sarebbe 5x4, che è 20. E 'num' diventa quindi (4-1), che è 3. In questo modo, il ciclo continua a essere eseguito fino a quando 'num' diventa 0 e, a quel punto, il risultato è '120', che è il fattoriale di 5.

Quindi ecco l'output prodotto da questo programma:

Factorial of 5 is 120

Ora, invece di un valore specifico (come '5' in questo caso), cosa succede se si desidera che l'utente del programma specifichi il numero di cui calcolare il fattoriale? Bene, questo può essere fatto nel modo seguente:

#include <stdio.h>

int main (void)
{
int num = 0, temp=0;
printf("\n Enter a positive integer: ");
scanf("%d", &num);
temp = num;
int result = 1;
while (temp > 0)
{
result = result * temp;
temp = temp -1;
}

printf("\n Factorial of %d is %d\n", num, result);

return 0;
}

Quindi qui abbiamo usato una nuova funzione chiamata 'scanf', che fa esattamente l'opposto di 'printf':accetta input dall'utente.

Ora, ogni variabile ha una certa quantità di memoria associata ad essa in termini di byte. La funzione scanf richiede di passare l'indirizzo iniziale della memoria di una variabile, a cui puoi accedere inserendo '&' prima del nome della variabile.

Abbiamo introdotto qui una nuova variabile 'temp' poiché abbiamo bisogno del numero effettivo passato dall'utente (memorizzato in 'num' qui) nell'ultima istruzione 'printf'.

In questo tutorial, abbiamo toccato le basi delle variabili. Questo tutorial dovrebbe averti dato un'idea di base su cosa sono le variabili e come possono essere utilizzate nel linguaggio di programmazione C. Ci sono molti altri aspetti relativi alle variabili che devono essere discussi:lo faremo nel prossimo tutorial.


Linux
  1. C Tutorial di programmazione 4 - Variabili e memoria

  2. Esercitazione sulla programmazione C Linux Parte 12 - Operatori di assegnazione ed espressioni condizionali

  3. Esercitazione sulla programmazione C Linux Parte 11 - Operatori aritmetici, relazionali e logici

  4. Esercitazione sulla programmazione in Linux C Parte 15 - Complemento a 2 secondi e numeri negativi

  5. Esercitazione sulla programmazione C Linux Parte 18:Funzioni ricorsive

Tutorial Jenkins:Nozioni di base per principianti

Tutorial Podman - Nozioni di base per principianti

Tutorial Istio:Guida introduttiva alle nozioni di base di Istio

Scripting della shell Parte 2:accettazione degli input ed esecuzione dell'aritmetica della shell

Procedura:Introduzione alla programmazione:variabili, tipi e manipolazione dei dati

Esercitazione sulle variabili Bash:6 esempi pratici di variabili globali e locali Bash