• Aucun résultat trouvé

Contrôle de Langage C

N/A
N/A
Protected

Academic year: 2022

Partager "Contrôle de Langage C"

Copied!
6
0
0

Texte intégral

(1)

POLYTECH – ELEC3 2020–2021

Contrôle de Langage C

Durée : 1h30 Aucun document autorisé

Toutes les fonctions que vous écrirez doivent être clairement commentées avec des affirmations significatives (antécédents, conséquents, invariants). Vous prendrez soin de définir les bons paramètres et les bons types des données ma- nipulées. Pensez à définir des fonctions auxiliaires si cela est nécessaire.

Exercice 1

Soit la déclaration du typeDate suivante : t y p e d e f s t r u c t {

i n t jour , mois , a n n e e ; c h a r * n o m D u M o i s ; } D a t e ;

I 1. Uniquement avec la notation de pointeur, écrivez la fonction : c h a r * l e N o m D u M o i s (c o n s t i n t m )

qui renvoie le nom du mois correspondant à l’entier m ∈[1; 12].

1

(2)

la fonction leNomDuMoisprécédente, et la fonction

int nbJoursDansMois(const int m, const int a)vue en TD.

2

(3)

Exercice 2

I 3. Avec la notation de pointeur (i.e.pas de tableau), écrivez la fonctionstrrchr qui renvoie un pointeur sur la dernière occurrence d’un caractère dans une chaîne de caractères. Le caractère et la chaîne de caractères sont passés en paramètre de la fonction. La fonction renvoieNULLsi le caractère n’appartient pas à la chaîne.

Attention : vous ne devez utiliser aucune fonction de la bibliothèque standard C.

3

(4)

I 4. Écrivez la déclaration du type liste pour représenter une liste dynamique simplement chaînée, comme vue en TD.

I 5. Écrivez la procéduresupprimerdont l’en-tête est donné ci-dessous :

/* R ô l e : s u p p r i m e l ’ é l é m e n t de r a n g r de la l i s t e l */

/* A n t é c é d e n t : 1 6 r 6 l o n g u e u r ( l ) */

v o i d s u p p r i m e r ( l i s t e * l , c o n s t i n t r )

4

(5)

Exercice 4

I 6. Écrivez un programme qui prend une suite, non vide, de paramètres pro- grammes qui doivent représenter des entiers. Le programme affichera sur la sortie standard la somme des entiers pairs. Vous vérifierez la validité des para- mètres programmes. Vous pourrez utiliser, sans l’écrire, la fonctionestUnEntier vue en TD. Votre programme ne devra utiliser que la notation de pointeur (pas de tableau).

Par exemple, si le programme exécutable se nomme somEntiersPairs, la commande suivante :

./somEntiersPairs 3 19 4 2 7 10 écrira sur la sortie standard : 16.

5

(6)

Références

Documents relatifs

9. Le récepteur peut être inséré dans le boîtier du pointeur pour les déplacements 10. Économie d’énergie avec le Auto- Standby et l’interrupteur Marche / Arrêt 13.

L’exemple suivant montre la déclaration d’une variable de type pointeur de fonction qui doit retourné un entier nommé pFonction1 et d’une fonction retournant

On souhaite faire l’affichage d’un tableau

Une constante chaîne de caractères peut être définie par une suite de caractères délimitée par des guillemets, ou à l’aide d’une initialisation classique de tableau. Le

En utilisant la notation de tableau, écrivez la fonction strRchr qui renvoie l’indice de la dernière occurrence d’un caractère c dans une chaîne de caractère s.. Si le

En utilisant la notation de tableau, écrivez la fonction strRchr qui renvoie l’indice de la dernière occurrence d’un caractère c dans une chaîne de caractère s.. Récrivez

Avec la notation de pointeur, écrivez en C la fonction somme qui prend en paramètre une chaîne de caractères qui représente un entier naturel et qui renvoie la somme de ses

En utilisant la notation de pointeur, écrivez en C la fonction remplacerChiffres qui prend en paramètre une chaîne de caractères, et qui remplace chaque chiffre par le caractère