logo

C Funkce

V c můžeme rozdělit velký program na základní stavební bloky známé jako funkce. Funkce obsahuje sadu programovacích příkazů uzavřených v {}. Funkci lze volat vícekrát, aby byla zajištěna opětovná použitelnost a modularita programu C. Jinými slovy, můžeme říci, že kolekce funkcí vytváří program. Funkce je také známá jako postup nebo podprogram v jiných programovacích jazycích.

Výhoda funkcí v C

Funkce C mají následující výhody.

  • Pomocí funkcí se můžeme vyhnout opakovanému přepisování stejné logiky/kódu v programu.
  • C funkce můžeme volat kolikrát v programu a z libovolného místa v programu.
  • Můžeme snadno sledovat velký program v jazyce C, když je rozdělen do více funkcí.
  • Opětovná použitelnost je hlavním úspěchem funkcí C.
  • Volání funkcí je však v programu C vždy režií.

Funkční aspekty

Funkce C má tři aspekty.

    Deklarace funkceFunkce musí být deklarována globálně v programu c, aby bylo možné kompilátoru sdělit název funkce, parametry funkce a návratový typ.
    Volání funkceFunkci lze volat odkudkoli v programu. Seznam parametrů se nesmí lišit ve volání funkce a deklaraci funkce. Musíme předat stejný počet funkcí, jaký je deklarován v deklaraci funkce.Definice funkceObsahuje skutečné příkazy, které mají být provedeny. Je to nejdůležitější aspekt, ke kterému kontrola přichází, když je funkce volána. Zde si musíme všimnout, že z funkce lze vrátit pouze jednu hodnotu.
SNAspekty funkce CSyntax
1Deklarace funkcenávratový_typ název_funkce (seznam argumentů);
2Volání funkcenázev_funkce (seznam_argumentů)
3Definice funkcenávratový_typ název_funkce (seznam argumentů) {tělo funkce;}

Syntaxe vytváření funkce v jazyce c je uvedena níže:

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

Typy funkcí

V programování C existují dva typy funkcí:

    Funkce knihovny:jsou funkce, které jsou deklarovány v hlavičkových souborech C, jako je scanf(), printf(), gets(), puts(), ceil(), floor() atd.Uživatelsky definované funkce:jsou funkce, které vytváří programátor C, takže je může použít mnohokrát. Snižuje složitost velkého programu a optimalizuje kód.
C Funkce

Návratová hodnota

Funkce C může nebo nemusí vracet hodnotu z funkce. Pokud nemusíte vracet žádnou hodnotu z funkce, použijte jako návratový typ void.

Podívejme se na jednoduchý příklad funkce C, která nevrací žádnou hodnotu z funkce.

Příklad bez návratové hodnoty:

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

Pokud chcete vrátit jakoukoli hodnotu z funkce, musíte použít libovolný datový typ, jako je int, long, char atd. Návratový typ závisí na hodnotě, která má být vrácena z funkce.

formátovat datum na řetězec

Podívejme se na jednoduchý příklad funkce C, která vrací hodnotu int z funkce.

Příklad s návratovou hodnotou:

 int get(){ return 10; } 

Ve výše uvedeném příkladu musíme vrátit 10 jako hodnotu, takže návratový typ je int. Pokud chcete vrátit hodnotu s plovoucí desetinnou čárkou (např. 10,2, 3,1, 54,5 atd.), musíte jako návratový typ metody použít float.

 float get(){ return 10.2; } 

Nyní musíte zavolat funkci, abyste získali hodnotu funkce.

python uložit json do souboru

Různé aspekty volání funkcí

Funkce může nebo nemusí přijmout jakýkoli argument. Může nebo nemusí vrátit žádnou hodnotu. Na základě těchto skutečností existují čtyři různé aspekty volání funkcí.

  • funkce bez argumentů a bez návratové hodnoty
  • funkce bez argumentů a s návratovou hodnotou
  • funkce s argumenty a bez návratové hodnoty
  • funkce s argumenty a návratovou hodnotou

Příklad funkce bez argumentu a návratové hodnoty

Příklad 1

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

Výstup

 Hello Javatpoint 

Příklad 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); } 

Výstup

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

Příklad funkce bez argumentu as návratovou hodnotou

Příklad 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; } 

Výstup

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

Příklad 2: program pro výpočet plochy čtverce

chromový adresní řádek
 #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; } 

Výstup

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

Příklad funkce s argumentem a bez návratové hodnoty

Příklad 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); } 

Výstup

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

Příklad 2: program pro výpočet průměru pěti čísel.

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

Výstup

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

Příklad funkce s argumentem a návratovou hodnotou

Příklad 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; } 

Výstup

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

Příklad 2: Program pro kontrolu, zda je číslo sudé nebo liché

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

Výstup

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

Funkce knihovny C

Knihovní funkce jsou funkce vestavěné v C, které jsou seskupeny a umístěny na společném místě zvaném knihovna. Tyto funkce se používají k provádění některých specifických operací. Například printf je funkce knihovny používaná k tisku na konzole. Knihovní funkce jsou vytvářeny návrháři překladačů. Všechny funkce standardní knihovny C jsou definovány uvnitř různých hlavičkových souborů uložených s příponou .h . Tyto hlavičkové soubory musíme zahrnout do našeho programu, abychom mohli využívat funkce knihovny definované v těchto hlavičkových souborech. Například pro použití funkcí knihovny, jako je printf/scanf, musíme do našeho programu zahrnout stdio.h, což je hlavičkový soubor, který obsahuje všechny funkce knihovny týkající se standardního vstupu/výstupu.

Seznam nejčastěji používaných hlavičkových souborů je uveden v následující tabulce.

