• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Esercizio di C #1 - Somma fra due numeri

Ignazio96

Utente Guru
Autore del topic
User Legend
9 Marzo 2008
10.985
155
Miglior risposta
0
Salve a tutti,

ho deciso che da oggi mi dedicherò a postare una serie di esercizi in C partendo dai più facili che potranno servire per chi si vuole divertire utilizzando questo bel linguaggio di programmazione ma non ha idee per iniziare a sviluppare o semplicemente vuole guardare qualche codice per imparare qualcosa in più.
Ovviamente inizierò con degli esercizi semplici , come quello di oggi , per poi ad arrivare ad esercizi molto più complicati. Gli esercizi saranno per argomenti e seguiranno un normale programma di apprendimento del linguaggio.
Partiamo dunque con il primo esercizio che coinvolgerà le variabili e gli operatori.
Di seguito posterò la dicitura dell'esercizio e subito dopo il codice con la relativa spiegazione. Il mio consiglio è di sviluppare il vostro programma subito dopo aver letto la dicitura dell'esercizio senza guardare subito al codice e di riferirsi ad esso solo per verificare la correttezza del proprio codice oppure in caso di qualche dubbio.

Vi invito a postare uno screen dei vostri risultati una volta creato il vostro programma ed eventualmente a postare anche i vostri codici nel caso presentino qualche alternativa al mio codice così da arricchire la nostra conoscenza a vicenda.

Iniziamo!

ESERCIZIO #1 - SOMMA FRA DUE NUMERI

Realizzare un programma che rilevi da tastiera due numeri interi e poi proceda a fare la somma di quest'ultimi.

SOLUZIONE

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Il codice è abbastanza semplice e racchiude le basi del C . Inizia con l'inclusione di due header files essenziali: stdio.h ed stdlib.h .
Registro poi le tre variabili , ci sono due modi per farlo:

Quello che ho scelto io è di dichiarare il tipo di variabili un'unica volta e dichiarare le tre variabili in una sola riga così:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Questo metodo è molto semplice ma riduce la leggibilità del codice , quindi è sconsigliato su grandi codici.

Un altro metodo che si potrebbe utilizzare è quello classico, ovvero di dichiarare le variabili per riga, così:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Chiedo poi i numeri da inserire ad uno ad uno stampando a video la richiesta con printf e dopo chiedo di inserire un numero da tastiera con scanf .

A questo punto non resta che fare la somma tra le due variabili che ora hanno registrato i valori dell'utente e subito dopo stampare il risultato a video con
printf.

Postate i vostri codici!

Alla prossima!
 
Ultima modifica:
Oppure un altro metodo sarebbe quello di dichiarare un array di n elementi (n: dimensione del vettore) e sommare con un "ciclo for" tutti gli elementi.

HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

C'è un errore di sintassi nel tuo codice: @Ignazio96


HTML:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Ultima modifica:
  • Like
Reactions: 1 person
Oppure un altro metodo sarebbe quello di dichiarare un array di n elementi (n: dimensione del vettore) e sommare con un "ciclo for" tutti gli elementi.

HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

C'è un errore di sintassi nel tuo codice: @Ignazio96


HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

Grazie mille per la segnalazione dell'errore, provvedo subito a corregere, era notte e stavo un po' stanco :emoji_relieved:

Comunque sia , ottima alternativa ma il fatto è che , come detto nel topic , voglio procedere con calma e voglio andare per livelli. Ciò non toglie che il tuo intervento sia ottimo e ne sono molto contento!

Grazie di aver aderito al progetto!

Bella iniziativa, spero tanto che vada a buon fine :emoji_slight_smile:

Grazie mille, lo spero anche io!
 
  • Like
Reactions: 1 person
Una bella iniziativa. Comunque aggiungo una cosa semplice a livello teorico : ogni volta che si dichiara una variabile viene allocata la memoria necessaria per quella variabile ( la quantità di byte allocata dipende dal tipo della variabile stessa ); perciò devo usare una quantità di memoria adatta al mio programma. A proposito di quantità, e qui l'aggiunta teorica alla discussione, in questo programma è dichiarata la variabile c che contiene la somma delle variabili a e b, ora questa somma può essere gestita in modo differente risparmiando ( anche se pochissima ) memoria : nella funzione printf anziché passare c come parametro posso passare a + b eliminando la variabile c. In altre parole :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Il funzionamento è identico, ma con questo metodo si risparmia memoria; non tantissima, ma è bene saperlo a livello teorico.

Il codice è abbastanza semplice e racchiude le basi del C . Inizia con l'inclusione di due librerie essenziali: stdio.h ed stdlib.h .


