logo

C Funkcijas

Programmā c mēs varam sadalīt lielu programmu pamata veidošanas blokos, kas pazīstami kā funkcija. Funkcija satur programmēšanas priekšrakstu kopu, ko ietver {}. Funkciju var izsaukt vairākas reizes, lai nodrošinātu C programmas atkārtotu izmantošanu un modularitāti. Citiem vārdiem sakot, mēs varam teikt, ka funkciju kolekcija veido programmu. Funkcija ir pazīstama arī kā procedūru vai apakšprogramma citās programmēšanas valodās.

Funkciju priekšrocības C

C funkcijām ir šādas priekšrocības.

  • Izmantojot funkcijas, mēs varam izvairīties no vienas un tās pašas loģikas/koda atkārtotas pārrakstīšanas programmā.
  • Mēs varam izsaukt C funkcijas neierobežotu skaitu reižu programmā un no jebkuras vietas programmā.
  • Mēs varam viegli izsekot lielai C programmai, ja tā ir sadalīta vairākās funkcijās.
  • Atkārtota izmantošana ir galvenais C funkciju sasniegums.
  • Tomēr funkciju izsaukšana C programmā vienmēr ir pieskaitāma.

Funkciju aspekti

C funkcijai ir trīs aspekti.

    Funkciju deklarācijaFunkcija ir jādeklarē globāli c programmā, lai kompilatoram pateiktu funkcijas nosaukumu, funkcijas parametrus un atgriešanas veidu.
    Funkcijas izsaukumsFunkciju var izsaukt no jebkuras programmas vietas. Parametru saraksts nedrīkst atšķirties funkciju izsaukšanā un funkciju deklarācijā. Mums ir jānodod tikpat daudz funkciju, cik tas ir deklarēts funkcijas deklarācijā.Funkcijas definīcijaTas satur faktiskos izpildāmos paziņojumus. Tas ir vissvarīgākais kontroles aspekts, kad funkcija tiek izsaukta. Šeit mums jāņem vērā, ka no funkcijas var atgriezt tikai vienu vērtību.
SNC funkcijas aspektiSintakse
1Funkciju deklarācijareturn_type funkcijas_nosaukums (argumentu saraksts);
2Funkcijas izsaukumsfunkcijas_nosaukums (argumentu_saraksts)
3Funkcijas definīcijareturn_type funkcijas_nosaukums (argumentu saraksts) {funkcijas pamatteksts;}

Funkcijas izveides sintakse c valodā ir norādīta zemāk:

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

Funkciju veidi

C programmēšanā ir divu veidu funkcijas:

    Bibliotēkas funkcijas:ir funkcijas, kas ir deklarētas C galvenes failos, piemēram, scanf (), printf (), gets (), puts (), ceil (), floor () utt.Lietotāja definētas funkcijas:ir funkcijas, kuras izveido C programmētājs, lai viņš/viņa to varētu izmantot daudzas reizes. Tas samazina lielas programmas sarežģītību un optimizē kodu.
C Funkcija

Atdeves vērtība

C funkcija var vai nevar atgriezt vērtību no funkcijas. Ja no funkcijas nav jāatgriež neviena vērtība, atgriešanas veidam izmantojiet void.

Apskatīsim vienkāršu funkcijas C piemēru, kas no funkcijas neatgriež nekādu vērtību.

Piemērs bez atgriešanas vērtības:

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

Ja vēlaties atgriezt jebkuru funkcijas vērtību, jums ir jāizmanto jebkurš datu tips, piemēram, int, long, char utt. Atgriešanas veids ir atkarīgs no vērtības, kas jāatgriež no funkcijas.

peldēt pie auklas

Apskatīsim vienkāršu funkcijas C piemēru, kas atgriež int vērtību no funkcijas.

Piemērs ar atgriešanas vērtību:

 int get(){ return 10; } 

Iepriekš minētajā piemērā mums ir jāatgriež 10 kā vērtība, tāpēc atgriešanas veids ir int. Ja vēlaties atgriezt peldošā komata vērtību (piemēram, 10.2, 3.1, 54.5 utt.), kā metodes atgriešanas veids ir jāizmanto float.

 float get(){ return 10.2; } 

Tagad jums ir jāizsauc funkcija, lai iegūtu funkcijas vērtību.

Dažādi funkciju izsaukšanas aspekti

