feed
top
crea forum
cerca
feed
forum
supporto
discussione
cerca
JEHOVA e la NUOVA GERUSALEMME > INIZIO <
Blog libero tutti possono commentare nella zona chiacchiere tutti possono dire la sua , la CHAT è libera tutti possono usarla
Cerca
INDICE, Appunti per la programmazione C
Accedi
10) Le Funzioni (ricordate io sono un Autodidatta e trascrivo quello che ho letto e capito )
Messaggi
OFF
LINE
JehovaZorobabele
Post: 257
Post: 246
Registrato il: 02/03/2016
Registrato il: 03/03/2016
Sesso: Maschile
0
0
05/05/2016
11:15
Vediamo il meccanismo delle funzioni con un programma con 2 funzioni una vuota e l' altra con il passaggio di parametri
Dentro le funzioni possiamo metterci il lavoro
sporco , per poi richiamarle dentro il programma o funzione principale il
MAIN
con un semplice
( nome (); )
come potete capire anzi che fare delle grandi
operazioni dentro il main è bene farle dentro le funzioni poi le funzioni evita
di fare i doppi lavori se serve un’ istruzione più di una volta allora la
funzione basta richiamarla dove desideriamo, anche il
printf e scanf
sono
funzioni del compilatore che noi richiamiamo ogni
file .H eader
contiene le sue
funzioni che poi noi richiamiamo dentro i nostri programmi proprio per questo
che dentro questo linguaggio C c’è pochissimi comandi o istruzioni grazie alle
funzioni già costruite
La prima cosa che si fa per le funzioni , devono
essere dichiarate con il prototipo in globale come si dichiara le variabili o
le costanti, per dichiarare una Funzione
abbiamo:
tipo_restituito nome_funzione (parametro1, parametro2);
Questo prototipo serve per dire al programma che
c’è questa funzione che usa i parametri
1 e 2 e mi viene restituito un tipo di
calcolo i tipi sono proprio il tipo di variabili int, double, float o void che è vuoto , senza
questa dichiarazione sarebbe come utilizzare una variabile senza averla prima
dichiarata cosi il compilatore da errori
se non viene inserito nessun tipo allora viene considerata int per uscire da queste funzioni non void si usa
il
RETURN
come già detto le variabili o
le costanti globali vanno inserite prima del
MAIN ()
e dopo i comandi del
preprocessore ecco come si dichiara una funzione vediamola da vicino il primo int è quello che ci
restituisce
(tipo_restituito )
la funzione somma ,
(somma è il nome della funzione )
(int , int)
sono i (parametri 1 e 2) che la funzione prende per fare i suoi calcoli
int somma (int,
int );
Creata questo prototipo della funzione il compilatore stesso VS2015 ci fa
creare la funzione e la colloca alla fine del programma generale giù in fondo
dopo la graffa che chiude tutto il programma, (questo se il (main () {
istruzioni }) è stato già creato), altrimenti viene collegata direttamente
sotto la dichiarazione della stessa e il compilatore da errore perché non vede
il programma principale , costruita la funzione prototipo vedrete il nome della funzione sottolineata
in verde , portate il mouse sopra il nome compare una lampadina con la scelta (crea
la definizione) questo fatelo dopo che avete inserito il programma principale cosi
create la vera funzione che è il nome del prototipo con 2 graffe sotto , nella
parte parametro 1e 2 dobbiamo inserire il nome delle variabili se non lo
abbiamo fatto su nel prototipo e questo è il
passaggio
per valore
, possiamo anche fare il
passaggio per riferimento
che
vedremo poi con i puntatori
Al compilatore gli interessa sapere su cosa
lavorare, ovvero deve sapere che tipo di variabili o costanti usiamo
int, double, float,
oppure
void
vuoto ,
se non scriviamo nulla il compilatore considera tutto
int
e lavora su i numeri interi ecco un esempio di una funzione vuota
inserisce solo una intestazione quando
chiamiamo la stessa funzione, nello
stesso programma inserisco una seconda funzione per una somma di numeri reali float e qui come spiegato
prima si esce dalla funzione grazie al RETURN ecco il programmmino funzionante :
<---------------------- inizio programma --------------->
#include<stdio.h>
#include<stdlib.h>
//
i 2 prototipi delle 2 funzioni inseriti nella
void
intestazione();
//
sezione globale che rimane tra #include e il main
float somma(float, float);
//
le 2 funzioni una è void l'altra tutto float
main() {
float aa, bb, cc;
intestazione();
//
richiamo della prima funzione che è l'intestazione
//si
richiede 2 numeri che dobbiamo sommarli dentro la funzione
printf("
\n
Inseriamo un numero reale AA ");
scanf("%
f",&aa);
printf("\n
Inserisci un numero reale BB ");
scanf("%f
",&bb);
cc =
somma(aa,bb);
/*
cc è il risultato che devo riprendere dalla funzione per poi ristamparlo qui sotto con la printf */
printf("\n
La somma e' di
%.2f\n ", cc);
printf("\n
Fine ");
intestazione();
//di
nuovo la mia intestazione come su
system("pause");
}
//fine
del programma main ora qui sotto troviamo le funzioni
void intestazione()
//
funzione dell'
intestazione
{
printf(" [ ByMpt-Zorobabele ] PROVA LE FUNZIONI LA
SOMMA AA + BB \n\n");
}
float somma(float a, float b)
//funzione
della somma guardate le variabili
{
//
sono tutte diverse da quelle usate nella funzione
float c;
//
principale del main su si usa AA, BB,CC contro A,B,C
c= a + b;
return c ;
//
come spiegato prima nella lezione 9 ecco il RETURN
}
<----------------------- fine programma ---------------------------->
Ecco il video stampato dove troviamo le 2 intestazioni , inserimento dei numeri12.30 e 5.70 e la somma 18 :
[ ByMpt-Zorobabele ] PROVA LE
FUNZIONI LA SOMMA AA + BB
Inseriamo un numero reale AA 12.30
Inserisci un numero reale BB 5.70
La somma e' di 18.00
Fine [
ByMpt-Zorobabele ] PROVA LE FUNZIONI LA SOMMA
AA + BB
Premere un tasto per continuare . . .
Ciao grazie ByMpt-Zorobabele
[
Modificato da JehovaZorobabele 05/05/2016 11:25
]
1
5
MediaObject
1,88
30
1
Tag discussione
funzione
funzioni
procedure
c programmazione
programmazione c
vs2015
funzione printf
funzione scanf
bympt-zorobabele
Registrati
Accedi
INDICE, Appunti per la programmazione C
Accedi
IL MIO PROFILO
LE MIE DISCUSSIONI
FORUM CHE SEGUI
LA MIA FORUM-CARD
MODIFICA FORUM-CARD
FAQ
TRADUCI
LOGOUT
Accedi
Registrati
FAQ
TRADUCI
Scatta o carica foto
Allega file
Inserisci link da url (card)
Incorpora url (YouTube/Twitter/...)
ACCETTA
RIFIUTA
Anteprima