SNSoubor záhlavíPopis
1stdio.hToto je standardní vstupní/výstupní hlavičkový soubor. Obsahuje všechny funkce knihovny týkající se standardního vstupu/výstupu.
2conio.hToto je vstupní/výstupní hlavičkový soubor konzoly.
3řetězec.hObsahuje všechny funkce knihovny související s řetězci, jako je get(), puts(), atd.
4stdlib.hTento hlavičkový soubor obsahuje všechny obecné funkce knihovny jako malloc(), calloc(), exit() atd.
5matematika.hTento hlavičkový soubor obsahuje všechny funkce související s matematickými operacemi, jako je sqrt(), pow() atd.
6čas.hTento hlavičkový soubor obsahuje všechny funkce související s časem.
7ctype.hTento hlavičkový soubor obsahuje všechny funkce pro zpracování znaků.
8stdarg.hV tomto hlavičkovém souboru jsou definovány funkce proměnných argumentů.
9signál.hV tomto hlavičkovém souboru jsou definovány všechny funkce zpracování signálu.
10setjmp.hTento soubor obsahuje všechny funkce skoku.
jedenáctlocale.hTento soubor obsahuje funkce národního prostředí.
12errno.hTento soubor obsahuje funkce zpracování chyb.
13tvrdit.hTento soubor obsahuje diagnostické funkce.

Další podrobnosti týkající se funkcí C jsou uvedeny níže:

Existuje několik dalších informací souvisejících s funkcemi C. Některé z nich jsou následující:

Modulární programování: Schopnost rozdělit A obrovský program do menších, lépe spravovatelných modulů je jednou z hlavních výhod využití funkcí v C. Každá funkce může obsahovat určitou úlohu nebo komponent funkčnosti, což zefektivňuje a vyjasňuje celkovou strukturu programu. Tato modulární strategie zlepšuje opětovné použití kódu a usnadňuje údržbu a ladění.

localdate java

Opětovné použití kódu: Pomocí funkcí můžete vytvořit určitý algoritmus nebo část logiky pouze jednou a opakovaně je používat ve svém programu. Funkci můžete zavolat kdykoli, když potřebujete spustit kód, což vám ušetří nutnost duplikovat jej jinde. Nejen to urychluje vývoj ale také zajišťuje konzistenci a snižuje možnost dělat chyby.

Zapouzdření a abstrakce: Tím, že zakrývají specifika implementace funkčnosti, funkce nabízejí úroveň abstrakce. Rozhraní prototypu funkce lze definovat v a hlavičkový soubor , zatímco skutečná implementace může být poskytnuta v jiném zdrojovém souboru. Jiné části programu mohou funkci využívat, aniž by musely rozumět tomu, jak je interně implementována, protože rozhraní a implementace jsou odděleny.

Snadná údržba programu: Program lze snáze pochopit a udržovat, pokud je rozdělen na menší funkce. Možnost přiřadit konkrétní odpovědnost každé funkci činí kód čitelnějším a usnadňuje odstraňování problémů a ladění. Pokud je nalezena chyba nebo je nutná úprava, můžete se soustředit na nezbytnou funkci bez dopadu na jiné části programu.

Vylepšená spolupráce: Funkce umožňují vývojářům pracujícím na stejném projektu spolupracovat. Program lze rozdělit do funkcí, aby na něm mohlo pracovat několik členů týmu různé funkce najednou. Vývojáři mohou hladce integrovat svou práci do funkcí, pokud jsou rozhraní dobře specifikována, což zvyšuje produktivitu a podporuje efektivní vývoj.

Předání parametru: Argumenty nebo data můžete posílat funkci v C, aby je mohla zpracovat. Funkce může provádět akce a generovat výsledky pomocí těchto vstupů. Předáním parametrů můžete zvýšit flexibilitu a přizpůsobivost funkcí, což zvýší celkovou všestrannost vašeho programu.

Návratové hodnoty: Funkce mohou posílat hodnoty zpět do kódu, který je volal, což umožňuje komunikaci výsledků provádění funkce. Vrácenou hodnotu můžete využít v jiných oblastech programu po provedení výpočtů nebo manipulaci s daty v rámci funkce. Návratové hodnoty jsou zvláště užitečné, když potřebujete vypočítat výsledek nebo stanovit podmínku v závislosti na výstupu funkce.

Závěr:

Závěrem lze říci, že funkce jsou pro programování v C zásadní, protože dávají program organizace, znovupoužitelnost a modularita . Vývojáři se mohou vyhnout opakovanému vytváření stejného kódu rozdělením velkých programů na menší funkce, čímž se kód stane efektivnější a jednodušší na údržbu. Kdekoli v programu lze volat funkci, což poskytuje flexibilitu a zlepšuje tok řízení.

The prohlášení, hovor , a definice funkcí jsou jen některé z jejich mnoha charakteristik. Kompilátor je informován deklarací funkce jméno, argumenty , a návratový typ . Je možné volat funkci s nebo bez parametry a s nebo bez a návratová hodnota . Programátoři konstruují uživatelsky definované funkce, aby zlepšili čitelnost a optimalizaci svého kódu, zatímco funkce knihovny C mají rádi printf() a scanf() poskytují přednastavené funkce.

Celkově jsou funkce zásadními stavebními kameny v programování v jazyce C a poskytují výhody včetně lepší organizace, opětovného použití kódu a jednoduchého sledování velkých programů. Volání funkcí by mohlo přidat určitou režii, ale jejich výhody převažují nad minimálním zásahem do výkonu. Programátoři mohou psát efektivní a modulární C programy pochopením a používáním funkcí.