logo

C Функції

У c ми можемо розділити велику програму на основні будівельні блоки, відомі як функція. Функція містить набір програмних операторів, укладених у {}. Функцію можна викликати кілька разів, щоб забезпечити багаторазове використання та модульність програми C. Іншими словами, можна сказати, що сукупність функцій створює програму. Функція також відома як процедура або підпрограма на інших мовах програмування.

Перевага функцій у C

Існують такі переваги функцій C.

  • Використовуючи функції, ми можемо уникнути повторного переписування тієї самої логіки/коду в програмі.
  • Ми можемо викликати функції C будь-яку кількість разів у програмі та з будь-якого місця в програмі.
  • Ми можемо легко відслідковувати велику програму C, якщо її розділити на кілька функцій.
  • Багаторазове використання є головним досягненням функцій C.
  • Однак виклик функцій завжди є накладним у програмі на C.

Функціональні аспекти

Є три аспекти функції C.

    Оголошення функціїФункція повинна бути оголошена глобально в програмі на C, щоб повідомити компілятору про назву функції, параметри функції та тип повернення.
    Виклик функціїФункцію можна викликати з будь-якого місця програми. Список параметрів не повинен відрізнятися викликом функції та її оголошенням. Ми повинні передати стільки ж функцій, скільки оголошено в декларації функції.Визначення функціїВін містить фактичні оператори, які мають бути виконані. Це найважливіший аспект, до якого переходить керування під час виклику функції. Тут ми повинні зауважити, що функція може повернути лише одне значення.
SNАспекти функції CСинтаксис
1Оголошення функціїreturn_type ім'я_функції (список аргументів);
2Виклик функціїназва_функції (список_аргументів)
3Визначення функціїreturn_type назва_функції (список аргументів) {тіло функції;}

Синтаксис створення функції мовою c наведено нижче:

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

Типи функцій

Існує два типи функцій у програмуванні на C:

    Функції бібліотеки:це функції, які оголошено у файлах заголовків C, наприклад scanf(), printf(), gets(), puts(), ceil(), floor() тощо.Функції, визначені користувачем:це функції, створені програмістом C, щоб він/вона міг використовувати їх багато разів. Це зменшує складність великої програми та оптимізує код.
C Функція

Повернене значення

Функція C може або не може повертати значення з функції. Якщо вам не потрібно повертати значення з функції, використовуйте void для типу повернення.

Давайте розглянемо простий приклад функції C, яка не повертає жодного значення з функції.

Приклад без значення, що повертається:

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

Якщо ви хочете повернути будь-яке значення з функції, вам потрібно використовувати будь-який тип даних, як-от int, long, char тощо. Тип повернення залежить від значення, яке буде повернуто функцією.

набір C++

Давайте розглянемо простий приклад функції C, яка повертає значення int із функції.

Приклад із значенням, що повертається:

 int get(){ return 10; } 

У наведеному вище прикладі ми повинні повернути 10 як значення, тому тип повернення є int. Якщо ви хочете повернути значення з плаваючою комою (наприклад, 10,2, 3,1, 54,5 тощо), вам потрібно використовувати float як тип повернення методу.

 float get(){ return 10.2; } 

Тепер вам потрібно викликати функцію, щоб отримати значення функції.

Різні аспекти виклику функції

Функція може приймати або не приймати будь-який аргумент. Він може повертати будь-яке значення, а може і не повертати. Виходячи з цих фактів, існує чотири різні аспекти викликів функцій.

  • функція без аргументів і без значення, що повертається
  • функція без аргументів і зі значенням, що повертається
  • функція з аргументами і без значення, що повертається
  • функція з аргументами та значенням, що повертається

Приклад для функції без аргументу та значення, що повертається

Приклад 1

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

Вихід

Java не робить
 Hello Javatpoint 

Приклад 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); } 

Вихід

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

Приклад для функції без аргументу та зі значенням, що повертається

Приклад 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; } 

Вихід

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

Приклад 2: програма обчислення площі квадрата

як перевірити заблоковані номери на android
 #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; } 

Вихід

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

Приклад для функції з аргументом і без значення, що повертається

Приклад 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); } 

Вихід

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

Приклад 2: програма для обчислення середнього п’яти чисел.

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

Вихід

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

Приклад функції з аргументом і значенням, що повертається

Приклад 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; } 

Вихід

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

Приклад 2: Програма перевірки числа є парним чи непарним

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

Вихід

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

C Функції бібліотеки

Бібліотечні функції — це вбудовані функції в C, які згруповані та розміщені в загальному місці, яке називається бібліотекою. Такі функції використовуються для виконання певних операцій. Наприклад, printf — бібліотечна функція, яка використовується для друку на консолі. Бібліотечні функції створюються розробниками компіляторів. Усі функції стандартної бібліотеки C визначені в різних файлах заголовків, збережених із розширенням .h . Нам потрібно включити ці файли заголовків у нашу програму, щоб використовувати бібліотечні функції, визначені в таких файлах заголовків. Наприклад, щоб використовувати бібліотечні функції, такі як printf/scanf, нам потрібно включити stdio.h у нашу програму, яка є файлом заголовка, який містить усі бібліотечні функції щодо стандартного введення/виведення.

