• Aucun résultat trouvé

Les fonctions scanf et printf permettent respectivement la lecture et l affichage d un caractère, pour cela on doit utiliser le code format %c.

N/A
N/A
Protected

Academic year: 2022

Partager "Les fonctions scanf et printf permettent respectivement la lecture et l affichage d un caractère, pour cela on doit utiliser le code format %c."

Copied!
6
0
0

Texte intégral

(1)

Page 1 Les chaînes de caractères :

Les fonctions scanf et printf permettent respectivement la lecture et l’affichage d’un caractère , pour cela on doit utiliser le code format %c.

main()

//affichage d’un caractère { char ch= ‘z’ ;

printf(‘’ %c ‘’ ,ch) ; }

main() { char ch ;

scanf(‘’ %c’’ ,&ch) ; //lecture d’un caractère printf(‘’ %c ‘’ ,ch) ;

}

Une chaîne de caractères n’est rien d’autre qu’un tableau de type caractère.

char chaîne[10] ;

Une chaîne de caractères contient un caractère spécial à la fin de la

chaîne appelé caractère de fin de chaîne (‘\0’). A chaque fois qu’une chaîne est créée il faut prévoir de la place pour le caractère de fin de chaîne.

Il faut ajouter un block de plus dans le tableau pour stocker le caractère nul (‘\0’).

Création et initialisation d’une chaîne de caractères : main()

{char chaîne[6] ; chaîne[0]=’S’ ; chaîne [1]=’A’ ; chaîne [2]=’L’ ; chaîne [3]=’U’ ;

(2)

Page 2 chaîne [4]=’T’ ;

chaîne [5]=’\0’ ;

printf(‘’ la chaîne est : %s\n ‘’, chaîne) ; }

Le code format utilisé pour les chaînes de caractères est %s.

main()

{char chaîne[6]=’’SALUT’’ ; printf(‘’ %s ‘’ ,chaîne) ; }

Lecture d’une chaîne de caractères : main()

{char prénom[30] ;

printf(‘’ comment t’appelles tu\n ‘’) ; scanf(‘’ %s’’ ,&prénom) ;

printf(‘’ salut %s, heureux de te connaître\n ‘’, prénom) ; }

Fonctions de manipulation des chaînes de caractères :

La bibliothèque string.h nous fournit des fonctions pour manipulation des chaînes de caractères.

strlen est une fonction qui calcule la longueur d’une chaîne de caractères(sans compter le caractère (‘\0’)).

La fonction contient la chaîne comme paramètre et retourne la longueur de la chaîne.

(3)

Page 3

#include<stdio.h>

#include<string.h>

main () {

char chaîne[6]= ‘’SALUT’’ ; int longueur ; longueur=strlen(chaîne) ;

printf(‘’ la chaîne %s fait %d caractères de long\n ‘’, chaîne,longueur) ; }

On peut écrire nous même le code de la fonction strlen

#include<stdio.h>

#include<string.h>

main()

{char chaîne[50],ch ; int L ;

printf(‘’ donner une chaine\n ‘’) ; scanf(‘’ %s’’, chaîne) ;

L=0 ; do

{ ch=chaîne [L] ; L++ ;

}

while(ch !=’\0’) ; L-- ;

printf(‘’ la chaîne %s fait %d caractères de long\n ‘’, chaîne,L) ; }

(4)

Page 4 La fonction strcpy permet de copier une chaîne à l’intérieur d’une autre.

cette fonction prend deux paramètres

Le 1er paramètre est le tableau qui reçoit la chaine à copier et le 2eme paramètre est la chaîne qui sera copiée.

main()

{ char chaîne[10]= ‘’TEXTE ‘’ ; char copie[10] ;

strcpy(copie,chaîne) ;

printf(‘’ la chaîne vaut %s\n ‘’, chaîne) ; printf(‘’ la copie vaut %s\n ‘’, copie) ; }

La fonction strcat ajoute une chaîne à la suite d’une autre, on appelle cela la concaténation.

