You are on page 1of 226

ISI 1 – Semestre 1

Chapitre 1 : Langage C -Notions de base

Cours donné par:


Dr. Abderrahmane ELBALAOUI

chapitre 1 : Langage C - notions de base 1


Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 2


Passage de l'algorithmique à un langage de programmation

L'ordinateur est un matériel électronique, qui ne manipule que des


impulsions électriques:
Le bit (0)2 correspond à l'impulsion 0 volts
Le bit (1)2 correspond à l'impulsion 5 volts (ou 3 volts pour quelques
machines)
Il faut donc traduire nos algorithmes écrits en langage humain en
langage machine an que l'ordinateur puisse les exécuter.
⇒ Les langages de programmation permettent d'écrire des programmes
informatiques en utilisant une syntaxe proche du langage humain.
Par la suite, certains outils liés au langage de programmation permettent de
traduire ces programmes en langage compréhensible par la machine.

chapitre 1 : Langage C - notions de base 3


Passage de l'algorithmique à un langage de programmation

L'ordinateur est un matériel électronique, qui ne manipule que des


impulsions électriques:
Le bit (0)2 correspond à l'impulsion 0 volts
Le bit (1)2 correspond à l'impulsion 5 volts (ou 3 volts pour quelques
machines)
Il faut donc traduire nos algorithmes écrits en langage humain en
langage machine an que l'ordinateur puisse les exécuter.
⇒ Les langages de programmation permettent d'écrire des programmes
informatiques en utilisant une syntaxe proche du langage humain.
Par la suite, certains outils liés au langage de programmation permettent de
traduire ces programmes en langage compréhensible par la machine.

chapitre 1 : Langage C - notions de base 3


Passage de l'algorithmique à un langage de programmation

L'ordinateur est un matériel électronique, qui ne manipule que des


impulsions électriques:
Le bit (0)2 correspond à l'impulsion 0 volts
Le bit (1)2 correspond à l'impulsion 5 volts (ou 3 volts pour quelques
machines)
Il faut donc traduire nos algorithmes écrits en langage humain en
langage machine an que l'ordinateur puisse les exécuter.
⇒ Les langages de programmation permettent d'écrire des programmes
informatiques en utilisant une syntaxe proche du langage humain.
Par la suite, certains outils liés au langage de programmation permettent de
traduire ces programmes en langage compréhensible par la machine.

chapitre 1 : Langage C - notions de base 3


Passage de l'algorithmique à un langage de programmation

L'ordinateur est un matériel électronique, qui ne manipule que des


impulsions électriques:
Le bit (0)2 correspond à l'impulsion 0 volts
Le bit (1)2 correspond à l'impulsion 5 volts (ou 3 volts pour quelques
machines)
Il faut donc traduire nos algorithmes écrits en langage humain en
langage machine an que l'ordinateur puisse les exécuter.
⇒ Les langages de programmation permettent d'écrire des programmes
informatiques en utilisant une syntaxe proche du langage humain.
Par la suite, certains outils liés au langage de programmation permettent de
traduire ces programmes en langage compréhensible par la machine.

chapitre 1 : Langage C - notions de base 3


Passage de l'algorithmique à un langage de programmation

L'ordinateur est un matériel électronique, qui ne manipule que des


impulsions électriques:
Le bit (0)2 correspond à l'impulsion 0 volts
Le bit (1)2 correspond à l'impulsion 5 volts (ou 3 volts pour quelques
machines)
Il faut donc traduire nos algorithmes écrits en langage humain en
langage machine an que l'ordinateur puisse les exécuter.
⇒ Les langages de programmation permettent d'écrire des programmes
informatiques en utilisant une syntaxe proche du langage humain.
Par la suite, certains outils liés au langage de programmation permettent de
traduire ces programmes en langage compréhensible par la machine.

chapitre 1 : Langage C - notions de base 3


Introduction à la programmation en langage C Pourquoi étudier le langage C?
Plan

1 Introduction à la programmation en langage C


Qu'est ce que la programmation
Algorithmique-dénitions
Langage de programmation-Dénitions
Pourquoi étudier le langage C?
Historique du langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C


chapitre 1 : Langage C - notions de base 18
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Pourquoi étudier le langage C?
Il existe plusieurs langages de programmation et on peut se demander
pourquoi on étudie le langage C. Ces raisons peuvent motiver ce choix:
Sa popularité:
il possède une communauté très importante et de nombreux tutoriels et
documentations.
il existe plusieurs programmes et bibliothèques développés en/et pour le C.
Sa rapidité :
connu pour être très rapide, il est préféré pour tout programme où la vitesse
d'exécution est importante.
Sa légèreté :
étant léger, il est utilisé pour les programmes embarqués où la mémoire
disponible est faible.
Sa portabilité :
un programme développé en C marche (théoriquement) sur n'importe quelle
plateforme.
chapitre 1 : Langage C - notions de base 19
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Pourquoi étudier le langage C?
Il existe plusieurs langages de programmation et on peut se demander
pourquoi on étudie le langage C. Ces raisons peuvent motiver ce choix:
Sa popularité:
il possède une communauté très importante et de nombreux tutoriels et
documentations.
il existe plusieurs programmes et bibliothèques développés en/et pour le C.
Sa rapidité :
connu pour être très rapide, il est préféré pour tout programme où la vitesse
d'exécution est importante.
Sa légèreté :
étant léger, il est utilisé pour les programmes embarqués où la mémoire
disponible est faible.
Sa portabilité :
un programme développé en C marche (théoriquement) sur n'importe quelle
plateforme.
chapitre 1 : Langage C - notions de base 19
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Pourquoi étudier le langage C?
Il existe plusieurs langages de programmation et on peut se demander
pourquoi on étudie le langage C. Ces raisons peuvent motiver ce choix:
Sa popularité:
il possède une communauté très importante et de nombreux tutoriels et
documentations.
il existe plusieurs programmes et bibliothèques développés en/et pour le C.
Sa rapidité :
connu pour être très rapide, il est préféré pour tout programme où la vitesse
d'exécution est importante.
Sa légèreté :
étant léger, il est utilisé pour les programmes embarqués où la mémoire
disponible est faible.
Sa portabilité :
un programme développé en C marche (théoriquement) sur n'importe quelle
plateforme.
chapitre 1 : Langage C - notions de base 19
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Pourquoi étudier le langage C?
Il existe plusieurs langages de programmation et on peut se demander
pourquoi on étudie le langage C. Ces raisons peuvent motiver ce choix:
Sa popularité:
il possède une communauté très importante et de nombreux tutoriels et
documentations.
il existe plusieurs programmes et bibliothèques développés en/et pour le C.
Sa rapidité :
connu pour être très rapide, il est préféré pour tout programme où la vitesse
d'exécution est importante.
Sa légèreté :
étant léger, il est utilisé pour les programmes embarqués où la mémoire
disponible est faible.
Sa portabilité :
un programme développé en C marche (théoriquement) sur n'importe quelle
plateforme.
chapitre 1 : Langage C - notions de base 19
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Pourquoi étudier le langage C?
Il existe plusieurs langages de programmation et on peut se demander
pourquoi on étudie le langage C. Ces raisons peuvent motiver ce choix:
Sa popularité:
il possède une communauté très importante et de nombreux tutoriels et
documentations.
il existe plusieurs programmes et bibliothèques développés en/et pour le C.
Sa rapidité :
connu pour être très rapide, il est préféré pour tout programme où la vitesse
d'exécution est importante.
Sa légèreté :
étant léger, il est utilisé pour les programmes embarqués où la mémoire
disponible est faible.
Sa portabilité :
un programme développé en C marche (théoriquement) sur n'importe quelle
plateforme.
chapitre 1 : Langage C - notions de base 19
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Pourquoi étudier le langage C?
Il existe plusieurs langages de programmation et on peut se demander
pourquoi on étudie le langage C. Ces raisons peuvent motiver ce choix:
Sa popularité:
il possède une communauté très importante et de nombreux tutoriels et
documentations.
il existe plusieurs programmes et bibliothèques développés en/et pour le C.
Sa rapidité :
connu pour être très rapide, il est préféré pour tout programme où la vitesse
d'exécution est importante.
Sa légèreté :
étant léger, il est utilisé pour les programmes embarqués où la mémoire
disponible est faible.
Sa portabilité :
un programme développé en C marche (théoriquement) sur n'importe quelle
plateforme.
chapitre 1 : Langage C - notions de base 19
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Pourquoi étudier le langage C?
Il existe plusieurs langages de programmation et on peut se demander
pourquoi on étudie le langage C. Ces raisons peuvent motiver ce choix:
Sa popularité:
il possède une communauté très importante et de nombreux tutoriels et
documentations.
il existe plusieurs programmes et bibliothèques développés en/et pour le C.
Sa rapidité :
connu pour être très rapide, il est préféré pour tout programme où la vitesse
d'exécution est importante.
Sa légèreté :
étant léger, il est utilisé pour les programmes embarqués où la mémoire
disponible est faible.
Sa portabilité :
un programme développé en C marche (théoriquement) sur n'importe quelle
plateforme.
chapitre 1 : Langage C - notions de base 19
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Pourquoi étudier le langage C?
Il existe plusieurs langages de programmation et on peut se demander
pourquoi on étudie le langage C. Ces raisons peuvent motiver ce choix:
Sa popularité:
il possède une communauté très importante et de nombreux tutoriels et
documentations.
il existe plusieurs programmes et bibliothèques développés en/et pour le C.
Sa rapidité :
connu pour être très rapide, il est préféré pour tout programme où la vitesse
d'exécution est importante.
Sa légèreté :
étant léger, il est utilisé pour les programmes embarqués où la mémoire
disponible est faible.
Sa portabilité :
un programme développé en C marche (théoriquement) sur n'importe quelle
plateforme.
chapitre 1 : Langage C - notions de base 19
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Inconvénients du C

tolérance aux comportements dangereux: C demande beaucoup de


rigueur et une bonne connaissance de ses bases pour ne pas tomber
dans certains pièges.
nombre restreint de concepts: impose de devoir coder certains
mécanismes qui existent nativement dans d'autres langages
langage de bas niveau: ce point est considéré comme avantage
surtout pour les informaticiens, mais est aussi vu comme inconvénient.
On programme en cherchant à comprendre ce que l'on fait. :
programmer est un peu plus dicile et plus long, mais on apprend
beaucoup sur sa machine et on a un grand contrôle sur ce que l'on fait.
Dans les langages de haut niveau, on programme en ignorant plusieurs
notions primordiales. Programmer est souvent plus facile et plus rapide,
mais on voit moins bien le fonctionnement de la machine et on peut tomber
dans des erreurs très diciles à détecter et à corriger.
chapitre 1 : Langage C - notions de base 20
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Inconvénients du C

tolérance aux comportements dangereux: C demande beaucoup de


rigueur et une bonne connaissance de ses bases pour ne pas tomber
dans certains pièges.
nombre restreint de concepts: impose de devoir coder certains
mécanismes qui existent nativement dans d'autres langages
langage de bas niveau: ce point est considéré comme avantage
surtout pour les informaticiens, mais est aussi vu comme inconvénient.
On programme en cherchant à comprendre ce que l'on fait. :
programmer est un peu plus dicile et plus long, mais on apprend
beaucoup sur sa machine et on a un grand contrôle sur ce que l'on fait.
Dans les langages de haut niveau, on programme en ignorant plusieurs
notions primordiales. Programmer est souvent plus facile et plus rapide,
mais on voit moins bien le fonctionnement de la machine et on peut tomber
dans des erreurs très diciles à détecter et à corriger.
chapitre 1 : Langage C - notions de base 20
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Inconvénients du C

tolérance aux comportements dangereux: C demande beaucoup de


rigueur et une bonne connaissance de ses bases pour ne pas tomber
dans certains pièges.
nombre restreint de concepts: impose de devoir coder certains
mécanismes qui existent nativement dans d'autres langages
langage de bas niveau: ce point est considéré comme avantage
surtout pour les informaticiens, mais est aussi vu comme inconvénient.
On programme en cherchant à comprendre ce que l'on fait. :
programmer est un peu plus dicile et plus long, mais on apprend
beaucoup sur sa machine et on a un grand contrôle sur ce que l'on fait.
Dans les langages de haut niveau, on programme en ignorant plusieurs
notions primordiales. Programmer est souvent plus facile et plus rapide,
mais on voit moins bien le fonctionnement de la machine et on peut tomber
dans des erreurs très diciles à détecter et à corriger.
chapitre 1 : Langage C - notions de base 20
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Inconvénients du C

tolérance aux comportements dangereux: C demande beaucoup de


rigueur et une bonne connaissance de ses bases pour ne pas tomber
dans certains pièges.
nombre restreint de concepts: impose de devoir coder certains
mécanismes qui existent nativement dans d'autres langages
langage de bas niveau: ce point est considéré comme avantage
surtout pour les informaticiens, mais est aussi vu comme inconvénient.
On programme en cherchant à comprendre ce que l'on fait. :
programmer est un peu plus dicile et plus long, mais on apprend
beaucoup sur sa machine et on a un grand contrôle sur ce que l'on fait.
Dans les langages de haut niveau, on programme en ignorant plusieurs
notions primordiales. Programmer est souvent plus facile et plus rapide,
mais on voit moins bien le fonctionnement de la machine et on peut tomber
dans des erreurs très diciles à détecter et à corriger.
chapitre 1 : Langage C - notions de base 20
Introduction à la programmation en langage C Pourquoi étudier le langage C?
Inconvénients du C

tolérance aux comportements dangereux: C demande beaucoup de


rigueur et une bonne connaissance de ses bases pour ne pas tomber
dans certains pièges.
nombre restreint de concepts: impose de devoir coder certains
mécanismes qui existent nativement dans d'autres langages
langage de bas niveau: ce point est considéré comme avantage
surtout pour les informaticiens, mais est aussi vu comme inconvénient.
On programme en cherchant à comprendre ce que l'on fait. :
programmer est un peu plus dicile et plus long, mais on apprend
beaucoup sur sa machine et on a un grand contrôle sur ce que l'on fait.
Dans les langages de haut niveau, on programme en ignorant plusieurs
notions primordiales. Programmer est souvent plus facile et plus rapide,
mais on voit moins bien le fonctionnement de la machine et on peut tomber
dans des erreurs très diciles à détecter et à corriger.
chapitre 1 : Langage C - notions de base 20
Introduction à la programmation en langage C Historique du langage C
Plan

1 Introduction à la programmation en langage C


Qu'est ce que la programmation
Algorithmique-dénitions
Langage de programmation-Dénitions
Pourquoi étudier le langage C?
Historique du langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C