Список файлів заголовків, які найчастіше використовуються, наведено в наступній таблиці.

SNЗаголовний файлопис
1stdio.hЦе стандартний заголовний файл введення/виведення. Він містить усі бібліотечні функції щодо стандартного введення/виведення.
2conium.hЦе заголовний файл консолі введення/виведення.
3рядок.hВін містить усі бібліотечні функції, пов’язані з рядками, такі як gets(), puts() тощо.
4stdlib.hЦей файл заголовка містить усі загальні бібліотечні функції, такі як malloc(), calloc(), exit() тощо.
5мат.чЦей файл заголовка містить усі функції, пов’язані з математичними операціями, наприклад sqrt(), pow() тощо.
6час.годЦей файл заголовка містить усі пов’язані з часом функції.
7ctype.hЦей файл заголовка містить усі функції обробки символів.
8stdarg.hФункції зі змінними аргументами визначені в цьому заголовному файлі.
9сигнал.чУсі функції обробки сигналів визначені в цьому заголовному файлі.
10setjmp.hЦей файл містить усі функції переходу.
одинадцятьlocale.hЦей файл містить функції локалізації.
12errno.hЦей файл містить функції обробки помилок.
13assert.hЦей файл містить функції діагностики.

Додаткові відомості про функції C наведено нижче:

Існує кілька додаткових відомостей, пов’язаних із функціями C. Деякі з них такі:

Модульне програмування: Здатність до розділяти a величезна програма на менші, більш керовані модулі є однією з головних переваг використання функцій у C. Кожна функція може містити певне завдання чи функціональний компонент, що оптимізує та уточнює загальну структуру програми. Ця модульна стратегія покращує повторне використання коду та полегшує обслуговування та налагодження.

заміна js

Повторне використання коду: Використовуючи функції, ви можете створити певний алгоритм або фрагмент логіки лише один раз і використовувати його неодноразово у своїй програмі. Ви можете просто викликати функцію будь-коли, коли вам потрібно запустити код, позбавляючи вас від необхідності дублювати його деінде. Це не тільки прискорює розвиток але також забезпечує послідовність і зменшує можливість помилок.

Інкапсуляція та абстракція: Приховуючи особливості реалізації функціональності, функції пропонують певний рівень абстракції. Інтерфейс прототипу функції можна визначити в a файл заголовка , тоді як фактичну реалізацію можна надати в іншому вихідному файлі. Інші частини програми можуть використовувати цю функцію без необхідності розуміти, як вона реалізована всередині через розділення інтерфейсу та реалізації.

Просте обслуговування програми: Програму можна зрозуміти та підтримувати легше, якщо її розділити на менші функції. Можливість призначити конкретну відповідальність кожній функції робить код більш читабельним і полегшує пошук і налагодження несправностей. Ви можете зосередитися на необхідній функції, не впливаючи на інші частини програми, якщо буде виявлено помилку або потрібна зміна.

Покращена співпраця: Функції дозволяють розробникам, які працюють над одним проектом, співпрацювати. Програма може бути розділена на функції, щоб працювати над нею кілька членів команди різні функції якось. Розробники можуть легко інтегрувати свою роботу у функції, якщо інтерфейси добре визначені, що підвищує продуктивність і сприяє ефективній розробці.

Передача параметра: Ви можете надіслати аргументи або дані функції на C, щоб вона могла їх обробити. Функція може виконувати дії та генерувати результати, використовуючи ці вхідні дані. Ви можете підвищити гнучкість і адаптивність функцій, передаючи параметри, що підвищить загальну універсальність вашої програми.

Повернуті значення: Функції можуть надсилати значення назад до коду, який їх викликав, дозволяючи передавати результати виконання функції. Ви можете використовувати повернуте значення в інших областях програми після виконання обчислень або обробки даних у функції. Повернуті значення особливо корисні, коли вам потрібно обчислити результат або встановити умову залежно від результату функції.

висновок:

Підсумовуючи, функції є важливими для програмування на C, оскільки вони дають програму організація, багаторазове використання та модульність . Розробники можуть уникнути багаторазового створення одного і того ж коду, розбиваючи величезні програми на менші функції, роблячи код ефективнішим і простішим у обслуговуванні. Будь-де в програмі можна викликати функцію, забезпечуючи гнучкість і покращуючи потік керування.

The декларація, дзвінок , і визначення функцій — лише деякі з багатьох їхніх характеристик. Компілятор отримує інформацію з оголошення функції назва, аргументи , і тип повернення . Функцію можна викликати з або без параметри і з або без a повертається значення . Програмісти створюють визначені користувачем функції для покращення читабельності та оптимізації свого коду, тоді як бібліотека C функціонує як printf() і scanf() надати попередньо встановлені можливості.

Загалом, функції є ключовими будівельними блоками програмування на C, що забезпечує переваги, зокрема покращену організацію, повторне використання коду та просте відстеження величезних програм. Виклики функцій можуть збільшити накладні витрати, але їхні переваги переважують мінімальну втрату продуктивності. Програмісти можуть писати ефективні та модульні програми на C, розуміючи та використовуючи функції.