100% ont trouvé ce document utile (1 vote)
333 vues1 page

Parcours de chaînes en C avec pointeurs

Le document décrit plusieurs exercices sur les pointeurs, les chaînes de caractères et les fonctions en C. Les exercices portent sur des sujets comme la manipulation de tableaux et de chaînes avec des pointeurs, la concaténation et recherche dans des chaînes, et l'écriture de fonctions.

Transféré par

anas
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
333 vues1 page

Parcours de chaînes en C avec pointeurs

Le document décrit plusieurs exercices sur les pointeurs, les chaînes de caractères et les fonctions en C. Les exercices portent sur des sujets comme la manipulation de tableaux et de chaînes avec des pointeurs, la concaténation et recherche dans des chaînes, et l'écriture de fonctions.

Transféré par

anas
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Ibn Zohr A.U.

2017-2018 Exercice 4
Faculté des Sciences SMI3 Ecrire une fonction qui prend en paramètre une chaîne de caractères CH et
Département d’Informatique
retourne la longueur de la chaîne à l'aide d'un pointeur P.
TP4 Programmation C Exercice 5
(Les pointeurs, les chaines de caractères et les fonctions) Ecrire une fonction qui prend en paramètre deux chaînes de caractères et
qui les concatène.
Exercice 1
Soit un pointeur p qui pointe vers un tableau A comme suit : Exercice 6 (examen 2015)
int A[] = {12,23,34,45,56,67,78,89,90} ;
int *p ; Ecrire un programme permettant de tester une fonction dont le prototype
p = A; est le suivant :
char * prefixecommun(char * chaine1, char * chaine2)
Quelles valeurs ou adresses fournissent les expressions suivantes :
qui compare lettre à lettre deux chaines de caractères et renvoie le plus
1. printf(" *p+2 : %d \n", *p+2 ); grand préfixe commun. Cette fonction doit renvoyer le pointeur NULL si
2. printf(" *(p+2) : %d \n", *(p+2) ); les deux chaines n’ont aucun préfixe en commun.
3. printf(" p+1 : %d \n", p+1 );
4. printf(" &p+1 : %d \n", &p+1 ); Remarque :
5. printf(" &A[4]-3 : %d \n", &A[4]-3 ); On pourra utiliser les fonctions de la bibliothèque string.h (gets, puts et strlen)
6. printf(" &A[7]-p : %d \n", &A[7]-p );
7. printf(" p+(*p-10) : %d \n", p+(*p-10) ); Exercice 7 (examen 2014)
8. printf(" (*p)++ : %d \n", (*p)++ ); 1. Ecrire une fonction char *Recherche(char *s, char c) qui
9. printf(" ++*p**p : %d \n", *p++**p );
renvoie un pointeur vers la première occurrence dans la chaine s du
10. printf(" ++*p**p : %d \n", ++*p**p );
caractère c passé en argument. Si ce caractère n’apparaît pas dans la
chaine, la fonction devra renvoyer NULL.
Exercice 2
Ecrire un programme qui lit un entier X et un tableau A du type int au 2. A l’aide de la fonction précédente, écrire une fonction int
clavier et élimine toutes les occurrences de X dans A en tassant les Compte(char *s, char c) qui renvoie le nombre d’occurrence de c
éléments restants. Le programme utilisera les pointeurs P1 et P2 pour dans s.
parcourir le tableau. Exercice 8 (examen 2017)
Exercice 3 (examen 2015) Écrire une fonction qui prend en argument une chaîne de caractères et retourne
Ecrire un programme qui vérifie si une chaîne est un carré ou pas (avec une chaine en répétant chaque caractère n fois.
utilisation d’indices puis pointeurs) Prototype: char * répéter (char *s, int n);
Définition : Une chaîne de caractères est un carré si elle se compose de 2 Exemple : l’appel avec "toto" et 3 retournera "tttoootttooo".
chaînes identiques.
Exemple : "chercher" et "bonbon" sont des carrés.

Vous aimerez peut-être aussi