Académique Documents
Professionnel Documents
Culture Documents
LE
1 S.Ksouri
Cours/TP C
test d'galit : if (a==b) test de non galit : if (a!=b) tests de relation d'ordre : if (a<b) if(a<=b) if(a>b) if (a>=b) test de ET LOGIQUE : if ((expression1) && (expression2)) test de OU LOGIQUE : if ((expression1) || (expression2)) test de NON LOGIQUE : if (!(expression1)) Toutes les combinaisons sont possibles entre ces tests. /*" si l'expression1 est fausse "*/ /*" si l'expression1 OU l'expression2 est vraie "*/ /*" si l'expression1 ET l'expression2 sont vraies "*/ /*" si a diffrent de b"*/ /*" si a gal b"*/
Exercice 1: L'utilisateur saisit un caractre, le programme teste s'il s'agit d'une lettre majuscule, si oui il renvoie cette lettre en minuscule, sinon il renvoie un message d'erreur.
Le langage C admet des critures contractes dans les expressions de test: char reponse; printf("Voulez-vous jouer ?"); reponse = getchar(); if(reponse == 'o') printf("BONJOUR\n"); else printf("TANT-PIS"\n); est quivalent char reponse; printf("Voulez-vous jouer ?"); if((reponse = getchar()) =='o') printf("BONJOUR\n"); else printf("TANT-PIS"\n);
2 S.Ksouri
Cours/TP C
Linstruction SIALORSSINON
Il s'agit de l'instruction :
Organigramme :
Syntaxe en C : If { (expression) ............; ............; ............; } else { ............; ............; ............; } Le bloc "sinon" est optionnel : si (expression vraie) alors {BLOC D'INSTRUCTIONS} Organigramme : /* bloc 2 d'instructions */ /* bloc 1 d'instructions */
Syntaxe en C : if (expression) { ............; ............; ............; } Remarque : les {} ne sont pas ncessaires lorsque les blocs ne comportent qu'une seule instruction. /* bloc d'instructions */
3 S.Ksouri
Cours/TP C
Organigramme :
Syntaxe en C : while {
} Le test se fait d'abord, le bloc d'instructions n'est pas forcment excut. Remarque : les {} ne sont pas ncessaires lorsque le bloc ne comporte qu'une seule instruction. Remarque : On peut rencontrer la construction suivante: while (expression); termine par un ; et sans la prsence du bloc d'instructions. Cette construction signifie: "tant que l'expression est vraie attendre".
Il s'agit de l'instruction : pour (initialisation; condition de continuit vraie;modification) {BLOC D'INSTRUCTIONS} Organigramme:
4 S.Ksouri
Cours/TP C
Syntaxe en C : for(initialisation {
condition
de
} Remarques : Les {} ne sont pas ncessaires lorsque le bloc ne comporte qu'une seule instruction. Les 3 instructions du for ne portent pas forcment sur la mme variable. Une instruction peut tre omise, mais pas les ; Exemples : Le programme : for(i=0;i<10;i++) { ............; ............; ............; } correspond l'organigramme suivant : /* bloc d'instructions */
/*
bloc
d'instructions
*/
est une boucle infinie (rptition infinie du bloc d'instructions). Utilisation de variables diffrentes : resultat = 0; for(i = 0 ; resultat<30 { ............; /*bloc d'instructions ............; ............; resultat=resultat+2*i; } Exercice 2 :Saisir un entier, calculer n! Utiliser une boucle while puis une boucle for.
i++) */
5 S.Ksouri
Cours/TP C
6 S.Ksouri
Cours/TP C
Il s'agit de l'instruction :
Organigramme :
Syntaxe en C: do { ............; ............; ............; } while (expression); Le test se faisant aprs, le bloc est excut au moins une fois. Remarque: les {} ne sont pas ncessaires lorsque le bloc ne comporte qu'une seule instruction. /* bloc d'instructions */
est quivalent
7 S.Ksouri
Cours/TP C
Exercices rcapitulatifs
Exercice 3 : rsoudre ax2 + bx +c = 0. Exercice 4 : Saisir une suite de caractres, compter et afficher le nombre de lettres e et d'espaces. Utiliser les proprits du tampon.
Exercice 5 : Ecrire un algorithme qui lit 20 valeurs relles et qui dtermine la moyenne des valeurs strictement positives et la moyenne des valeurs strictement ngatives. Exercice 6 : Ecrire un algorithme qui saisit une suite de nombres termine par la valeur 0, et qui indique si cette suite est strictement croissante, strictement dcroissante, constante ou quelconque.
8 S.Ksouri