Sunteți pe pagina 1din 8

07/11/2009

1. lecompilateur
2. Structured'unprogramme
3. L'environnementduprogramme
LestypesfondamentauxduC
Les types fondamentaux du C
Dclarationdeconstantes
Dclarationdevariables
Dclarationdetypes
4. Lecorpsduprogramme
L'affectation
Lesexpressionsetlesoprateurs:arithmtiques,logiques,
relationnelles,mixtes,prioritdesoprateurs
Autresoprateurs:binaires,conditionnelsetdesquences, d'appel
defonction,sizeof
Lesinstructions:IF,IF_ELSE,FOR,WHILE,DO_WHILE,BREAK,
CONTINUE,GOTO,SWITCH
Lesentres/sorties
5. Documentationdesprogrammes
06/11/2009 Algorithmique/C CPIESI 1

1. LECOMPILATEUR
HISTORIQUE
Le langage C est apparu au cours de l'anne 1972 dans les Laboratoires Bell. Il tait
d l
dvelopp en mme
t
temps que UNIX par Dennis
D i Ritchie
Rit hi ett Ken
K Thompson.
Th C t un
Cest
langage impratif
COMPILATEURC
Uncompilateurserttraduireuncodesource
Uncompilateurserttraduireuncodesource critdansunlangagedeprogrammation
critdansunlangagedeprogrammation
enunautrelangage,habituellementunlangaged'assemblageouun
enunautrelangage,habituellementunlangaged'assemblage ouunlangagemachine
langagemachine..
Leprogrammeenlangagemachineproduitparuncompilateurestappelcodeobjet
Leprogrammeenlangagemachineproduitparuncompilateurestappel codeobjet..
ENVIRONNEMENTDEDVELOPPEMENTINTGR
Unenvironnementdedveloppementintgr(EDI ouIDE enanglaispourIntegrated
DevelopmentEnvironment)estunprogrammeregroupantunensembled'outilspourle
dveloppementdelogiciels.Enrglegnrale,unEDIregroupeunditeurdetexte,un
compilateur,undbogueur. VisualC++estunEDIWindowsconuparMicrosoftpourles
langagesdeprogrammationC etC++.IlfaitpartiedelasuitedelogicielsVisualStudio.

06/11/2009 Algorithmique/C CPIESI 2

1
07/11/2009

Directives de prcompilation
#include <------------>
#include ------------
#define.

Dclarations g globales au fichier


