SlideShare une entreprise Scribd logo
PARTIE 1 : Les
     bases
- Les fonctions principales
- Les variables
- Les maths
- Les conditions (if / switch)
- Les boucles (for / do while /
while)
Code de base
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
// Code
return 0;
}
Fonctions
Noms
           principales
                 Effets                          Exemples
printf    Affiche un message             printf(«Hello world»);

scanf     Récupère une saisie           scanf(«%d», &variable);

 Caractères spéciaux printf                     Effets
n                            Saut à la ligne

t                            Tabulation.

  Symboles commentaires                         Effets
//                            Commentaire sur une ligne.

/*...*/                       Commentaire en bloc.
Variables

       Noms             Appels         printf / scanf         Valeurs
entier              (unsigned) int          %d          -2 à 2 milliards
décimal             (unsigned) float        %f          Beaucoup
caractère           (unsigned) char         %c          -127 à 128
chaîne de caractères char [TAILLE]          %s          Dépend de TAILLE
Variables (algo)

Variables : variable : entier
DEBUT
variable <- saisir() // Récupère saisie
afficher -> “La saisie vaut “ + variable// Affiche saisie
FIN
Variables (code)
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
int variable = 0; // Initialisation variable
// NE PAS OUBLIER LE “&“ DEVANT variable !!!
scanf(“%d“, &variable); // Récupère saisie
printf(“La saisie vaut %d“, variable); // Affiche saisie
return 0;
}
Mathématiques

  Symboles       Définitions
     +       Addition
     -       Soustraction
     *       Multiplication
     /       Division
     %       Modulo
Maths (modulo)
        11     2
               5
          1



 11 = 2 * 5 + 1 => 11 % 2 = 1
Maths (fonctions)

        Fonctions          Effets
  sqrt(X)           Racine carrée de X
  pow(X,Y)          Puissance : X^Y
  fabs(X)           Valeur absolue de X
  ceil(X)           Entier sup. de X
  floor(X)          Entier inf. de X
Maths (algo)
Variables
valeur1, valeur2, resultat : entier

DEBUT
valeur1 <- 10, valeur2 <- 4
resultat <- valeur1 * valeur2 / 7
resultat <- resultat - 5; // Ou : “resultat -= 5;“, resultat = 1
resultat <- resultat + 1; // Ou : “resultat ++;“, resultat = 2
resultat <- resultat³ // resultat = 2^3 = 8
FIN
Maths (code)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main (void)
{
int valeur1 = 10, valeur2 = 4; // Initialisation variables
int resultat = valeur1 * valeur2 / 7; // = 6 (c’est un int)
resultat = resultat - 5; // Ou : “resultat -= 5;“, resultat = 1
resultat = resultat + 1; // Ou : “resultat ++;“, resultat = 2
resultat = pow(resultat,3); // resultat = 2^3 = 8
return 0;
}
ASCII
     Un caractère (char) a une valeur décimale
     comprise entre 0 et 255.

     Par exemple : le nombre 65 correspond à la
     lettre «A».

#include ... int main (void){
int valeur; char caractere = ‘A’;
valeur = caractere+1; // C’est possible, valeur = 65 + 1 = 66
printf(“Caractere : %c ; ASCII : %d“, valeur);
// Affichera : «Caractere : B ; ASCII : 66»
return 0;
}
Conditions


Comme son nom l’indique, une condition
s’utilise quand on souhaite exécuter un code
selon un ou plusieurs cas particulier(s).
Conditions (if /
          switch)

               IF                         SWITCH
Plusieurs variables          Une seule variable
Variables indéfinies         Variables définies
Conditions ET/OU possibles   Conditions ET/OU impossibles
Moins rapide à écrire        Plus rapide à écrire
Moins clair à lire           Plus clair à lire
Conditions (if
          else)
     Les accolades {} peuvent être supprimées si le
     code de la condition ne fait qu’une ligne.
if (age < 18) printf(“Film -18 ans interdit.“);


     Une condition peut être négative par «!»
