Cours gratuit: Une courte introduction à C++

Extrait du cours gratuit: Une courte introduction à C++

1 Un peu d’histoire
Le langage C++ a deux grands ancêtres :
– Simula, dont la première version a été conçue en 1967. C’est le premier langage qui introduit les principaux concepts de la programmation objet. Probablement parce qu’il était en avance sur son temps, il n’a pas connu à l’époque le succès qu’il aurait mérité, mais il a eu cependant une influence considérable sur l’évolution de la programmation objet.
Développé par une équipe de chercheurs norvégiens, Simula-67 est le successeur de Simula I, lui même inspiré d’Algol 60. Conçu d’abord à des fins de modélisation de systèmes physiques, en recherche nucléaire notamment, Simula I est devenu un langage spécialisé pour traiter des problèmes de simulation. Ses concepteurs faisaient aussi partie du groupe de travail IFIP qui poursuivait les travaux ayant donné naissance à Algol 60. Simula-67 est avec Pascal et Algol 68 un des trois langages issus des différentes voies explorées au sein de ce groupe. Son nom fut changé en Simula en 1986.
2 Types de base et constantes
En C++, lestypes de basesont :
–bool: booléen2, peut valoirtrueoufalse,
–char: caractère (en général 8 bits), qui peuvent aussi être déclarés explicitement signés (signed char) ou non signés (unsigned char),
–int: entier (16 ou 32 bits, suivant les machines), qui possède les variantesshort [int]etlong [int], tous trois pouvant également être declarés non signés (unsigned),
–float: réel (1 mot machine),
3 Opérateurs et expressions
C++ offre un jeu très étendu d’opérateurs, ce qui permet l’écriture d’une grande variété d’expressions. Un principe général est quetoute expression retourne une valeur. On peut donc utiliser le résultat de l’évaluation d’une expression comme partie d’une autre expression. De plus, le parenthésage permet de forcer l’ordre d’évaluation.
Les opérateurs disponibles sont les suivants :
3.1 Opérateurs arithmétiques
+addition
-soustraction
*multiplication
/division (entière ou réelle)
%modulo (sur les entiers)
3.2 Opérateurs relationnels
>>= <=<comparaisons
== !=égalité et inégalité
!négation (opérateur unaire)
&&ETrelationnel
||OUrelationnel
3.3 L’affectation
=affectation
Il faut bien noter que le signe=est l’opérateur d’affectation, et non de comparaison ; cela prête parfois à confusion, et entraîne des erreurs difficiles à discerner. À noter aussi que l’affectation est une expression comme une autre, c’est-à-dire qu’elle retourne une valeur. Il est donc possible d’écrire : a = b = c+2;
ceci revenant à affecter àble résultat de l’évaluation dec+2, puis àale résultat de l’affectationb = c+2,c’est-à-dire la valeur qu’on a donnée àb. Remarquez l’ordre d’évaluation de la droite vers la gauche.
3.4 Opérateurs d’incrémentation et de décrémentation
++incrémentation
–décrémentation
Ces opérateurs, qui ne peuvent être appliqués que sur les types scalaires, peuvent s’employer de deux manières : en principe, s’ils préfixent une variable, celle-ci sera incrémentée (ou décrémentée) avant utilisation dans le reste de l’expression ; s’ils la postfixent, elle ne sera modifiée qu’après utilisation. Ainsi :
a = 5;b =6;
c = ++a-b;
donnera àcla valeur 0, alors que
a = 5;b =6;
c = a++-b;
lui donnera la valeur -1.
Faites cependant attention dans les expressions un peu complexes où on réutilise la même variable plusieurs fois : l’ordre d’évaluation n’est pas garanti, et l’expression peut donc avoir des résultats différents suivant la machine utilisée. Par exemple, le résultat de l’expression suivante est indéfini :
t[++a] = a;
3.5 Opérateurs logiques
Ce sont les opérateurs permettant d’effectuer des opérations au niveau des bits (masquages).
&AND.Exemple:a & 0x000Fextrait les 4 bits de poids faible dea.
|OR.Ainsi,b = b | 0x100met à 1 le 9ème bit deb.
^XOR.
<<SHIFTà gauche.a=b<<2met dansala valeur deboù tous les bits ont été décalés de 2 positions vers la gauche.
>>SHIFTà droite.
~complément à 1 (opérateur unaire).

………

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours gratuit: Une courte introduction à C++ (150 KO) (Cours PDF)
Introduction à C

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *