ISET de Zaghouane Atelier Programmation C
TP N° 4 : Les chaînes de caractères
Objectifs
Manipuler les chaines de caractères et les fonctions de base des bibliothèques
string.h et ctype.h.
Exercice 1
Lesquelles des chaînes suivantes sont initialisées correctement ? Corrigez les
déclarations fausses et indiquez pour chaque chaîne de caractères le nombre
d'octets qui sera réservé en mémoire.
a) char a[] = "un\ndeux\ntrois\n";
b) char b[12] = "un deux trois";
c) char c[] = 'abcdefg';
d) char d[10] = 'x';
e) char e[5] = "cinq";
f) char g[2] = {'a', '\0'};
g) char h[4] = {'a', 'b', 'c'};
h) char i[4] = "'o'";
Exercice 2
Soit une chaîne de caractères s. Ecrire un programme en C permettant de
déterminer la longueur de s.
Exercice 3
Ecrire un programme permettant de concaténer deux chaînes S1 et S2 et de
mettre la chaîne obtenue dans T.
Exercice 4
Ecrire un programme qui lit une ligne de texte (ne dépassant pas 200 caractères)
la mémorise dans une variable TXT et affiche ensuite:
a) la longueur L de la chaîne.
b) le nombre de 'a' contenus dans le texte.
c) toute la phrase à rebours, sans changer le contenu de la
variable TXT.
1
ISET de Zaghouane Atelier Programmation C
d) toute la phrase à rebours, après avoir inversé l'ordre des
caractères dans TXT:
voici une petite phrase !
! esarhp etitep enu iciov
Exercice 5
Ecrire un programme qui lit une chaîne de caractères CH et détermine le nombre
de mots contenus dans la chaîne. Utiliser la fonction isspace et une variable
numérique N qui contiendra le nombre des mots.
Exercice 6
Ecrire un programme qui lit un texte TXT (de moins de 200 caractères) et qui
enlève toutes les apparitions du caractère 'e' en tassant les éléments restants.
Les modifications se feront dans la même variable TXT.
Exemple:
Cette ligne contient quelques lettres e.
Ctt lign contint qulqus lttrs .
Exercice 7
Ecrire un programme qui lit un verbe régulier en "er" au clavier et qui en affiche
la conjugaison au présent de l'indicatif de ce verbe. Contrôlez s'il s'agit bien d'un
verbe en "er" avant de conjuguer. Utiliser les fonctions gets, puts, strcat et
strlen.
Exemple: Verbe : fêter
je fête
tu fêtes
il fête
nous fêtons
vous fêtez
ils fêtent
Exercice 8
Ecrire un programme qui lit une chaîne de caractères CH au clavier et qui
compte les occurrences des lettres de l'alphabet en ne distinguant pas les
majuscules et les minuscules. Utiliser un tableau ABC de dimension 26 pour
mémoriser le résultat.
Afficher seulement le nombre des lettres qui apparaissent au moins une fois dans
le texte.
Exemple:
2
ISET de Zaghouane Atelier Programmation C
Entrez une ligne de texte (max. 100 caractères) :
Jeanne
La chaîne "Jeanne" contient :
1 fois la lettre 'A'
2 fois la lettre 'E'
1 fois la lettre 'J'
3 fois la lettre 'N'
Exercice 9
Ecrire un programme qui lit deux chaînes de caractères CH1 et CH2 au clavier et
élimine toutes les lettres de CH1 qui apparaissent aussi dans CH2.
Exemples
Bonjour Bravo ==> njou
:
Bonjour bravo ==> Bnjou
abacab aa ==> bcab
Exercice 10
Ecrire un programme qui lit 5 mots d’une longueur maximale de 50 caractères et
les mémorise dans un tableau de chaînes de caractères TABCH. Inverser l’ordre
des caractères à l’intérieur des 5 mots. Afficher les mots.