chapitre 1 : Langage C - notions de base 22
Introduction à la programmation en langage C Historique du langage C
Création du langage

Le langage C a été créé en 1972 par Denis Ritchie avec un objectif


relativement limité : écrire un système d'exploitation (UNIX).
Les qualités opérationnelles de C (surtout sa rapidité et sa portabilité)
ont motivé son utilisation par les programmeurs.
Une première dénition de C est apparue en 1978 avec l'ouvrage de
Kernighan et Ritchie: " The C programming language". Mais ce
langage a continué d'évoluer après à travers diérents compilateurs, le
dernier date de 2017.
Son succès international a contribué à sa normalisation, d'abord par
l'ANSI (American National Standard Institute), puis par l'ISO
(International Standards Organization), puis le CEN (Comité européen
de normalisation).

chapitre 1 : Langage C - notions de base 23


Introduction à la programmation en langage C Historique du langage C
Création du langage

Le langage C a été créé en 1972 par Denis Ritchie avec un objectif


relativement limité : écrire un système d'exploitation (UNIX).
Les qualités opérationnelles de C (surtout sa rapidité et sa portabilité)
ont motivé son utilisation par les programmeurs.
Une première dénition de C est apparue en 1978 avec l'ouvrage de
Kernighan et Ritchie: " The C programming language". Mais ce
langage a continué d'évoluer après à travers diérents compilateurs, le
dernier date de 2017.
Son succès international a contribué à sa normalisation, d'abord par
l'ANSI (American National Standard Institute), puis par l'ISO
(International Standards Organization), puis le CEN (Comité européen
de normalisation).

chapitre 1 : Langage C - notions de base 23


Introduction à la programmation en langage C Historique du langage C
Création du langage

Le langage C a été créé en 1972 par Denis Ritchie avec un objectif


relativement limité : écrire un système d'exploitation (UNIX).
Les qualités opérationnelles de C (surtout sa rapidité et sa portabilité)
ont motivé son utilisation par les programmeurs.
Une première dénition de C est apparue en 1978 avec l'ouvrage de
Kernighan et Ritchie: " The C programming language". Mais ce
langage a continué d'évoluer après à travers diérents compilateurs, le
dernier date de 2017.
Son succès international a contribué à sa normalisation, d'abord par
l'ANSI (American National Standard Institute), puis par l'ISO
(International Standards Organization), puis le CEN (Comité européen
de normalisation).

chapitre 1 : Langage C - notions de base 23


Introduction à la programmation en langage C Historique du langage C
Création du langage

Le langage C a été créé en 1972 par Denis Ritchie avec un objectif


relativement limité : écrire un système d'exploitation (UNIX).
Les qualités opérationnelles de C (surtout sa rapidité et sa portabilité)
ont motivé son utilisation par les programmeurs.
Une première dénition de C est apparue en 1978 avec l'ouvrage de
Kernighan et Ritchie: " The C programming language". Mais ce
langage a continué d'évoluer après à travers diérents compilateurs, le
dernier date de 2017.
Son succès international a contribué à sa normalisation, d'abord par
l'ANSI (American National Standard Institute), puis par l'ISO
(International Standards Organization), puis le CEN (Comité européen
de normalisation).

chapitre 1 : Langage C - notions de base 23


Éléments généraux d'un programme en langage C
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C


Exemple de programme
Divers éléments du code source
Étapes de création d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 25


Éléments généraux d'un programme en langage C Exemple de programme
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C


Exemple de programme
Divers éléments du code source
Étapes de création d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 26


Éléments généraux d'un programme en langage C Exemple de programme
Exemple de programme

chapitre 1 : Langage C - notions de base 27


Éléments généraux d'un programme en langage C Exemple de programme
Exemple de programme

chapitre 1 : Langage C - notions de base 27


Éléments généraux d'un programme en langage C Exemple de programme
Exemple de programme

chapitre 1 : Langage C - notions de base 27


Éléments généraux d'un programme en langage C Exemple de programme
Exemple de programme

chapitre 1 : Langage C - notions de base 27


Éléments généraux d'un programme en langage C Exemple de programme
Exemple de programme

chapitre 1 : Langage C - notions de base 27


Éléments généraux d'un programme en langage C Exemple de programme
Exemple de programme

chapitre 1 : Langage C - notions de base 27


Éléments généraux d'un programme en langage C Exemple de programme
Exemple de programme

chapitre 1 : Langage C - notions de base 28


Éléments généraux d'un programme en langage C Divers éléments du code source
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C


Exemple de programme
Divers éléments du code source
Étapes de création d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 29


