next up previous
suivant: À propos de ce


Tableau: Table des priorités des opérateurs C.
Priorité Opérateur Description Exemple
0 ( ) appel de fonction, associativité
foo();
a = (b + c) * d;
 
  [ ] indexation
int tab[3];
tab[0] = tab[1] = tab[2] = 0;
 
  . nommage d'un champ obj.cdr = NULL;
  -> nommage indirect de champ pt->cdr = NULL;
1 ! négation (!a) est vraie si a est fausse
  ~ complément à 1 a & ( a) = 0
  - opposé  
  ++ incrémentation i++; ++i;
  -- décrémentation i--; --i;
  & adresse
int i, *pt;
pt = &i;
 
  * valeur indirecte *pt = 0; /* donne i = 0 */
  (type_de_donnée) force le type (cast) int i = (int)1.5;
  sizeof taille en octets i = sizeof i;
2 * Multiplication  
  / Division  
  % Modulo  
3 + Addition  
  - Soustraction  
4 << Décalage à gauche  
  >> Décalage à droite  
5 < Strictement inférieur  
  <= Inférieur ou égal  
  > Strictement supérieur  
  >= Supérieur ou égal  
6 == Egal  
  != Différent  
7 & ``et'' binaire  
8 ^ ``ou'' exclusif binaire  
9 $\vert$ ``ou'' binaire  
10 && ``et'' logique  
11 $\vert\vert$ ``ou'' logique  
12 ?: conditionnelle  c = (a < b) ? a : b;
13 = *= /= %= Affectations  
  += -= ^= &=    
  <<= >>= |=    
14 , Séquence  
 




 
 

#include <stdio.h>
int main(void) {
  char c;
  c = getchar();
  if (c >= 'a' && c <= 'z')
    printf("Majuscule de %c : %c\n",c , c - 'a' + 'A');
  else if (c >= 'A' && c <= 'Z')
    printf("Minuscule de %c : %c\n",c , c + 'a' - 'A');
  else
    printf("Inconnu !\n");
  return 0;
}
 
 

#include <stdio.h>
int main(void) {
  char c;
  int etat = 1;
  while(1) { 
    if (etat == 1) {
      printf("\nEntrer des lettres quelconques -> ");
      etat = 0;
    }
    c = getchar();
    if (c == '\n') {
      if(etat == 0) {
	printf("Good bye !\n");
	break; 
      }
      etat = 1;
      continue;
    } else
      etat = 2;
    if (c >= 'a' && c <= 'z')
      printf("Majuscule de %c : %c\n",c , c - 'a' + 'A');
    else if (c >= 'A' && c <= 'Z')
      printf("Minuscule de %c : %c\n",c , c + 'a' - 'A');
    else
      printf("Caractere non-alphabetique !\n");
  }
  return 0;
}
 

 
Conversion Majuscule-Minuscule. 
 


 

Lire le man des fonctions vues en cours. Exemple :
$ man 3 printf
$ man scanf
...
Pour obtenir la documentation du man, faire :
$ man man


Devoir 03 :

a. Écrire un programme qui affiche les caractères imprimables de la table ASCII à la manière de la commande man ascii.

b. Écrire, en utilisant la fonction scanf ou fgets, un programme qui transforme les minuscules d'une phrase en majuscules et vice-versa. Par exemple :
(Bonjour, il est 8h00) $\rightarrow$ (bONJOUR, IL EST 8H00)
Le programme demande à l'utilisateur d'entrer une phrase puis la convertit et l'affiche. Il recommence tant que l'utilisateur entre une chaîne non vide. Dans l'exemple, vous remarquerez que les caractères non-alphabétiques n'ont pas été modifiés.
Faire attention aux entrées vides (ctrl-d).




next up previous
suivant: À propos de ce
Fares Belhadj 2007-03-16