În c, putem împărți un program mare în blocurile de bază cunoscute sub numele de funcție. Funcția conține setul de instrucțiuni de programare cuprinse de {}. O funcție poate fi apelată de mai multe ori pentru a oferi reutilizabilitate și modularitate programului C. Cu alte cuvinte, putem spune că colecția de funcții creează un program. Funcția este cunoscută și ca procedură sau subrutină în alte limbaje de programare.
Avantajul funcțiilor din C
Există următoarele avantaje ale funcțiilor C.
- Prin utilizarea funcțiilor, putem evita rescrierea aceleiași logici/cod din nou și din nou într-un program.
- Putem apela funcții C de orice număr de ori într-un program și din orice loc dintr-un program.
- Putem urmări cu ușurință un program C mare atunci când este împărțit în mai multe funcții.
- Reutilizarea este principala realizare a funcțiilor C.
- Cu toate acestea, apelarea funcției este întotdeauna o suprasarcină într-un program C.
Aspecte funcționale
Există trei aspecte ale unei funcții C.
SN | Aspecte ale funcției C | Sintaxă |
---|---|---|
1 | Declarație de funcție | return_type function_name (lista de argumente); |
2 | Apel de funcție | nume_funcție (listă_argumente) |
3 | Definirea functiei | return_type function_name (lista de argumente) {function body;} |
Sintaxa de creare a funcției în limbajul c este dată mai jos:
return_type function_name(data_type parameter...){ //code to be executed }
Tipuri de funcții
Există două tipuri de funcții în programarea C:
Valoare returnată
O funcție C poate returna sau nu o valoare din funcție. Dacă nu trebuie să returnați nicio valoare din funcție, utilizați void pentru tipul de returnare.
Să vedem un exemplu simplu de funcție C care nu returnează nicio valoare din funcție.
Exemplu fără valoare returnată:
void hello(){ printf('hello c'); }
Dacă doriți să returnați orice valoare din funcție, trebuie să utilizați orice tip de date, cum ar fi int, long, char etc. Tipul de returnare depinde de valoarea care trebuie returnată de la funcție.
cpp este egal
Să vedem un exemplu simplu de funcție C care returnează valoarea int din funcție.
Exemplu cu valoare returnată:
int get(){ return 10; }
În exemplul de mai sus, trebuie să returnăm 10 ca valoare, deci tipul returnat este int. Dacă doriți să returnați valoarea în virgulă mobilă (de exemplu, 10.2, 3.1, 54.5 etc.), trebuie să utilizați float ca tip de returnare al metodei.
float get(){ return 10.2; }
Acum, trebuie să apelați funcția, pentru a obține valoarea funcției.
Diferite aspecte ale apelării funcțiilor
O funcție poate accepta sau nu orice argument. Poate returna sau nu orice valoare. Pe baza acestor fapte, există patru aspecte diferite ale apelurilor de funcții.
- funcție fără argumente și fără valoare returnată
- funcție fără argumente și cu valoare returnată
- functie cu argumente si fara valoare returnata
- functie cu argumente si cu valoare returnata
Exemplu pentru Funcție fără argument și valoare returnată
Exemplul 1
tutorial scânteie
#include void printName(); void main () { printf('Hello '); printName(); } void printName() { printf('Javatpoint'); }
Ieșire
Hello Javatpoint
Exemplul 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); }
Ieșire
Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34
Exemplu pentru Funcție fără argument și cu valoare returnată
Exemplul 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; }
Ieșire
Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34
Exemplul 2: program pentru a calcula aria pătratului
obțineți lungimea matricei în c
#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; }
Ieșire
Going to calculate the area of the square Enter the length of the side in meters: 10 The area of the square: 100.000000
Exemplu pentru Funcție cu argument și fără valoare returnată
Exemplul 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); }
Ieșire
Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34
Exemplul 2: program pentru calcularea mediei a cinci numere.
#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); }
Ieșire
Going to calculate the average of five numbers: Enter five numbers:10 20 30 40 50 The average of given five numbers : 30.000000
Exemplu pentru Funcție cu argument și cu valoare returnată
Exemplul 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; }
Ieșire
Going to calculate the sum of two numbers: Enter two numbers:10 20 The sum is : 30
Exemplul 2: Program pentru a verifica dacă un număr este par sau impar
#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; } }
Ieșire
Going to check whether a number is even or odd Enter the number: 100 The number is even
C Funcții bibliotecă
Funcțiile bibliotecii sunt funcția încorporată în C care sunt grupate și plasate într-un loc comun numit bibliotecă. Astfel de funcții sunt folosite pentru a efectua unele operații specifice. De exemplu, printf este o funcție de bibliotecă folosită pentru a imprima pe consolă. Funcțiile bibliotecii sunt create de designerii compilatoarelor. Toate funcțiile bibliotecii standard C sunt definite în interiorul diferitelor fișiere de antet salvate cu extensia .h . Trebuie să includem aceste fișiere de antet în programul nostru pentru a folosi funcțiile de bibliotecă definite în astfel de fișiere de antet. De exemplu, pentru a folosi funcțiile de bibliotecă, cum ar fi printf/scanf, trebuie să includem stdio.h în programul nostru, care este un fișier antet care conține toate funcțiile bibliotecii privind intrarea/ieșirea standard.
Lista fișierelor de antet cele mai utilizate este dată în tabelul următor.
SN | Fișier antet | Descriere |
---|---|---|
1 | stdio.h | Acesta este un fișier antet standard de intrare/ieșire. Conține toate funcțiile bibliotecii privind intrarea/ieșirea standard. |
2 | conium.h | Acesta este un fișier antet de intrare/ieșire din consolă. |
3 | sfoară.h | Conține toate funcțiile de bibliotecă legate de șiruri, cum ar fi gets(), puts(), etc. |
4 | stdlib.h | Acest fișier antet conține toate funcțiile generale ale bibliotecii, cum ar fi malloc(), calloc(), exit(), etc. |
5 | matematică.h | Acest fișier antet conține toate funcțiile legate de operațiile matematice, cum ar fi sqrt(), pow(), etc. |
6 | timp.h | Acest fișier antet conține toate funcțiile legate de timp. |
7 | ctip.h | Acest fișier antet conține toate funcțiile de gestionare a caracterelor. |
8 | stdarg.h | Funcțiile de argument variabile sunt definite în acest fișier antet. |
9 | semnal.h | Toate funcțiile de gestionare a semnalului sunt definite în acest fișier antet. |
10 | setjmp.h | Acest fișier conține toate funcțiile de salt. |
unsprezece | local.h | Acest fișier conține funcții locale. |
12 | errno.h | Acest fișier conține funcții de tratare a erorilor. |
13 | afirmă.h | Acest fișier conține funcții de diagnosticare. |
Detalii suplimentare despre funcțiile C sunt furnizate mai jos:
Există mai multe informații suplimentare legate de funcțiile C. Unele dintre ele sunt după cum urmează:
Programare modulară: Abilitatea de a divide A program uriaș în module mai mici, mai ușor de gestionat este unul dintre principalele beneficii ale utilizării funcțiilor în C. Fiecare funcție poate conține un anumit loc de muncă sau o componentă de funcționalitate, care simplifică și clarifică structura generală a programului. Această strategie modulară îmbunătățește reutilizarea codului și facilitează întreținerea și depanarea.
moștenire java
Reutilizarea codului: Folosind funcții, puteți crea un anumit algoritm sau o bucată de logică o singură dată și să-l utilizați în mod repetat pe tot parcursul programului. Puteți apela funcția oricând trebuie să rulați codul, scutindu-vă de a fi nevoit să îl duplicați în altă parte. Nu numai accelerează dezvoltarea dar asigură și consistență și diminuează posibilitatea de a greși.
Încapsulare și abstracție: Prin ascunderea specificului implementării funcționalității, funcțiile oferă un nivel de abstractizare. Interfața unui prototip de funcție poate fi definită în a fișier antet , în timp ce implementarea efectivă poate fi furnizată într-un fișier sursă diferit. Alte părți ale programului pot utiliza funcția fără a fi nevoie să înțeleagă cum este implementată intern datorită separării interfeței și implementării.
Întreținere ușoară a programului: Un program poate fi înțeles și întreținut mai ușor dacă este împărțit în funcții mai mici. Abilitatea de a atribui o responsabilitate specifică fiecărei funcții face codul mai ușor de citit și facilitează depanarea și depanarea. Vă puteți concentra asupra funcției necesare fără a afecta alte părți ale programului dacă este găsită o eroare sau este necesară o modificare.
Colaborare îmbunătățită: Funcțiile permit dezvoltatorilor care lucrează la același proiect să colaboreze. Programul poate fi împărțit în funcții, astfel încât mai mulți membri ai echipei să poată lucra diferite funcții o dată. Dezvoltatorii își pot integra fără probleme munca în funcții dacă interfețele sunt bine specificate, ceea ce îmbunătățește productivitatea și promovează o dezvoltare eficientă.
Trecerea parametrului: Puteți trimite argumente sau date unei funcții în C, astfel încât să le poată procesa. Funcția poate efectua acțiuni și poate genera rezultate folosind aceste intrări. Puteți crește flexibilitatea și adaptabilitatea funcțiilor prin trecerea unor parametri, ceea ce va crește versatilitatea generală a programului dvs.
Valori returnate: Funcțiile pot trimite valori înapoi la codul care le-a numit, permițând comunicarea rezultatelor execuției funcției. Puteți utiliza valoarea returnată în alte zone ale programului după efectuarea calculelor sau manipularea datelor în cadrul funcției. Valori returnate sunt utile în special atunci când trebuie să calculați un rezultat sau să stabiliți o condiție în funcție de rezultatul funcției.
Concluzie:
În concluzie, funcțiile sunt esențiale pentru programarea C, deoarece dau program organizare, reutilizare și modularitate . Dezvoltatorii pot evita crearea în mod repetat a aceluiași cod prin împărțirea programelor uriașe în funcții mai mici, făcând codul mai eficient și mai ușor de întreținut. Oriunde în program poate apela o funcție, oferind flexibilitate și îmbunătățind fluxul de control.
The declarație, apel , și definiție de funcții sunt doar câteva dintre numeroasele lor caracteristici. Compilatorul este informat de declarația funcției a nume, argumente , și tip de returnare . Este posibil să apelați o funcție cu sau fără parametrii și cu sau fără a valoare returnată . Programatorii construiesc funcții definite de utilizator pentru a îmbunătăți lizibilitatea și optimizarea codului lor, în timp ce funcțiile bibliotecii C cum ar fi printf() și scanf() oferă capabilități prestabilite.
În general, funcțiile sunt blocuri de bază esențiale în programarea C, oferind beneficii, inclusiv organizarea sporită, reutilizarea codului și urmărirea simplă a programelor uriașe. Apelurile de funcții ar putea adăuga unele cheltuieli generale, dar avantajele lor depășesc impactul minim de performanță. Programatorii pot scrie programe C eficiente și modulare prin înțelegerea și utilizarea funcțiilor.