if (!(age < 18)) printf(“Film -18 ans autorisé.“);

     Une variable seule peut servir de condition
     (booléen), toujours vraie si variable ≠ 0.

if (jeu_en_cours) printf(“Bonne partie.“);
Conditions
(Opérateurs)
     Symboles          Effets
==              Egal
!=              Différent
>               Supérieur
<               Inférieur
>=              Sup. ou égal
<=              Inf. ou égal
||              Ou
&&              Et
Conditions
(Opérateurs bool)
        if (A operateur B)

   A          B      ||      &&
    0         0      0       0
    0         1      1       0
    1         0      1       0
    1         1      1       1
Conditions
             (switch)
          Mots-clés                Effets

case                  Débute chaque condition.

default               Exécuté par défaut.

break                 Quitte le switch.
Conditions
              (switch)
#include ... int main (void){
switch (tension)
{
    case 0 : printf(“T’es mort.“); break;
    default : printf(“T’es en vie.“);
}
return 0;
}
Conditions (algo)
DEBUT
Si booleen1 ET non booleen3 Alors
    Instructions 1
Sinon si booleen2
    Instructions 2
Sinon
    Instructions 3
Fin Si
FIN
Conditions (code)
int main(void)
{
if (booleen1 && !booleen3)
     printf(“Instructions 1“);
else if (booleen2)
     printf(“Instructions 2“);
else
     printf(“Instructions 3“);
}
Boucles

Comme son nom l’indique, le code d’une
boucle se répète jusqu’à ce que la condition soit
fausse.

Elle s’utilise quand on souhaite exécuter un
code répétition.
Boucles

Mots-clés                            Effets

for         On exécute le bloc de 0 à n fois, utilisé pour compter.

do while On exécute le bloc de 1 à n fois.

while       On exécute le bloc de 0 à n fois.
Boucles (For)

La boucle for possède 3 arguments :

  Le 1er pour initialiser.

  Le 2è pour conditionner la fin.

  Le 3è pour calculer le pas.
Boucles (algo)
DEBUT
// For
Pour i<-0 à 9
    Instructions 1
i Suivant
// Do while
Faire
    Instructions 2
Tant que i<10
// While
Tant que i<10
    Instructions 3
Fin Tant que
FIN
Boucles (code)

