SlideShare una empresa de Scribd logo
1 de 39
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;
}

Más contenido relacionado

La actualidad más candente

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
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction MansouriMansouri Khalifa
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
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éeMissaoui Abdelbaki
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
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.pdfFadouaBouafifSamoud
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.pptIdriss22
 

La actualidad más candente (20)

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++
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java 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
 
Chap2fonctionscpp
Chap2fonctionscppChap2fonctionscpp
Chap2fonctionscpp
 
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
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
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
 
Cours java
Cours javaCours java
Cours java
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Cours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observerCours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observer
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 

Destacado

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
 
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 operationsTableau Software
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en cbenouini rachid
 
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 bustierSunnyer Emily
 
Islas flotantes albert
Islas flotantes albertIslas flotantes albert
Islas flotantes albertMaria Jose
 
Comment fabriquer de nouvelles robes
Comment fabriquer de nouvelles robesComment fabriquer de nouvelles robes
Comment fabriquer de nouvelles robestheperfectmiss
 
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_mystere06Gerard Houdinet
 

Destacado (20)

Le langage C
Le langage CLe langage C
Le langage 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)
 
Cours langage-c
Cours langage-cCours langage-c
Cours 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
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
 
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
 

Similar a Le langage C

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 partieLoic Yon
 
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.pptxValdy 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'applicationkamalomari2
 
Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfadeljaouadi
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptxMohammedErritali2
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesECAM Brussels Engineering School
 
initiation au javascript
initiation au javascriptinitiation au javascript
initiation au javascriptAbdoulaye Dieng
 

Similar a Le langage C (20)

C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
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
 
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
 
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
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
initiation au javascript
initiation au javascriptinitiation au javascript
initiation au javascript
 
Cours php
Cours phpCours php
Cours php
 

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; }