Chapitre1 Notion de Base Du Langage C

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 25

NOTIONS DE BASE

Salma Hajjem-Syrine Khiari-Wafa Neji

ESPRIT
2012-2013

1
Structure générale d’un programme

Dans un programme, on trouve deux parties essentielles :


Une partie déclarative contenant tous les objets qui seront
impliqués par les différentes actions du programme
(constantes, types, variables, etc.).
Une partie réservée aux actions (en programmation, on
dit les instructions) .

2
Notion de variable

l’exécution d’un programme doit impliquer les données qui


sont liées à ce programme. Ces données se trouvent à ce
moment au niveau de la mémoire centrale et chacune occupe
une case mémoire.

Une variable est donc un espace mémoire qui va contenir des


données au fur et à mesure que le programme avance dans
son exécution. Cependant, à un instant donné, une variable
ne peut contenir qu’une seule donnée (valeur).

3
Notion de variable

Comme son nom l'indique une variable est quelque chose qui
varie, elle peut être considérée comme une boîte dans
laquelle on met des données que l'on peut lire ou écrire.

4
Notion de type

Une variable utilisé dans un programme ne peut prendre qu’un


ensemble de valeurs connues à l’avance ; toute variable
possède un domaine de définition.
En terme informatique, ce domaine est appelé le Type de la
variable.
Un type est alors caractérisé par :
ses valeurs.
les opérations qui peuvent s’effectuer sur des variables
ayant ce type.

5
LES VARIABLES ET LEURS TYPE EN C

Les variables permettent de représenter les données d’un


programme.
Chaque variable est matérialisée par un emplacement mémoire
identifié par un nom ou un identificateur.

Chaque variable possède :


 un nom
 un type
 une valeur

6
Les noms des variables en C

Les noms des variables en C sont composés de lettres et de


chiffres :
L’ensemble des symboles utilisables: {0,1,2, ...9,
A,B,...,Z,_,a,b,....,z}

Le premier caractère doit être une lettre ou le symbole ‘ _ ’

C distingue les majuscules et les minuscules.

Le choix des noms des variables est important pour la lisibilité
d’un programme.

7
Les noms des variables en C

8
Les types des variables en C

Le type nous indique de quel sorte de variable il s’agit : entier,


décimal, caractère, ...
Les types entiers :
• int : entier standard
• short : entier court
• long : entier long
• char : caractère
Les types rationnels
• float : décimal
• double : décimal long
On distingue deux caractéristiques concernant les types :
le domaine des valeurs admissibles
Le nombre d’octets réservé pour une variable
9
Les types entiers

Le langage C distingue plusieurs types d'entiers:

En langage C, le type char est un cas particulier du type


entier : un caractère est un entier de 8 bits
Exemple : Le caractère 'b' a pour valeur 98 (son code ASCII).
10
Les types réels

Le langage C distingue 3 types de réels:

11
Déclaration de variables

Pour être utilisée, une variable doit être déclarée :


Syntaxe:
<Type> <NomVar1>,<NomVar2>,...,<NomVarn> ;
Exemples:
int compteur, x, y;
float racine;
char touche;
/* Déclaration avec initialisation */
int nombre = 1;
char lettre = ‘ A ’;
REMARQUE :
La déclaration d’une variable se traduit par une réservation de
place mémoire dont le contenu est imprévisible !
12
LES CONSTANTES EN C

Les constantes sont utilisées pour calculer des valeurs, pour


initialiser des variables…
Les constantes entières
• 100 : int
• 0144 : int (en octal)
• 0x64 : int (en hexadécimal)
Les constantes rationnelles
• 123.4 : float (notation décimale)
• 1234e-1 : float (notation exponentielle)

13
LES CONSTANTES EN C

Les caractères constants (entourés d’apostrophes)


• ‘ A ’ désigne la lettre A (sa valeur est 65 = code
ASCII)
• On distingue des caractères non imprimables qui sont
identifiés
par leurs codes internes commençant par \ :
‘ \n ’ : nouvelle ligne
‘ \t ’ : tabulation horizontale
‘ \b ’: espacement arrière
‘ \f ’ : saut de page
‘ \r ’ : retour chariot
‘ \v ’ : tabulation verticale
‘ \\ ’ : back slach
‘ \" ’ : guillemet 14
‘ \’ ’ : apostrophe
LES CONSTANTES EN C

Constante chaîne de caractères (entourée de guillemets)


• Une chaîne peut ne comporter aucun caractère : " "
• Le compilateur insert automatiquement un caractère
nul \0 à la fin de chaque chaîne de caractères.

Définition de constantes
#define <NomConstante> <Valeur>
Exemples :
#define PI 3.14
#define LETTRE_1 ‘ A ’

15
AFFECTATION DES VARIABLES

L’affectation est une instruction qui permet de placer une valeur


dans une variable qui doit être préalablement déclarée.
Syntaxe:
<nom_variable> = <expression> ;
Exemple:
« Affecter le nombre 5 à la variable A » est équivalent à
« Ranger dans la zone mémoire A l’entier 5 » s’écrit en C : A=5;

16
AFFECTATION DES VARIABLES

On distingue plusieurs types d’affectations :


Affectation avec des valeurs constantes : placement d’une
valeur dans une variable.
Exemple : Montant = 6;
Affectation avec des valeurs de variables : la valeur à placer
dans une variable eut provenir d’une autre variable.
Exemple : A = 2;
B = A;
Affectation avec des valeurs d’expressions : On peut ranger
dans une variable le résultat d’un calcul.
Exemple : A = 2;
B = A + 2;
17
LES OPÉRATEURS

En langage C, on distingue plusieurs types d’opérateurs.

Les opérateurs simples


 Opérateurs arithmétiques :
+ : Addition
- : Soustraction
* : Multiplication
/ : Division (entière et rationnelle)
Attention : 2/4 vaut 0 mais 2.0/4 vaut 0.5
% : Modulo (reste de la division entière)

18
LES OPÉRATEURS

Opérateurs logiques : (1: vrai et 0: faux)


&& : Et logique (AND)
|| : ou logique (OR)
! : Négation (NOT)
Les opérateurs logiques considèrent toute valeur différente de
zéro comme Vrai et zéro comme Faux
Exemples :
0 && 2 0 (faux)
!2 0 (faux)
5 || !(32 > 4) 1 (vrai)
Opérateurs de comparaison : (1: vrai et 0: faux)
== : égale à
!= : différent de
<, <=, >, >= : plus petit, plus petit ou égal, …
19
LES OPÉRATEURS

 Les opérateurs d’affectation:


Pour la plupart des expressions de la forme :
expr1 = (expr1) op (expr2)
Il existe une formulation équivalente qui utilise un opérateur
d’affectation :
expr1 op= expr2
Exemple:
i = i + 2 ; devient i += 2 ;
Liste des opérateurs d’affectation:
+= : ajouter à
-= : diminuer de
*= : multiplier par
/= : diviser par
%= : modulo
20
LES OPÉRATEURS
 Les opérateurs d’incrémentation et de décrémentation:
Les affectations les plus fréquentes sont du type :
i = i + 1; et i = i - 1;
Les opérateurs ++ et -- sont employés pour les cas suivants :
Incrémenter ou bien décrémenter de 1 une variable
i++; et ++i; ou bien i--; et --i;
Incrémenter ou bien décrémenter de 1 une variable et en
même temps affecter sa valeur à une autre variable
• x = i++; passe la valeur de i à x et incrémente après i
• x=i--; passe la valeur de i à x et décrémente après i
• x=++i; incrémente d’abord i et passe la valeur à x
• x=--i; décrémente d’abord i et passe la valeur à x
Exemple :
i = 5; a = ++i ; /* i = 6 et a = 6 */
i = 5; a = i++ ; /* i = 6 et a = 5 */ 21
La priorité des opérateurs

Les constantes et les variables sont des expressions. Les


expressions peuvent être combinées entre elles par des
opérateurs et former ainsi des expressions plus complexes.

L’ordre d’évaluation des différentes parties d’une expression


est en principe le même qu’en mathématiques.

22
La priorité des opérateurs

Exemple:
x = 2*A+3*B+4*c; (*,+,=)
Classe de priorité:
Priorité 1 (la plus forte) : ( )
Priorité 2 : ! ++ --
Priorité 3 : * / % Priorité 4 : + -
Priorité 5 : < <= > >=
Priorité 6 : == !=
Priorité 7 : &&
Priorité 8 : ||
Priorité 9 : = += -= *= /= %=
23
CONVERSION DE TYPE

En langage C, on distingue deux types de conversion :


Conversion de type automatique
Si les opérandes sont de différents types, le résultat de
l’opération est converti vers le type ‘ le plus grand ’ ( pas de
perte de précision).
Pour l’affectation la donnée à droite est convertie dans le type
de celle de gauche, il y a perte de précision si le type de la
destination est plus faible.
Exemple:
int i = 8;
float x = 12.5;
double y;
y = i * x; /* Pas de perte de précision */
24
CONVERSION DE TYPE
Conversion de type forcée (casting)
On peut convertir explicitement une valeur en forçant la
transformation.
Syntaxe:
<NomVariable> = (<Type>)<Expression>;
Exemple:
int i = 2, j = 4;
float y, z;
y = i / j; /* y = 0.0 */
z = (float)i / j; /* y = 0.5*/ Les contenus de i et j n’ont pas
changés!
La valeur de i est explicitement convertie en float. La valeur
de j est automatiquement convertie en float . Le résultat de la
division (type rationnel, valeur 0.5) est affecté à z.
25

Vous aimerez peut-être aussi