[C]Scrivere un programma che sommi due numeri

Andare in basso

[C]Scrivere un programma che sommi due numeri

Messaggio  Admin il Dom Lug 24, 2011 10:44 am

I termini: libreria e funzione sono molto usati in programmazione, ma cosa vogliono dire?

LIBRERIA: si potrebbe considerare come un insieme di funzioni, la libreria standard (stdio.h) mette a disposizione diverse funzioni come: printf, scanf, ecc.
FUNZIONI: permettono di compiere delle azioni, la printf permetterà di scrivere una scritta su schermo ecc.

Ho scritto una mini guida su come creare il primo programma (Hello World), la guida lo analizza, ma si può benissimo leggere solo per imparare la struttura di un programma: http://channelone88.forumattivo.it/t11-canalizzare-hello-world#17

I commenti in ci si iniziano con /* e si finiscono con */

Ecco il codice del programma per sommare due numeri:

#include<stdio.h>

int main (void) {
int numero1;
int numero2;

printf ("Dammi il primo numero: ");
scanf ("%d", &numero1 );

printf ("Dammi il secondo numero: ");
scanf ("%d", &numero2);

printf ("La somma: %d", numero1 + numero2 );

return 0;
}

Ribadisco le parti che ci devono sempre essere in un programma in C:
-Importare le librerie
-La funzione main

Oltre alle altre istruzioni che ho già spiegato, io ho messo anche dei simboli: %d , questa è una specifica di conversione, si può usare benissimo con printf e scanf essa sta a dire al compilatore che si deve aspettare un tipo di dato che è quello indicato dalla specifica.

%d si usa per dire al compilatore di aspettarsi un numero intero.

In printf si usa per far visualizare una variabile e il tipo di essa delle essere quello presente nella specifica.

In questo post: http://channelone88.forumattivo.it/t11-canalizzare-hello-world#17
ho detto che una variabile è come una scatola in cui possiamo metterci dentro un oggetto, ecco come si può fare questo!

La sua sintassi è la seguente:
scanf ("specifica di conversione", &nome variabile);

Non mettere la e-commerciale (in C detta ampersand), non provocherà un errore di sintassi ma un errore logico (cioè un errore durante l'esecuzione di un programma), l'importanza dell'ampersand è notevole, ne farò un post a parte.

Nello scanf per mettere in una variabile di tipo int (intero) un numero tale si usa proprio %d.

Printf può anche eseguire operazioni matematiche come ho fatto io nel codice.

printf ("Somma: %d", numero1 + numero2);

In printf non ci va l'ampersand, in quanto non deve immagazzinare un dato.

%d nella printf si può mettere in qualunque parte (ma che resti in mezzo a elle due " ); e le operazioni (o le variabili), vanno importate all'esterno dei due " e se si mettono più specifice, le variabili (o operazioni) corrispondente ad esse sono quelle che vanno in ordine di lunghezza...mi spiego meglio, se io ho una specifica che è in fondo ai due " la prima variabile sarà quella corrispondente ad essa, esempio:

printf ("%d, %d, %d", prova1, prova2, prova3 + prova 2 );

e quando mettete le variabili al di fuori dei due apici ( " ), ci va sempre la virgola per separarli.

Questo programma, si può dire che è a "scarsa efficienza", in quanto fa un uso più ampio della memoria, ci sarebbe un modo per ridurre sensibilmente questo spreco, ma ne farò un post a parte.

Un saluto!
avatar
Admin
Admin
Admin

Messaggi : 148
Punti : 15842
Reputazione : 0
Data d'iscrizione : 24.04.11
Età : 39
Località : Emiglia Romagna

Visualizza il profilo http://c88software.blogspot.com

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum