Syntaxe du langage.
La syntaxe constitue
l’orthographe du langage de programmation. Il faut la respecter pour que le
compilateur puisse traduire le programme C en langage machine. Toute erreur de
syntaxe provoquera une erreur de compilation.
1. Les identificateurs.
Les identificateurs
représentent les noms que l’on donne aux constantes, au type de données, aux
variables, aux fonctions, etc.
Ils doivent obéir aux règles suivantes :
-
Un identificateur doit toujours commencer
par une lettre (de a à z).
-
Le reste de l’identificateur peut être
composé de lettres, de chiffres (1 à 9) ou du caractère souligné '_'
(underscore).
-
Seuls les 32 premiers caractères sont pris
en compte.
-
Respecter la casse c'est-à-dire faire la
différence entre majuscules et minuscules.
Par exemple : A
est différent de a.
Exemples : ident
i01
tEXte_1 sont des
identificateurs corrects
#e
2. Les mots-clés.
Ils sont prédéfinis dans la
syntaxe du langage et représentent les instructions, les descriptions de types
prédéfinis. Il est interdit d'utiliser un mot-clé comme identificateur.
3. Les expressions.
Une expression est une combinaison d'opérandes et d'opérateurs.
Un opérande peut être :
une variable.
une constantes.
une autre expression.
une variable.
une constantes.
une autre expression.
Une expression fournit toujours une
valeur résultat qui peut être de différents types :
Chaine caractere
Numerique
Caractere
etc.
4. Les opérateurs.
Numerique
Caractere
etc.
4. Les opérateurs.
Ils servent à effectuer toute
une série d'opérations sur un ensemble de données.
4.1. L'assignation.
L'opération fondamentale de
tout langage de programmation est matérialisée par le signe = .
La valeur se trouvant à
droite de ce signe, valeur qui peut éventuellement être représentée par une
expression, est mise dans la variable située à sa gauche. Donc : variable
= expression
Exemple : a=2;
b=a+3;
4.2. Les
opérateurs arithmétiques.
Ces opérations s'appliquent
à des valeurs de types numériques (entières ou réelles).
Il y a d'abord les opérations classiques :
-
L'addition : +
-
La soustraction ou le signe de négation : -
-
La multiplication : *
-
La division : /
-
Le reste de division entière (modulo) : %
Toutes ces opérations peuvent être combinées avec des parenthèses.
Il y a ensuite les opérations moins classiques :
-
L'incrémentation : ++
Qui ajoute 1 à la variable à laquelle
elle est appliquée
-
La décrémentation : --
Qui enlève 1 à la variable à laquelle elle est appliquée
Exemples d'utilisation :
a+b*(c-1)
a=-1
x=y++ (assigne la
valeur de y à x et, ensuite, ajoute 1 à y)
x=++y (ajoute 1 à
y et, ensuite, assigne la nouvelle valeur obtenue à x)
4.3. Les
opérateurs relationnels.
Ce sont les opérateurs de
comparaison. Leur résultat peut être soit vrai, soit faux.
La valeur faux est représentée par 0.
La valeur vraie est représentée par 1.
Voici la liste des opérateurs relationnels :
-
Strictement plus grand : >
-
Plus grand ou égal : >=
-
Strictement plus petit : <
-
Plus petit ou égal : <=
-
Egal : ==
-
Non égal : !=
Exemples :
Après les assignations suivantes
aux variables entières i, j, k :
i=1;
j=100;
k=1000;
Les expressions suivantes donneront un résultat vrai :
(i<=j)
(k>j)
(k!=j)
Les expressions suivantes donneront un résultat faux :
(i==j)
(i>=j)
(k<i)
Ces opérateurs sont très utilisés dans les instructions conditionnelles
et répétitives.
4.4. Les
opérateurs logiques.
Ces opérateurs effectuent les
opérations classiques sur des valeurs logiques. Leur résultat donne également
des valeurs vraies ou fausses. Ils sont au nombre de trois :
-
Et logique : &&
donne un résultat vrai si les deux
expressions sont vraies
-
Ou logique : ||
donne un résultat vrai si une des
deux expression est vraie
-
Négation logique : !
inverse la valeur logique de
l'expression à laquelle elle est appliquée
Ces opérateurs permettent notamment de combiner des opérateurs
relationnels.
Exemples :
si i=10 et j=5;
alors les
expressions :
(i>=0)
&& (i<20)
(i==j) ||
(j>=0)
donne un résultat
vrai.
4.5. L'opérateur
"adresse de".
Chaque ensemble a une position
bien définie dans la mémoire. Cette position est appelée adresse.
L'opérateur "adresse de" est utilisé
pour connaître l'adresse de l'opérande.
La syntaxe est la suivante : & nom_de_variable
Exemple : scanf("%d", &var1);
4.6. Les opérateurs
abrégés.
Dans certaines conditions
quelques opérateurs admettent une forme abrégée :
ainsi variable1
= variable1 opérateur expression;
peut être remplacée par variable1
opérateur = expression
Exemple :
i=i+1 est égal
à
i+=1;
5. Les séparateurs.
Ils complètent la syntaxe du
langage en constituant en quelque sorte la ponctuation. En voici la liste :
-
Le point-virgule : il doit séparer toutes
les instructions
exemple :
int x;
x=x+1;
-
La virgule : elle sépare une liste
d’éléments
exemple : int i, j,
k;
-
Les parenthèses : + servent dans certaines
expressions à déterminer l’ordre dans
lequel
les opérations doivent s’exécuter
+ peuvent encadrer une liste de
paramètres pour des instructions
d’entrées/sorties
ou pour des fonctions
exemple :
i=(j+1)*3;
scanf(" %s",
&nom) ;
-
L'apostrophe : elle est utilisée pour
entourer un caractère unique
exemple : 'a'
-
Les guillemets : ils sont utilisés pour
délimiter une chaîne de caractères
exemple : "ceci est un exemple"
-
Les accolades : elles déterminent des
blocs d'instructions et notamment le bloc
principal
exemple :
main()
{
int i;
i=i+1;
}
-
Le point : + utilisé pour séparer la
partie entière de la partie décimale d'un
nombre réel
+
utilisé pour faire référence à un champ d'une variable structurée
exemple :
pi=3.1415927;
personne.taille=1.80;
-
Les crochets : entourent l'indice d'une
variable dimensionnée (tableau).
exemple : vect[1]=0;
6. Les commentaires.
Il est souvent utile pour
la compréhension d'un programme d'insérer un texte explicatif. Cela se fait en
encadrant le texte explicatif, qui peu s'étendre sur plusieurs lignes, avec les
symboles /* et */.
Exemple :
int i; /* i est
une
variable entière */
Le texte placé entre ces
deux symboles est tout simplement ignoré par le compilateur .
//
précède un commentaire qui se termine à la fin de la ligne.
Exemple : printf("Bonjour"); //affichage du mot
"Bonjour"
No comments:
Post a Comment