Vous êtes sur la page 1sur 9

Introduction c++ :

Histoire :
A l'origine, un ordinateur ne comprenait que le langage binaire :
un programme tait constitu d'une suite de 0 et de 1
reprsentant un programme. Le programmeur devait lui-mme
traduire son programme sous cette forme. En 1950, Alan Turing
et Maurice V.Wilkes de l'universit de Cambridge branchent un
clavier un ordinateur, il est dornavant possible de rentrer des
mots associs au langage machine. Par exemple : mov, load,
sub Ces mots ne sont pas compris par lordinateur qui ne
comprend que le langage binaire. Il faut alors un assembleur
qui transforme le code en langage binaire.
La ncessit de crer un langage de haut niveau se fait sentir,
le FORTRAN (FORmula TRANslator, traducteur de formules) est
cr en 1957. Il est utilis pour des programmes
mathmatiques et scientifiques.
En 1970, Ken Thompson, cra un nouveau langage : Le B,
descendant du BCPL (Basic Combined Programming Language,
cr en 1967 par Martin Richards). Son but tait de crer un
langage simple, malheureusement, son langage fut trop simple
et trop dpendant de larchitecture utilise
En 1971 Dennis Ritchie commence mettre au point le
successeur du B, le C. Le rsultat est convaincant : Le C est
totalement portable (il peut fonctionner sur tous les types de
machines et de systmes), il est de bas niveau (il peut crer du
code aussi rapide que de lassembleur) et il permet de traiter
des problmes de haut niveau. Le C permet de quasiment tout
faire, du driver au jeu.
Le C devient trs vite populaire, tout le monde veut crer sa
version. Beaucoup de compilateurs qui voient le jour sont
incompatibles entre eux et la portabilit est perdue. Il est
dcid quil faut un standard pour le C. L'ANSI (American
National Standards Institute) sen charge en 1983. La plupart

des compilateurs se conforment ce standard. Un programme


crit en C ANSI est compatible avec tous les compilateurs.
Il manque la programmation oriente objet au C. Cest
pourquoi, Bjarne Stroustrup des laboratoires Bell cre le C++.
Le dveloppement a commenc au dbut de annes 80. Il
construit donc le C++ sur la base du C. C++ est capable de
compiler un programme C, garde donc une forte compatibilit
avec le C.
Les langages C et C++ sont les langages les plus utiliss dans
le monde de la programmation.

Prsentation du C++:
Le C++ est un langage multi paradigme. Il supporte
essentiellement les paradigmes suivants :
programmation procdurale : il reprend essentiellement les
concepts du langage C, notamment la notion de fonction (une
procdure tant une fonction avec un retour de type 'void') ;
programmation structure : il reprend la notion struct du
langage C. Cette notion est considre en C++ aussi comme
des classes dont l'accs par dfaut est public ;
programmation oriente-objet : il implmente la notion de
classe (dont l'accs par dfaut est priv), d'encapsulation grce
aux restrictions d'accs (publique, protg, priv), d'hritage
(simple ou multiple) l'aide du mcanisme de drivation,
d'abstraction grce aux classes de base abstraites pures (on
peut parler d'interface bien que les hritages multiples sur une
interface C++ lvent des difficults montrant que leur
implmentation est plus proche d'une classe abstraite que
d'une vraie interface comme on peut en trouver en Java) ou
non, de polymorphisme dynamique (ou au runtime) grce aux
fonctions membres virtuelles ;
programmation gnrique : il implmente les fonctions et
classes gnriques.

Outre ces grands paradigmes, C++ implmente la notion de


typage strict, de constance, de polymorphisme statique (ou la
compilation) grce la surcharge et aux fonctions gnriques,
de rfrences (une alternative aux pointeurs bien plus robuste
et bien moins dangereuse) et permet galement la surcharge
d'oprateurs et de simuler les mixins grce au mcanisme de
drivation multiple. Il est largement compatible avec le langage
C, ce qui est la fois une richesse et un problme. En effet, le
langage C est actuellement (en 2006) un langage largement
utilis pour crire des systmes d'exploitation (Windows, Linux,
Mac OS). Le C++ peut donc trs naturellement avoir un accs
direct au systme d'exploitation dans le cadre d'une
programmation de bas niveau, tout en permettant une
programmation de haut niveau en exploitant toute la richesse
des concepts orients objet. Le problme lev par ce lien filial
tant que les dveloppeurs ayant appris le C avant le C++
utilisent les techniques C l o le C++ possde des ajouts
moins dangereux (par exemple, les rfrences). Ce type de
code est surnomm C with classes .
TP1:

Y1=

x 9
|(x 3)10| x1
2

X 10 y 10+ 1

|Y 2+3 1|

|7 x 39|
Y2=

1+ ( x3)

