�� LANGAGE DE � PROGRAMMATION: C
F. Karami
La syntaxe du langage�
*
Programmer en langage C
2
Les structures de contrôle : Switch
*
Programmer en langage C
3
La syntaxe du langage C
Les structures de contrôle : Switch
switch (<condition>) {
case <valeur 1> : <action 1>; break;
case <valeur 2> : <action 2>; break;
…
default : <action n>;
}
*
Programmer en langage C
4
La syntaxe du langage C
Les structures de contrôle : Switch
*
Programmer en langage C
5
La syntaxe du langage C
Les structures de contrôle : Switch
#include<stdio.h>
main() {
int a,b,y;
char operateur;
printf(‘’ Entrez un opérateur (+, -,* ou /):’’);
scanf(‘’%c’’,& operateur);
printf(‘’ Entrez deux entiers:’’);
scanf(‘’%d’’,&a); scanf(‘’ %d’’,&b);
switch(operateur){
case’-’ : y=a-b; printf(‘’%d’’,y);break;
case’+’ : y=a+b; printf(‘’%d’’,y); break;
case’*’ : y=a*b; printf(‘’%d’’,y); break;
case’/’ : y=a/b; printf(‘’%d’’,y); break;
default : printf(‘’opérateur inconnu\n’’);break;
}
}
*
Programmer en langage C
6
La syntaxe du langage C
Les structures de contrôle : while
while (condition)
une-instruction;
while (condition) {
des instructions;
}
}
*
Programmer en langage C
7
La syntaxe du langage C
Les structures de contrôle :while
#include <stdio.h>
main (){
int i=1, N;
printf(” donnez N=\n"); �scanf("%d",&N);
while (i <= N) {
printf("%d ", i); �i = i+1;}
system(”pause");}
*
Programmer en langage C
8
La syntaxe du langage C
Les structures de contrôle :while
#define MAX 4
int i=0,j;
while (i < MAX ) {
j=0;
while (j < MAX ) {
printf(" position : %d \t %d\n",i,j);
j++;
}
i++;
}
*
Programmer en langage C
9
La syntaxe du langage C
Les structures de contrôle : do-while
do
une-instruction;
while (condition);�
do {
Des instructions;
} while (condition);
*
Programmer en langage C
10
La syntaxe du langage C
Les structures de contrôle : do-while
#include <stdio.h>
#define MAX 4
main() {
int i=MAX;
do {
printf("Valeur de i : %i\n",i);
i++;
} while (i < MAX);
}
*
Programmer en langage C
11
La syntaxe du langage C
Les structures de contrôle : for
liste d’instructions
}
*
Programmer en langage C
12
La syntaxe du langage C
Les structures de contrôle : for
*
Programmer en langage C
13
La syntaxe du langage C
Les structures de contrôle : for
for ( expression1 ; expression2 ; expression3 )
{
liste d’instructions;
}
est équivalente à
expression1;
while(expression2)
{
liste d’instructions;
expression3;
}
*
Programmer en langage C
14
La syntaxe du langage C
Les structures de contrôle :for
int n,total;
for(total=0,n=1;n<=100;n++)
total+=n;�
printf(’’la sommes des nombres de 1 à 100 est %d \n’’,total);
int n, i,fact;
for(fact=1,i=1;i<=n;i++)
fact*=i;
printf(’’%d!= %d \n’’,n,fact);
*
Programmer en langage C
15
La syntaxe du langage C
Les structures de contrôle : break, goto et continue
*
Programmer en langage C
16
La syntaxe du langage C
Les structures de contrôle : break, goto et continue
#include <stdio.h>
main( ){
int i;
for (i = 1 ; i<=10 ; i++){
printf(’’début tour %d\n’’ ,i) ;
printf(’’ bonjour\n’’);
if (i ==3) break ;
printf(" fin tour %d\n", i) ;
}
printf(" après la boucle \n") ;
}
*
Programmer en langage C
17
La syntaxe du langage C
Les structures de contrôle : break, goto et continue
#include <stdio.h>
main( ){
int i;
for (i = 1 ; i<=10 ; i++){
printf(’’début tour %d\n’’ ,i) ;
printf(’’ bonjour\n’’);
if (i ==3) break ;
printf(" fin tour %d\n", i) ;
}
printf(" après la boucle \n") ;
}
*
Programmer en langage C
18
La syntaxe du langage C
Evaluation:
Début tour 1
bonjour
fin tour 1
Début tour 2
bonjour
fin tour 2
Début tour 3
bonjour
Après la boucle
Les structures de contrôle : break, goto et continue
*
Programmer en langage C
19
La syntaxe du langage C
Les structures de contrôle : break, goto et continue
main(){
int i;
for(i=1;i<=10;i++){
printf(’’début tour %d\n’’ ,i) ;
if (i <4) continue ;
printf(’’ bonjour\n’’);
}
}
*
Programmer en langage C
20
La syntaxe du langage C
Evaluation:
Début tour 1
Début tour 2
Début tour 3
Début tour 4
Bonjour
Début tour 5
Bonjour
Les structures de contrôle : break, continue et goto
main(){
int i;
for(i=1;i<=10;i++) { � printf(’’début tour %d\n’’ ,i) ;
printf(’’ bonjour\n’’);
if (i ==3) goto sortie ;
printf(’’ fin tour%d\n", i);
}
sortie:printf (" après la boucle\n") ;
}
*
Programmer en langage C
21
La syntaxe du langage C
Evaluation:
Début tour 1
Bonjour
fin tour 1
Début tour 2
bonjour
fin tour 2
Début tour 3
Bonjour
Après la boucle
La récursivité
*
Programmer en langage C
22
La syntaxe du langage C
La récursivité
#include <stdio.h>
int fact (int x) {
printf (“Computing fact %d\n”, x) ;
if (x == 1)
return 1 ;
else
return( x * fact (x-1)) ;
}
main (){
printf (“5! = %d\n”, fact (5)) ;
}
*
Programmer en langage C
23
La syntaxe du langage C
Les conversions de types
*
Programmer en langage C
24
La syntaxe du langage C
Les conversions de types
expression à deux opérandes doit se faire est donné par les règles suivantes :
*
Programmer en langage C
25
La syntaxe du langage C
Les conversions de types
*
Programmer en langage C
26
La syntaxe du langage C
La syntaxe du langage C
long double
double
Float
unsigned long long
long long
unsigned long
long
unsigned int
int
Les conversions de types
(type) expression
*
Programmer en langage C
27
La syntaxe du langage C
Les conversions de types
*
Programmer en langage C
28
La syntaxe du langage C
float f ; double d ; int i ; long li ; | |
li = f + i ; | i est transformé en float puis additionné à f, le résultat est transformé en long et rangé dans li. |
d = li + i ; | i est transformé en long puis additionné à li, le résultat est transformé en double et rangé dans d. |
i = f + d ; | f est transformé en double, additionné à d, le résultat est transformé en int et rangé dans i. |
Principales fonctions d’entrées-sorties standard
*
Programmer en langage C
29
La syntaxe du langage C
Principales fonctions d’entrées-sorties standard
#include <stdio.h>
main() {
char c;
printf("Entrer un caractère:");
c = getchar();
printf("Le caractère entré est %c\n",c);
}
*
Programmer en langage C
30
La syntaxe du langage C
Principales fonctions d’entrées-sorties standard
#include <stdio.h>
main() {
char c;
printf("Entrer un caractère:");
c = getchar();
putchar(c);
}
*
Programmer en langage C
31
La syntaxe du langage C
Principales fonctions d’entrées-sorties standard
#include <stdio.h>
main() {
char * toto = "on est super content!";
puts(toto);
}
*
Programmer en langage C
32
La syntaxe du langage C
Principales fonctions d’entrées-sorties standard
printf("chaîne de contrôle", expression1, . . . , expressionn);
*
Programmer en langage C
33
La syntaxe du langage C
Principales fonctions d’entrées-sorties standard
*
Programmer en langage C
34
La syntaxe du langage C
format | Conversion en | écriture |
%d | int | décimale signée |
%ld | long int | décimale signée |
%u | unsigned int | décimale non signée |
%lu | unsigned long | décimale non signée |
%o | unsigned int | Octale non signée |
%lo | unsigned long | Octale non signée |
%x | unsigned int | Héxadécimal non signée |
%lx | unsigned long | Héxadécimal non signée |
Principales fonctions d’entrées-sorties standard
*
Programmer en langage C
35
La syntaxe du langage C
format | Conversion en | écriture |
%f | float | décimale virgule fixe |
%lf | Long float | décimale virgule fixe |
%e | double | décimale notation exponentielle |
%le | long double | décimale notation exponentielle |
%g | double | décimale, représentation la plus courte parmi %f et %e |
%lg | long double | décimale, représentation la plus courte parmi %lf et %le |
%c | unsigned char | caractère |
%s | char* | Chaîne de caractères |
Principales fonctions d’entrées-sorties standard
printf("|% d|\n",14); | 14|
printf("|% d|\n",-14); |-14|
printf("|%x|\n",0x56ab); |56ab|
printf("|%X|\n",0x56ab); |56AB|
printf("|%10d|\n",14); | 14|
printf("|%f|\n",1.234567890123456789e5); |123456.789012|
printf("|%.4f|\n",1.234567890123456789e5); |123456.7890|
*
Programmer en langage C
36
La syntaxe du langage C
Principales fonctions d’entrées-sorties standard
printf("|%e|\n",1.234567890123456789e5); |1.234568e+05|
printf("|%.4e|\n",1.234567890123456789e5); |1.2346e+05||
printf("|%.4g|\n",1.234567890123456789e-5); |1.235e-05|
printf("|%.4g|\n",1.234567890123456789e-3); |0.001235|
printf("|%.8g|\n",1.234567890123456789e5); |123456.79|
*
Programmer en langage C
37
La syntaxe du langage C
Principales fonctions d’entrées-sorties standard
scanf("chaîne de contrôle", & arg1, . . . , & argn);
*
Programmer en langage C
38
La syntaxe du langage C
Principales fonctions d’entrées-sorties standard
#include <stdio.h>
main() {
int i ;
printf("entrez un entier sous forme hexadecimale i = ");
scanf("%x",&i);
printf("i = %d\n",i);
}
*
Programmer en langage C
39
La syntaxe du langage C