int main(void)
{
int i=0;
for(i=0; i<10 ; i++){// Code}
do{// Code}while(i<10);
while(i<10){// Code}
}
Boucles
    (ATTENTION !!!)
    Attention aux boucles infinies !



int main(void)
{
while(!Arthur_Bon_En_Design){// Inutile}
while(!Barbara_Bon_En_Design){// OK}
while(!Jeremie_Bon_En_Design){// Boucle infinie}
}
PARTIE 2 :
      Tableaux
- Tableaux 1 et 2 dimensions !
- Chaînes de caractères
- Define, nouvelle directive de
préprocesseur
Tableaux
    Le tableau peut être de tous les types (int, float,
    char).

    Un tableau se déclare avec les crochets [] dans
    lesquels on met le nombre de valeur max.

int main(void)
{
int Tableau_Entier[10];
float Tableau_Decimaux[5];
char Tableau_Caractete[100];
}
Tableaux
   (initialisation)
int main(void)
{
int Tab_Int[3]={1, 2, 3}; // On initialise les valeurs au début

// Ou alors on entre les valeurs par adresse tableau
// Un tableau commence toujours à l’adresse 0
int Tab_Int2[3];
Tab_Int2[0] = 1;
Tab_Int2[1] = 2;
Tab_Int2[2] = 3;
}
Tableau à 2
           dimensions
int main(void)
{
int Tab_Int[3][3]=
{
     {1, 2, 3},
     {4, 5, 6},
     {7, 8, 9}
};
}
Chaînes de car.

       Noms             Appels         printf / scanf         Valeurs
entier              (unsigned) int          %d          -2 à 2 milliards
décimal             (unsigned) float        %f          Beaucoup
caractère           (unsigned) char         %c          -127 à 128
chaîne de caractères char [TAILLE]          %s          Dépend de TAILLE
Chaînes de car.
   (règles)
La chaîne se termine toujours par “0“.

Lors d’un scanf :

  Le “&“ disparaît.

  La saisie s’arrête dès l’appui sur la touche
  “enter“ ou la présence d’un espace !
Chaînes de car.
       (règles)

int main(void)
{
char Tab_Int[7];

scanf(“%s“, Tab_Int);
print(“%s“, Tab_Int);
}
Chaînes de car.
   (règles)
   Adresses   Valeurs
      0         B
      1         o
      2         n
      3          j
      4         o
      5         u
      6          r
      7         0
Chaînes de car.
  (Fonctions)
  Fonctions                     Effets
strcpy(X,Y)   Copie Y dans X
strcat(X,Y)   Concatène X et Y, dans X.
strcmp(X,Y)   Compare X et Y (0 si identique, 1 si non)
strlen(X)     Renvoi la longueur de la chaîne de car.
              Recherche caractère Y dans chaîne X, et
strchr(X,Y)
              renvoie la chaîne à partir de Y.
Directive de
  préprocesseur

#include est une directive de préprocesseur.

#include = appel des bibliothèques

#define = variable globale
Partie 2 (algo)
Variable globale TAILLE <- 10
Tableau entier Tab(TAILLE)

DEBUT
Tab <- Saisir()
Si Tab = “bonjour“ Alors
    Afficher -> Tab
Fin Si
FIN
Partie 2 (code)

#include <string.h>
#define TAILLE 100
int main(void)
{
char Tab[TAILLE];
scanf(“%s“, tab)
if(strcmp(tab == “bonjour0“) printf(“%s“, tab);
return 0;
}

Contenu connexe

Tendances

Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
Ines Ouaz
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
Aziz Darouichi
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
Youness Boukouchi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
Lilia Sfaxi
 
Chapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptxChapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptx
FerdawsBNasrBSalah
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
ABDESSELAM ARROU
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Chapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et InstructionsChapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et Instructions
L’Université Hassan 1er Settat
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
L’Université Hassan 1er Settat
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
Aziz Darouichi
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
L’Université Hassan 1er Settat
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
Missaoui Abdelbaki
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrige
WajihBaghdadi1
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
rezgui mohamed
 
Cours langage c
Cours langage cCours langage c
Cours langage c
coursuniv
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
benouini rachid
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
L’Université Hassan 1er Settat
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
Kayl Mido
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
elharraj
 

Tendances (20)

Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Chapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptxChapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptx
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Chapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et InstructionsChapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et Instructions
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Algorithme
AlgorithmeAlgorithme
Algorithme
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrige
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 

En vedette

Le langage C
Le langage CLe langage C
Le langage C
Bruno Delb
 
Algorithm et structure de donnée
Algorithm et structure de donnéeAlgorithm et structure de donnée
Four ways data is improving healthcare operations
Four ways data is improving healthcare operationsFour ways data is improving healthcare operations
Four ways data is improving healthcare operations
Tableau Software
 
Joyeux noel
Joyeux noelJoyeux noel
Joyeux noeldefos
 
Persun.fr robe de mariée bustier
Persun.fr  robe de mariée bustierPersun.fr  robe de mariée bustier
Persun.fr robe de mariée bustier
Sunnyer Emily
 
Islas flotantes albert
Islas flotantes albertIslas flotantes albert
Islas flotantes albert
Maria Jose
 
Mercado y requisitos para exportar a EE.UU.
Mercado y requisitos para exportar a EE.UU.Mercado y requisitos para exportar a EE.UU.
Mercado y requisitos para exportar a EE.UU.
Embajada de EE.UU. en el Perú
 
Premios Fundación Esplai al Voluntariado 2012
Premios Fundación Esplai al Voluntariado 2012Premios Fundación Esplai al Voluntariado 2012
Premios Fundación Esplai al Voluntariado 2012
e-Inclusión Fundación Esplai
 
Comment fabriquer de nouvelles robes
Comment fabriquer de nouvelles robesComment fabriquer de nouvelles robes
Comment fabriquer de nouvelles robes
theperfectmiss
 
B.A-BA des réseaux sociaux 1er février 2013
B.A-BA des réseaux sociaux 1er février 2013B.A-BA des réseaux sociaux 1er février 2013
B.A-BA des réseaux sociaux 1er février 2013Valérie Demont (-Steck)
 
Présentation du marché
Présentation du marchéPrésentation du marché
Présentation du marché
Clairelem
 
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Universidad Autónoma de Barcelona
 
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Universidad Autónoma de Barcelona
 
Blancanieves y los Siete Bajitos
Blancanieves y los Siete BajitosBlancanieves y los Siete Bajitos
Blancanieves y los Siete Bajitos
maria
 
La regulación del salario. .
La regulación del salario. .La regulación del salario. .
La regulación del salario. .
Universidad Autónoma de Barcelona
 
Tel de l_au_dela_mystere06
Tel de l_au_dela_mystere06Tel de l_au_dela_mystere06
Tel de l_au_dela_mystere06
Gerard Houdinet
 
Visualizacion youngo latino
Visualizacion youngo latinoVisualizacion youngo latino
Visualizacion youngo latino
Alejandra Solis
 
Versión digital del recurso de aprendizaje_Maria_Cardenas
Versión digital del recurso de aprendizaje_Maria_CardenasVersión digital del recurso de aprendizaje_Maria_Cardenas
Versión digital del recurso de aprendizaje_Maria_Cardenas
nuevastecnologiasgt
 
Programación inaugural Espacio Iniciarte Córdoba mayo/octubre 2010
Programación inaugural Espacio Iniciarte Córdoba mayo/octubre 2010Programación inaugural Espacio Iniciarte Córdoba mayo/octubre 2010
Programación inaugural Espacio Iniciarte Córdoba mayo/octubre 2010
Universidad de Sevilla
 

En vedette (20)

Le langage C
Le langage CLe langage C
Le langage C
 
Algorithm et structure de donnée
Algorithm et structure de donnéeAlgorithm et structure de donnée
Algorithm et structure de donnée
 
Four ways data is improving healthcare operations
Four ways data is improving healthcare operationsFour ways data is improving healthcare operations
Four ways data is improving healthcare operations
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
Joyeux noel
Joyeux noelJoyeux noel
Joyeux noel
 
Persun.fr robe de mariée bustier
Persun.fr  robe de mariée bustierPersun.fr  robe de mariée bustier
Persun.fr robe de mariée bustier
 
Islas flotantes albert
Islas flotantes albertIslas flotantes albert
Islas flotantes albert
 
Mercado y requisitos para exportar a EE.UU.
Mercado y requisitos para exportar a EE.UU.Mercado y requisitos para exportar a EE.UU.
Mercado y requisitos para exportar a EE.UU.
 
Premios Fundación Esplai al Voluntariado 2012
Premios Fundación Esplai al Voluntariado 2012Premios Fundación Esplai al Voluntariado 2012
Premios Fundación Esplai al Voluntariado 2012
 
Comment fabriquer de nouvelles robes
Comment fabriquer de nouvelles robesComment fabriquer de nouvelles robes
Comment fabriquer de nouvelles robes
 
B.A-BA des réseaux sociaux 1er février 2013
B.A-BA des réseaux sociaux 1er février 2013B.A-BA des réseaux sociaux 1er février 2013
B.A-BA des réseaux sociaux 1er février 2013
 
Présentation du marché
Présentation du marchéPrésentation du marché
Présentation du marché
 
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
Despidos colectivos. notas a dos sentencias tjue de 13 de mayo, con especial ...
 
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
Enmiendas del Partido Popular a la reforma laboral de 2010 que han sido incor...
 
Blancanieves y los Siete Bajitos
Blancanieves y los Siete BajitosBlancanieves y los Siete Bajitos
Blancanieves y los Siete Bajitos
 
La regulación del salario. .
La regulación del salario. .La regulación del salario. .
La regulación del salario. .
 
Tel de l_au_dela_mystere06
Tel de l_au_dela_mystere06Tel de l_au_dela_mystere06
Tel de l_au_dela_mystere06
 
Visualizacion youngo latino
Visualizacion youngo latinoVisualizacion youngo latino
Visualizacion youngo latino
 
Versión digital del recurso de aprendizaje_Maria_Cardenas
Versión digital del recurso de aprendizaje_Maria_CardenasVersión digital del recurso de aprendizaje_Maria_Cardenas
Versión digital del recurso de aprendizaje_Maria_Cardenas
 
Programación inaugural Espacio Iniciarte Córdoba mayo/octubre 2010
Programación inaugural Espacio Iniciarte Córdoba mayo/octubre 2010Programación inaugural Espacio Iniciarte Córdoba mayo/octubre 2010
Programación inaugural Espacio Iniciarte Córdoba mayo/octubre 2010
 

Similaire à Le langage C

C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
Alexandre Hamez
 
Algorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptxAlgorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptx
Facebokma
 
C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partie
Loic Yon
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
FadouaBouafifSamoud
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithmemustapha4
 
Formation Langage c.pptx
Formation Langage c.pptxFormation Langage c.pptx
Formation Langage c.pptx
Valdy Ngouabira
 
Cours c#
Cours c#Cours c#
Cours c#
zan
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
kamalomari2
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
ABID Mehdi
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
ABID Mehdi
 
Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdf
adeljaouadi
 
langage C++
langage C++langage C++
langage C++
mohamednacim
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
MohammedErritali2
 
Algorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptxAlgorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptx
Facebokma
 
Cours tp2
Cours tp2Cours tp2
Cours tp2
Mohamed MHAMDI
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
EmnaBenSaid2
 
memento_java_3c.pptx
memento_java_3c.pptxmemento_java_3c.pptx
memento_java_3c.pptx
TarikElMahtouchi1
 
Cours javascript v1
Cours javascript v1Cours javascript v1
Cours javascript v1
TheBest Icanbe
 

Similaire à Le langage C (20)

C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
Algorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptxAlgorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptx
 
C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partie
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithme
 
Theme 6
Theme 6Theme 6
Theme 6
 
Formation Langage c.pptx
Formation Langage c.pptxFormation Langage c.pptx
Formation Langage c.pptx
 
Cours c#
Cours c#Cours c#
Cours c#
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdf
 
langage C++
langage C++langage C++
langage C++
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
 
Algorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptxAlgorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptx
 
Cours tp2
Cours tp2Cours tp2
Cours tp2
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
 
µP
µPµP
µP
 
memento_java_3c.pptx
memento_java_3c.pptxmemento_java_3c.pptx
memento_java_3c.pptx
 
Cours javascript v1
Cours javascript v1Cours javascript v1
Cours javascript v1
 

Le langage C

  • 1. PARTIE 1 : Les bases - Les fonctions principales - Les variables - Les maths - Les conditions (if / switch) - Les boucles (for / do while / while)
  • 2. Code de base #include <stdio.h> #include <stdlib.h> int main (void) { // Code return 0; }
  • 3. Fonctions Noms principales Effets Exemples printf Affiche un message printf(«Hello world»); scanf Récupère une saisie scanf(«%d», &variable); Caractères spéciaux printf Effets n Saut à la ligne t Tabulation. Symboles commentaires Effets // Commentaire sur une ligne. /*...*/ Commentaire en bloc.
  • 4. Variables Noms Appels printf / scanf Valeurs entier (unsigned) int %d -2 à 2 milliards décimal (unsigned) float %f Beaucoup caractère (unsigned) char %c -127 à 128 chaîne de caractères char [TAILLE] %s Dépend de TAILLE
  • 5. Variables (algo) Variables : variable : entier DEBUT variable <- saisir() // Récupère saisie afficher -> “La saisie vaut “ + variable// Affiche saisie FIN
  • 6. Variables (code) #include <stdio.h> #include <stdlib.h> int main (void) { int variable = 0; // Initialisation variable // NE PAS OUBLIER LE “&“ DEVANT variable !!! scanf(“%d“, &variable); // Récupère saisie printf(“La saisie vaut %d“, variable); // Affiche saisie return 0; }
  • 7. Mathématiques Symboles Définitions + Addition - Soustraction * Multiplication / Division % Modulo
  • 8. Maths (modulo) 11 2 5 1 11 = 2 * 5 + 1 => 11 % 2 = 1
  • 9. Maths (fonctions) Fonctions Effets sqrt(X) Racine carrée de X pow(X,Y) Puissance : X^Y fabs(X) Valeur absolue de X ceil(X) Entier sup. de X floor(X) Entier inf. de X
  • 10. Maths (algo) Variables valeur1, valeur2, resultat : entier DEBUT valeur1 <- 10, valeur2 <- 4 resultat <- valeur1 * valeur2 / 7 resultat <- resultat - 5; // Ou : “resultat -= 5;“, resultat = 1 resultat <- resultat + 1; // Ou : “resultat ++;“, resultat = 2 resultat <- resultat³ // resultat = 2^3 = 8 FIN
  • 11. Maths (code) #include <stdio.h> #include <stdlib.h> #include <math.h> int main (void) { int valeur1 = 10, valeur2 = 4; // Initialisation variables int resultat = valeur1 * valeur2 / 7; // = 6 (c’est un int) resultat = resultat - 5; // Ou : “resultat -= 5;“, resultat = 1 resultat = resultat + 1; // Ou : “resultat ++;“, resultat = 2 resultat = pow(resultat,3); // resultat = 2^3 = 8 return 0; }
  • 12. ASCII Un caractère (char) a une valeur décimale comprise entre 0 et 255. Par exemple : le nombre 65 correspond à la lettre «A». #include ... int main (void){ int valeur; char caractere = ‘A’; valeur = caractere+1; // C’est possible, valeur = 65 + 1 = 66 printf(“Caractere : %c ; ASCII : %d“, valeur); // Affichera : «Caractere : B ; ASCII : 66» return 0; }
  • 13. Conditions Comme son nom l’indique, une condition s’utilise quand on souhaite exécuter un code selon un ou plusieurs cas particulier(s).
  • 14. Conditions (if / switch) IF SWITCH Plusieurs variables Une seule variable Variables indéfinies Variables définies Conditions ET/OU possibles Conditions ET/OU impossibles Moins rapide à écrire Plus rapide à écrire Moins clair à lire Plus clair à lire
  • 15. Conditions (if else) Les accolades {} peuvent être supprimées si le code de la condition ne fait qu’une ligne. if (age < 18) printf(“Film -18 ans interdit.“); Une condition peut être négative par «!» if (!(age < 18)) printf(“Film -18 ans autorisé.“); Une variable seule peut servir de condition (booléen), toujours vraie si variable ≠ 0. if (jeu_en_cours) printf(“Bonne partie.“);
  • 16. Conditions (Opérateurs) Symboles Effets == Egal != Différent > Supérieur < Inférieur >= Sup. ou égal <= Inf. ou égal || Ou && Et
  • 17. Conditions (Opérateurs bool) if (A operateur B) A B || && 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1
  • 18. Conditions (switch) Mots-clés Effets case Débute chaque condition. default Exécuté par défaut. break Quitte le switch.
  • 19. Conditions (switch) #include ... int main (void){ switch (tension) { case 0 : printf(“T’es mort.“); break; default : printf(“T’es en vie.“); } return 0; }
  • 20. Conditions (algo) DEBUT Si booleen1 ET non booleen3 Alors Instructions 1 Sinon si booleen2 Instructions 2 Sinon Instructions 3 Fin Si FIN
  • 21. Conditions (code) int main(void) { if (booleen1 && !booleen3) printf(“Instructions 1“); else if (booleen2) printf(“Instructions 2“); else printf(“Instructions 3“); }
  • 22. Boucles Comme son nom l’indique, le code d’une boucle se répète jusqu’à ce que la condition soit fausse. Elle s’utilise quand on souhaite exécuter un code répétition.
  • 23. Boucles Mots-clés Effets for On exécute le bloc de 0 à n fois, utilisé pour compter. do while On exécute le bloc de 1 à n fois. while On exécute le bloc de 0 à n fois.
  • 24. Boucles (For) La boucle for possède 3 arguments : Le 1er pour initialiser. Le 2è pour conditionner la fin. Le 3è pour calculer le pas.
  • 25. Boucles (algo) DEBUT // For Pour i<-0 à 9 Instructions 1 i Suivant // Do while Faire Instructions 2 Tant que i<10 // While Tant que i<10 Instructions 3 Fin Tant que FIN
  • 26. Boucles (code) int main(void) { int i=0; for(i=0; i<10 ; i++){// Code} do{// Code}while(i<10); while(i<10){// Code} }
  • 27. Boucles (ATTENTION !!!) Attention aux boucles infinies ! int main(void) { while(!Arthur_Bon_En_Design){// Inutile} while(!Barbara_Bon_En_Design){// OK} while(!Jeremie_Bon_En_Design){// Boucle infinie} }
  • 28. PARTIE 2 : Tableaux - Tableaux 1 et 2 dimensions ! - Chaînes de caractères - Define, nouvelle directive de préprocesseur
  • 29. Tableaux Le tableau peut être de tous les types (int, float, char). Un tableau se déclare avec les crochets [] dans lesquels on met le nombre de valeur max. int main(void) { int Tableau_Entier[10]; float Tableau_Decimaux[5]; char Tableau_Caractete[100]; }
  • 30. Tableaux (initialisation) int main(void) { int Tab_Int[3]={1, 2, 3}; // On initialise les valeurs au début // Ou alors on entre les valeurs par adresse tableau // Un tableau commence toujours à l’adresse 0 int Tab_Int2[3]; Tab_Int2[0] = 1; Tab_Int2[1] = 2; Tab_Int2[2] = 3; }
  • 31. Tableau à 2 dimensions int main(void) { int Tab_Int[3][3]= { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; }
  • 32. Chaînes de car. Noms Appels printf / scanf Valeurs entier (unsigned) int %d -2 à 2 milliards décimal (unsigned) float %f Beaucoup caractère (unsigned) char %c -127 à 128 chaîne de caractères char [TAILLE] %s Dépend de TAILLE
  • 33. Chaînes de car. (règles) La chaîne se termine toujours par “0“. Lors d’un scanf : Le “&“ disparaît. La saisie s’arrête dès l’appui sur la touche “enter“ ou la présence d’un espace !
  • 34. Chaînes de car. (règles) int main(void) { char Tab_Int[7]; scanf(“%s“, Tab_Int); print(“%s“, Tab_Int); }
  • 35. Chaînes de car. (règles) Adresses Valeurs 0 B 1 o 2 n 3 j 4 o 5 u 6 r 7 0
  • 36. Chaînes de car. (Fonctions) Fonctions Effets strcpy(X,Y) Copie Y dans X strcat(X,Y) Concatène X et Y, dans X. strcmp(X,Y) Compare X et Y (0 si identique, 1 si non) strlen(X) Renvoi la longueur de la chaîne de car. Recherche caractère Y dans chaîne X, et strchr(X,Y) renvoie la chaîne à partir de Y.
  • 37. Directive de préprocesseur #include est une directive de préprocesseur. #include = appel des bibliothèques #define = variable globale
  • 38. Partie 2 (algo) Variable globale TAILLE <- 10 Tableau entier Tab(TAILLE) DEBUT Tab <- Saisir() Si Tab = “bonjour“ Alors Afficher -> Tab Fin Si FIN
  • 39. Partie 2 (code) #include <string.h> #define TAILLE 100 int main(void) { char Tab[TAILLE]; scanf(“%s“, tab) if(strcmp(tab == “bonjour0“) printf(“%s“, tab); return 0; }