Éléments généraux d'un programme en langage C Divers éléments du code source
Éléments du code source
#include<stdio.h> informe le compilateur d'inclure le chier stdio.h
qui contient les fonctions d'entrées-sorties (i pour input et o pour
output), dont la fonction printf.
La fonction main est la fonction principale des programmes en C: Elle
se trouve obligatoirement dans tous les programmes. Elle possède deux
en-têtes possibles (qu'on étudiera dans le chapitre dédié aux fonctions)
selon la norme:
int main(void) {/* programme C */ return 0; }
int main(liste_arguments) {/* programme C */ return 0; }
return 0; signie par convention que le programme s'est terminé sans erreur.
On peut ne pas mettre return 0; dans la fonction main.
L'appel de printf avec l'argument "Bonjour \n" permet d'acher sur
l'écran: Bonjour et \n ordonne le passage à la ligne suivante
En C, toute instruction simple est terminée par un point-virgule ;
Un commentaire en C est compris entre // et la n de la ligne ou bien
entre /* et */
chapitre 1 : Langage C - notions de base 30
Éléments généraux d'un programme en langage C Divers éléments du code source
Éléments du code source
#include<stdio.h> informe le compilateur d'inclure le chier stdio.h
qui contient les fonctions d'entrées-sorties (i pour input et o pour
output), dont la fonction printf.
La fonction main est la fonction principale des programmes en C: Elle
se trouve obligatoirement dans tous les programmes. Elle possède deux
en-têtes possibles (qu'on étudiera dans le chapitre dédié aux fonctions)
selon la norme:
int main(void) {/* programme C */ return 0; }
int main(liste_arguments) {/* programme C */ return 0; }
return 0; signie par convention que le programme s'est terminé sans erreur.
On peut ne pas mettre return 0; dans la fonction main.
L'appel de printf avec l'argument "Bonjour \n" permet d'acher sur
l'écran: Bonjour et \n ordonne le passage à la ligne suivante
En C, toute instruction simple est terminée par un point-virgule ;
Un commentaire en C est compris entre // et la n de la ligne ou bien
entre /* et */
chapitre 1 : Langage C - notions de base 30
Éléments généraux d'un programme en langage C Divers éléments du code source
Éléments du code source
#include<stdio.h> informe le compilateur d'inclure le chier stdio.h
qui contient les fonctions d'entrées-sorties (i pour input et o pour
output), dont la fonction printf.
La fonction main est la fonction principale des programmes en C: Elle
se trouve obligatoirement dans tous les programmes. Elle possède deux
en-têtes possibles (qu'on étudiera dans le chapitre dédié aux fonctions)
selon la norme:
int main(void) {/* programme C */ return 0; }
int main(liste_arguments) {/* programme C */ return 0; }
return 0; signie par convention que le programme s'est terminé sans erreur.
On peut ne pas mettre return 0; dans la fonction main.
L'appel de printf avec l'argument "Bonjour \n" permet d'acher sur
l'écran: Bonjour et \n ordonne le passage à la ligne suivante
En C, toute instruction simple est terminée par un point-virgule ;
Un commentaire en C est compris entre // et la n de la ligne ou bien
entre /* et */
chapitre 1 : Langage C - notions de base 30
Éléments généraux d'un programme en langage C Divers éléments du code source
Éléments du code source
#include<stdio.h> informe le compilateur d'inclure le chier stdio.h
qui contient les fonctions d'entrées-sorties (i pour input et o pour
output), dont la fonction printf.
La fonction main est la fonction principale des programmes en C: Elle
se trouve obligatoirement dans tous les programmes. Elle possède deux
en-têtes possibles (qu'on étudiera dans le chapitre dédié aux fonctions)
selon la norme:
int main(void) {/* programme C */ return 0; }
int main(liste_arguments) {/* programme C */ return 0; }
return 0; signie par convention que le programme s'est terminé sans erreur.
On peut ne pas mettre return 0; dans la fonction main.
L'appel de printf avec l'argument "Bonjour \n" permet d'acher sur
l'écran: Bonjour et \n ordonne le passage à la ligne suivante
En C, toute instruction simple est terminée par un point-virgule ;
Un commentaire en C est compris entre // et la n de la ligne ou bien
entre /* et */
chapitre 1 : Langage C - notions de base 30
Éléments généraux d'un programme en langage C Divers éléments du code source
Éléments du code source
#include<stdio.h> informe le compilateur d'inclure le chier stdio.h
qui contient les fonctions d'entrées-sorties (i pour input et o pour
output), dont la fonction printf.
La fonction main est la fonction principale des programmes en C: Elle
se trouve obligatoirement dans tous les programmes. Elle possède deux
en-têtes possibles (qu'on étudiera dans le chapitre dédié aux fonctions)
selon la norme:
int main(void) {/* programme C */ return 0; }
int main(liste_arguments) {/* programme C */ return 0; }
return 0; signie par convention que le programme s'est terminé sans erreur.
On peut ne pas mettre return 0; dans la fonction main.
L'appel de printf avec l'argument "Bonjour \n" permet d'acher sur
l'écran: Bonjour et \n ordonne le passage à la ligne suivante
En C, toute instruction simple est terminée par un point-virgule ;
Un commentaire en C est compris entre // et la n de la ligne ou bien
entre /* et */
chapitre 1 : Langage C - notions de base 30
Éléments généraux d'un programme en langage C Divers éléments du code source
Éléments du code source
#include<stdio.h> informe le compilateur d'inclure le chier stdio.h
qui contient les fonctions d'entrées-sorties (i pour input et o pour
output), dont la fonction printf.
La fonction main est la fonction principale des programmes en C: Elle
se trouve obligatoirement dans tous les programmes. Elle possède deux
en-têtes possibles (qu'on étudiera dans le chapitre dédié aux fonctions)
selon la norme:
int main(void) {/* programme C */ return 0; }
int main(liste_arguments) {/* programme C */ return 0; }
return 0; signie par convention que le programme s'est terminé sans erreur.
On peut ne pas mettre return 0; dans la fonction main.
L'appel de printf avec l'argument "Bonjour \n" permet d'acher sur
l'écran: Bonjour et \n ordonne le passage à la ligne suivante
En C, toute instruction simple est terminée par un point-virgule ;
Un commentaire en C est compris entre // et la n de la ligne ou bien
entre /* et */
chapitre 1 : Langage C - notions de base 30
Éléments généraux d'un programme en langage C Divers éléments du code source
Éléments du code source
#include<stdio.h> informe le compilateur d'inclure le chier stdio.h
qui contient les fonctions d'entrées-sorties (i pour input et o pour
output), dont la fonction printf.
La fonction main est la fonction principale des programmes en C: Elle
se trouve obligatoirement dans tous les programmes. Elle possède deux
en-têtes possibles (qu'on étudiera dans le chapitre dédié aux fonctions)
selon la norme:
int main(void) {/* programme C */ return 0; }
int main(liste_arguments) {/* programme C */ return 0; }
return 0; signie par convention que le programme s'est terminé sans erreur.
On peut ne pas mettre return 0; dans la fonction main.
L'appel de printf avec l'argument "Bonjour \n" permet d'acher sur
l'écran: Bonjour et \n ordonne le passage à la ligne suivante
En C, toute instruction simple est terminée par un point-virgule ;
Un commentaire en C est compris entre // et la n de la ligne ou bien
entre /* et */
chapitre 1 : Langage C - notions de base 30
Éléments généraux d'un programme en langage C Divers éléments du code source
Éléments du code source
#include<stdio.h> informe le compilateur d'inclure le chier stdio.h
qui contient les fonctions d'entrées-sorties (i pour input et o pour
output), dont la fonction printf.
La fonction main est la fonction principale des programmes en C: Elle
se trouve obligatoirement dans tous les programmes. Elle possède deux
en-têtes possibles (qu'on étudiera dans le chapitre dédié aux fonctions)
selon la norme:
int main(void) {/* programme C */ return 0; }
int main(liste_arguments) {/* programme C */ return 0; }
return 0; signie par convention que le programme s'est terminé sans erreur.
On peut ne pas mettre return 0; dans la fonction main.
L'appel de printf avec l'argument "Bonjour \n" permet d'acher sur
l'écran: Bonjour et \n ordonne le passage à la ligne suivante
En C, toute instruction simple est terminée par un point-virgule ;
Un commentaire en C est compris entre // et la n de la ligne ou bien
entre /* et */
chapitre 1 : Langage C - notions de base 30
Éléments généraux d'un programme en langage C Divers éléments du code source
Les directives à destination du préprocesseur

#include<stdio.h> est une directive qui sera prise en compte avant la


traduction (compilation) du programme.
Les directives sont soumises à certaines règles:
Elles doivent être écrites à raison d'une par ligne
Elles doivent obligatoirement commencer en début de ligne (pas d'espace
avant # ).
Elles ne sont pas suivis par un point-virgule, car se ne sont pas des
instructions
On peut les placer à n'importe quel endroit du programme, sachant qu'elles
ne s'appliquent qu'à la partie du programme qui les succède.
Il est toutefois préférable de les placer au début du chier source, avant le
programme principal (c-à-d la fonction main).

chapitre 1 : Langage C - notions de base 34


Éléments généraux d'un programme en langage C Divers éléments du code source
Les directives à destination du préprocesseur
Pour utiliser une fonction prédénie dans le code source, il est
nécessaire d'inclure les chiers en-têtes, qui contiennent des
déclarations appropriées concernant ces fonctions
Exemple : stdio.h pour la fonction d'achage printf et math.h pour
la fonction de la racine carrée sqrt
Un même chier en-tête contient des déclarations de plusieurs fonctions.
En général, il est indispensable d'inclure stdio.h dans tout programme,
puisqu'elle décrit les fonctions prédénies pour la saisie et l'achage.
Il existe également des directives à destination du préprocesseur pour
déclarer des constantes symboliques:
Syntaxe: #dene NB 100 sert à remplacer systématiquement, dans toute la
suite du programme, le symbole NB par 100
Les constantes symboliques permettent une meilleur adaptabilité des
programmes, car au besoin, on pourra remplacer NB par n'importe quel
nombre!
chapitre 1 : Langage C - notions de base 35
Éléments généraux d'un programme en langage C Divers éléments du code source
Les directives à destination du préprocesseur
Pour utiliser une fonction prédénie dans le code source, il est
nécessaire d'inclure les chiers en-têtes, qui contiennent des
déclarations appropriées concernant ces fonctions
Exemple : stdio.h pour la fonction d'achage printf et math.h pour
la fonction de la racine carrée sqrt
Un même chier en-tête contient des déclarations de plusieurs fonctions.
En général, il est indispensable d'inclure stdio.h dans tout programme,
puisqu'elle décrit les fonctions prédénies pour la saisie et l'achage.
Il existe également des directives à destination du préprocesseur pour
déclarer des constantes symboliques:
Syntaxe: #dene NB 100 sert à remplacer systématiquement, dans toute la
suite du programme, le symbole NB par 100
Les constantes symboliques permettent une meilleur adaptabilité des
programmes, car au besoin, on pourra remplacer NB par n'importe quel
nombre!
chapitre 1 : Langage C - notions de base 35
Éléments généraux d'un programme en langage C Divers éléments du code source
Les directives à destination du préprocesseur
Pour utiliser une fonction prédénie dans le code source, il est
nécessaire d'inclure les chiers en-têtes, qui contiennent des
déclarations appropriées concernant ces fonctions
Exemple : stdio.h pour la fonction d'achage printf et math.h pour
la fonction de la racine carrée sqrt
Un même chier en-tête contient des déclarations de plusieurs fonctions.
En général, il est indispensable d'inclure stdio.h dans tout programme,
puisqu'elle décrit les fonctions prédénies pour la saisie et l'achage.
Il existe également des directives à destination du préprocesseur pour
déclarer des constantes symboliques:
Syntaxe: #dene NB 100 sert à remplacer systématiquement, dans toute la
suite du programme, le symbole NB par 100
Les constantes symboliques permettent une meilleur adaptabilité des
programmes, car au besoin, on pourra remplacer NB par n'importe quel
nombre!
chapitre 1 : Langage C - notions de base 35
Éléments généraux d'un programme en langage C Divers éléments du code source
Les directives à destination du préprocesseur
Pour utiliser une fonction prédénie dans le code source, il est
nécessaire d'inclure les chiers en-têtes, qui contiennent des
déclarations appropriées concernant ces fonctions
Exemple : stdio.h pour la fonction d'achage printf et math.h pour
la fonction de la racine carrée sqrt
Un même chier en-tête contient des déclarations de plusieurs fonctions.
En général, il est indispensable d'inclure stdio.h dans tout programme,
puisqu'elle décrit les fonctions prédénies pour la saisie et l'achage.
Il existe également des directives à destination du préprocesseur pour
déclarer des constantes symboliques:
Syntaxe: #dene NB 100 sert à remplacer systématiquement, dans toute la
suite du programme, le symbole NB par 100
Les constantes symboliques permettent une meilleur adaptabilité des
programmes, car au besoin, on pourra remplacer NB par n'importe quel
nombre!
chapitre 1 : Langage C - notions de base 35
Éléments généraux d'un programme en langage C Divers éléments du code source
Les directives à destination du préprocesseur
Pour utiliser une fonction prédénie dans le code source, il est
nécessaire d'inclure les chiers en-têtes, qui contiennent des
déclarations appropriées concernant ces fonctions
Exemple : stdio.h pour la fonction d'achage printf et math.h pour
la fonction de la racine carrée sqrt
Un même chier en-tête contient des déclarations de plusieurs fonctions.
En général, il est indispensable d'inclure stdio.h dans tout programme,
puisqu'elle décrit les fonctions prédénies pour la saisie et l'achage.
Il existe également des directives à destination du préprocesseur pour
déclarer des constantes symboliques:
Syntaxe: #dene NB 100 sert à remplacer systématiquement, dans toute la
suite du programme, le symbole NB par 100
Les constantes symboliques permettent une meilleur adaptabilité des
programmes, car au besoin, on pourra remplacer NB par n'importe quel
nombre!
chapitre 1 : Langage C - notions de base 35
Éléments généraux d'un programme en langage C Divers éléments du code source
Les directives à destination du préprocesseur
Pour utiliser une fonction prédénie dans le code source, il est
nécessaire d'inclure les chiers en-têtes, qui contiennent des
déclarations appropriées concernant ces fonctions
Exemple : stdio.h pour la fonction d'achage printf et math.h pour
la fonction de la racine carrée sqrt
Un même chier en-tête contient des déclarations de plusieurs fonctions.
En général, il est indispensable d'inclure stdio.h dans tout programme,
puisqu'elle décrit les fonctions prédénies pour la saisie et l'achage.
Il existe également des directives à destination du préprocesseur pour
déclarer des constantes symboliques:
Syntaxe: #dene NB 100 sert à remplacer systématiquement, dans toute la
suite du programme, le symbole NB par 100
Les constantes symboliques permettent une meilleur adaptabilité des
programmes, car au besoin, on pourra remplacer NB par n'importe quel
nombre!
chapitre 1 : Langage C - notions de base 35
Éléments généraux d'un programme en langage C Divers éléments du code source
Les directives à destination du préprocesseur
Pour utiliser une fonction prédénie dans le code source, il est
nécessaire d'inclure les chiers en-têtes, qui contiennent des
déclarations appropriées concernant ces fonctions
Exemple : stdio.h pour la fonction d'achage printf et math.h pour
la fonction de la racine carrée sqrt
Un même chier en-tête contient des déclarations de plusieurs fonctions.
En général, il est indispensable d'inclure stdio.h dans tout programme,
puisqu'elle décrit les fonctions prédénies pour la saisie et l'achage.
Il existe également des directives à destination du préprocesseur pour
déclarer des constantes symboliques:
Syntaxe: #dene NB 100 sert à remplacer systématiquement, dans toute la
suite du programme, le symbole NB par 100
Les constantes symboliques permettent une meilleur adaptabilité des
programmes, car au besoin, on pourra remplacer NB par n'importe quel
nombre!
chapitre 1 : Langage C - notions de base 35
Éléments généraux d'un programme en langage C Divers éléments du code source
Commentaires en C

Les commentaires sont des instructions non prise en compte par le


Compilateur, qui servent à ajouter des remarques concernant le code.
En C, il y a deux types de commentaires :
Commentaire multi-ligne. Syntaxe :
/* commentaire ligne 1
commentaire ligne 2
..
.
commentaire ligne n */
Commentaire abrégé. Syntaxe : // commentaire sur une seule ligne.
Ce type de commentaire a été introduit dans la norme C99.
Tout ce qui suit les caractères // jusqu'à la n de la ligne est considéré
comme un commentaire

chapitre 1 : Langage C - notions de base 36


Éléments généraux d'un programme en langage C Divers éléments du code source
Commentaires en C

Les commentaires sont des instructions non prise en compte par le


Compilateur, qui servent à ajouter des remarques concernant le code.
En C, il y a deux types de commentaires :
Commentaire multi-ligne. Syntaxe :
/* commentaire ligne 1
commentaire ligne 2
..
.
commentaire ligne n */
Commentaire abrégé. Syntaxe : // commentaire sur une seule ligne.
Ce type de commentaire a été introduit dans la norme C99.
Tout ce qui suit les caractères // jusqu'à la n de la ligne est considéré
comme un commentaire

chapitre 1 : Langage C - notions de base 36


Éléments généraux d'un programme en langage C Divers éléments du code source
Commentaires en C

Les commentaires sont des instructions non prise en compte par le


Compilateur, qui servent à ajouter des remarques concernant le code.
En C, il y a deux types de commentaires :
Commentaire multi-ligne. Syntaxe :
/* commentaire ligne 1
commentaire ligne 2
..
.
commentaire ligne n */
Commentaire abrégé. Syntaxe : // commentaire sur une seule ligne.
Ce type de commentaire a été introduit dans la norme C99.
Tout ce qui suit les caractères // jusqu'à la n de la ligne est considéré
comme un commentaire

chapitre 1 : Langage C - notions de base 36


Éléments généraux d'un programme en langage C Divers éléments du code source
Commentaires en C

Les commentaires sont des instructions non prise en compte par le


Compilateur, qui servent à ajouter des remarques concernant le code.
En C, il y a deux types de commentaires :
Commentaire multi-ligne. Syntaxe :
/* commentaire ligne 1
commentaire ligne 2
..
.
commentaire ligne n */
Commentaire abrégé. Syntaxe : // commentaire sur une seule ligne.
Ce type de commentaire a été introduit dans la norme C99.
Tout ce qui suit les caractères // jusqu'à la n de la ligne est considéré
comme un commentaire

chapitre 1 : Langage C - notions de base 36


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C


Exemple de programme
Divers éléments du code source
Étapes de création d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 37


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Vue générale
La manière de développer et d'utiliser un programme en langage C
dépend naturellement de l'environnement de programmation dans lequel
on travaille.
Cependant, il existe quelques indications concernant les grandes étapes
de la création d'un programme: édition du programme, compilation
et édition de liens.

chapitre 1 : Langage C - notions de base 38


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
L'édition du programme

L'édition du programme (appelée aussi saisie du programme) consiste à


créer, à partir d'un clavier, le texte d'un programme qu'on nomme
programme ou code source .
En général, ce texte sera conservé dans un chier appelé chier source.
Chaque système possède ses propres conventions de dénomination des
chiers.
En général, un chier peut, en plus de son nom, être caractérisé par un
groupe de caractères qu'on appelle une extension ou un type de
chier
La plupart du temps, en langage C, les chiers source porteront
l'extension C.

chapitre 1 : Langage C - notions de base 39


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
L'édition du programme

L'édition du programme (appelée aussi saisie du programme) consiste à


créer, à partir d'un clavier, le texte d'un programme qu'on nomme
programme ou code source .
En général, ce texte sera conservé dans un chier appelé chier source.
Chaque système possède ses propres conventions de dénomination des
chiers.
En général, un chier peut, en plus de son nom, être caractérisé par un
groupe de caractères qu'on appelle une extension ou un type de
chier
La plupart du temps, en langage C, les chiers source porteront
l'extension C.

chapitre 1 : Langage C - notions de base 39


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
L'édition du programme

L'édition du programme (appelée aussi saisie du programme) consiste à


créer, à partir d'un clavier, le texte d'un programme qu'on nomme
programme ou code source .
En général, ce texte sera conservé dans un chier appelé chier source.
Chaque système possède ses propres conventions de dénomination des
chiers.
En général, un chier peut, en plus de son nom, être caractérisé par un
groupe de caractères qu'on appelle une extension ou un type de
chier
La plupart du temps, en langage C, les chiers source porteront
l'extension C.

chapitre 1 : Langage C - notions de base 39


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
L'édition du programme

L'édition du programme (appelée aussi saisie du programme) consiste à


créer, à partir d'un clavier, le texte d'un programme qu'on nomme
programme ou code source .
En général, ce texte sera conservé dans un chier appelé chier source.
Chaque système possède ses propres conventions de dénomination des
chiers.
En général, un chier peut, en plus de son nom, être caractérisé par un
groupe de caractères qu'on appelle une extension ou un type de
chier
La plupart du temps, en langage C, les chiers source porteront
l'extension C.

chapitre 1 : Langage C - notions de base 39


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
L'édition du programme

L'édition du programme (appelée aussi saisie du programme) consiste à


créer, à partir d'un clavier, le texte d'un programme qu'on nomme
programme ou code source .
En général, ce texte sera conservé dans un chier appelé chier source.
Chaque système possède ses propres conventions de dénomination des
chiers.
En général, un chier peut, en plus de son nom, être caractérisé par un
groupe de caractères qu'on appelle une extension ou un type de
chier
La plupart du temps, en langage C, les chiers source porteront
l'extension C.

chapitre 1 : Langage C - notions de base 39


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Résumé des étapes de programmation en C

Code source :
série de commandes ou de déclarations qui indiquent à l'ordinateur les
taches qu'il devra exécuter. première étape du développement.
le code source est crée à l'aide d'un éditeur.
Éditeur :
permet de créer le code source. C'est une sorte d'éditeur de texte
Compilation :
opération réalisée par un compilateur qui transforme le chier code source
en un chier objet contenant les mêmes instructions en langage machine.
Exécution :
processus par lequel un ordinateur met en ÷uvre les instructions d'un
programme informatique.

chapitre 1 : Langage C - notions de base 42


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Résumé des étapes de programmation en C

Code source :
série de commandes ou de déclarations qui indiquent à l'ordinateur les
taches qu'il devra exécuter. première étape du développement.
le code source est crée à l'aide d'un éditeur.
Éditeur :
permet de créer le code source. C'est une sorte d'éditeur de texte
Compilation :
opération réalisée par un compilateur qui transforme le chier code source
en un chier objet contenant les mêmes instructions en langage machine.
Exécution :
processus par lequel un ordinateur met en ÷uvre les instructions d'un
programme informatique.

chapitre 1 : Langage C - notions de base 42


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Résumé des étapes de programmation en C

Code source :
série de commandes ou de déclarations qui indiquent à l'ordinateur les
taches qu'il devra exécuter. première étape du développement.
le code source est crée à l'aide d'un éditeur.
Éditeur :
permet de créer le code source. C'est une sorte d'éditeur de texte
Compilation :
opération réalisée par un compilateur qui transforme le chier code source
en un chier objet contenant les mêmes instructions en langage machine.
Exécution :
processus par lequel un ordinateur met en ÷uvre les instructions d'un
programme informatique.

chapitre 1 : Langage C - notions de base 42


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Résumé des étapes de programmation en C

Code source :
série de commandes ou de déclarations qui indiquent à l'ordinateur les
taches qu'il devra exécuter. première étape du développement.
le code source est crée à l'aide d'un éditeur.
Éditeur :
permet de créer le code source. C'est une sorte d'éditeur de texte
Compilation :
opération réalisée par un compilateur qui transforme le chier code source
en un chier objet contenant les mêmes instructions en langage machine.
Exécution :
processus par lequel un ordinateur met en ÷uvre les instructions d'un
programme informatique.

chapitre 1 : Langage C - notions de base 42


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Résumé des étapes de programmation en C

Code source :
série de commandes ou de déclarations qui indiquent à l'ordinateur les
taches qu'il devra exécuter. première étape du développement.
le code source est crée à l'aide d'un éditeur.
Éditeur :
permet de créer le code source. C'est une sorte d'éditeur de texte
Compilation :
opération réalisée par un compilateur qui transforme le chier code source
en un chier objet contenant les mêmes instructions en langage machine.
Exécution :
processus par lequel un ordinateur met en ÷uvre les instructions d'un
programme informatique.

chapitre 1 : Langage C - notions de base 42


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Résumé des étapes de programmation en C

Code source :
série de commandes ou de déclarations qui indiquent à l'ordinateur les
taches qu'il devra exécuter. première étape du développement.
le code source est crée à l'aide d'un éditeur.
Éditeur :
permet de créer le code source. C'est une sorte d'éditeur de texte
Compilation :
opération réalisée par un compilateur qui transforme le chier code source
en un chier objet contenant les mêmes instructions en langage machine.
Exécution :
processus par lequel un ordinateur met en ÷uvre les instructions d'un
programme informatique.

42
Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Résumé des étapes de programmation en C

Code source :
série de commandes ou de déclarations qui indiquent à l'ordinateur les
taches qu'il devra exécuter. première étape du développement.
le code source est crée à l'aide d'un éditeur.
Éditeur :
permet de créer le code source. C'est une sorte d'éditeur de texte
Compilation :
opération réalisée par un compilateur qui transforme le chier code source
en un chier objet contenant les mêmes instructions en langage machine.
Exécution :
processus par lequel un ordinateur met en ÷uvre les instructions d'un
programme informatique.

chapitre 1 : Langage C - notions de base 42


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Résumé des étapes de programmation en C

Code source :
série de commandes ou de déclarations qui indiquent à l'ordinateur les
taches qu'il devra exécuter. première étape du développement.
le code source est crée à l'aide d'un éditeur.
Éditeur :
permet de créer le code source. C'est une sorte d'éditeur de texte
Compilation :
opération réalisée par un compilateur qui transforme le chier code source
en un chier objet contenant les mêmes instructions en langage machine.
Exécution :
processus par lequel un ordinateur met en ÷uvre les instructions d'un
programme informatique.

chapitre 1 : Langage C - notions de base 42


Éléments généraux d'un programme en langage C Étapes de création d'un programme en langage C
Résumé des étapes de programmation en C

Code source :
série de commandes ou de déclarations qui indiquent à l'ordinateur les
taches qu'il devra exécuter. première étape du développement.
le code source est crée à l'aide d'un éditeur.
Éditeur :
permet de créer le code source. C'est une sorte d'éditeur de texte
Compilation :
opération réalisée par un compilateur qui transforme le chier code source
en un chier objet contenant les mêmes instructions en langage machine.
Exécution :
processus par lequel un ordinateur met en ÷uvre les instructions d'un
programme informatique.

chapitre 1 : Langage C - notions de base 42


Les types de base en langage C
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C


Types entier
Types ottant
Type caractère

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 44


Les types de base en langage C
Les types en C

Les types en langage C se répartissent en trois familles :


Les entiers
Les ottants
Les caractères
Le type permet de dénir :
Plage de valeurs acceptées
Famille de valeurs reçues par la variable dénie
Le type de la variable doit être mentionné dès la déclaration de la
variable.

chapitre 1 : Langage C - notions de base 46


Les types de base en langage C
Les types en C

Les types en langage C se répartissent en trois familles :


Les entiers
Les ottants
Les caractères
Le type permet de dénir :
Plage de valeurs acceptées
Famille de valeurs reçues par la variable dénie
Le type de la variable doit être mentionné dès la déclaration de la
variable.

chapitre 1 : Langage C - notions de base 46


Les types de base en langage C
Les types en C

Les types en langage C se répartissent en trois familles :


Les entiers
Les ottants
Les caractères
Le type permet de dénir :
Plage de valeurs acceptées
Famille de valeurs reçues par la variable dénie
Le type de la variable doit être mentionné dès la déclaration de la
variable.

chapitre 1 : Langage C - notions de base 46


Les types de base en langage C
Les types en C

Les types en langage C se répartissent en trois familles :


Les entiers
Les ottants
Les caractères
Le type permet de dénir :
Plage de valeurs acceptées
Famille de valeurs reçues par la variable dénie
Le type de la variable doit être mentionné dès la déclaration de la
variable.

chapitre 1 : Langage C - notions de base 46


Les types de base en langage C
Les types en C

Les types en langage C se répartissent en trois familles :


Les entiers
Les ottants
Les caractères
Le type permet de dénir :
Plage de valeurs acceptées
Famille de valeurs reçues par la variable dénie
Le type de la variable doit être mentionné dès la déclaration de la
variable.

chapitre 1 : Langage C - notions de base 46


Les types de base en langage C
Les types en C

Les types en langage C se répartissent en trois familles :


Les entiers
Les ottants
Les caractères
Le type permet de dénir :
Plage de valeurs acceptées
Famille de valeurs reçues par la variable dénie
Le type de la variable doit être mentionné dès la déclaration de la
variable.

chapitre 1 : Langage C - notions de base 46


Les types de base en langage C
Les types en C

Les types en langage C se répartissent en trois familles :


Les entiers
Les ottants
Les caractères
Le type permet de dénir :
Plage de valeurs acceptées
Famille de valeurs reçues par la variable dénie
Le type de la variable doit être mentionné dès la déclaration de la
variable.

chapitre 1 : Langage C - notions de base 46


Les types de base en langage C
Les types en C

Les types en langage C se répartissent en trois familles :


Les entiers
Les ottants
Les caractères
Le type permet de dénir :
Plage de valeurs acceptées
Famille de valeurs reçues par la variable dénie
Le type de la variable doit être mentionné dès la déclaration de la
variable.

chapitre 1 : Langage C - notions de base 46


Les types de base en langage C Types entier
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C


Types entier
Types ottant
Type caractère

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 47


Les types de base en langage C Types entier
Types entier

Les entiers peuvent être signés (signed) ou non signés (unsigned)


Entiers signés:

les mots entre parenthèses () sont facultatifs


Le nombre d'octets alloué à une variable de type int dépend de la machine
(selon le processeur)
Le codage utilisé par la machine pour les entiers signés est le complément à
2

chapitre 1 : Langage C - notions de base 48


Les types de base en langage C Types entier
Types entier
Entiers non signés:

les mots entre parenthèses () sont facultatifs


Le type le plus utilisé pour les entiers en langage C est le (signed) int.
Exemples:
int x; signed int y; // déclaration de deux entiers signés
short int z; signed short t; //déclaration de deux entiers (short) signés
unsigned long int u; unsigned long v ; //déclaration de deux entiers (long)
non signés
chapitre 1 : Langage C - notions de base 49
Les types de base en langage C Types ottant
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C


Types entier
Types ottant
Type caractère

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 50


Les types de base en langage C Types ottant
Types ottant

Les ottants sont utilisés pour représenter des nombres à virgule


ottante, qui correspondent à des approximations de nombres réels à
des degrés de précision diérents.
Les ottants peuvent s'écrire de deux façons :
Notation décimale: 5.2, -3.14, -.23, 2., .025
Notation exponentielle: en utilisant la lettre e ou E (puissance de 10):
1.25e5, 3E-5, .23e-14
En C, on a deux types pour le ottants: le oat et le double

chapitre 1 : Langage C - notions de base 51


Les types de base en langage C Types ottant
Types ottant

Les ottants sont utilisés pour représenter des nombres à virgule


ottante, qui correspondent à des approximations de nombres réels à
des degrés de précision diérents.
Les ottants peuvent s'écrire de deux façons :
Notation décimale: 5.2, -3.14, -.23, 2., .025
Notation exponentielle: en utilisant la lettre e ou E (puissance de 10):
1.25e5, 3E-5, .23e-14
En C, on a deux types pour le ottants: le oat et le double

chapitre 1 : Langage C - notions de base 51


Les types de base en langage C Types ottant
Types ottant

Les ottants sont utilisés pour représenter des nombres à virgule


ottante, qui correspondent à des approximations de nombres réels à
des degrés de précision diérents.
Les ottants peuvent s'écrire de deux façons :
Notation décimale: 5.2, -3.14, -.23, 2., .025
Notation exponentielle: en utilisant la lettre e ou E (puissance de 10):
1.25e5, 3E-5, .23e-14
En C, on a deux types pour le ottants: le oat et le double

chapitre 1 : Langage C - notions de base 51


Les types de base en langage C Type caractère
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C


Types entier
Types ottant
Type caractère

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 53


Les types de base en langage C Type caractère
Type caractère

Pour déclarer une variable de type caractère, on utilise le mot clé char.
IMPORTANT: Une constante caractère est délimité par deux
apostrophes simples ' et ', tandis qu'une constante chaine de
caractère est délimité par deux guillemets " et "

Exemple:
char car1='a';
char car2='*';

chapitre 1 : Langage C - notions de base 54


Les types de base en langage C Type caractère
Type caractère

Pour déclarer une variable de type caractère, on utilise le mot clé char.
IMPORTANT: Une constante caractère est délimité par deux
apostrophes simples ' et ', tandis qu'une constante chaine de
caractère est délimité par deux guillemets " et "

Exemple:
char car1='a';
char car2='*';

chapitre 1 : Langage C - notions de base 54


Les types de base en langage C Type caractère
Type caractère

Pour déclarer une variable de type caractère, on utilise le mot clé char.
IMPORTANT: Une constante caractère est délimité par deux
apostrophes simples ' et ', tandis qu'une constante chaine de
caractère est délimité par deux guillemets " et "

Exemple:
char car1='a';
char car2='*';

chapitre 1 : Langage C - notions de base 54


Les types de base en langage C Type caractère
Type caractère

Pour déclarer une variable de type caractère, on utilise le mot clé char.
IMPORTANT: Une constante caractère est délimité par deux
apostrophes simples ' et ', tandis qu'une constante chaine de
caractère est délimité par deux guillemets " et "

Exemple:
char car1='a';
char car2='*';

chapitre 1 : Langage C - notions de base 54


Les types de base en langage C Type caractère
Type caractère

Pour déclarer une variable de type caractère, on utilise le mot clé char.
IMPORTANT: Une constante caractère est délimité par deux
apostrophes simples ' et ', tandis qu'une constante chaine de
caractère est délimité par deux guillemets " et "

Exemple:
char car1='a';
char car2='*';

chapitre 1 : Langage C - notions de base 54


Les types de base en langage C Type caractère
Caractères de contrôle

Il existe certains caractères conventionnelles en langage C qui ne


s'achent pas à l'écran mais qui permettent des actions spéciales. On
les appelle les caractères de contrôle.
Dans le code ASCII, ils ont des codes compris entre 0 et 31.
chapitre 1 : Langage C - notions de base 55
Les types de base en langage C Type caractère
Caractères de contrôle

Il existe certains caractères conventionnelles en langage C qui ne


s'achent pas à l'écran mais qui permettent des actions spéciales. On
les appelle les caractères de contrôle.
Dans le code ASCII, ils ont des codes compris entre 0 et 31.
chapitre 1 : Langage C - notions de base 55
Les types de base en langage C Type caractère
Caractères de contrôle
Explication:

Par exemple, la notation \n est une notation conventionnelle en langage


C qui représente un caractère de n de ligne
Lorsque ce caractère est envoyé à l'écran avec la fonction printf, il
déclenche le passage à la ligne suivante sur l'écran.
De manière générale, le langage C prévoit une notation de la forme \
suivi d'un caractère pour un certain nombre de caractères dits de
contrôle, c'est-à-dire ne possédant pas de graphisme particulier.
Remarque:
Dans cette catégorie, on trouve également quelques caractères (\, ', " et ?)
qui, bien que disposant d'un graphisme, jouent un rôle particulier de
délimiteur qui les empêche d'être notés de manière classique entre deux
apostrophes ' et '.
ces caractères ont besoin d'être "dé-spécié" pour être aché à l'écran: On
les fait précédé par un caractère \ pour les acher
chapitre 1 : Langage C - notions de base 56
Les types de base en langage C Type caractère
Caractères de contrôle
Explication:

Par exemple, la notation \n est une notation conventionnelle en langage


C qui représente un caractère de n de ligne
Lorsque ce caractère est envoyé à l'écran avec la fonction printf, il
déclenche le passage à la ligne suivante sur l'écran.
De manière générale, le langage C prévoit une notation de la forme \
suivi d'un caractère pour un certain nombre de caractères dits de
contrôle, c'est-à-dire ne possédant pas de graphisme particulier.
Remarque:
Dans cette catégorie, on trouve également quelques caractères (\, ', " et ?)
qui, bien que disposant d'un graphisme, jouent un rôle particulier de
délimiteur qui les empêche d'être notés de manière classique entre deux
apostrophes ' et '.
ces caractères ont besoin d'être "dé-spécié" pour être aché à l'écran: On
les fait précédé par un caractère \ pour les acher
chapitre 1 : Langage C - notions de base 56
Les types de base en langage C Type caractère
Caractères de contrôle
Explication:

Par exemple, la notation \n est une notation conventionnelle en langage


C qui représente un caractère de n de ligne
Lorsque ce caractère est envoyé à l'écran avec la fonction printf, il
déclenche le passage à la ligne suivante sur l'écran.
De manière générale, le langage C prévoit une notation de la forme \
suivi d'un caractère pour un certain nombre de caractères dits de
contrôle, c'est-à-dire ne possédant pas de graphisme particulier.
Remarque:
Dans cette catégorie, on trouve également quelques caractères (\, ', " et ?)
qui, bien que disposant d'un graphisme, jouent un rôle particulier de
délimiteur qui les empêche d'être notés de manière classique entre deux
apostrophes ' et '.
ces caractères ont besoin d'être "dé-spécié" pour être aché à l'écran: On
les fait précédé par un caractère \ pour les acher
chapitre 1 : Langage C - notions de base 56
Les types de base en langage C Type caractère
Caractères de contrôle
Explication:

Par exemple, la notation \n est une notation conventionnelle en langage


C qui représente un caractère de n de ligne
Lorsque ce caractère est envoyé à l'écran avec la fonction printf, il
déclenche le passage à la ligne suivante sur l'écran.
De manière générale, le langage C prévoit une notation de la forme \
suivi d'un caractère pour un certain nombre de caractères dits de
contrôle, c'est-à-dire ne possédant pas de graphisme particulier.
Remarque:
Dans cette catégorie, on trouve également quelques caractères (\, ', " et ?)
qui, bien que disposant d'un graphisme, jouent un rôle particulier de
délimiteur qui les empêche d'être notés de manière classique entre deux
apostrophes ' et '.
ces caractères ont besoin d'être "dé-spécié" pour être aché à l'écran: On
les fait précédé par un caractère \ pour les acher
chapitre 1 : Langage C - notions de base 56
Les types de base en langage C Type caractère
Caractères de contrôle
Explication:

Par exemple, la notation \n est une notation conventionnelle en langage


C qui représente un caractère de n de ligne
Lorsque ce caractère est envoyé à l'écran avec la fonction printf, il
déclenche le passage à la ligne suivante sur l'écran.
De manière générale, le langage C prévoit une notation de la forme \
suivi d'un caractère pour un certain nombre de caractères dits de
contrôle, c'est-à-dire ne possédant pas de graphisme particulier.
Remarque:
Dans cette catégorie, on trouve également quelques caractères (\, ', " et ?)
qui, bien que disposant d'un graphisme, jouent un rôle particulier de
délimiteur qui les empêche d'être notés de manière classique entre deux
apostrophes ' et '.
ces caractères ont besoin d'être "dé-spécié" pour être aché à l'écran: On
les fait précédé par un caractère \ pour les acher
chapitre 1 : Langage C - notions de base 56
Les types de base en langage C Type caractère
Caractères de contrôle
Explication:

Par exemple, la notation \n est une notation conventionnelle en langage


C qui représente un caractère de n de ligne
Lorsque ce caractère est envoyé à l'écran avec la fonction printf, il
déclenche le passage à la ligne suivante sur l'écran.
De manière générale, le langage C prévoit une notation de la forme \
suivi d'un caractère pour un certain nombre de caractères dits de
contrôle, c'est-à-dire ne possédant pas de graphisme particulier.
Remarque:
Dans cette catégorie, on trouve également quelques caractères (\, ', " et ?)
qui, bien que disposant d'un graphisme, jouent un rôle particulier de
délimiteur qui les empêche d'être notés de manière classique entre deux
apostrophes ' et '.
ces caractères ont besoin d'être "dé-spécié" pour être aché à l'écran: On
les fait précédé par un caractère \ pour les acher
chapitre 1 : Langage C - notions de base 56
Les types de base en langage C Type caractère
Types introduits en norme C99

Le type booléen nommé bool: une variable de ce type ne peut prendre


que l'une des deux valeurs : true (vrai) et false (faux) ;
des types complexes nommés oat complex, double complex et long double
complex: la constante I correspond alors à la constante mathématique i
(racine de -1).

chapitre 1 : Langage C - notions de base 57


Les types de base en langage C Type caractère
Types introduits en norme C99

Le type booléen nommé bool: une variable de ce type ne peut prendre


que l'une des deux valeurs : true (vrai) et false (faux) ;
des types complexes nommés oat complex, double complex et long double
complex: la constante I correspond alors à la constante mathématique i
(racine de -1).

chapitre 1 : Langage C - notions de base 57


Les variables et les constantes en langage C
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C


Variables
Constantes

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 58


Les variables et les constantes en langage C Variables
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C


Variables
Constantes

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 59


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Déclaration de variables

Pour déclarer une variable, il sut de :


Indiquer le type de la variable à créer ;
Insérer un espace ;
Indiquer le nom (identicateur) attribué à la variable, en respectant les
règles concernant les identicateurs ;
Enn, de ne pas oublier le point-virgule, indispensable pour toute
instruction en C.
Syntaxe: typeVariable nomVariable;
Exemple des cas possibles:
Déclaration avec initialisation : int x=1;
Déclaration seule: double y;
Déclarations avec initialisations pour plusieurs variables de même type
sur la même ligne séparées par une virgule : int a=2, b=6;

chapitre 1 : Langage C - notions de base 64


Les variables et les constantes en langage C Variables
Aectation d'une valeur une variable

Pour aecter une valeur à une variable, il sut de :


Indiquer le nom de la variable;
Un signe égal;
Puis la valeur à placer;
Terminer par un point virgule
Remarque: Il n'existe pas de valeur par défaut pour les variables en
langage C. Lors d'une déclaration sans initialisation, la variable prend la
valeur qui se trouvait là avant dans la mémoire, et cette valeur peut
être n'importe quoi !
Il est donc toujours recommandé d'initialiser la variable dès qu'on la
déclare.

chapitre 1 : Langage C - notions de base 65


Les variables et les constantes en langage C Variables
Aectation d'une valeur une variable

Pour aecter une valeur à une variable, il sut de :


Indiquer le nom de la variable;
Un signe égal;
Puis la valeur à placer;
Terminer par un point virgule
Remarque: Il n'existe pas de valeur par défaut pour les variables en
langage C. Lors d'une déclaration sans initialisation, la variable prend la
valeur qui se trouvait là avant dans la mémoire, et cette valeur peut
être n'importe quoi !
Il est donc toujours recommandé d'initialiser la variable dès qu'on la
déclare.

chapitre 1 : Langage C - notions de base 65


Les variables et les constantes en langage C Variables
Aectation d'une valeur une variable

Pour aecter une valeur à une variable, il sut de :


Indiquer le nom de la variable;
Un signe égal;
Puis la valeur à placer;
Terminer par un point virgule
Remarque: Il n'existe pas de valeur par défaut pour les variables en
langage C. Lors d'une déclaration sans initialisation, la variable prend la
valeur qui se trouvait là avant dans la mémoire, et cette valeur peut
être n'importe quoi !
Il est donc toujours recommandé d'initialiser la variable dès qu'on la
déclare.

chapitre 1 : Langage C - notions de base 65


Les variables et les constantes en langage C Variables
Aectation d'une valeur une variable

Pour aecter une valeur à une variable, il sut de :


Indiquer le nom de la variable;
Un signe égal;
Puis la valeur à placer;
Terminer par un point virgule
Remarque: Il n'existe pas de valeur par défaut pour les variables en
langage C. Lors d'une déclaration sans initialisation, la variable prend la
valeur qui se trouvait là avant dans la mémoire, et cette valeur peut
être n'importe quoi !
Il est donc toujours recommandé d'initialiser la variable dès qu'on la
déclare.

chapitre 1 : Langage C - notions de base 65


Les variables et les constantes en langage C Variables
Aectation d'une valeur une variable

Pour aecter une valeur à une variable, il sut de :


Indiquer le nom de la variable;
Un signe égal;
Puis la valeur à placer;
Terminer par un point virgule
Remarque: Il n'existe pas de valeur par défaut pour les variables en
langage C. Lors d'une déclaration sans initialisation, la variable prend la
valeur qui se trouvait là avant dans la mémoire, et cette valeur peut
être n'importe quoi !
Il est donc toujours recommandé d'initialiser la variable dès qu'on la
déclare.

chapitre 1 : Langage C - notions de base 65


Les variables et les constantes en langage C Variables
Aectation d'une valeur une variable

Pour aecter une valeur à une variable, il sut de :


Indiquer le nom de la variable;
Un signe égal;
Puis la valeur à placer;
Terminer par un point virgule
Remarque: Il n'existe pas de valeur par défaut pour les variables en
langage C. Lors d'une déclaration sans initialisation, la variable prend la
valeur qui se trouvait là avant dans la mémoire, et cette valeur peut
être n'importe quoi !
Il est donc toujours recommandé d'initialiser la variable dès qu'on la
déclare.

chapitre 1 : Langage C - notions de base 65


Les variables et les constantes en langage C Variables
Aectation d'une valeur une variable

Pour aecter une valeur à une variable, il sut de :


Indiquer le nom de la variable;
Un signe égal;
Puis la valeur à placer;
Terminer par un point virgule
Remarque: Il n'existe pas de valeur par défaut pour les variables en
langage C. Lors d'une déclaration sans initialisation, la variable prend la
valeur qui se trouvait là avant dans la mémoire, et cette valeur peut
être n'importe quoi !
Il est donc toujours recommandé d'initialiser la variable dès qu'on la
déclare.

chapitre 1 : Langage C - notions de base 65


Les variables et les constantes en langage C Variables
Remarques sur les variables en langage C

Comme dans la plupart des langages actuels, les déclarations des types
des variables sont obligatoires et doivent être regroupées, de préférence,
au début du programme principal (qui correspond à la fonction main)
A partir de la norme C99, une déclaration de variable peut gurer à
n'importe quel emplacement du programme, à condition qu'elle
apparaisse avant l'utilisation de cette variable.
Les variables ne possèdent pas de valeur par défaut. Il est donc
nécessaire de les initialiser, c-à-d leur aecter une valeur, avant de les
utiliser.
Toute variable déclarée à l'intérieur d'une fonction quelconque, y
compris le programme principal (qui correspond à la fonction main), est
une variable locale qui ne peut être utilisée qu'à l'intérieur de cette
fonction.

chapitre 1 : Langage C - notions de base 66


Les variables et les constantes en langage C Variables
Remarques sur les variables en langage C

Comme dans la plupart des langages actuels, les déclarations des types
des variables sont obligatoires et doivent être regroupées, de préférence,
au début du programme principal (qui correspond à la fonction main)
A partir de la norme C99, une déclaration de variable peut gurer à
n'importe quel emplacement du programme, à condition qu'elle
apparaisse avant l'utilisation de cette variable.
Les variables ne possèdent pas de valeur par défaut. Il est donc
nécessaire de les initialiser, c-à-d leur aecter une valeur, avant de les
utiliser.
Toute variable déclarée à l'intérieur d'une fonction quelconque, y
compris le programme principal (qui correspond à la fonction main), est
une variable locale qui ne peut être utilisée qu'à l'intérieur de cette
fonction.

chapitre 1 : Langage C - notions de base 66


Les variables et les constantes en langage C Variables
Remarques sur les variables en langage C

Comme dans la plupart des langages actuels, les déclarations des types
des variables sont obligatoires et doivent être regroupées, de préférence,
au début du programme principal (qui correspond à la fonction main)
A partir de la norme C99, une déclaration de variable peut gurer à
n'importe quel emplacement du programme, à condition qu'elle
apparaisse avant l'utilisation de cette variable.
Les variables ne possèdent pas de valeur par défaut. Il est donc
nécessaire de les initialiser, c-à-d leur aecter une valeur, avant de les
utiliser.
Toute variable déclarée à l'intérieur d'une fonction quelconque, y
compris le programme principal (qui correspond à la fonction main), est
une variable locale qui ne peut être utilisée qu'à l'intérieur de cette
fonction.

chapitre 1 : Langage C - notions de base 66


Les variables et les constantes en langage C Variables
Remarques sur les variables en langage C

Comme dans la plupart des langages actuels, les déclarations des types
des variables sont obligatoires et doivent être regroupées, de préférence,
au début du programme principal (qui correspond à la fonction main)
A partir de la norme C99, une déclaration de variable peut gurer à
n'importe quel emplacement du programme, à condition qu'elle
apparaisse avant l'utilisation de cette variable.
Les variables ne possèdent pas de valeur par défaut. Il est donc
nécessaire de les initialiser, c-à-d leur aecter une valeur, avant de les
utiliser.
Toute variable déclarée à l'intérieur d'une fonction quelconque, y
compris le programme principal (qui correspond à la fonction main), est
une variable locale qui ne peut être utilisée qu'à l'intérieur de cette
fonction.

chapitre 1 : Langage C - notions de base 66


Les variables et les constantes en langage C Constantes
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C


Variables
Constantes

5 Les opérateurs en langage C

chapitre 1 : Langage C - notions de base 67


Les variables et les constantes en langage C Constantes
Les constantes symboliques

Une constante symbolique est dénie par la directive #dene. Elle peut
être placée : en début du chier source ou dans un chier en-tête .h
Il est recommandé d'écrire les constantes symboliques en
MAJUSCULES : NB_ELEMENTS, PI,...
#denesubstitue littéralement un texte à un autre avant la
compilation (le compilateur ne connaîtra donc pas le symbole).
Exemple: #dene PI 3.14159 demande au préprocesseur de remplacer le
symbole PI par le texte 3.14159, chaque fois que ce symbole apparaît
dans le chier source.
Les constantes symboliques n'ont pas de type explicite et n'ont pas
de place allouée en mémoire.
Notez l'absence de ; car la dénition d'une constante symbolique n'est
pas une instruction

chapitre 1 : Langage C - notions de base 69


Les variables et les constantes en langage C Constantes
Les constantes symboliques

Une constante symbolique est dénie par la directive #dene. Elle peut
être placée : en début du chier source ou dans un chier en-tête .h
Il est recommandé d'écrire les constantes symboliques en
MAJUSCULES : NB_ELEMENTS, PI,...
#denesubstitue littéralement un texte à un autre avant la
compilation (le compilateur ne connaîtra donc pas le symbole).
Exemple: #dene PI 3.14159 demande au préprocesseur de remplacer le
symbole PI par le texte 3.14159, chaque fois que ce symbole apparaît
dans le chier source.
Les constantes symboliques n'ont pas de type explicite et n'ont pas
de place allouée en mémoire.
Notez l'absence de ; car la dénition d'une constante symbolique n'est
pas une instruction

chapitre 1 : Langage C - notions de base 69


Les variables et les constantes en langage C Constantes
Les constantes symboliques

Une constante symbolique est dénie par la directive #dene. Elle peut
être placée : en début du chier source ou dans un chier en-tête .h
Il est recommandé d'écrire les constantes symboliques en
MAJUSCULES : NB_ELEMENTS, PI,...
#denesubstitue littéralement un texte à un autre avant la
compilation (le compilateur ne connaîtra donc pas le symbole).
Exemple: #dene PI 3.14159 demande au préprocesseur de remplacer le
symbole PI par le texte 3.14159, chaque fois que ce symbole apparaît
dans le chier source.
Les constantes symboliques n'ont pas de type explicite et n'ont pas
de place allouée en mémoire.
Notez l'absence de ; car la dénition d'une constante symbolique n'est
pas une instruction

chapitre 1 : Langage C - notions de base 69


Les variables et les constantes en langage C Constantes
Les constantes symboliques

Une constante symbolique est dénie par la directive #dene. Elle peut
être placée : en début du chier source ou dans un chier en-tête .h
Il est recommandé d'écrire les constantes symboliques en
MAJUSCULES : NB_ELEMENTS, PI,...
#denesubstitue littéralement un texte à un autre avant la
compilation (le compilateur ne connaîtra donc pas le symbole).
Exemple: #dene PI 3.14159 demande au préprocesseur de remplacer le
symbole PI par le texte 3.14159, chaque fois que ce symbole apparaît
dans le chier source.
Les constantes symboliques n'ont pas de type explicite et n'ont pas
de place allouée en mémoire.
Notez l'absence de ; car la dénition d'une constante symbolique n'est
pas une instruction

chapitre 1 : Langage C - notions de base 69


Les variables et les constantes en langage C Constantes
Les constantes symboliques

Une constante symbolique est dénie par la directive #dene. Elle peut
être placée : en début du chier source ou dans un chier en-tête .h
Il est recommandé d'écrire les constantes symboliques en
MAJUSCULES : NB_ELEMENTS, PI,...
#denesubstitue littéralement un texte à un autre avant la
compilation (le compilateur ne connaîtra donc pas le symbole).
Exemple: #dene PI 3.14159 demande au préprocesseur de remplacer le
symbole PI par le texte 3.14159, chaque fois que ce symbole apparaît
dans le chier source.
Les constantes symboliques n'ont pas de type explicite et n'ont pas
de place allouée en mémoire.
Notez l'absence de ; car la dénition d'une constante symbolique n'est
pas une instruction

chapitre 1 : Langage C - notions de base 69


Les variables et les constantes en langage C Constantes
Les constantes symboliques

Une constante symbolique est dénie par la directive #dene. Elle peut
être placée : en début du chier source ou dans un chier en-tête .h
Il est recommandé d'écrire les constantes symboliques en
MAJUSCULES : NB_ELEMENTS, PI,...
#denesubstitue littéralement un texte à un autre avant la
compilation (le compilateur ne connaîtra donc pas le symbole).
Exemple: #dene PI 3.14159 demande au préprocesseur de remplacer le
symbole PI par le texte 3.14159, chaque fois que ce symbole apparaît
dans le chier source.
Les constantes symboliques n'ont pas de type explicite et n'ont pas
de place allouée en mémoire.
Notez l'absence de ; car la dénition d'une constante symbolique n'est
pas une instruction

chapitre 1 : Langage C - notions de base 69


Les variables et les constantes en langage C Constantes
Les variables constantes
Pour déclarer une constante (appelée aussi variable constante), il sut
d'utiliser le mot const juste avant le type au moment de la déclaration
de la variable.
Le mot réservé const permet de dénir une constante qui est en réalité
une variable protégée par le compilateur.
Il faut obligatoirement donner une valeur au moment de la déclaration
de la constante. Aucun changement de la valeur de la constante n'est
permis après son initialisation.
La constante PI peut ainsi être dénie par : const oat PI = 3.14159f;
Le compilateur vérie que la variable n'est pas modiée dans le code,
ce qui est particulièrement intéressant en cas d'appel de fonction avec
passage de paramètre par adresse.
Contrairement au cas des constantes symboliques, une place en
mémoire est allouée par le compilateur pour la constante dénie par
const.
chapitre 1 : Langage C - notions de base 70
Les variables et les constantes en langage C Constantes
Les variables constantes
Pour déclarer une constante (appelée aussi variable constante), il sut
d'utiliser le mot const juste avant le type au moment de la déclaration
de la variable.
Le mot réservé const permet de dénir une constante qui est en réalité
une variable protégée par le compilateur.
Il faut obligatoirement donner une valeur au moment de la déclaration
de la constante. Aucun changement de la valeur de la constante n'est
permis après son initialisation.
La constante PI peut ainsi être dénie par : const oat PI = 3.14159f;
Le compilateur vérie que la variable n'est pas modiée dans le code,
ce qui est particulièrement intéressant en cas d'appel de fonction avec
passage de paramètre par adresse.
Contrairement au cas des constantes symboliques, une place en
mémoire est allouée par le compilateur pour la constante dénie par
const.
chapitre 1 : Langage C - notions de base 70
Les variables et les constantes en langage C Constantes
Les variables constantes
Pour déclarer une constante (appelée aussi variable constante), il sut
d'utiliser le mot const juste avant le type au moment de la déclaration
de la variable.
Le mot réservé const permet de dénir une constante qui est en réalité
une variable protégée par le compilateur.
Il faut obligatoirement donner une valeur au moment de la déclaration
de la constante. Aucun changement de la valeur de la constante n'est
permis après son initialisation.
La constante PI peut ainsi être dénie par : const oat PI = 3.14159f;
Le compilateur vérie que la variable n'est pas modiée dans le code,
ce qui est particulièrement intéressant en cas d'appel de fonction avec
passage de paramètre par adresse.
Contrairement au cas des constantes symboliques, une place en
mémoire est allouée par le compilateur pour la constante dénie par
const.
chapitre 1 : Langage C - notions de base 70
Les variables et les constantes en langage C Constantes
Les variables constantes
Pour déclarer une constante (appelée aussi variable constante), il sut
d'utiliser le mot const juste avant le type au moment de la déclaration
de la variable.
Le mot réservé const permet de dénir une constante qui est en réalité
une variable protégée par le compilateur.
Il faut obligatoirement donner une valeur au moment de la déclaration
de la constante. Aucun changement de la valeur de la constante n'est
permis après son initialisation.
La constante PI peut ainsi être dénie par : const oat PI = 3.14159f;
Le compilateur vérie que la variable n'est pas modiée dans le code,
ce qui est particulièrement intéressant en cas d'appel de fonction avec
passage de paramètre par adresse.
Contrairement au cas des constantes symboliques, une place en
mémoire est allouée par le compilateur pour la constante dénie par
const.
chapitre 1 : Langage C - notions de base 70
Les variables et les constantes en langage C Constantes
Les variables constantes
Pour déclarer une constante (appelée aussi variable constante), il sut
d'utiliser le mot const juste avant le type au moment de la déclaration
de la variable.
Le mot réservé const permet de dénir une constante qui est en réalité
une variable protégée par le compilateur.
Il faut obligatoirement donner une valeur au moment de la déclaration
de la constante. Aucun changement de la valeur de la constante n'est
permis après son initialisation.
La constante PI peut ainsi être dénie par : const oat PI = 3.14159f;
Le compilateur vérie que la variable n'est pas modiée dans le code,
ce qui est particulièrement intéressant en cas d'appel de fonction avec
passage de paramètre par adresse.
Contrairement au cas des constantes symboliques, une place en
mémoire est allouée par le compilateur pour la constante dénie par
const.
chapitre 1 : Langage C - notions de base 70
Les variables et les constantes en langage C Constantes
Les variables constantes
Pour déclarer une constante (appelée aussi variable constante), il sut
d'utiliser le mot const juste avant le type au moment de la déclaration
de la variable.
Le mot réservé const permet de dénir une constante qui est en réalité
une variable protégée par le compilateur.
Il faut obligatoirement donner une valeur au moment de la déclaration
de la constante. Aucun changement de la valeur de la constante n'est
permis après son initialisation.
La constante PI peut ainsi être dénie par : const oat PI = 3.14159f;
Le compilateur vérie que la variable n'est pas modiée dans le code,
ce qui est particulièrement intéressant en cas d'appel de fonction avec
passage de paramètre par adresse.
Contrairement au cas des constantes symboliques, une place en
mémoire est allouée par le compilateur pour la constante dénie par
const.
chapitre 1 : Langage C - notions de base 70
Les opérateurs en langage C
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C


Opérateurs arithmétiques
Opérateurs relationnels
Opérateur d'aectation
Opérateurs logiques
Autres Opérateurs
chapitre 1 : Langage C - notions de base 71
Les opérateurs en langage C Opérateurs arithmétiques
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C


Opérateurs arithmétiques
Opérateurs relationnels
Opérateur d'aectation
Opérateurs logiques
Autres Opérateurs
chapitre 1 : Langage C - notions de base 72
Les opérateurs en langage C Opérateurs arithmétiques
Les opérateurs arithmétiques en langage C

Les opérateurs arithmétiques sont des opérateurs binaires dénis, en


général, pour deux opérandes de même type et fournissent un résultat
de même type.
Remarque importante:
Pour la division (/), le quotient de deux entiers donne un entier (5/2=2) et
celui de deux ottants donne un ottant (5.0/2.0=2.5)
Le modulo (%) ne porte que sur des entiers, il fournit le reste de la division
de son premier opérande par son second (5%2=1).
chapitre 1 : Langage C - notions de base 73
Les opérateurs en langage C Opérateurs arithmétiques
Les opérateurs arithmétiques en langage C

Les opérateurs arithmétiques sont des opérateurs binaires dénis, en


général, pour deux opérandes de même type et fournissent un résultat
de même type.
Remarque importante:
Pour la division (/), le quotient de deux entiers donne un entier (5/2=2) et
celui de deux ottants donne un ottant (5.0/2.0=2.5)
Le modulo (%) ne porte que sur des entiers, il fournit le reste de la division
de son premier opérande par son second (5%2=1).
chapitre 1 : Langage C - notions de base 73
Les opérateurs en langage C Opérateurs arithmétiques
Les opérateurs arithmétiques en langage C

Les opérateurs arithmétiques sont des opérateurs binaires dénis, en


général, pour deux opérandes de même type et fournissent un résultat
de même type.
Remarque importante:
Pour la division (/), le quotient de deux entiers donne un entier (5/2=2) et
celui de deux ottants donne un ottant (5.0/2.0=2.5)
Le modulo (%) ne porte que sur des entiers, il fournit le reste de la division
de son premier opérande par son second (5%2=1).
chapitre 1 : Langage C - notions de base 73
Les opérateurs en langage C Opérateurs arithmétiques
Les opérateurs arithmétiques en langage C

Les opérateurs arithmétiques sont des opérateurs binaires dénis, en


général, pour deux opérandes de même type et fournissent un résultat
de même type.
Remarque importante:
Pour la division (/), le quotient de deux entiers donne un entier (5/2=2) et
celui de deux ottants donne un ottant (5.0/2.0=2.5)
Le modulo (%) ne porte que sur des entiers, il fournit le reste de la division
de son premier opérande par son second (5%2=1).
chapitre 1 : Langage C - notions de base 73
Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
double a=5.3, b=7.8;
char c='e', d='f';
Quelles valeurs sont données par les aectations suivantes:
x=a+b;
y=2*x;
a=b/2;
c=c+1;
d=d-1;

chapitre 1 : Langage C - notions de base 81


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
double a=5.3, b=7.8;
char c='e', d='f';
Quelles valeurs sont données par les aectations suivantes:
x=a+b;
y=2*x;
a=b/2;
c=c+1;
d=d-1;

chapitre 1 : Langage C - notions de base 81


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
double a=5.3, b=7.8;
char c='e', d='f';
Quelles valeurs sont données par les aectations suivantes:
x=a+b; ⇒x: 13
y=2*x;
a=b/2;
c=c+1;
d=d-1;

chapitre 1 : Langage C - notions de base 81


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
double a=5.3, b=7.8;
char c='e', d='f';
Quelles valeurs sont données par les aectations suivantes:
x=a+b; ⇒x: 13
y=2*x; ⇒y: 26
a=b/2;
c=c+1;
d=d-1;

chapitre 1 : Langage C - notions de base 81


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
double a=5.3, b=7.8;
char c='e', d='f';
Quelles valeurs sont données par les aectations suivantes:
x=a+b; ⇒x: 13
y=2*x; ⇒y: 26
a=b/2; ⇒a: 3.9
c=c+1;
d=d-1;

chapitre 1 : Langage C - notions de base 81


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
double a=5.3, b=7.8;
char c='e', d='f';
Quelles valeurs sont données par les aectations suivantes:
x=a+b; ⇒x: 13
y=2*x; ⇒y: 26
a=b/2; ⇒a: 3.9
c=c+1; ⇒c: 'f' ou le code 102
d=d-1;

chapitre 1 : Langage C - notions de base 81


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
double a=5.3, b=7.8;
char c='e', d='f';
Quelles valeurs sont données par les aectations suivantes:
x=a+b; ⇒x: 13
y=2*x; ⇒y: 26
a=b/2; ⇒a: 3.9
c=c+1; ⇒c: 'f' ou le code 102
d=d-1; ⇒d: 'e' ou le code 101

chapitre 1 : Langage C - notions de base 81


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis d'incrémentation

L'opérateur d'incrémentation est :  ++ 


L'expression nombre++; est équivalente à l'expression nombre = nombre + 1;
On a deux types d'incrémentation :
- Postincrémentation: nombre++;

- Préincrémentation: ++nombre;

Exemples:
x=i++; // équivalent à x=i; i=i+1;

x=++i; //équivalent à i=i+1; x=i;

chapitre 1 : Langage C - notions de base 82


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis d'incrémentation

L'opérateur d'incrémentation est :  ++ 


L'expression nombre++; est équivalente à l'expression nombre = nombre + 1;
On a deux types d'incrémentation :
- Postincrémentation: nombre++;

- Préincrémentation: ++nombre;

Exemples:
x=i++; // équivalent à x=i; i=i+1;

x=++i; //équivalent à i=i+1; x=i;

chapitre 1 : Langage C - notions de base 82


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis d'incrémentation

L'opérateur d'incrémentation est :  ++ 


L'expression nombre++; est équivalente à l'expression nombre = nombre + 1;
On a deux types d'incrémentation :
- Postincrémentation: nombre++;

- Préincrémentation: ++nombre;

Exemples:
x=i++; // équivalent à x=i; i=i+1;

x=++i; //équivalent à i=i+1; x=i;

chapitre 1 : Langage C - notions de base 82


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis d'incrémentation

L'opérateur d'incrémentation est :  ++ 


L'expression nombre++; est équivalente à l'expression nombre = nombre + 1;
On a deux types d'incrémentation :
- Postincrémentation: nombre++;

- Préincrémentation: ++nombre;

Exemples:
x=i++; // équivalent à x=i; i=i+1;

x=++i; //équivalent à i=i+1; x=i;

chapitre 1 : Langage C - notions de base 82


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis d'incrémentation

L'opérateur d'incrémentation est :  ++ 


L'expression nombre++; est équivalente à l'expression nombre = nombre + 1;
On a deux types d'incrémentation :
- Postincrémentation: nombre++;

- Préincrémentation: ++nombre;

Exemples:
x=i++; // équivalent à x=i; i=i+1;

x=++i; //équivalent à i=i+1; x=i;

chapitre 1 : Langage C - notions de base 82


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis d'incrémentation

L'opérateur d'incrémentation est :  ++ 


L'expression nombre++; est équivalente à l'expression nombre = nombre + 1;
On a deux types d'incrémentation :
- Postincrémentation: nombre++;

- Préincrémentation: ++nombre;

Exemples:
x=i++; // équivalent à x=i; i=i+1;

x=++i; //équivalent à i=i+1; x=i;

chapitre 1 : Langage C - notions de base 82


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis de décrémentation

L'opérateur de décrémentation est :  - - 


L'expression nombre- -; est équivalente à l'expression nombre = nombre - 1;
On a deux types d'incrémentation :
- Postdécrémentation: nombre- -;

- Prédécrémentation: - -nombre;

Exemples:
x=i- -; // équivalent à x=i; i=i-1;

x=- -i; // équivalent à i=i-1; x=i;

Remarque: Les opérateurs d'incrémentation et de décrémentation ont


une priorité plus élevée que celle des opérateurs arithmétiques,
relationnelles et logiques

chapitre 1 : Langage C - notions de base 83


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis de décrémentation

L'opérateur de décrémentation est :  - - 


L'expression nombre- -; est équivalente à l'expression nombre = nombre - 1;
On a deux types d'incrémentation :
- Postdécrémentation: nombre- -;

- Prédécrémentation: - -nombre;

Exemples:
x=i- -; // équivalent à x=i; i=i-1;

x=- -i; // équivalent à i=i-1; x=i;

Remarque: Les opérateurs d'incrémentation et de décrémentation ont


une priorité plus élevée que celle des opérateurs arithmétiques,
relationnelles et logiques

83
Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis de décrémentation

L'opérateur de décrémentation est :  - - 


L'expression nombre- -; est équivalente à l'expression nombre = nombre - 1;
On a deux types d'incrémentation :
- Postdécrémentation: nombre- -;

- Prédécrémentation: - -nombre;

Exemples:
x=i- -; // équivalent à x=i; i=i-1;

x=- -i; // équivalent à i=i-1; x=i;

Remarque: Les opérateurs d'incrémentation et de décrémentation ont


une priorité plus élevée que celle des opérateurs arithmétiques,
relationnelles et logiques

chapitre 1 : Langage C - notions de base 83


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis de décrémentation

L'opérateur de décrémentation est :  - - 


L'expression nombre- -; est équivalente à l'expression nombre = nombre - 1;
On a deux types d'incrémentation :
- Postdécrémentation: nombre- -;

- Prédécrémentation: - -nombre;

Exemples:
x=i- -; // équivalent à x=i; i=i-1;

x=- -i; // équivalent à i=i-1; x=i;

Remarque: Les opérateurs d'incrémentation et de décrémentation ont


une priorité plus élevée que celle des opérateurs arithmétiques,
relationnelles et logiques

chapitre 1 : Langage C - notions de base 83


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis de décrémentation

L'opérateur de décrémentation est :  - - 


L'expression nombre- -; est équivalente à l'expression nombre = nombre - 1;
On a deux types d'incrémentation :
- Postdécrémentation: nombre- -;

- Prédécrémentation: - -nombre;

Exemples:
x=i- -; // équivalent à x=i; i=i-1;

x=- -i; // équivalent à i=i-1; x=i;

Remarque: Les opérateurs d'incrémentation et de décrémentation ont


une priorité plus élevée que celle des opérateurs arithmétiques,
relationnelles et logiques

chapitre 1 : Langage C - notions de base 83


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis de décrémentation

L'opérateur de décrémentation est :  - - 


L'expression nombre- -; est équivalente à l'expression nombre = nombre - 1;
On a deux types d'incrémentation :
- Postdécrémentation: nombre- -;

- Prédécrémentation: - -nombre;

Exemples:
x=i- -; // équivalent à x=i; i=i-1;

x=- -i; // équivalent à i=i-1; x=i;

Remarque: Les opérateurs d'incrémentation et de décrémentation ont


une priorité plus élevée que celle des opérateurs arithmétiques,
relationnelles et logiques

chapitre 1 : Langage C - notions de base 83


Les opérateurs en langage C Opérateurs arithmétiques
Opérateur raccourcis de décrémentation

L'opérateur de décrémentation est :  - - 


L'expression nombre- -; est équivalente à l'expression nombre = nombre - 1;
On a deux types d'incrémentation :
- Postdécrémentation: nombre- -;

- Prédécrémentation: - -nombre;

Exemples:
x=i- -; // équivalent à x=i; i=i-1;

x=- -i; // équivalent à i=i-1; x=i;

Remarque: Les opérateurs d'incrémentation et de décrémentation ont


une priorité plus élevée que celle des opérateurs arithmétiques,
relationnelles et logiques

chapitre 1 : Langage C - notions de base 83


Les opérateurs en langage C Opérateurs arithmétiques
Autres Opérateurs raccourcis

Exemples:
int x, y; x=3;
y=5;
x+=5; // équivalent à x=x+5, x aura la valeur 8
x-=7; // équivalent à x=x-7, x aura la valeur 1
y*=2; // équivalent à y=y*2, y aura la valeur 10
y/=4; // équivalent à y=y/4, y aura la valeur 2. (et non pas 2.5 car son type est int)

chapitre 1 : Langage C - notions de base 84


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5,a,b;
Quelles valeurs sont données par les instructions suivantes:
a=x++;
b=++y;
a-=b;
b*=3;
x+=- -a + b++;

chapitre 1 : Langage C - notions de base 85


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5,a,b;
Quelles valeurs sont données par les instructions suivantes:
a=x++;
b=++y;
a-=b;
b*=3;
x+=- -a + b++;

chapitre 1 : Langage C - notions de base 85


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5,a,b;
Quelles valeurs sont données par les instructions suivantes:
a=x++; ⇒ a: 10 et x:11
b=++y;
a-=b;
b*=3;
x+=- -a + b++;

chapitre 1 : Langage C - notions de base 85


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5,a,b;
Quelles valeurs sont données par les instructions suivantes:
a=x++; ⇒ a: 10 et x:11
b=++y; ⇒b: 6 et y:6
a-=b;
b*=3;
x+=- -a + b++;

chapitre 1 : Langage C - notions de base 85


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5,a,b;
Quelles valeurs sont données par les instructions suivantes:
a=x++; ⇒ a: 10 et x:11
b=++y; ⇒b: 6 et y:6
a-=b; ⇒a: 4 et b:6
b*=3;
x+=- -a + b++;

chapitre 1 : Langage C - notions de base 85


Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5,a,b;
Quelles valeurs sont données par les instructions suivantes:
a=x++; ⇒ a: 10 et x:11
b=++y; ⇒b: 6 et y:6
a-=b; ⇒a: 4 et b:6
b*=3; ⇒b: 18
x+=- -a + b++;

85
Les opérateurs en langage C Opérateurs arithmétiques
Exercice

Si on a les variables suivantes:


int x=10, y=5,a,b;
Quelles valeurs sont données par les instructions suivantes:
a=x++; ⇒ a: 10 et x:11
b=++y; ⇒b: 6 et y:6
a-=b; ⇒a: 4 et b:6
b*=3; ⇒b: 18
x+=- -a + b++; ⇒ x:32 et a: 3 et b: 19

Chapitre 1: Langage C - introduction et notions de base 85


Les opérateurs en langage C Opérateurs relationnels
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C


Opérateurs arithmétiques
Opérateurs relationnels
Opérateur d'aectation
Opérateurs logiques
Autres Opérateurs
Chapitre 1: Langage C - introduction et notions de base 86
Les opérateurs en langage C Opérateurs relationnels
Opérateurs relationnels

Soit l'expression: (2 ∗ a) > (b + 5)


Résultat:
- 0 si le résultat de la comparaison est faux, c-à-d (2 ∗ a) < (b + 5)
- 1 (ou toute autre valeur non nulle) si le résultat de la comparaison est vrai.
Les expressions comparées sont soumises aux règles de conversion de
type étudiées pour les opérateurs arithmétiques
Chapitre 1: Langage C - introduction et notions de base 87
Les opérateurs en langage C Opérateurs relationnels
Opérateurs relationnels

Soit l'expression: (2 ∗ a) > (b + 5)


Résultat:
- 0 si le résultat de la comparaison est faux, c-à-d (2 ∗ a) < (b + 5)
- 1 (ou toute autre valeur non nulle) si le résultat de la comparaison est vrai.
Les expressions comparées sont soumises aux règles de conversion de
type étudiées pour les opérateurs arithmétiques
Chapitre 1: Langage C - introduction et notions de base 87
Les opérateurs en langage C Opérateurs relationnels
Opérateurs relationnels

On peut dire que : '0' est inférieur à 'Z' qu'on note: '0' < 'Z'.
En eet, en alphabet de la machine, le code du caractère '0' (ASCII:
48) est inférieur à celui du caractère 'Z' (ASCII: 90).
Exemple:
- Soit c1 < c2, avec c1 et c2 de type char
- L'expression est vraie si le code du caractère de c1 a une valeur inférieure au
code du caractère de c2.

Chapitre 1: Langage C - introduction et notions de base 89


Les opérateurs en langage C Opérateurs relationnels
Opérateurs relationnels

On peut dire que : '0' est inférieur à 'Z' qu'on note: '0' < 'Z'.
En eet, en alphabet de la machine, le code du caractère '0' (ASCII:
48) est inférieur à celui du caractère 'Z' (ASCII: 90).
Exemple:
- Soit c1 < c2, avec c1 et c2 de type char
- L'expression est vraie si le code du caractère de c1 a une valeur inférieure au
code du caractère de c2.

Chapitre 1: Langage C - introduction et notions de base 89


Les opérateurs en langage C Opérateurs relationnels
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z', c='9', d='E';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
x<=y;
x>=5;
(x+y)==(9+6);
(2*x)!=2;
a<b;
b>c;
d==a;

Chapitre 1: Langage C - introduction et notions de base 90


Les opérateurs en langage C Opérateurs relationnels
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z', c='9', d='E';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
x<=y;
x>=5;
(x+y)==(9+6);
(2*x)!=2;
a<b;
b>c;
d==a;

Chapitre 1: Langage C - introduction et notions de base 90


Les opérateurs en langage C Opérateurs relationnels
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z', c='9', d='E';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
x<=y; ⇒ 0
x>=5;
(x+y)==(9+6);
(2*x)!=2;
a<b;
b>c;
d==a;

Chapitre 1: Langage C - introduction et notions de base 90


Les opérateurs en langage C Opérateurs relationnels
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z', c='9', d='E';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
x<=y; ⇒ 0
x>=5; ⇒ 1
(x+y)==(9+6);
(2*x)!=2;
a<b;
b>c;
d==a;

Chapitre 1: Langage C - introduction et notions de base 90


Les opérateurs en langage C Opérateurs relationnels
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z', c='9', d='E';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
x<=y; ⇒ 0
x>=5; ⇒ 1
(x+y)==(9+6); ⇒1
(2*x)!=2;
a<b;
b>c;
d==a;

Chapitre 1: Langage C - introduction et notions de base 90


Les opérateurs en langage C Opérateurs relationnels
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z', c='9', d='E';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
x<=y; ⇒ 0
x>=5; ⇒ 1
(x+y)==(9+6); ⇒1
(2*x)!=2; ⇒ 1
a<b;
b>c;
d==a;

Chapitre 1: Langage C - introduction et notions de base 90


Les opérateurs en langage C Opérateurs relationnels
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z', c='9', d='E';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
x<=y; ⇒ 0
x>=5; ⇒ 1
(x+y)==(9+6); ⇒1
(2*x)!=2; ⇒ 1
a<b; ⇒ 0
b>c;
d==a;

Chapitre 1: Langage C - introduction et notions de base 90


Les opérateurs en langage C Opérateurs relationnels
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z', c='9', d='E';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
x<=y; ⇒ 0
x>=5; ⇒ 1
(x+y)==(9+6); ⇒1
(2*x)!=2; ⇒ 1
a<b; ⇒ 0
b>c; ⇒ 1
d==a;

Chapitre 1: Langage C - introduction et notions de base 90


Les opérateurs en langage C Opérateurs relationnels
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z', c='9', d='E';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
x<=y; ⇒ 0
x>=5; ⇒ 1
(x+y)==(9+6); ⇒1
(2*x)!=2; ⇒ 1
a<b; ⇒ 0
b>c; ⇒ 1
d==a; ⇒ 0

Chapitre 1: Langage C - introduction et notions de base 90


Les opérateurs en langage C Opérateur d'aectation
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C


Opérateurs arithmétiques
Opérateurs relationnels
Opérateur d'aectation
Opérateurs logiques
Autres Opérateurs
Chapitre 1: Langage C - introduction et notions de base 91
Les opérateurs en langage C Opérateur d'aectation
Opérateur d'aectation

L'opérateur d'aectation  =  s'utilise selon la syntaxe:


variable = expression;

L'opération d'aectation est associatif de droite à gauche.


Exemple:
int x, y;
x=3; // x reçoit la valeur 3
y=x; // y reçoit la valeur de x, c'est à dire 3
y=x=5; // x reçoit la valeur 5 et y reçoit la valeur de x qui est 5

Lors d'une aectation, le résultat est toujours converti dans le type


de la destination. Si ce type est plus faible, il peut y avoir une perte
de précision.
Exemple: Si n est de type int et x de type double,
l'aectation : n = x + 5.3 ; entraînera tout d'abord l'évaluation de
l'expression située à droite, ce qui fournira une valeur de type double;
cette dernière sera ensuite convertie en int pour pouvoir être aectée à n.
Chapitre 1: Langage C - introduction et notions de base 92
Les opérateurs en langage C Opérateur d'aectation
Opérateur d'aectation

L'opérateur d'aectation  =  s'utilise selon la syntaxe:


variable = expression;

L'opération d'aectation est associatif de droite à gauche.


Exemple:
int x, y;
x=3; // x reçoit la valeur 3
y=x; // y reçoit la valeur de x, c'est à dire 3
y=x=5; // x reçoit la valeur 5 et y reçoit la valeur de x qui est 5

Lors d'une aectation, le résultat est toujours converti dans le type


de la destination. Si ce type est plus faible, il peut y avoir une perte
de précision.
Exemple: Si n est de type int et x de type double,
l'aectation : n = x + 5.3 ; entraînera tout d'abord l'évaluation de
l'expression située à droite, ce qui fournira une valeur de type double;
cette dernière sera ensuite convertie en int pour pouvoir être aectée à n.
Chapitre 1: Langage C - introduction et notions de base 92
Les opérateurs en langage C Opérateur d'aectation
Opérateur d'aectation

L'opérateur d'aectation  =  s'utilise selon la syntaxe:


variable = expression;

L'opération d'aectation est associatif de droite à gauche.


Exemple:
int x, y;
x=3; // x reçoit la valeur 3
y=x; // y reçoit la valeur de x, c'est à dire 3
y=x=5; // x reçoit la valeur 5 et y reçoit la valeur de x qui est 5

Lors d'une aectation, le résultat est toujours converti dans le type


de la destination. Si ce type est plus faible, il peut y avoir une perte
de précision.
Exemple: Si n est de type int et x de type double,
l'aectation : n = x + 5.3 ; entraînera tout d'abord l'évaluation de
l'expression située à droite, ce qui fournira une valeur de type double;
cette dernière sera ensuite convertie en int pour pouvoir être aectée à n.
Chapitre 1: Langage C - introduction et notions de base 92
Les opérateurs en langage C Opérateur d'aectation
Opérateur d'aectation

L'opérateur d'aectation  =  s'utilise selon la syntaxe:


variable = expression;

L'opération d'aectation est associatif de droite à gauche.


Exemple:
int x, y;
x=3; // x reçoit la valeur 3
y=x; // y reçoit la valeur de x, c'est à dire 3
y=x=5; // x reçoit la valeur 5 et y reçoit la valeur de x qui est 5

Lors d'une aectation, le résultat est toujours converti dans le type


de la destination. Si ce type est plus faible, il peut y avoir une perte
de précision.
Exemple: Si n est de type int et x de type double,
l'aectation : n = x + 5.3 ; entraînera tout d'abord l'évaluation de
l'expression située à droite, ce qui fournira une valeur de type double;
cette dernière sera ensuite convertie en int pour pouvoir être aectée à n.
Chapitre 1: Langage C - introduction et notions de base 92
Les opérateurs en langage C Opérateur d'aectation
Opérateur d'aectation

L'opérateur d'aectation  =  s'utilise selon la syntaxe:


variable = expression;

L'opération d'aectation est associatif de droite à gauche.


Exemple:
int x, y;
x=3; // x reçoit la valeur 3
y=x; // y reçoit la valeur de x, c'est à dire 3
y=x=5; // x reçoit la valeur 5 et y reçoit la valeur de x qui est 5

Lors d'une aectation, le résultat est toujours converti dans le type


de la destination. Si ce type est plus faible, il peut y avoir une perte
de précision.
Exemple: Si n est de type int et x de type double,
l'aectation : n = x + 5.3 ; entraînera tout d'abord l'évaluation de
l'expression située à droite, ce qui fournira une valeur de type double;
cette dernière sera ensuite convertie en int pour pouvoir être aectée à n.
Chapitre 1: Langage C - introduction et notions de base 92
Les opérateurs en langage C Opérateurs logiques
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C


Opérateurs arithmétiques
Opérateurs relationnels
Opérateur d'aectation
Opérateurs logiques
Autres Opérateurs
Chapitre 1: Langage C - introduction et notions de base 96
Les opérateurs en langage C Opérateurs logiques
Opérateurs logiques

En langage C, trois opérateurs logiques classiques existent: ET noté


&&, OU noté k, NON noté !
Une expression logique s'écrit: Opérande 1 opérateur Opérande 2, avec
opérateur: &&, k ou !
La seconde opérande (celle à droite) des opérateurs && et k n'est
évaluée que si la connaissance de sa valeur est indispensable pour
décider si l'expression correspondante est vraie ou fausse.
Chapitre 1: Langage C - introduction et notions de base 97
Les opérateurs en langage C Opérateurs logiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
(x<=y k x>=5);
(x!=3 && a<b);
!(x<=y k x>=5);

Chapitre 1: Langage C - introduction et notions de base 100


Les opérateurs en langage C Opérateurs logiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
(x<=y k x>=5);
(x!=3 && a<b);
!(x<=y k x>=5);

Chapitre 1: Langage C - introduction et notions de base 100


Les opérateurs en langage C Opérateurs logiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
(x<=y k x>=5); ⇒ 0 ou 1 donc 1
(x!=3 && a<b);
!(x<=y k x>=5);

Chapitre 1: Langage C - introduction et notions de base 100


Les opérateurs en langage C Opérateurs logiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
(x<=y k x>=5); ⇒ 0 ou 1 donc 1
(x!=3 && a<b); ⇒ 1 et 0 donc 0
!(x<=y k x>=5);

Chapitre 1: Langage C - introduction et notions de base 100


Les opérateurs en langage C Opérateurs logiques
Exercice

Si on a les variables suivantes:


int x=10, y=5;
char a='e', b='Z';
En considérant que le codage de la machine est le code ASCII, quelles
valeurs sont données par les instructions suivantes:
(x<=y k x>=5); ⇒ 0 ou 1 donc 1
(x!=3 && a<b); ⇒ 1 et 0 donc 0
!(x<=y k x>=5); ⇒ Non 1 donc 0

Chapitre 1: Langage C - introduction et notions de base 100


Les opérateurs en langage C Autres Opérateurs
Plan

1 Introduction à la programmation en langage C

2 Éléments généraux d'un programme en langage C

3 Les types de base en langage C

4 Les variables et les constantes en langage C

5 Les opérateurs en langage C


Opérateurs arithmétiques
Opérateurs relationnels
Opérateur d'aectation
Opérateurs logiques
Autres Opérateurs
Chapitre 1: Langage C - introduction et notions de base 101
Les opérateurs en langage C Autres Opérateurs
Opérateur de type forcé "cast"

Pour forcer la conversion dans un type donné, on utilise l'opérateur cast.


Syntaxe: (type) expression;

Exemple:
int x=10, y=3;
(oat) (x/y); // donne 3.0000

Notez que c'est le résultat de l'expression qui est forcé en oat.


Si on n'utilise pas de parenthèse pour l'expression (oat) x/y ; on aura la
valeur 3.3333 car on force x à devenir oat puis y deviendra oat par la
règle de conversion implicite

Chapitre 1: Langage C - introduction et notions de base 102


Les opérateurs en langage C Autres Opérateurs
Opérateur de type forcé "cast"

Pour forcer la conversion dans un type donné, on utilise l'opérateur cast.


Syntaxe: (type) expression;

Exemple:
int x=10, y=3;
(oat) (x/y); // donne 3.0000

Notez que c'est le résultat de l'expression qui est forcé en oat.


Si on n'utilise pas de parenthèse pour l'expression (oat) x/y ; on aura la
valeur 3.3333 car on force x à devenir oat puis y deviendra oat par la
règle de conversion implicite

Chapitre 1: Langage C - introduction et notions de base 102


Les opérateurs en langage C Autres Opérateurs
Opérateur de type forcé "cast"

Pour forcer la conversion dans un type donné, on utilise l'opérateur cast.


Syntaxe: (type) expression;

Exemple:
int x=10, y=3;
(oat) (x/y); // donne 3.0000

Notez que c'est le résultat de l'expression qui est forcé en oat.


Si on n'utilise pas de parenthèse pour l'expression (oat) x/y ; on aura la
valeur 3.3333 car on force x à devenir oat puis y deviendra oat par la
règle de conversion implicite

Chapitre 1: Langage C - introduction et notions de base 102


Les opérateurs en langage C Autres Opérateurs
Opérateur de type forcé "cast"

Pour forcer la conversion dans un type donné, on utilise l'opérateur cast.


Syntaxe: (type) expression;

Exemple:
int x=10, y=3;
(oat) (x/y); // donne 3.0000

Notez que c'est le résultat de l'expression qui est forcé en oat.


Si on n'utilise pas de parenthèse pour l'expression (oat) x/y ; on aura la
valeur 3.3333 car on force x à devenir oat puis y deviendra oat par la
règle de conversion implicite

Chapitre 1: Langage C - introduction et notions de base 102


Les opérateurs en langage C Autres Opérateurs
Opérateur de type forcé "cast"

Pour forcer la conversion dans un type donné, on utilise l'opérateur cast.


Syntaxe: (type) expression;

Exemple:
int x=10, y=3;
(oat) (x/y); // donne 3.0000

Notez que c'est le résultat de l'expression qui est forcé en oat.


Si on n'utilise pas de parenthèse pour l'expression (oat) x/y ; on aura la
valeur 3.3333 car on force x à devenir oat puis y deviendra oat par la
règle de conversion implicite

Chapitre 1: Langage C - introduction et notions de base 102


Les opérateurs en langage C Autres Opérateurs
Opérateur séquentiel ","

L'opérateur séquentiel noté virgule "," permet d'exprimer plusieurs


calculs successifs au sein d'une même expression.
Exemple: i++, j = i + k;
évaluation de l'expression i++
évaluation de l'aectation j = i + k en utilisant la valeur de i après
incrémentation par l'expression précédente.
Cet opérateur séquentiel possède une associativité de gauche à droite et
sa faible priorité évite l'usage de parenthèses:
Cet opérateur est fréquemment utilisé dans les instructions
conditionnelles ou les boucles: il permettra de placer plusieurs
expressions là où on s'attend à trouver une seule expression

Chapitre 1: Langage C - introduction et notions de base 103


Les opérateurs en langage C Autres Opérateurs
Opérateur séquentiel ","

L'opérateur séquentiel noté virgule "," permet d'exprimer plusieurs


calculs successifs au sein d'une même expression.
Exemple: i++, j = i + k;
évaluation de l'expression i++
évaluation de l'aectation j = i + k en utilisant la valeur de i après
incrémentation par l'expression précédente.
Cet opérateur séquentiel possède une associativité de gauche à droite et
sa faible priorité évite l'usage de parenthèses:
Cet opérateur est fréquemment utilisé dans les instructions
conditionnelles ou les boucles: il permettra de placer plusieurs
expressions là où on s'attend à trouver une seule expression

Chapitre 1: Langage C - introduction et notions de base 103


Les opérateurs en langage C Autres Opérateurs
Opérateur séquentiel ","

L'opérateur séquentiel noté virgule "," permet d'exprimer plusieurs


calculs successifs au sein d'une même expression.
Exemple: i++, j = i + k;
évaluation de l'expression i++
évaluation de l'aectation j = i + k en utilisant la valeur de i après
incrémentation par l'expression précédente.
Cet opérateur séquentiel possède une associativité de gauche à droite et
sa faible priorité évite l'usage de parenthèses:
Cet opérateur est fréquemment utilisé dans les instructions
conditionnelles ou les boucles: il permettra de placer plusieurs
expressions là où on s'attend à trouver une seule expression

Chapitre 1: Langage C - introduction et notions de base 103


Les opérateurs en langage C Autres Opérateurs
Opérateur séquentiel ","

L'opérateur séquentiel noté virgule "," permet d'exprimer plusieurs


calculs successifs au sein d'une même expression.
Exemple: i++, j = i + k;
évaluation de l'expression i++
évaluation de l'aectation j = i + k en utilisant la valeur de i après
incrémentation par l'expression précédente.
Cet opérateur séquentiel possède une associativité de gauche à droite et
sa faible priorité évite l'usage de parenthèses:
Cet opérateur est fréquemment utilisé dans les instructions
conditionnelles ou les boucles: il permettra de placer plusieurs
expressions là où on s'attend à trouver une seule expression

Chapitre 1: Langage C - introduction et notions de base 103


Les opérateurs en langage C Autres Opérateurs
Opérateur séquentiel ","

L'opérateur séquentiel noté virgule "," permet d'exprimer plusieurs


calculs successifs au sein d'une même expression.
Exemple: i++, j = i + k;
évaluation de l'expression i++
évaluation de l'aectation j = i + k en utilisant la valeur de i après
incrémentation par l'expression précédente.
Cet opérateur séquentiel possède une associativité de gauche à droite et
sa faible priorité évite l'usage de parenthèses:
Cet opérateur est fréquemment utilisé dans les instructions
conditionnelles ou les boucles: il permettra de placer plusieurs
expressions là où on s'attend à trouver une seule expression

Chapitre 1: Langage C - introduction et notions de base 103


Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Opérateur sizeof
L'opérateur sizeof, qui ressemble à une fonction, fournit la taille en
octets.
Exemple:, si le type int est représenté sur 4 octets et le type double sur
8 octets, et que:
int n ;
double z ;
sizeof(n) vaudra 4
sizeof(z) vaudra 8
Cet opérateur peut également s'appliquer à un type donné. Dans la
représentation précédente:
sizeof(int) vaudra 4
sizeof(double) vaudra 8
Cet opérateur est utile pour:
écrire des programmes portables dans lesquels il est nécessaire de connaître
la taille exacte de certains objets.
éviter d'avoir à calculer soi-même la taille d'objets.
Chapitre 1: Langage C - introduction et notions de base 104
Les opérateurs en langage C Autres Opérateurs
Résumé de la priorité et associativité des opérateurs en C
Prio/asso Op Desc Utilisation
1 (G à D) () parenthèses (expression)
() Appel de fonction fonction(paramètres)
[] contenu tableau Tableau[expression]
++ Post-incrementation lvalue++
-- Post-décrementation lvalue- -
2 (D à G) + plus unaire +expression
- moins unaire -expression
++ Pré-incrementation ++lvalue
-- Pré-décrementation - -lvalue
! non logique !expression
∼ non bit à bit ∼expression
(type) cast (type)expression
sizeof taille en octets sizeof(type ou expression)
& adresse de lvalue &lvalue
* contenu pointeur *pointeur

Chapitre 1: Langage C - introduction et notions de base 106


Les opérateurs en langage C Autres Opérateurs
Résumé de la priorité et associativité des opérateurs en C
Prio/asso Op Desc Utilisation
3 (G à D) * Multiplication expresion*expression
/ Division expresion/expression
% Modulo expression% expression
4 (G à D) + addition expression+expression
- soustraction expression-expression
5 (G à D)  Décalage de bit à gauche expressionexpression
 Décalage de bit à droite expressionexpression
6 (G à D) < inférieur expression<expression
<= inférieur ou égal expression<=expression
> supérieur expression>expression
>= supérieur ou égal expression>=expression
7 (G à D) == égalité expression==expression
!= inégalité expression!=expression
8 (G à D) & ET bit à bit expression&expression
9 (G à D) ∧ XOR bit à bit expression∧expression
10 (G à D) | OU bit à bit expression|expression

Chapitre 1: Langage C - introduction et notions de base 107


Les opérateurs en langage C Autres Opérateurs
Résumé de la priorité et associativité des opérateurs en C
Prio/asso Op Desc Utilisation
11 (G à D) && ET logique expression&&expression
12 (G à D) k OU logique expressionkexpression
13 (D à G) ?: conditionnel expression?expression:expression
= aectation lvalue=expression
*= racc * lvalue*=expression
/= racc / lvalue/=expression
%= racc % lvalue%=expression
+= racc + lvalue+=expression
-= racc - lvalue-=expression
= racc  lvalue=expression
= racc  lvalue=expression
&= racc & lvalue&=expression
|= racc | lvalue|=expression
∧= racc ∧ lvalue∧=expression
Associativité D à G: a op b op c ⇒ a op ( b op c).

Associativité G à D: a op b op c ⇒ (a op b) op c.
Chapitre 1: Langage C - introduction et notions de base 108

You might also like