De types : Typedef Def_Type
variables simples
variables composs (tableaux,structures,)
fonctions(prototype): entte
Void Main() /* Programme principal */
{
Dclarations locales au bloc
Instructions (Expression suivie dun ;Structure de contrle)
}
Fonctions ( /*Fonctions dclares en prototypes*/
{
Dclarations locales au bloc
Instructions (Expression suivie dun ;Structure de contrle)

2. STRUCTUREDUNPROGRAMMEC
#include<stdio.h> /*Directivesdeprcompilation*/
voidaffiche_calcul(float,float);/*prototype*/
floatproduit(float,float); /*prototype*/
int glob;/*dclration devariablesglobales*/
int main(void) /*programmeprincipal*/
{
float a,b;/*dclarationlocale*/
glob=0;
puts("veuillez
puts( veuillezentrer2valeurs
entrer 2 valeurs"); );
scanf("%f%f",&a,&b);
affiche_calcul(a,b);
printf("nombred'appelsproduit :%d\n",varglob);
}

2
07/11/2009

2. STRUCTUREDUNPROGRAMMEC
/*Implmentation desfonctions */
float produit(float r float s)
floatproduit(floatr,floats)
{
glob++;
return(r*s);
}
voidaffiche_calcul(floatx,float y)
Appels de la fonction produit
{
float vloc;
vloc=produit(x,y);
vloc produit(x,y);
vloc=produit(vloc,vloc);
printf("lecarrduproduitest%f\n",vloc);
}

EnC,uncommentairedbuteparlessymboles(colls)/* etseterminepar
lessymboles*/.

3. LENVIRONNEMENTDUPROGRAMME
LESCONSTANTES
Les constantes entires
dcimales : 345 Les constantes flottantes
octales : 0245 3.45 .4 2e4
hexadcimales : 0x5a2b ou 0x45A

Les constantes caractres : caractre G .

'\0' null '\n' new line '\\' \


'\ '
'\12' newline '\ '
'\t' h i
horizontal l tabulation
b l i '\'
\
'\15' carriagereturn '\v' vertical tabulation '\'
'\33' escape '\b' back space '\?' ?
'\r' carriage return
'\f' form feed
'\a' audible alert

06/11/2009 Algorithmique/C CPIESI 6

3
07/11/2009

4. LECORPSDUPROGRAMME
LAFFECTATION
Oprateurdaffectation

Variable =expression
X=I++ passed'abordlavaleurdeIXetincrmenteaprs
X=I passed'abordlavaleurdeIXetdcrmenteaprs
X=++I incrmented'abord etpasselavaleurincrmenteX
X=I dcrmented'abord etpasselavaleurdcrmenteX
I++ou++I pourl'incrmentation(augmentationd'uneunit)
I ouI pourladcrmentation(diminutiond'uneunit)

Incrm. postfixe: X = N++; Rsultat: N=6 et X=5


Int N=5;
Incrm. prfixe: X = ++N; Rsultat: N=6 et X=6

06/11/2009 Algorithmique/C CPIESI 7

Evaluer les expressions suivantes en supposant


A=20 B=5 C=10 D=2 X=12 Y=15
(1) (5*X)+2*((3*B)+4) 60+2*(15+4)=98
(2) (5*(X+2)*3)*(B+4) 5*14*3*9=1890
(3) A==(B=5) (20==1)=0 B=5
(4) A+=(X+5) 20+17=37 A=37
(5) A!=(C*=(D)) 20!=20=0 C=20
(6) A*=C+(XD) A=0*0=0 A=0
(7) A%=D++ A=20%2=0 D=3A=0
(8) A%=++D A=20%3=2 D=3A=2
(9) (X++)*(A+C) 12*10=120 X=13
(10) A = X*(B<C)+Y*!(B<C)
(10)A=X (B<C)+Y !(B<C) 12*0+15*1
12 0+15 1=15
= 15 A=15
A=15
(11)!(XD+C)||D !0||1=1
(12)A&&B||!0&&C&&!D 1||1&&1&&0=1
(13)((A&&B)||(!0&&C))&&!D (1||1)&&0=0
(14)((A&&B)||!0)&&(C&&(!D)) (1||1)&&(1&&0)=0

06/11/2009 Algorithmique/C CPIESI 8

4
07/11/2009

4. LECORPSDUPROGRAMME
IF ELSE

If(expression)instruction1;

If(expression)instruction1;else instruction2;

If (a>b) max= a ; else max=b;


If(a>b)max=a;else max =b ; If(a>b)
( )
{ if(c<d)
max=a;
}
else max=b;

06/11/2009 Algorithmique/C CPIESI 9

4. LECORPSDUPROGRAMME
FOR
Format
for ( expression1 ; expression2 ; expression3 ) instruction;
Expression 1 valeur initiale ; Expression 2 valeur de fin ; Expression 3 incrment

Exemple :

for(i=0;i<100;i++) for(i=0,j=0;i+j<100;i++,j++)
{ {
printf(%d,i*i); printf( %d,i*j);
s+=i; s+=i*j;
} }

06/11/2009 Algorithmique/C CPIESI 10

5
07/11/2009

4. LECORPSDUPROGRAMME
WHILE
Format

While (expressionlogique) instruction;

i=0;
While (i<100)
(i<100)
{
printf( %d,i*i);
s+=i;
i++;
}

06/11/2009 Algorithmique/C CPIESI 11

4. LECORPSDUPROGRAMME
DOWHILE
Format
Do
instruction;
While (expressionlogique);
i=0;
Do {
Do{
printf( %d,i*i);
s+=i;
i++;
}(While (i<100);

06/11/2009 Algorithmique/C CPIESI 12

6
07/11/2009

4. LECORPSDUPROGRAMME
SWITCH
Format
SWITCH(expressionentire)
{
caseCste1:instruction;Break;
caseCste2:instruction;Break;
.
caseCsten :instruction;Break
Default:instructions;
}
Exemple : Simulation dune calculatrice x+*/y
06/11/2009 Algorithmique/C CPIESI 13

#include<stdio.h>
voidmain(void)
{
float val1,val2,res;
charop;
int fin=0;
do
{
puts("calculeffectuer(parex5*2),ou1=1pourfinir?")
scanf("%f%c%f",&val1,&op,&val2);
switch(op)
{
case'*:res=val1*val2;break;
case'/:res=val1/val2;break;
case'+:res=val1+val2;break;
case ':res=val1
case : res=val1val2;
val2;break;
break;
case'=':fin++;
}
if(!fin)printf("%f%c%f=%f\n",val1,op,val2,res);
}while (!fin);
}

06/11/2009 Algorithmique/C CPIESI 14

7
07/11/2009

4. LECORPSDUPROGRAMME
LESENTREESSCANF
Format

Scanf (format,liste_dexpressions)
Format est une chane de caractres indiquant sous forme de squences
dchappement les entits que scanf lit sur lentre standard

squences dchappement
%c caractre %d entier dcimal %x entier hexadcimal
Int i,j;
scanf(%d %d ,i,j)

06/11/2009 Algorithmique/C CPIESI 15

4. LECORPSDUPROGRAMME
LES SORTIES: PRINTF
Format
Printf (chanedecaractres,liste_dexpressions)
Chane de caractres = texte entre guillemet imprimer dans lequel on
met des squences dchappement qui indiquent les formats selon
lesquels on veut imprimer la valeur des expressions

squences dchappement
%c caractre %d entier dcimal %x entier hexadcimal
Int i=12;
Intj =32;
Printf ( la valeur de i est %d et celle de j est %d ,i,j)
06/11/2009 Algorithmique/C CPIESI 16

S-ar putea să vă placă și