Leçon de langage C 7----------La définition et l'utilisation des fonctions--------Le langage C est important

Avant-propos de l'auteur

                                

                 Page d'accueil personnelle :: petite page

                 page du gîte : David Qin

                Une petite blogueuse qui aime partager Bienvenue à toutes les mignonnes pour apprendre

__________________________________________________________

  Table des matières

        1. Qu'est-ce qu'une fonction

        2. Fonctions de la bibliothèque

        3. Fonctions personnalisées

        4. Paramètres de fonction

        5. Appels de fonction

        6. Appel imbriqué et accès chaîné des fonctions

        7. Déclaration et définition de la fonction

        8. Récursivité de fonction

_____________________________________________________

Connaissance interstitielle

1. Dans la norme c99, le concept de tableaux de longueur variable est ajouté. La taille du tableau peut être spécifiée par des variables, mais une fois que la taille du tableau est déterminée, elle ne peut pas être modifiée. Le tableau de longueur variable ne peut pas être initialisé. L'environnement VS ne prend pas en charge les tableaux de longueur variable.

2.define, #include, etc. ne sont pas des mots clés, mais des instructions de prétraitement

3. Un pointeur est une adresse, mais nous disons généralement que p est un pointeur et p est une variable de pointeur, donc notre pointeur familier fait référence à une variable de pointeur

4. La méthode de calcul de la valeur moyenne

Méthode 1 : (a+b)/2 (Il n'est pas recommandé d'écrire ceci)

Deuxième méthode :

Il suffit de diviser la partie supplémentaire en parts égales, et c'est tout.

a+(ba)/2

Qu'est-ce qu'une fonction ?

En ce qui concerne les mathématiques, les fonctions mathématiques sont similaires à f(x)=ax+b, et les fonctions du langage C sont similaires à ceci, sauf que

En langage C, non seulement ax + b mais aussi beaucoup de contenu sont combinés pour former un f(x), qui a généralement des paramètres d'entrée et des valeurs de retour, fournissant l'encapsulation du processus et le masquage des détails.

Classification des fonctions en langage C :

1. Fonctions de la bibliothèque

2. Fonctions personnalisées

Fonctions de la bibliothèque

En termes simples, les fonctions de bibliothèque sont des fonctions fournies par les fabricants de compilateurs en langage C. Le principe de l'utilisation de ces fonctions de bibliothèque est d'appeler le fichier d'en-tête

, le langage C n'est utilisé que pour spécifier comment cette fonction peut être utilisée et créée, comme suit :

La norme du langage C stipule :

1. La fonction de la fonction - telle que le calcul de la longueur des caractères

2. Nom de la fonction -------strlen

3. Paramètre --------strlen(const char* str)

4. Type de retour --------isize_t

En bref, les fonctions de la bibliothèque couramment utilisées en langage C ont :
Fonction E/S
Fonctions de manipulation de chaînes
fonctions de manipulation de caractères
fonction de manipulation de la mémoire
fonctions heure / date
fonction mathématique
Autres fonctions de la bibliothèque

Les petits intéressés peuvent venir ici pour jeter un coup d'œil https://cplusplus.com/reference/cctype/

MSDN (réseau de développeurs Microsoft)
www.cplusplus.com
http://en.cppreference.com (version anglaise)
http://zh.cppreference.com (version chinoise)
Les petites mignonnes intéressées peuvent jeter un œil

fonction personnalisée

Comme les fonctions de bibliothèque, les fonctions personnalisées ont des noms de fonction, des types de valeur de retour et des paramètres de fonction.
Mais la différence est que ceux-ci sont tous conçus par nous-mêmes. Cela donne aux programmeurs beaucoup d'espace pour jouer
ret_type fun_name(para1, * )
{
 statement;//语句项
}
ret_type 返回类型
fun_name 函数名
para1    函数参数

Ce qui précède est la composition de base de la fonction, qui est simplement le nom de la fonction paramètre type de retour du corps de la fonction

Par exemple, créez une définition de fonction qui trouve la valeur maximale de deux nombres

#include<stdio.h>
//int compare(int a, int b)
//{
//	return (a > b ? a : b);
//}
int* compare(int* a, int* b)
{
	return (*a > *b ? a : b);
}
int main()
{
	int a = 1;
	int b = 6;
	compare(&a, &b);
	printf("%d", *compare(&a, &b));
	return 0;
}

 Lorsque nous l'exécutons, nous pouvons voir que l'utilisation de la première fonction de définition ne modifie pas les valeurs de num1 et num2. C'est parce que le paramètre réel est passé au paramètre formel. Le paramètre formel est en fait une copie temporaire du paramètre réel. La modification du paramètre formel ne changera pas le paramètre réel.

 La deuxième méthode est réalisée en manipulant l'adresse,

.paramètres de la fonction

paramètres réels (paramètres réels)

En termes simples, il s'agit du paramètre une fois la valeur transmise. Comme le montre la figure ci-dessus, &num1 est le paramètre réel (avec une valeur réelle), qui peut être compris comme le paramètre après l'appel de la fonction devient le paramètre réel

Les paramètres réels peuvent être : des constantes, des variables, des expressions, des fonctions, etc.

Paramètres formels (paramètres)

Le paramètre formel fait référence à la variable entre parenthèses après le nom de la fonction, car le paramètre formel n'est instancié que lorsque la fonction est appelée,

Appel de fonction :

appeler par valeur
Les paramètres formels et les paramètres réels de la fonction occupent des blocs de mémoire différents, et la modification des paramètres formels n'affectera pas les paramètres réels.
Appel par adresse (l'adresse est aussi une valeur, l'adresse est passée, pas la variable pointeur)
L'appel par adresse est un moyen d'appeler une fonction en passant l'adresse mémoire de la variable créée en dehors de la fonction au paramètre de la fonction.
Cette façon de passer des paramètres permet d'établir une véritable connexion entre la fonction et les variables extérieures à la fonction, c'est-à-dire que la fonction peut être directement manipulée à l'intérieur de la fonction.
comme variables extérieures à la fonction.
pratique
Écrire une fonction pour vérifier si un nombre est premier ou non
#include<stdio.h>
#include<math.h>
int is_prime(int i)
{
	int j = 0;
	for (j = 2; j <= sqrt(i); j++)
	{
		if (i % j == 0)
		{
			return 0;
		}
	}
	return 1;
}
int main()
{
	int i = 0;
	for (i = 101; i <= 200; i += 2)
	{
		int a = is_prime(i);
		if (a)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

Appels imbriqués et accès chaîné des fonctions

appels imbriqués

En termes simples, il y a des appels de fonction dans la fonction. Notez que la définition de la fonction ne peut pas être définie à l'intérieur de la fonction.

accès à la chaîne
Valeur de retour d'une fonction comme paramètre d'une autre fonction

Résumer:

Les fonctions du langage C sont introduites ici en premier, et il y aura des suivis plus tard

Je suppose que tu aimes

Origine blog.csdn.net/m0_69984273/article/details/131844136
conseillé
Classement