Funkcija var pieņemt vai nepieņemt jebkuru argumentu. Tas var vai nevar atgriezt nekādu vērtību. Pamatojoties uz šiem faktiem, ir četri dažādi funkciju izsaukumu aspekti.

  • funkcija bez argumentiem un bez atgriešanas vērtības
  • funkcija bez argumentiem un ar atgriešanās vērtību
  • funkcija ar argumentiem un bez atgriešanas vērtības
  • funkcija ar argumentiem un atgriešanās vērtību

Piemērs funkcijai bez argumenta un atgriešanas vērtības

1. piemērs

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

Izvade

 Hello Javatpoint 

2. piemērs

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

Izvade

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

Piemērs funkcijai bez argumenta un ar atgriešanas vērtību

1. piemērs

virkņu vienlīdzība java
 #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; } 

Izvade

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

2. piemērs: programma kvadrāta laukuma aprēķināšanai

tostring java metode
 #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; } 

Izvade

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

Piemērs funkcijai ar argumentu un bez atgriešanas vērtības

1. piemērs

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

Izvade

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

2. piemērs: programma piecu skaitļu vidējā aprēķināšanai.

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

Izvade

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

Piemērs funkcijai ar argumentu un atgriešanas vērtību

1. piemērs

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

Izvade

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

2. piemērs. Programma, lai pārbaudītu, vai skaitlis ir pāra vai nepāra

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

Izvade

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

C Bibliotēkas funkcijas

Bibliotēkas funkcijas ir C iebūvēta funkcija, kas ir sagrupētas un novietotas kopējā vietā, ko sauc par bibliotēku. Šādas funkcijas tiek izmantotas, lai veiktu dažas īpašas darbības. Piemēram, printf ir bibliotēkas funkcija, ko izmanto drukāšanai konsolē. Bibliotēkas funkcijas veido kompilatoru dizaineri. Visas C standarta bibliotēkas funkcijas ir definētas dažādos galvenes failos, kas saglabāti ar paplašinājumu .h . Mums ir jāiekļauj šie galvenes faili mūsu programmā, lai izmantotu šajos galvenes failos definētās bibliotēkas funkcijas. Piemēram, lai izmantotu tādas bibliotēkas funkcijas kā printf/scanf, mūsu programmā ir jāiekļauj stdio.h, kas ir galvenes fails, kurā ir visas bibliotēkas funkcijas attiecībā uz standarta ievadi/izvadi.

Visbiežāk izmantoto galvenes failu saraksts ir dots nākamajā tabulā.

SNGalvenes failsApraksts
1stdio.hŠis ir standarta ievades/izvades galvenes fails. Tajā ir visas bibliotēkas funkcijas attiecībā uz standarta ievadi/izvadi.
2konijs.hŠis ir konsoles ievades/izvades galvenes fails.
3string.hTajā ir visas ar virknēm saistītās bibliotēkas funkcijas, piemēram, gets (), puts (), utt.
4stdlib.hŠajā galvenes failā ir visas vispārīgās bibliotēkas funkcijas, piemēram, malloc (), calloc (), exit () utt.
5matem.hŠajā galvenes failā ir visas ar matemātikas operācijām saistītās funkcijas, piemēram, sqrt (), pow () utt.
6laiks.hŠajā galvenes failā ir visas ar laiku saistītās funkcijas.
7ctype.hŠajā galvenes failā ir visas rakstzīmju apstrādes funkcijas.
8stdarg.hŠajā galvenes failā ir definētas mainīgo argumentu funkcijas.
9signāls.hVisas signālu apstrādes funkcijas ir definētas šajā galvenes failā.
10setjmp.hŠajā failā ir visas lēciena funkcijas.
vienpadsmitlocale.hŠis fails satur lokalizācijas funkcijas.
12errno.hŠajā failā ir kļūdu apstrādes funkcijas.
13apgalvot.hŠis fails satur diagnostikas funkcijas.

Tālāk ir sniegta papildu informācija par C funkcijām:

Ir vairākas papildu informācijas, kas saistītas ar C funkcijām. Daži no tiem ir šādi:

Modulārā programmēšana: Spēja uz sadalīt a milzīga programma mazākos, vieglāk pārvaldāmos moduļos ir viena no galvenajām priekšrocībām, izmantojot funkcijas C. Katra funkcija var ietvert noteiktu darbu vai funkcionalitātes komponentu, kas racionalizē un precizē kopējo programmas struktūru. Šī modulārā stratēģija uzlabo koda atkārtotu izmantošanu un atvieglo apkopi un atkļūdošanu.