#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int x,y ;
float y1,y2 ;
main ( )
{
printf("x = ");
scanf("x = %d",&x);
printf("y = ");
scanf("y = %d",&y);
y1= (abs (pow(x-3,10)-abs (sqrt (pow(x,2)-9)) / sqrt ( 1 +
sqrt (pow(x-3,2)));
printf("a= %f",a);
y2= (abs (7*pow(x,3) - 9)- abs(2/(y+3) + 1))/sqrt(pow(x,10) pow(y,10)+1);
printf("b= %f",b);
getch();
}
TP2:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int i,j,n,v,m,r,S,Q;
main ()

{
printf(" n = ");
scanf(" %d",&n);
printf("m = ");
scanf("%d",&m);
S=0;
Q=1;
for (i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
v=i+j;
r=pow(v,2);
Q=Q*r;
}
S=S+2*i*Q;
}
printf("S=%d",S);
getch();
}

TP3:

1+ x
1+ x
1+ x
3
5
S=1+ 3 !+ x - 5 !+ x + 7 ! + x7 -

Le programme en c :

#include <stdio.h>
#include <conio.h>
#include <math.h>
int i,n,f,signe;
float p1,p2,S,x;
main ()
{

printf("veuillez introduire la valeur de x\n");


scanf("%f",&x);
printf("veuillez introduire la valeur de n\n");
scanf("%d",&n);
S=1;
p1=1;
p2=1;
f=1;
signe =1;
for (i=1;i<n;i++)
{

p1=p1*x*x;
p2=p1*x;
f=f*(2*i)*(2*i+1);
S=S+(1+p1)/(f+p2);
signe=-signe;
}
printf("S=%f",S);
getch ();
}

Introduction :
Le C est un langage plein de paradoxes. Pouvant aussi
bien s'accommoder d'applications bas niveau que proposer des
interfaces relativement proches des mthodes orientes objets,
ce langage a de quoi sduire un large public. Pourtant, force est
de constater qu'il a fait souffrir beaucoup de personnes et pas
seulement les programmeurs. Issu de l'poque o la mmoire
et les capacits de calcul taient encore des denres rares et
chres, les pionniers de la programmation ont trop souvent
privilgi le ct bas niveau de ce langage. Il en rsulta des
applications difficilement maintenables, abusant des aspects les
plus complexes ou non-portables qu'offre le C pour conomiser
le moindre cycle processeur. C'est de cette poque que sa
rputation d'assembleur plus compliqu et plus lent que
l'assembleur s'est forge, clipsant ses aspects de plus haut
niveau, qui pourtant mritent une meilleure estime.
Les fonctions de la bibliothque standard et surtout le langage
lui-mme contiennent beaucoup de piges , notamment par
les comportements indfinis, ou dpendants de
l'implmentation, qui rendent des bogues parfois trs difficiles

dcouvrir. Le programmeur doit comprendre que le C lui fournit


de grandes possibilits, mais qu'en retour il lui demande une
rigueur d'autant plus grande. Apprivoiser ce langage peut
ncessiter une longue phase d'apprentissage. Nous esprons
que cet ouvrage vous aura permis d'apprhender le C avec plus
de srnit et de casser certains mythes qui ont dcidment la
vie bien dure.
Il existe beaucoup de bibliothques qui proposent au
programmeur C des outils pour tendre la bibliothque
standard, et permettent ainsi la gestion d'interfaces graphiques,
la programmation rseau, le gestion de l'internationalisation,
etc. Celles-ci sont trs riches, et bien trop nombreuses pour tre
abordes dans ce livre. Wikilivres propose des livres tudiant
certaines de ces bibliothques. Pour les autres, Internet et ses
moteurs de recherche restent de loin les meilleurs outils pour
trouver ce dont vous aurez ncessairement besoin.
Le langage C a su s'adapter, d'Unix aux tlphones mobiles, de
l'ISO-646 Unicode. Le C est aujourd'hui un langage encore trs
utilis. C'est LE langage de dveloppement de la plupart des
micro-contrleurs actuels. Il a remplac l'assembleur pour les
petites applications. Pour les grosses applications tournant
sur des OS (Windows, Linux, etc), il est concurrenc par
d'autres langages comme son driv le C++, un langage objet
encore plus subtil mais permettant tout de mme le
dveloppement d'applications complexes.
Conclusion :
Le langage C++ a t conu initialement pour le
dveloppement dapplications ayant des exigences fortes au
niveau des temps de rponse. Son lien de parent avec le C a
favoris son succs auprs des dveloppeurs de telles
applications, qui ont pu migrer aisment du C vers le C++.
De nombreux reproches sont faits au C++, parmi lesquels :
labsence dun ramasse-miettes, ce qui rend difficile la
programmation avec les pointeurs ;

les traitements implicites quil gnre linsu de


lapplication (conversion automatique, oprateur
daffectation ou construction par copie par exemple) ;
les limites de sa bibliothque qui ne prend pas encore en
compte plusieurs fonctionnalits (interfaces graphiques,
rseaux, etc.).
son crdit, il faut porter :
la richesse en concepts objets (classe, hritage, gnricit,
exception) qui, utiliss bon escient, permettent davoir
une conception trs volutive et trs efficace ;
lefficacit du code gnr. Contrairement dautres
langages, comme Java ...