logo

C Funcions

A c, podem dividir un programa gran en els blocs bàsics coneguts com a funció. La funció conté el conjunt d'instruccions de programació tancades per {}. Una funció es pot cridar diverses vegades per proporcionar reutilitzabilitat i modularitat al programa C. En altres paraules, podem dir que la col·lecció de funcions crea un programa. La funció també es coneix com procediment o subrutina en altres llenguatges de programació.

Avantatge de les funcions en C

Hi ha els següents avantatges de les funcions C.

  • Mitjançant l'ús de funcions, podem evitar reescriure la mateixa lògica/codi una i altra vegada en un programa.
  • Podem cridar funcions C qualsevol nombre de vegades en un programa i des de qualsevol lloc d'un programa.
  • Podem rastrejar fàcilment un programa C gran quan es divideix en múltiples funcions.
  • La reutilització és el principal assoliment de les funcions C.
  • Tanmateix, la crida a la funció és sempre una sobrecàrrega en un programa C.

Aspectes de funció

Hi ha tres aspectes d'una funció C.

    Declaració de funcióUna funció s'ha de declarar globalment en un programa c per informar al compilador sobre el nom de la funció, els paràmetres de la funció i el tipus de retorn.
    Crida de funcióLa funció es pot cridar des de qualsevol lloc del programa. La llista de paràmetres no ha de diferir en la crida de funcions i la declaració de funcions. Hem de passar el mateix nombre de funcions que es declara a la declaració de funcions.Definició de la funcióConté les declaracions reals que s'han d'executar. És l'aspecte més important al qual arriba el control quan es crida la funció. Aquí, hem de notar que només es pot retornar un valor de la funció.
SNAspectes de la funció CSintaxi
1Declaració de funcióreturn_type nom_funció (llista d'arguments);
2Crida de funciónom_funció (llista_arguments)
3Definició de la funciótipus_retorn nom_funció (llista d'arguments) {cos de la funció;}

La sintaxi de creació de funcions en llenguatge c es mostra a continuació:

 return_type function_name(data_type parameter...){ //code to be executed } 

Tipus de Funcions

Hi ha dos tipus de funcions a la programació en C:

    Funcions de la biblioteca:són les funcions que es declaren als fitxers de capçalera C com ara scanf(), printf(), gets(), puts(), ceil(), floor(), etc.Funcions definides per l'usuari:són les funcions que crea el programador C, de manera que ell/ella pot utilitzar-lo moltes vegades. Redueix la complexitat d'un gran programa i optimitza el codi.
Funció C

Valor de retorn

Una funció C pot o no retornar un valor de la funció. Si no heu de retornar cap valor de la funció, utilitzeu void per al tipus de retorn.

Vegem un exemple senzill de funció C que no retorna cap valor de la funció.

Exemple sense valor de retorn:

 void hello(){ printf('hello c'); } 

Si voleu retornar qualsevol valor de la funció, heu d'utilitzar qualsevol tipus de dades, com ara int, long, char, etc. El tipus de retorn depèn del valor que es retorni de la funció.

que gran és aquest monitor

Vegem un exemple senzill de funció C que retorna el valor int de la funció.

Exemple amb valor de retorn:

 int get(){ return 10; } 

A l'exemple anterior, hem de retornar 10 com a valor, de manera que el tipus de retorn és int. Si voleu retornar un valor de coma flotant (per exemple, 10.2, 3.1, 54.5, etc.), heu d'utilitzar float com a tipus de retorn del mètode.

 float get(){ return 10.2; } 

Ara, cal cridar la funció per obtenir el valor de la funció.

Diferents aspectes de la trucada de funcions

Una funció pot acceptar o no cap argument. Pot tornar o no cap valor. A partir d'aquests fets, hi ha quatre aspectes diferents de les trucades de funció.

clau ins
  • funció sense arguments i sense valor de retorn
  • funció sense arguments i amb valor de retorn
  • funció amb arguments i sense valor de retorn
  • funció amb arguments i amb valor de retorn

Exemple de funció sense argument i valor de retorn

Exemple 1

 #include void printName(); void main () { printf('Hello '); printName(); } void printName() { printf('Javatpoint'); } 

Sortida

 Hello Javatpoint 

Exemple 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); } 

Sortida

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Exemple de funció sense argument i amb valor de retorn

Exemple 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; } 

Sortida

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Exemple 2: programa per calcular l'àrea del quadrat

descarregar vídeo de youtube vlc
 #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; } 

Sortida

 Going to calculate the area of the square Enter the length of the side in meters: 10 The area of the square: 100.000000 

Exemple de funció amb argument i sense valor de retorn

Exemple 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); } 

Sortida

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Exemple 2: programa per calcular la mitjana de cinc nombres.

 #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); } 

Sortida

 Going to calculate the average of five numbers: Enter five numbers:10 20 30 40 50 The average of given five numbers : 30.000000 

Exemple de funció amb argument i amb valor de retorn

Exemple 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; } 

Sortida

 Going to calculate the sum of two numbers: Enter two numbers:10 20 The sum is : 30 

Exemple 2: Programa per comprovar si un nombre és parell o senar

 #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; } } 

Sortida

 Going to check whether a number is even or odd Enter the number: 100 The number is even 

C Funcions de la biblioteca

Les funcions de biblioteca són la funció integrada en C que s'agrupen i es col·loquen en un lloc comú anomenat biblioteca. Aquestes funcions s'utilitzen per realitzar algunes operacions específiques. Per exemple, printf és una funció de biblioteca que s'utilitza per imprimir a la consola. Les funcions de la biblioteca les creen els dissenyadors de compiladors. Totes les funcions de la biblioteca estàndard C es defineixen dins dels diferents fitxers de capçalera desats amb l'extensió .h . Hem d'incloure aquests fitxers de capçalera al nostre programa per fer ús de les funcions de biblioteca definides en aquests fitxers de capçalera. Per exemple, per utilitzar les funcions de la biblioteca com printf/scanf hem d'incloure stdio.h al nostre programa, que és un fitxer de capçalera que conté totes les funcions de biblioteca relacionades amb l'entrada/sortida estàndard.

La llista dels fitxers de capçalera més utilitzats es mostra a la taula següent.

SNFitxer de capçaleraDescripció
1stdio.hAquest és un fitxer de capçalera d'entrada/sortida estàndard. Conté totes les funcions de la biblioteca pel que fa a l'entrada/sortida estàndard.
2conio.hAquest és un fitxer de capçalera d'entrada/sortida de la consola.
3corda.hConté totes les funcions de biblioteca relacionades amb cadenes com gets(), puts(), etc.
4stdlib.hAquest fitxer de capçalera conté totes les funcions generals de la biblioteca com malloc(), calloc(), exit(), etc.
5matemàtiques.hAquest fitxer de capçalera conté totes les funcions relacionades amb les operacions matemàtiques com sqrt(), pow(), etc.
6temps.hAquest fitxer de capçalera conté totes les funcions relacionades amb el temps.
7ctype.hAquest fitxer de capçalera conté totes les funcions de gestió de caràcters.
8stdarg.hLes funcions d'argument variable es defineixen en aquest fitxer de capçalera.
9senyal.hTotes les funcions de gestió del senyal es defineixen en aquest fitxer de capçalera.
10setjmp.hAquest fitxer conté totes les funcions de salt.
11local.hAquest fitxer conté funcions regionals.
12errno.hAquest fitxer conté funcions de gestió d'errors.
13afirmar.hAquest fitxer conté funcions de diagnòstic.

A continuació es proporcionen detalls addicionals sobre les funcions C:

Hi ha diverses informació addicional relacionada amb les funcions C. Alguns d'ells són els següents:

