Guillaume Rivière 2010 – 2017

Le logo de la CCI Bayonne Pays Basque

Programmation Procédurale en langage C

Niveau2 - Fonctions, Tableaux, Chaînes de caractères

Exercice 1 • Puissance

Écrire une fonction qui calcule l'élévation à la puissance P d'un nombre X, avec X paramètre réel de la fonction et P paramètre entier. La fonction retournera le résultat du calcul.

  1. Donner une version itérative, utilisant au choix une boucle for ou une boucle while
  2. Donner une version récursive, en tenant compte du fait que xP=x.xP-1 et x0=1

Exercice 2 • Positiver les tableaux

Écrire une fonction qui remplace par son opposé chaque nombre négatif du tableau d'entiers donné en paramètre et de taille N.

Exercice 3 • Somme d'occurrences dans des tableaux

Écrire une fonction qui calcule la somme des nombres pairs du tableau d'entiers donné en paramètre et de taille N. La fonction retournera le résultat du calcul.

Exercice 4 • Moyenne de tableaux

Écrire une fonction qui calcule la moyenne des valeurs du tableau d'entiers donné en paramètre et de taille N. La fonction retournera le résultat du calcul.

Exercice 5 • Longueur des chaînes de caractères

Écrire une fonction qui calcule la longueur de la chaîne de caractères passée en paramètre. L'utilisation des fonctions de string.h est interdite. La fonction retournera le résultat du calcul.

Rappel : Le caractères de fin de chaîne est '\0'

Exercice 6 • Compteur d'occurrences dans les chaînes de caractères

Écrire une fonction qui compte le nombre de chiffres et de caractères de ponctuation de la chaîne de caractères passée en paramètre. La fonction retournera le résultat du calcul.

La fonction int isdigit (char c); de ctype.h retourne VRAI (c.-à-d. != 0) si le caractère passé en paramètre est un chiffre, FAUX sinon (c.-à-d. == 0).

La fonction int ispunct (char c); de ctype.h retourne VRAI (c.-à-d. != 0) si le caractère passé en paramètre est un caractère de ponctuation, FAUX sinon (c.-à-d. == 0).

Rappel : Le caractères de fin de chaîne est '\0'

Exercice 7 • Majuscules et minuscules

Écrire une fonction qui met en majuscule la première lettre de chaque mot, et toutes les autres en minuscules, de la chaîne de caractères passée en paramètre.

La fonction int isspace(char c); de ctype.h retourne VRAI (c.-à-d. != 0) si le caractère passé en paramètre est un séparateur (espace, retour chariot, tabulation, ...), FAUX sinon (c.-à-d. == 0).

La fonction char toupper(char c); de ctype.h retourne en lettre majuscule le caractère qui lui est transmis en paramètre

La fonction char tolower(char c); de ctype.h retourne en lettre minuscule le caractère qui lui est transmis en paramètre

Rappel : Le caractères de fin de chaîne est '\0'