Vous êtes sur la page 1sur 7

Chapitre I I Eléments de base du langage C

Eléments de base du langage C

Pour faire nos premiers pas dans le langage de programmation C le meilleur moyen
consiste à observer un programme écrit en C
# include <stdio.h>
main ()
{
printf( “Bonjour \n”);
}
La première ligne est une directive de compilation, elle permet d’inclure dans un
programme une bibliothèque d’entrée sortie, pour des raisons historique liées à UNIX.
main : indique qu’il s’agit d’un programme principal.
( ) Indique que le programme n’admet pas d’argument
{ et } jouent le rôle de début et fin, délimite le programme.
printf est l’ordre d’affichage à l’écran.
\n représente le caractère non visualisable qui est le caractère retour à la ligne.
; indique la fin d’instruction
Le codage n’est soumis à aucune contrainte de la colonne.
# include <stdio.h>
main () { printf(“Bonjour \n”); }
II.1 Les commentaires:
Les commentaires serrent à améliorer la lisibilité d’un programme, les commentaires
sont placées entre /* et */, le texte compris entre deux délimiteurs est interprétés comme
commentaire par le compilateur, et n’est pas compilé.
# include <stdio.h>
/* Nom du programme comment.c , exemple du programme
Commenté */
main( ) /* Ceci est l’entête du programme */
{ // Début du programme principal
Printf( "Bonjour \n");
} /* fin de main */
II.2 Identificateur:
Un identificateur est constitué par une lettre, ou le signe souligné suivi par toute
combinaison de lettres, chiffres ou signe soulignés, il permet la déclaration (représentation,
d’une variable, constante ou fonction).

14
Chapitre I I Eléments de base du langage C

• Il faut faire la distinction entre majuscules et minuscules, le nom INDEX


désignerait une autre variable que le nom index.
• Le premier caractère doit être une lettre quelconque de l’alphabet ou le tiret de
soulignement, les 32 (256 norme ANSI) premiers caractères d’un nom sont
significatifs.
• N’utilisez pas de caractères accentues.
II.3 Les variables et constantes:
A toutes données doit correspondre un type, qui autorise la réservation d’une zone
mémoire de taille prédéfinie.
Exemple :
int x ;
char e ;
Parmi les types élémentaires, on distingue les types entiers, réel et caractère.
a) Les entiers :
Ils s‘expriment sous trois types différents : short int (entier court) int (entier
simple), et long int (entier long). Chaque type peut être signed (signé) ou unsigned (non
signé)
Type Limite inferieur Limite supérieur Taille en octets
short int -32768 32767 2
unsigned short int 0 65535 2
int -32768 32767 2
unsigned int 0 65535 2
long int -2147483648 2147483648 4
unsigned long int 0 4294967295 4
Les constantes de type entier peuvent êtres sous 3 formes :
• Octal : un nombre qui commence par 0 suivi d’un chiffre est en base 8
exemple : 0234=4+3*8+2*82 = 156
• Hexadécimal : un nombre qui commence par 0X suivi d’un chiffre est en base 16
exemple : 0Xx1F = 15+ 1*161 = 31
b) Les réels :
Il s’exprime sous trois types différents : float (flottant) double et long double.
Type Limite inferieur Limite supérieur Taille en octets

15
Chapitre I I Eléments de base du langage C

flot -3,8 10-38 3,4 10+38 4


double -1,7 10-308 1,7 10308 8
Long double -3,4 10-4932 3,4 104932 10
Les réels sont de la forme :
<Partie entiers>.<partie fractionnaire> e<partie exposant>
On peut omettre soit la partie entière .47 e-12 ou la partie fractionnaire 442. Mais
pas les deux.
c) Caractères :
Un caractère est représenté en machine par un entier, ainsi ‘C’ désigne la valeur
entière du caractère dans la table ASCII.
Type Limite inferieur Limite supérieur Taille en octets
char -128 127 1
Unsigned char 0 255 1
Une constante de type caractère contient un seul caractère entre apostrophe
exemple ‘A’, ‘B’, ‘2’.
II.4 Déclaration:
La déclaration est une demande de réservation de place mémoire au compilateur. Pour
pouvoir utiliser une variable, il faut la déclarée ce qui nécessite quatre éléments :
- Le type de la variable.
- Un ou plusieurs espaces.
- Le nom de la variable.
- Un point-virgule.
Exemple :
int x ;
double y ;
char e ;
Les déclarations peuvent se faire sur une seule ligne :
int x ; double y ; char e ;
On peut condenser la déclaration de plusieurs variables de même type en une
seule en séparant les identificateurs par virgule.
int x ;
int y ; ⇔ int x, y, z ;
int z ;

16
Chapitre I I Eléments de base du langage C

II.5 Assignation (Affectation) :


Pour remplir les emplacements mémoires réservais à la déclaration on dispose soit
d’une lecture directe au clavier, soit une affectation.
Le signe (=) désigne l’assignation.
Exemple : x =2;
y = 344.25;
Il est possible d’enchainer plusieurs assignations :
Exemple : i= k= j= 2;
# include <stdio.h>
main()
{ int x, y ;
x=3 ;
y=5 ;
printf(′′x=%d, y=%d\n′′, x, y) ;
}
II.6 Initialisation des variables :
Une valeur initiale peut être spécifiée dès la déclaration de la variable
type variable = valeur ;
float x=1.5 ;
int i, j=3, k ;
# include <stdio.h>
main()
{ int i, j=3, k ;
float x=1.5,
y = 1.2e-3 ; /* Représentation scientifique */
char c=′A′
C1=’\x41’ , /* Valeur hexadécimale */
C2 =’\o202’; /* Valeur octale */
long l=123L ;
double Z1=0.5e201
}
II.7 Conversions des variables :
C permet des assignations et de façon générale des opérations arithmétiques entre
variables de type différents. Des conversions sont automatiquement réalises. Elles
obéissent à des règles de bon sens
Entre caractère et entier
char → int le char se retrouve dans l’octet le moins significatif de l’entier.
int → char perte de l’octet le plus significatif
int → long le int se retrouve dans les 2 octets le moins significatifs de l’entier long.

17
Chapitre I I Eléments de base du langage C

long → int résultat tronqué perte des 2 octets le plus significatifs.


Entre réel et entier
int → float 15→15.0
float→ int perte de la partie décimale, ainsi 2.5→2
float → double aucun problème
double → float perte de la précision
II.8 Les fonctions d’entrées / sorties standard :
1) Des fonctions d’affichage et de saisie de données à partir du clavier évidement
indispensables pour utiliser et pour vérifier qu’un programme donne les résultats attendus.
La fonction printf permet un affichage formaté, ce qui signifie que pour chaque donnée à
afficher, le programme spécifié :
- Le nom de la variable
- Le format d’affichage (entier, forme scientifique, nombre de décimale, nombres de
positions d’affichage).
- Le texte d’accompagnement.
La forme générale de printf est :
Printf(′′ contrôle′′, arg1, arg2, …..)
Zone de contrôle (texte et format d’affichage)
Arguments ( nom de la variable ou expresssion)

Le caractère back slash (′′\′′) est utilisé pour faire savoir au compilateur qu’à la suite de ce
signe se trouve un caractère de contrôle particulier.
La lettre ′′n′′ qui suit ′′\′′ signifie qu’à la suite de l’affichage de la chaîne de caractère il
aura un saut de ligne.
#include <stdio.h>
main()
{ printf("Ceci est une ligne de texte suivi d'un saut de ligne\n");
printf("une autre ligne, à laquelle....");
printf("Ce texte est rattaché \n\n");
printf("La ligne de texte, qui suit une ligne vide\n");
}
Le code de contrôle \n peut être placé à des endroits quelconques autant de fois que vous
le désirez.
Exemple : printf("Hello \n World \n");

18
Chapitre I I Eléments de base du langage C

La séquence de contrôle \t saut de tabulation peut être placée autant de fois que vous
désirez. printf("Hello \t World \n");

Affichage : Hello World


8 blancs

Le caractère % suivi d’une lettre indique le type de conversion


Code de Conversion Signification
d Affichage n décimale
o Affichage en octale
x Affichage en hexadécimale
u Un entier non signé
c Affichage sous forme de caractère
s Chaîne de caractères (string)
f Nombre à virgule flottante mm.nn
e Format scientifique m.nnE(xx)

Entre le % et le caractère de conversion, on peut placer :


- Le signe moins pour réclamer un décalage à gauche % - 3d
- Un chiffre qui indique le nombre minimum de caractères d’impression %5d.
- Un point pour séparer l’indication ci-dessus de celle qui suit.
- Un chiffre qui indique le nombre de décimales pour le float % 5.2f
- La lettre l pour indiquer qu’on affiche un long ou double.

/* Déclaration de tous types de données standard en C */

#include <stdio.h>
main()
{ int a; /* entier simple */
long int b; /* entier long*/
short c; /* entier de type short */
unsigned int d; /* entier non signé */
char e; /* caractères */
float f; /* réel simple précission */
double g; /* réel double précission */

19
Chapitre I I Eléments de base du langage C

a=1023; b =2222; c= 123; d= 1234; e ='x';


f= 3.14159; g= 3.145926535898;
printf("a=%d\n",a); /* affichage en décimale */
printf("a=%o\n",a); /* affichage en octale */
printf("a=%x\n",a); /* affichage en hexadécimale */
printf("b=%ld\n",b); /* affichage décimale long */
printf("c=%d\n", c); /* affichage décimale court */
printf("d=%u\n",d); /* affichage d'un nombre non signé */
printf("e=%d\n",e); /* affichage d'un caractère */
printf("f=%f\n",f); /* affichage d'un nombre à virgule */
printf("g=%e\n",g); /* affichage en double précission */
printf("a=%-7d\n",a);/* affichage décimale avec une longueur de 7 caractères */
printf("a=%7d\n",a); /* affichage à gauche de 7 caractères */
printf("f=%12f\n", f); /* largeur du champ de 12 caractères */
printf("f=%12.3f\n",f); /* 3 chiffres après la virgule */
printf("f=%12.5f\n",f); /* 5 chiffres après la virgule */
}
2) Saisie des données :
La fonction scanf est l’analogue de printf en entrée, elle effectue une conversion entre le
format utilisée lors de la saisie et le forme représentative interne de la variable
scanf(′′ Contrôle′′ , &arg1, &arg2) ;
Chaque nom d’argument qui correspond à un scalaire doit être précédé de & (et
commerciale), les formats sont identiques à la fonction printf.
#include <stdio.h>
main()
{ int i;
float x;
printf("i?"); scanf("%d", &i);
printf("x?"); scanf("%f", &x);
printf("i=%d\t x=%f",i,x);
}

20

Vous aimerez peut-être aussi