Non sono librerie, si chiamano header file ( da qui l'estensione .h ) e contengono riferimenti a delle funzioni che si trovano nelle vere e proprie librerie. Le librerie sono soltanto due : esistono quelle a collegamento dinamico ( quelle con estensione .dll [Dynamic Link Library]) e a collegamento statico ( quelle con estensione .lib ).
 
  • Like
Reactions: 2 people
Una bella iniziativa. Comunque aggiungo una cosa semplice a livello teorico : ogni volta che si dichiara una variabile viene allocata la memoria necessaria per quella variabile ( la quantità di byte allocata dipende dal tipo della variabile stessa ); perciò devo usare una quantità di memoria adatta al mio programma. A proposito di quantità, e qui l'aggiunta teorica alla discussione, in questo programma è dichiarata la variabile c che contiene la somma delle variabili a e b, ora questa somma può essere gestita in modo differente risparmiando ( anche se pochissima ) memoria : nella funzione printf anziché passare c come parametro posso passare a + b eliminando la variabile c. In altre parole :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Il funzionamento è identico, ma con questo metodo si risparmia memoria; non tantissima, ma è bene saperlo a livello teorico.



Non sono librerie, si chiamano header file ( da qui l'estensione .h ) e contengono riferimenti a delle funzioni che si trovano nelle vere e proprie librerie. Le librerie sono soltanto due : esistono quelle a collegamento dinamico ( quelle con estensione .dll [Dynamic Link Library]) e a collegamento statico ( quelle con estensione .lib ).

Grazie mille della correzione e della piccola lezione teorica , modifico subito il topic! ^^

Comunque mi fa piacere che questa iniziativa vi sia piaciuta e che vi siate interessati al topic , grazie! :emoji_slight_smile:
 
Caro @System32, ormai è risaputo che oltre a rappresentare la cartella più inutile di tutto Windows sei anche un guru del C. :emoji_relieved: Devo dire che anche io avevo pensato alle tue argomentazioni teoriche, ma non ho risposto in quanto non mi sembrava la giusta sede per puntualizzare questi argomenti. :emoji_relieved:
Anyway vai Ignazio, vediamo quanto duri con queste lezioni semplici e ben spiegate. :soso:
 
Caro @System32, ormai è risaputo che oltre a rappresentare la cartella più inutile di tutto Windows sei anche un guru del C. :emoji_relieved: Devo dire che anche io avevo pensato alle tue argomentazioni teoriche, ma non ho risposto in quanto non mi sembrava la giusta sede per puntualizzare questi argomenti. :emoji_relieved:
Anyway vai Ignazio, vediamo quanto duri con queste lezioni semplici e ben spiegate. :soso:
 
Caro @System32, ormai è risaputo che oltre a rappresentare la cartella più inutile di tutto Windows sei anche un guru del C. :emoji_relieved: Devo dire che anche io avevo pensato alle tue argomentazioni teoriche, ma non ho risposto in quanto non mi sembrava la giusta sede per puntualizzare questi argomenti. :emoji_relieved:
Anyway vai Ignazio, vediamo quanto duri con queste lezioni semplici e ben spiegate. :soso:

Spero di durare il più a lungo possibile , grazie! :emoji_relieved:

Comunque non sono lezioni, sono semplicemente esercizi spiegati , non mi ritengo un maestro in quanto anche io so ancora poco di C ma quel che so vorrei condividerlo man mano che imparo anche io.
In realtà ammetto che fare queste cose serve anche a me per ricevere commenti utili da utenti più esperti ed imparare tante cose nuove e varianti degli esercizi! ^^
 
@Dvdxseo Il fatto che leggendo questa discussione ti sia venuto in mente quello che hai trovato scritto da me allora è una buona cosa, significa che hai letto da buone fonti, come ho fatto io tra l'altro. Comunque hai scritto due volte lo stesso messaggio :soso:
@Ignazio96 Se ti dovesse servire una mano per qualcosa dimmelo.
 
@Dvdxseo Il fatto che leggendo questa discussione ti sia venuto in mente quello che hai trovato scritto da me allora è una buona cosa, significa che hai letto da buone fonti, come ho fatto io tra l'altro. Comunque hai scritto due volte lo stesso messaggio :soso:
@Ignazio96 Se ti dovesse servire una mano per qualcosa dimmelo.

Va benissimo , grazie mille! ^^
 
io sto iniziando il c :emoji_slight_smile: grazie seguirò anche le tue guide ^^

Ribadisco che le mie non sono guide, sono semplicemente esercizi che puoi divertirti a fare per fissare le tue conoscenze! :emoji_slight_smile:

Inizia il primo capitolo di C , dovrebbe essere Variabili ed Operatori , poi spulcia questa guida e vedi se riesci a fare questo esercizio, ti aiuterà a capire se davvero hai compreso la prima parte! :emoji_smiley:

Grazie e ciao!