Programació modular: La capacitat de dividir a programa enorme en mòduls més petits i més manejables és un dels principals avantatges d'utilitzar funcions en C. Cada funció pot contenir un treball o component de funcionalitat en particular, que racionalitza i aclareix l'estructura global del programa. Aquesta estratègia modular millora la reutilització del codi i facilita el manteniment i la depuració.

significat de la comissió de selecció de personal

Reutilització del codi: Mitjançant l'ús de funcions, podeu crear un determinat algorisme o peça de lògica només una vegada i utilitzar-lo repetidament al llarg del vostre programa. Podeu trucar a la funció en qualsevol moment que necessiteu executar el codi, estalviant-vos d'haver de duplicar-lo en un altre lloc. No només accelera el desenvolupament però també garanteix la coherència i disminueix la possibilitat d'error.

Encapsulació i abstracció: En ocultar les especificitats de la implementació de la funcionalitat, les funcions ofereixen un nivell d'abstracció. La interfície d'un prototip de funció es pot definir en a fitxer de capçalera , mentre que la implementació real es pot proporcionar en un fitxer font diferent. Altres parts del programa poden utilitzar la funció sense necessitat d'entendre com s'implementa internament a causa de la separació de la interfície i la implementació.

Fàcil manteniment del programa: Un programa es pot entendre i mantenir més fàcilment si es divideix en funcions més petites. La possibilitat d'assignar una responsabilitat específica a cada funció fa que el codi sigui més llegible i facilita la resolució de problemes i la depuració. Podeu concentrar-vos en la funció necessària sense afectar altres parts del programa si es troba un error o es necessita una modificació.

Col·laboració millorada: Les funcions permeten col·laborar als desenvolupadors que treballen en el mateix projecte. El programa es pot dividir en funcions perquè hi puguin treballar diversos membres de l'equip diferents funcions immediatament. Els desenvolupadors poden integrar sense problemes el seu treball a les funcions si les interfícies estan ben especificades, la qual cosa millora la productivitat i promou un desenvolupament efectiu.

Passant el paràmetre: Podeu enviar arguments o dades a una funció en C perquè pugui processar-los. La funció pot dur a terme accions i generar resultats amb aquests inputs. Podeu augmentar la flexibilitat i l'adaptabilitat de les funcions passant paràmetres, que augmentaran la versatilitat general del vostre programa.

Valors de retorn: Les funcions poden enviar valors al codi que les va cridar, permetent la comunicació dels resultats de l'execució de la funció. Podeu utilitzar el valor retornat en altres àrees del programa després de fer càlculs o manipular dades dins de la funció. Valors de retorn són especialment útils quan necessiteu calcular un resultat o establir una condició en funció de la sortida de la funció.

Conclusió:

En conclusió, les funcions són essencials per a la programació en C perquè donen programa organització, reutilitzabilitat i modularitat . Els desenvolupadors poden evitar la creació repetida del mateix codi dividint programes enormes en funcions més petites, fent que el codi sigui més eficaç i més senzill de mantenir. Qualsevol part del programa pot cridar una funció, proporcionant flexibilitat i millorant el flux de control.

El declaració, trucada , i definició de funcions són només algunes de les seves moltes característiques. El compilador s'informa mitjançant la declaració de funció de l' nom, arguments , i tipus de retorn . És possible cridar una funció amb o sense paràmetres i amb o sense a valor de retorn . Els programadors construeixen funcions definides per l'usuari per millorar la llegibilitat i l'optimització del seu codi, mentre que les funcions de la biblioteca C com ara printf() i scanf() proporcionar capacitats predeterminades.

En general, les funcions són blocs de construcció crucials en la programació C, i ofereixen avantatges, com ara una major organització, la reutilització de codi i un seguiment senzill de programes enormes. Les trucades de funció podrien afegir una mica de sobrecàrrega, però els seus avantatges superen el rendiment mínim. Els programadors poden escriure programes C efectius i modulars comprenent i utilitzant funcions.