�� LANGAGE DE � PROGRAMMATION: C
F. Karami
La syntaxe du langage�
*
Programmer en langage C
2
Instructions, Expressions et Opérateurs
x=2+3;
est une instruction d’affectation. Elle demande à l’ordinateur
d’ajouter 2 et 3 et d’attribuer le résultat à la
variable x.
*
Programmer en langage C
3
La syntaxe du langage C
{
printf("Hello");
printf("world!");
}
{printf("Hello");
printf("world!");}
Instructions, Expressions et Opérateurs
Une expression est une combinaison d’opérateurs et d’opérandes(variables, constantes). Autrement tout ce qui représente une valeur numérique. Une expression génère toujours un résultat d’un type bien défini qu’on appellera le type de l’expression.
*
Programmer en langage C
4
La syntaxe du langage C
Instructions, Expressions et Opérateurs
ne signifie pas x égal y. Elle indique à l’ordinateur d’affecter la valeur de la variable y à x. Cette instruction doit être composée d’une expression à droite du signe égale, et d’un nom de variable à gauche de ce signe:
variable=expression;
*
Programmer en langage C
5
La syntaxe du langage C
Instructions, Expressions et Opérateurs
var += exp ; équivalent à var = var + (exp) ;
var -= exp ; var = var - (exp) ;
var *= exp ; var = var * (exp) ;
var /= exp ; var = var / (exp) ;
var %= exp ; var = var % (exp) ;
pas d’espace entre l’opérateur op et le égal =,
x *= y+1 est équivalent à x = x*(y+1) et pas x = x*y+1.
*
Programmer en langage C
6
La syntaxe du langage C
Instructions, Expressions et Opérateurs
*
Programmer en langage C
7
La syntaxe du langage C
Instructions, Expressions et Opérateurs
*
Programmer en langage C
8
La syntaxe du langage C
Instructions, Expressions et Opérateurs
Résultat : N = 4 et X = 3
Résultat : N = 4 et X = 4
Résultat : N = 2 et X = 3
Résultat : N = 2 et X = 2
*
Programmer en langage C
9
La syntaxe du langage C
Instructions, Expressions et Opérateurs
*
Programmer en langage C
10
La syntaxe du langage C
Instructions, Expressions et Opérateurs
*
Programmer en langage C
11
La syntaxe du langage C
Instructions, Expressions et Opérateurs
#include <stdio.h>
main (){
int x=14,y=1; // x est différent de y
if (x = y) //erreur!!! il faudrait écrire ’if (x == y)’
printf("x est égal à y (%d=%d)\n",x,y);
else
printf("x est différent de y (%d!=%d)\n",x,y);
system(« pause»);
}
*
Programmer en langage C
12
La syntaxe du langage C
Instructions, Expressions et Opérateurs
Les opérateurs logiques, permettent de combiner le résultat de
plusieurs expressions de comparaison en une seule expression
logique. Les opérandes des opérateurs logiques peuvent être
n’importe quel scalaire. Toute valeur différente de 0 est interprétée
comme vraie (et 0 correspond à ’faux’). Comme pour les expressions
de comparaisons les expressions logiques renvoient une valeur
entière (0 =faux ; 1=vraie).
Remarque :
les opérateurs && et || évaluent les opérandes de gauche à droite et
le résultat est connu dès l’opérande de gauche. Ainsi, l’opérande de
droite n’est évaluée que si celle de gauche est vraie dans le cas de
l’opérateur && (respectivement fausse dans le cas de l’opérateur ||).
Exemple:
(i < max) && (f(14) == 1), la fonction f n’est appelée que si i < max.
*
Programmer en langage C
13
La syntaxe du langage C
Instructions, Expressions et Opérateurs
*
Programmer en langage C
14
La syntaxe du langage C
Instructions, Expressions et Opérateurs
*
Programmer en langage C
15
La syntaxe du langage C
Instructions, Expressions et Opérateurs
*
Programmer en langage C
16
La syntaxe du langage C
Exercices
int n=10, p=4;
Long q=2;
Float x=1.75;
Donner le type et la valeur de chacune des expressions suivantes
*
Programmer en langage C
17
La syntaxe du langage C
Exercices
int n=10, p=4;
long q=2;
float x=1.75;
Donner le type et la valeur de chacune des expressions suivantes
*
Programmer en langage C
18
La syntaxe du langage C
Exercices
2. n étant de type int, écrire une expression qui prend la valeur :
-1 si n est négatif
0 si n est nul
1 si n est positif
*
Programmer en langage C
19
La syntaxe du langage C
Exercices
2. n étant de type int, écrire une expression qui prend la valeur :
-1 si n est négatif
0 si n est nul
1 si n est positif
*
Programmer en langage C
20
n ? (n>0 ? 1: -1) : 0
La syntaxe du langage C
Les structures de contrôle
*
Programmer en langage C
21
La syntaxe du langage C
Les structures de contrôle : if-else
la forme if est ici dans sa forme la plus simple. ��Si expression est vraie, instruction1 est exécutée.
Si expression est fausse, instruction1 est ignorée.
*
Programmer en langage C
22
La syntaxe du langage C
Les structures de contrôle : if-else
else � instruction2;
Si expression est vraie, instruction1 est exécutée, sinon c’est instruction2 qui est
exécutée.
instruction1;
else if (expression2)
instruction2;
else
instruction3;
Les instructions if sont imbriquées. Si expression1 est vraie, instruction1
est exécutée. Dans le cas contraire expression2 est évaluée si cette dernière est
vraie instruction2 est exécutée. Si les deux expressions sont fausses, c’est
instruction3 qui est exécuté
*
Programmer en langage C
23
La syntaxe du langage C
Les structures de contrôle : if-else
tax=0.30;
else
tax=0.25;
printf(‘’mineur’’);
else if (age <65)
printf(‘’adulte’’);
else
printf(‘’personne agée’’);
*
Programmer en langage C
24
La syntaxe du langage C
Les structures de contrôle : if-else
#include <stdio.h>
main (){ �int i;
printf("Tapez un nombre entier positif ou negatif: ");
scanf("%d", &i);
if (i<0) {
i=-i;
printf("J'ai remis i à une valeur positive.\n");
}
else
printf("Vous avez tapé un nombre positif.\n");
system(« pause»);
}
*
Programmer en langage C
25
Les structures de contrôle : Switch
*
Programmer en langage C
26
La syntaxe du langage C
Les structures de contrôle : Switch
switch (<variable>) {
case <valeur 1> : <action 1>; break;
case <valeur 2> : <action 2>; break;
…
default : <action n>;
}
*
Programmer en langage C
27
La syntaxe du langage C
Les structures de contrôle : Switch
*
Programmer en langage C
28
La syntaxe du langage C
Les structures de contrôle : Switch
#include<stdio.h>� main() {
int a,b,y;
char operateur;
printf(‘’ Entrez un opérateur (+, -,* ou /):’’);
scanf(‘’%c’’,& operateur);
printf(‘’ Entrez deux entiers:’’);
pcanf(‘’%d’’,&a); Scanf(‘’ %d’’,&b);
switch(operateur){
case ’-’ : y=a-b; printf(‘’%d’’,y);break;
case ’+’ : y=a+b; printf(‘’%d’’,y); break;
case ’*’ : y=a*b; printf(‘’%d’’,y); break;
case ’/’ : y=a/b; printf(‘’%d’’,y); break;
default : printf(‘’opérateur inconnu\n’’);break;
}
}
*
Programmer en langage C
29
La syntaxe du langage C