virkne atrast c++

Koda atkārtota izmantošana: Izmantojot funkcijas, jūs varat izveidot noteiktu algoritmu vai loģikas daļu tikai vienu reizi un izmantot to atkārtoti visā programmā. Varat vienkārši izsaukt funkciju jebkurā laikā, kad nepieciešams palaist kodu, tādējādi pasargājot jūs no nepieciešamības to dublēt citur. Tas ne tikai paātrina attīstību bet arī nodrošina konsekvenci un samazina kļūdu iespējamību.

Iekapsulēšana un abstrakcija: Aizsedzot funkcionalitātes ieviešanas specifiku, funkcijas piedāvā abstrakcijas līmeni. Funkcijas prototipa saskarni var definēt a galvenes fails , savukārt faktisko ieviešanu var nodrošināt citā avota failā. Citas programmas daļas var izmantot šo funkciju, neizprotot, kā tā tiek iekšēji ieviesta, jo saskarne un ieviešana ir nodalīta.

Vienkārša programmas uzturēšana: Programmu var saprast un uzturēt vieglāk, ja tā ir sadalīta mazākās funkcijās. Iespēja piešķirt katrai funkcijai īpašu atbildību, padara kodu lasāmāku un atvieglo traucējummeklēšanu un atkļūdošanu. Ja tiek atrasta kļūda vai ir nepieciešamas izmaiņas, varat koncentrēties uz nepieciešamo funkciju, neietekmējot citas programmas daļas.

Uzlabota sadarbība: Funkcijas ļauj izstrādātājiem, kas strādā pie viena projekta, sadarboties. Programmu var sadalīt funkcijās, lai pie tā varētu strādāt vairāki komandas locekļi dažādas funkcijas uzreiz. Izstrādātāji var netraucēti integrēt savu darbu funkcijās, ja saskarnes ir labi norādītas, kas uzlabo produktivitāti un veicina efektīvu attīstību.

Parametra nodošana: Varat nosūtīt argumentus vai datus funkcijai programmā C, lai tā varētu tos apstrādāt. Funkcija var veikt darbības un ģenerēt rezultātus, izmantojot šos ievades datus. Varat palielināt funkciju elastību un pielāgojamību, nododot parametrus, kas palielinās jūsu programmas vispārējo daudzpusību.

Atgriešanas vērtības: Funkcijas var nosūtīt vērtības atpakaļ uz kodu, kas tās izsauca, ļaujot sazināties ar funkcijas izpildes rezultātiem. Varat izmantot atgriezto vērtību citās programmas jomās pēc aprēķinu veikšanas vai datu manipulācijas funkcijā. Atgriešanās vērtības ir īpaši noderīgi, ja nepieciešams aprēķināt rezultātu vai noteikt nosacījumu atkarībā no funkcijas izvades.

Secinājums:

Visbeidzot, funkcijas ir būtiskas C programmēšanai, jo tās dod programmu organizācija, atkārtota izmantošana un modularitāte . Izstrādātāji var izvairīties no viena un tā paša koda atkārtotas izveides, sadalot lielas programmas mazākās funkcijās, padarot kodu efektīvāku un vienkāršāku uzturēšanu. Jebkurā programmas vietā var izsaukt funkciju, nodrošinot elastību un uzlabojot vadības plūsmu.

The deklarācija, zvans , un definīcija funkcijas ir tikai dažas no to daudzajām īpašībām. Kompilators tiek informēts ar funkcijas deklarāciju nosaukums, argumenti , un atgriešanas veids . Ir iespējams izsaukt funkciju ar vai bez parametrus un ar vai bez a atgriešanas vērtība . Programmētāji konstruē lietotāja definētas funkcijas, lai uzlabotu sava koda lasāmību un optimizāciju, savukārt C bibliotēkas funkcijas, piemēram, printf() un scanf() nodrošināt iepriekš iestatītas iespējas.

Kopumā funkcijas ir būtiski C programmēšanas elementi, nodrošinot priekšrocības, tostarp lielāku organizāciju, koda atkārtotu izmantošanu un vienkāršu milzīgu programmu izsekošanu. Funkciju izsaukumi varētu radīt papildu izmaksas, taču to priekšrocības pārsniedz minimālo veiktspējas kritumu. Programmētāji var rakstīt efektīvas un modulāras C programmas, izprotot un izmantojot funkcijas.