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

cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er année
Missaoui Abdelbaki
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de Données
Anass41
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
benouini rachid
 
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
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
Aziz Darouichi
 
Cours système d'exploitation
Cours système d'exploitationCours système d'exploitation
Cours système d'exploitationAmel Morchdi
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
Ines Ouaz
 
Corrigé qcm initiation informatique sgbd - réseau - internet - architectu...
Corrigé qcm   initiation informatique   sgbd - réseau - internet - architectu...Corrigé qcm   initiation informatique   sgbd - réseau - internet - architectu...
Corrigé qcm initiation informatique sgbd - réseau - internet - architectu...
Sofien Zarrouki
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
Okanimegamers
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
Amina HAMEURLAINE
 
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
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
FadouaBouafifSamoud
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
Aziz Darouichi
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
Ines Ouaz
 
Chap2fonctionscpp
Chap2fonctionscppChap2fonctionscpp
Chap2fonctionscpp
Aziz Darouichi
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
Abdoulaye Dieng
 
Calculatrice scientifique en JAVA(AWT)
Calculatrice scientifique en JAVA(AWT)Calculatrice scientifique en JAVA(AWT)
Calculatrice scientifique en JAVA(AWT)
MOHAMMED MOURADI
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
L’Université Hassan 1er Settat
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
SageKataliko1
 

Tendances (20)

cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er année
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de Données
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
 
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
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Cours système d'exploitation
Cours système d'exploitationCours système d'exploitation
Cours système d'exploitation
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
Cours java
Cours javaCours java
Cours java
 
Corrigé qcm initiation informatique sgbd - réseau - internet - architectu...
Corrigé qcm   initiation informatique   sgbd - réseau - internet - architectu...Corrigé qcm   initiation informatique   sgbd - réseau - internet - architectu...
Corrigé qcm initiation informatique sgbd - réseau - internet - architectu...
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
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)
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Chap2fonctionscpp
Chap2fonctionscppChap2fonctionscpp
Chap2fonctionscpp
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Calculatrice scientifique en JAVA(AWT)
Calculatrice scientifique en JAVA(AWT)Calculatrice scientifique en JAVA(AWT)
Calculatrice scientifique en JAVA(AWT)
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
 

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 Bajitosmaria
 
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 latinoAlejandra 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 2010Universidad 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
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
Shellmates
 
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
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
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; }