main()

{ char Chaîne1[50]= ‘’SALUT ‘’ ; char chaîne2[10]= ‘’COUSIN ‘’;

strcat(chaîne1, chaîne2) ;

printf(‘’ chaîne1 vaut %s \n ‘’, chaîne1) ; printf(‘’ chaîne2 vaut %s\n ‘’, chaîne2) ; }

Les constantes :

Une fois déclarée une constante , elle conserve la même valeur pendant toute l’exécution du programme. Une constante est une variable

particulière (sa valeur reste toujours constante).

Pour déclarer une constante on utilise le mot const suivi du type de la variable , et il faut lui donner obligatoirement une valeur .

(5)

Page 5 Exemple :

const int nbj=7 ;

La fonction de comparaison de chaînes de caractères :

strcmp compare deux chaînes en utilisant l’ordre des caractères définit par le code ASCII .

strcmp compare deux chaînes de caractères. On fournit chacune de leur adresse à cette fonction qui retourne une valeur entière comme étant : -positive : si chaîne1>chaîne2 ;

-nulle : si chaîne1=chaine2 ; -négative : si chaîne1<chaîne2.

Exemple :

Écrire un programme qui détermine si deux chaînes de caractères sont égales, sinon on affiche les chaînes dans l’ordre croissant.

#include<stdio.h>

#include<string.h>

main()

{char chaîne1[30], chaîne2[30] ; int L ;

printf(‘’ donner la première chaîne\n ‘’) ; scanf(‘’ %s ‘’ , chaîne1) ;

printf (‘’ donner la deuxième chaîne\n ‘’) ; scanf(‘’ %s ‘’, chaîne2) ;

L=strcmp(chaîne1,chaîne2) if (L==0)

printf(‘’ %s est égale à %s\n ‘’, chaîne1, chaîne2) ; else

(6)

Page 6 if(L>0)

printf(‘’ %s est inférieure à %s\n ‘’, chaîne2, chaîne1) ; else

printf(« %s est inférieure à %s\n », chaîne1, chaîne2) ; }

Exemple :

Écrire un programme qui inverse une chaîne de caractères dans le même tableau.

#include<stdio.h>

#include<string.h>

main()

{char chaîne[50] ; int g,d,temp ;

printf(‘’ donner une chaîne\n ‘’) ; scanf(‘’ %s ‘’, chaîne) ;

d=strlen(chaîne)-1 ; for(g=0 ;g<d ;g++ ;d--) {temp=chaîne[g] ; chaîne[g]=chaîne[d] ; chaîne[d]=temp ; }

printf(‘’ la chaîne inversée est %s\n ‘’, chaîne) ; }

Références

Documents relatifs

chaine[debut:fin] Renvoie la partie de chaine comprise entre le caractère à la positon debut (inclus) et celui à la position fin (exclu). Transformer une chaîne de

On peut obtenir la taille d’une chaîne avec la commande size qui donne le nombre d’éléments de la chaîne size (C1)..

Utilisation de la fonction : Écrire un programme qui, après avoir saisi les coefficients d’une matrice A, donnera le nombre de zéros présents dans la matrice.. Le TD 7, dans lequel

Écrire une méthode qui reçoit en paramètre une chaîne de caractères et l'affiche sur deux lignes, en affichant sur la première ligne les caractères en majuscule de rang impair et

Pour printf un format est une chaîne de caractères dans laquelle sont insérés les caractères représentant la ou les variables à écrire. Pour scanf() un format est une chaîne

Une pile est représentée par une structure regroupant un entier, pour le sommet, et un tableau de MAX_PILE éléments (ici, des caractères). II.1- En utilisant la

Écrivez une fonction C qui prend en paramètre un pointeur vers le début d’une chaîne de caractères et retourne la longueur de cette chaîne sous forme d’un entier sans utiliser

1. Écrire une fonction cesarLetter qui prend en paramètre une chaîne de caractères contenant le caractère correspondant à ’A’ et une chaîne de caractères contenant un