English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In this tutorial, I will introduce functions in C language programming (user-defined functions and standard library functions). In addition, you will also learn why functions are used in programming.
Function is a code block that executes a specific task.
Suppose you need to create a program to create a circle and color it. You can create two functions to solve this problem:
Function to create a circle
Function to create color
Breaking down complex problems into smaller pieces makes our program easier to understand and reuse.
C functions have the following advantages.
By using functions, we can avoid rewriting the same logic/code over and over in the program.
We can call C functions multiple times at any location in the program.
When a large C program is divided into multiple functions, we can easily track it.
Reusability is the main achievement of C functions.
However, function calls are always a cost in C programs.
C functions include three aspects.
Function declaration Must be global in the C programDeclarationFunction to inform the compiler of the function name, function parameters, and return type.
Function call It can be from any location in the programCallFunction. The parameter list must be the same in both function calls and function declarations. We must pass the same number of functions as declared in the function declaration.
Function definition It contains the actual statements to be executed. This is the most important aspect involved when calling a function. We must note that the function can only return one value here.
Numero | C function aspects | Syntax |
---|---|---|
1 | Function declaration | return_type function_name(argument_list); |
2 | Function call | function_name(argument_list) |
3 | Function definition | return_type function_name(argument_list){function body;} |
The syntax for creating a function in C language is as follows:
return_type function_name(data_type parameter...){ //要执行的代码 }
C语言编程中有两种类型的函数:
标准库函数:在C头文件中声明的函数,例如scanf(),printf(),gets(),puts(),ceil(),floor()等。
用户定义的函数:C程序员自定义的函数,我们可以多次使用它。它降低了大型程序的复杂性并优化了代码。
C函数可能会也可能不会从该函数返回值。如果您不必从函数返回任何值,则将void用作返回类型。
让我们看一个简单的C函数示例,该函数不会从该函数返回任何值。
没有返回值的示例:
void hello(){ printf("hello c"); }
如果要从函数返回任何值,则需要使用任何数据类型,例如int,long,char等。返回类型取决于要从函数返回的值。
让我们看一个简单的C函数示例,该函数从该函数返回int值。
返回值示例:
int get(){ return 10; }
在上面的示例中,我们必须返回10作为值,因此返回类型为int。如果要返回浮点值(例如10.2、3.1、54.5等),则需要使用float作为方法的返回类型。
float get(){ return 10.2; }
现在,您需要调用该函数以获取该函数的值。
函数可以接受也可以不接受任何参数。它可能会或可能不会返回任何值。基于这些事实,函数调用有四个不同方面。
没有参数且没有返回值的函数
没有参数但有返回值的函数
有参数且无返回值的函数
带有参数和返回值的函数
Esempio 1
#include<stdio.h> void printName(); void main () { printf("Hello "); printName(); } void printName(); { printf("it.oldtoolbag.com"); }
Risultato dell'output
Hello it.oldtoolbag.com
实例2
#include<stdio.h> void sum(); void main() { printf("\nCalcola la somma dei due numeri:"); sum(); } void sum(); { int a, b; printf("\nInserisci due numeri"); scanf("%d %d", &a, &b); printf("总和是 %d", a+b); }
Risultato dell'output
Calcola la somma dei due numeri: Inserisci due numeri 10 24 La somma è: 34
Esempio 1
#include<stdio.h> int sum(); void main() { int result; printf("\nCalcola la somma dei due numeri:"); result = sum(); printf("%d", result); } int sum(); { int a, b; printf("\nInserisci due numeri"); scanf("%d %d", &a, &b); return a+b; }
Risultato dell'output
Calcola la somma dei due numeri: Inserisci due numeri 10 24 34
Esempio 2: il programma calcola l'area del quadrato
#include<stdio.h> int sum(); void main() { printf("Calcola l'area di questo quadrato\n"); float area = square(); printf("L'area del quadrato è: %f\n", area); } int square() { float side; printf("Inserisci la lunghezza del lato (in metri):"); scanf("%f", &side); return side * side; }
Risultato dell'output
Calcola l'area di questo quadrato L'area del quadrato è: 10 Inserisci la lunghezza del lato (in metri): 100.000000
Esempio 1
#include<stdio.h> void sum(int, int); void main() { int a, b, result; printf("\nCalcola la somma dei due numeri:"); printf("\nInserisci due numeri:"); scanf("%d %d", &a, &b); sum(a,b); } void sum(int a, int b) { printf("\nLa somma è: %d", a+b); }
Risultato dell'output
Calcola la somma dei due numeri: Inserisci due numeri 10 24 La somma è: 34
Esempio 2: il programma calcola la media di cinque numeri.
#include<stdio.h> void average(int, int, int, int, int); void main() { int a, b, c, d, e; printf("\nCalcolare la media di cinque numeri:"); printf("\nInserisci cinque numeri:"); 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("La media di cinque numeri è: %f", avg); }
Risultato dell'output
Calcolare la media di cinque numeri: Inserisci cinque numeri: 10 20 30 40 50 La media di cinque numeri è: 30.000000
Esempio 1
#include<stdio.h> int sum(int, int); void main() { int a, b, result; printf("\nCalcola la somma dei due numeri:"); printf("\nInserisci due numeri:"); scanf("%d %d", &a, &b); result = sum(a,b); printf("\nLa somma è: %d", result); } int sum(int a, int b) { return a+b; }
Risultato dell'output
Calcola la somma dei due numeri: Inserisci due numeri: 10 20 La somma è: 30
Esempio 2: Programma per controllare se un numero è anche o dispari
#include<stdio.h> int even_odd(int); void main() { int n, flag=0; printf("\nControlla se un numero è anche o dispari"); printf("\nInserisci un numero: "); scanf("%d", &n); flag = even_odd(n); if(flag == 0) { printf("\nIl numero è dispari"); } else { printf("\nQuesto numero è anche"); } } int even_odd(int n) { if(n%2 == 0) { return 1; } else { return 0; } }
Risultato dell'output
Controlla se un numero è anche o dispari Inserisci un numero: 100 Questo numero è anche
Le funzioni di libreria standard sono funzioni integrate nel linguaggio C, raggruppate e posizionate in posizioni pubbliche denominate librerie. Queste funzioni vengono utilizzate per eseguire operazioni specifiche. Ad esempio, printf è una funzione di libreria utilizzata per stampare sullo schermo. Le funzioni di libreria sono create dai designer del compilatore. Tutte le funzioni della libreria standard C sono presenti con estensione.hLe diverse intestazioni di file sono definite. Dobbiamo includere questi file di intestazione nel nostro programma per utilizzare le librerie definite in questi file di intestazione. Ad esempio, per utilizzare librerie come printf / scanf, dobbiamo includere stdio.h nel nostro programma, che è un file di intestazione che contiene tutte le funzioni di libreria relative all'input/output standard.
La tabella seguente elenca i file di intestazione più utilizzati.
Numero | File di intestazione | Descrizione |
---|---|---|
1 | stdio.h | Questo è un file di intestazione di input/output standard. Contiene tutte le funzioni di libreria relative all'input/output standard. |
2 | conio.h | Questo è un file di intestazione di input/output della console. |
3 | string.h | Contiene tutte le funzioni di libreria relative alle stringhe, ad esempio gets(), puts() ecc. |
4 | stdlib.h | Questo file di intestazione contiene tutte le funzioni di libreria universali, ad esempio malloc(), calloc(), exit() ecc. |
5 | math.h | Questo file di intestazione contiene tutte le funzioni relative alle operazioni matematiche, ad esempio sqrt(), pow() ecc. |
6 | time.h | Questo file di intestazione contiene tutte le funzioni relative al tempo. |
7 | ctype.h | Questo file di intestazione contiene tutte le funzioni di gestione dei caratteri. |
8 | stdarg.h | Le funzioni con parametri variabili sono definite in questo file di intestazione. |
9 | signal.h | Tutte le funzioni di gestione dei segnali sono definite in questo file di intestazione. |
10 | setjmp.h | Questo file contiene tutte le funzioni di transizione. |
11 | locale.h | Questo file contiene funzioni di ambiente linguistico. |
12 | errno.h | Questo file contiene funzioni di gestione degli errori. |
13 | assert.h | Questo file contiene funzioni di diagnostica. |
Accedi a queste pagine per ulteriori informazioni: