English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C Language Basic Tutorial

C Language Flow Control

Funzioni del linguaggio C

Array del linguaggio C

Puntatori del linguaggio C

Stringhe del linguaggio C

C Language Structure

C Language File

C Other

C Language Reference Manual

Funzioni del linguaggio C

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.

Advantages of C language functions

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.

What aspects does a function include

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.


NumeroC function aspectsSyntax
1Function declarationreturn_type function_name(argument_list);
2Function callfunction_name(argument_list)
3Function definitionreturn_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语言编程中有两种类型的函数:

  1. 标准库函数:在C头文件中声明的函数,例如scanf(),printf(),gets(),puts(),ceil(),floor()等。

  2. 用户定义的函数: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 di funzione con parametri ma senza valore di ritorno

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 di funzione con parametri e valore di ritorno

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

Funzioni della libreria standard del linguaggio C

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.

NumeroFile di intestazioneDescrizione
1stdio.hQuesto è un file di intestazione di input/output standard. Contiene tutte le funzioni di libreria relative all'input/output standard.
2conio.hQuesto è un file di intestazione di input/output della console.
3string.hContiene tutte le funzioni di libreria relative alle stringhe, ad esempio gets(), puts() ecc.
4stdlib.hQuesto file di intestazione contiene tutte le funzioni di libreria universali, ad esempio malloc(), calloc(), exit() ecc.
5math.hQuesto file di intestazione contiene tutte le funzioni relative alle operazioni matematiche, ad esempio sqrt(), pow() ecc.
6time.hQuesto file di intestazione contiene tutte le funzioni relative al tempo.
7ctype.hQuesto file di intestazione contiene tutte le funzioni di gestione dei caratteri.
8stdarg.hLe funzioni con parametri variabili sono definite in questo file di intestazione.
9signal.hTutte le funzioni di gestione dei segnali sono definite in questo file di intestazione.
10setjmp.hQuesto file contiene tutte le funzioni di transizione.
11locale.hQuesto file contiene funzioni di ambiente linguistico.
12errno.hQuesto file contiene funzioni di gestione degli errori.
13assert.hQuesto file contiene funzioni di diagnostica.

Accedi a queste pagine per ulteriori informazioni: