In c, possiamo dividere un programma di grandi dimensioni negli elementi costitutivi di base noti come funzione. La funzione contiene l'insieme di istruzioni di programmazione racchiuse da {}. Una funzione può essere chiamata più volte per fornire riusabilità e modularità al programma C. In altre parole possiamo dire che l'insieme delle funzioni crea un programma. La funzione è anche conosciuta come procedura O sottoprogramma in altri linguaggi di programmazione.
Vantaggio delle funzioni in C
I vantaggi delle funzioni C sono i seguenti.
- Utilizzando le funzioni, possiamo evitare di riscrivere la stessa logica/codice ancora e ancora in un programma.
- Possiamo chiamare le funzioni C un numero qualsiasi di volte in un programma e da qualsiasi punto del programma.
- Possiamo tenere traccia facilmente di un programma C di grandi dimensioni quando è suddiviso in più funzioni.
- La riusabilità è il risultato principale delle funzioni C.
- Tuttavia, la chiamata di funzione rappresenta sempre un sovraccarico in un programma C.
Aspetti funzionali
Ci sono tre aspetti di una funzione C.
SN | Aspetti della funzione C | Sintassi |
---|---|---|
1 | Dichiarazione di funzione | return_type nome_funzione (elenco argomenti); |
2 | Chiamata di funzione | nome_funzione (elenco_argomenti) |
3 | Definizione della funzione | return_type nome_funzione (elenco argomenti) {corpo della funzione;} |
La sintassi per creare la funzione in linguaggio c è la seguente:
return_type function_name(data_type parameter...){ //code to be executed }
Tipi di funzioni
Nella programmazione C esistono due tipi di funzioni:
Valore di ritorno
Una funzione C può restituire o meno un valore dalla funzione. Se non devi restituire alcun valore dalla funzione, utilizza void come tipo restituito.
Vediamo un semplice esempio di funzione C che non restituisce alcun valore dalla funzione.
Esempio senza valore restituito:
void hello(){ printf('hello c'); }
Se vuoi restituire qualsiasi valore dalla funzione, devi utilizzare qualsiasi tipo di dati come int, long, char, ecc. Il tipo restituito dipende dal valore da restituire dalla funzione.
cpp è uguale
Vediamo un semplice esempio di funzione C che restituisce il valore int dalla funzione.
Esempio con valore restituito:
int get(){ return 10; }
Nell'esempio precedente, dobbiamo restituire 10 come valore, quindi il tipo restituito è int. Se desideri restituire un valore in virgola mobile (ad esempio 10.2, 3.1, 54.5, ecc.), devi utilizzare float come tipo restituito del metodo.
float get(){ return 10.2; }
Ora devi chiamare la funzione per ottenere il valore della funzione.
Diversi aspetti della chiamata di funzione
Una funzione può accettare o meno qualsiasi argomento. Può restituire o meno alcun valore. Sulla base di questi fatti, esistono quattro diversi aspetti delle chiamate di funzione.
- funzione senza argomenti e senza valore restituito
- funzione senza argomenti e con valore restituito
- funzione con argomenti e senza valore restituito
- funzione con argomenti e con valore restituito
Esempio di funzione senza argomento e valore restituito
Esempio 1
#include void printName(); void main () { printf('Hello '); printName(); } void printName() { printf('Javatpoint'); }
Produzione
eliminare il file in Java
Hello Javatpoint
Esempio 2
#include void sum(); void main() { printf(' Going to calculate the sum of two numbers:'); sum(); } void sum() { int a,b; printf(' Enter two numbers'); scanf('%d %d',&a,&b); printf('The sum is %d',a+b); }
Produzione
Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34
Esempio di funzione senza argomento e con valore restituito
Esempio 1
#include int sum(); void main() { int result; printf(' Going to calculate the sum of two numbers:'); result = sum(); printf('%d',result); } int sum() { int a,b; printf(' Enter two numbers'); scanf('%d %d',&a,&b); return a+b; }
Produzione
Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34
Esempio 2: programma per calcolare l'area del quadrato
Lettore multimediale vlc scarica youtube
#include int sum(); void main() { printf('Going to calculate the area of the square '); float area = square(); printf('The area of the square: %f ',area); } int square() { float side; printf('Enter the length of the side in meters: '); scanf('%f',&side); return side * side; }
Produzione
Going to calculate the area of the square Enter the length of the side in meters: 10 The area of the square: 100.000000
Esempio di funzione con argomento e senza valore restituito
Esempio 1
#include void sum(int, int); void main() { int a,b,result; printf(' Going to calculate the sum of two numbers:'); printf(' Enter two numbers:'); scanf('%d %d',&a,&b); sum(a,b); } void sum(int a, int b) { printf(' The sum is %d',a+b); }
Produzione
Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34
Esempio 2: programma per calcolare la media di cinque numeri.
#include void average(int, int, int, int, int); void main() { int a,b,c,d,e; printf(' Going to calculate the average of five numbers:'); printf(' Enter five numbers:'); scanf('%d %d %d %d %d',&a,&b,&c,&d,&e); average(a,b,c,d,e); } void average(int a, int b, int c, int d, int e) { float avg; avg = (a+b+c+d+e)/5; printf('The average of given five numbers : %f',avg); }
Produzione
Going to calculate the average of five numbers: Enter five numbers:10 20 30 40 50 The average of given five numbers : 30.000000
Esempio di funzione con argomento e con valore restituito
Esempio 1
#include int sum(int, int); void main() { int a,b,result; printf(' Going to calculate the sum of two numbers:'); printf(' Enter two numbers:'); scanf('%d %d',&a,&b); result = sum(a,b); printf(' The sum is : %d',result); } int sum(int a, int b) { return a+b; }
Produzione
Going to calculate the sum of two numbers: Enter two numbers:10 20 The sum is : 30
Esempio 2: programma per verificare se un numero è pari o dispari
#include int even_odd(int); void main() { int n,flag=0; printf(' Going to check whether a number is even or odd'); printf(' Enter the number: '); scanf('%d',&n); flag = even_odd(n); if(flag == 0) { printf(' The number is odd'); } else { printf(' The number is even'); } } int even_odd(int n) { if(n%2 == 0) { return 1; } else { return 0; } }
Produzione
Going to check whether a number is even or odd Enter the number: 100 The number is even
Funzioni della libreria C
Le funzioni di libreria sono funzioni integrate in C raggruppate e posizionate in un luogo comune chiamato libreria. Tali funzioni vengono utilizzate per eseguire alcune operazioni specifiche. Ad esempio, printf è una funzione di libreria utilizzata per stampare sulla console. Le funzioni della libreria sono create dai progettisti dei compilatori. Tutte le funzioni della libreria standard C sono definite all'interno dei diversi file header salvati con l'estensione .H . Dobbiamo includere questi file di intestazione nel nostro programma per utilizzare le funzioni di libreria definite in tali file di intestazione. Ad esempio, per utilizzare le funzioni di libreria come printf/scanf dobbiamo includere stdio.h nel nostro programma che è un file di intestazione che contiene tutte le funzioni di libreria relative all'input/output standard.
L'elenco dei file header maggiormente utilizzati è riportato nella tabella seguente.
SN | File di intestazione | Descrizione |
---|---|---|
1 | stdio.h | Questo è un file di intestazione di input/output standard. Contiene tutte le funzioni della libreria riguardanti gli input/output standard. |
2 | conio.h | Questo è un file di intestazione di input/output della console. |
3 | stringa.h | Contiene tutte le funzioni di libreria relative alle stringhe come goes(), puts(), ecc. |
4 | stdlib.h | Questo file di intestazione contiene tutte le funzioni generali della libreria come malloc(), calloc(), exit(), ecc. |
5 | matematica.h | Questo file di intestazione contiene tutte le funzioni relative alle operazioni matematiche come sqrt(), pow(), ecc. |
6 | ora.h | Questo file di intestazione contiene tutte le funzioni relative al tempo. |
7 | ctype.h | Questo file di intestazione contiene tutte le funzioni di gestione dei caratteri. |
8 | stdarg.h | Le funzioni degli argomenti variabili sono definite in questo file di intestazione. |
9 | segnale.h | Tutte le funzioni di gestione del segnale sono definite in questo file di intestazione. |
10 | setjmp.h | Questo file contiene tutte le funzioni di salto. |
undici | locale.h | Questo file contiene funzioni locali. |
12 | errno.h | Questo file contiene funzioni di gestione degli errori. |
13 | affermare.h | Questo file contiene funzioni di diagnostica. |
Ulteriori dettagli riguardanti le funzioni C sono forniti di seguito:
Sono disponibili numerose informazioni aggiuntive relative alle funzioni C. Alcuni di essi sono i seguenti:
Programmazione modulare: L'abilità di dividere UN programma enorme in moduli più piccoli e più gestibili è uno dei principali vantaggi dell'utilizzo delle funzioni in C. Ciascuna funzione potrebbe contenere un particolare lavoro o componente di funzionalità, che semplifica e chiarisce la struttura complessiva del programma. Questa strategia modulare migliora il riutilizzo del codice e semplifica la manutenzione e il debug.
centrare un'immagine in css
Riutilizzo del codice: Utilizzando le funzioni, è possibile creare un determinato algoritmo o elemento logico solo una volta e utilizzarlo ripetutamente nel programma. Puoi semplicemente chiamare la funzione ogni volta che devi eseguire il codice, evitando di doverlo duplicare altrove. Non solo accelera lo sviluppo ma garantisce anche coerenza e riduce la possibilità di commettere errori.
Incapsulamento e astrazione: Oscurando le specifiche dell'implementazione delle funzionalità, le funzioni offrono un livello di astrazione. L'interfaccia di un prototipo di funzione può essere definita in a file di intestazione , mentre l'implementazione effettiva può essere fornita in un file sorgente diverso. Altre parti del programma possono utilizzare la funzione senza la necessità di comprendere come è implementata internamente a causa della separazione tra interfaccia e implementazione.
Manutenzione semplice del programma: Un programma può essere compreso e mantenuto più facilmente se è suddiviso in funzioni più piccole. La possibilità di assegnare una responsabilità specifica a ciascuna funzione rende il codice più leggibile e semplifica la risoluzione dei problemi e il debug. Puoi concentrarti sulla funzione necessaria senza influenzare altre parti del programma se viene trovato un errore o è necessaria una modifica.
Collaborazione migliorata: Le funzioni consentono agli sviluppatori che lavorano sullo stesso progetto di collaborare. Il programma può essere suddiviso in funzioni in modo che possano lavorare più membri del team diverse funzioni subito. Gli sviluppatori possono integrare senza problemi il proprio lavoro nelle funzioni se le interfacce sono ben specificate, il che migliora la produttività e promuove uno sviluppo efficace.
Passando il parametro: Puoi inviare argomenti o dati a una funzione in C in modo che possa elaborarli. La funzione può eseguire azioni e generare risultati utilizzando questi input. Puoi aumentare la flessibilità e l'adattabilità delle funzioni passando parametri, il che aumenterà la versatilità complessiva del tuo programma.
Valori restituiti: Le funzioni possono inviare valori al codice che le ha chiamate, consentendo la comunicazione dei risultati di esecuzione della funzione. È possibile utilizzare il valore restituito in altre aree del programma dopo aver eseguito calcoli o manipolazione dei dati all'interno della funzione. Valori restituiti sono particolarmente utili quando è necessario calcolare un risultato o stabilire una condizione in base all'output della funzione.
Conclusione:
In conclusione, le funzioni sono essenziali per la programmazione in C perché forniscono un programma organizzazione, riusabilità e modularità . Gli sviluppatori possono evitare di creare ripetutamente lo stesso codice suddividendo programmi enormi in funzioni più piccole, rendendo il codice più efficace e più semplice da mantenere. In qualsiasi punto del programma è possibile richiamare una funzione, garantendo flessibilità e migliorando il flusso di controllo.
IL dichiarazione, chiamata , E definizione di funzioni sono solo alcune delle loro numerose caratteristiche. Il compilatore viene informato dalla dichiarazione della funzione del file nome, argomenti , E tipo di restituzione . È possibile chiamare una funzione con o senza parametri e con o senza a valore di ritorno . I programmatori costruiscono funzioni definite dall'utente per migliorare la leggibilità e l'ottimizzazione del loro codice, mentre la libreria C funziona come printf() E scanf() fornire funzionalità preimpostate.
Nel complesso, le funzioni sono elementi fondamentali nella programmazione C, poiché offrono vantaggi tra cui una maggiore organizzazione, il riutilizzo del codice e il semplice monitoraggio di programmi di grandi dimensioni. Le chiamate di funzione potrebbero aggiungere un po' di sovraccarico, ma i loro vantaggi superano il minimo impatto sulle prestazioni. I programmatori possono scrivere programmi C efficaci e modulari comprendendo e utilizzando le funzioni.