Résumé syntaxe C

De Enseignement secondaire.
Aller à : Navigation, rechercher

Retourner à la page principale

Sommaire

Structures de commande

if ( ) { }

if ( ) { } else {  }

if( ) { } elseif( ) { }  (éviter)

while  { }

do  { }  while ( ) ;

for (init ; cond ; op) { }

switch (toto) { 
     case val1: { } 
     ...
     default : { }    
}

break ;  continue ;

void nom (void)

type nom (var1,var2)

return ( ) ;

#define  nomnew nomold

#include  "file.h" <stdlib.h>

#ifndef nom

#define nom

Nombre et texte

33  0x21  0b0010001 ’a’
\n (LF) \r (CR) \o (nul)

Variables

u8  s8  char  u8 toto=5 ;
u16 s16  int short
u8 toto[3] = (5,18,27);
bool  long  float  pointer

Enumération

enum (nom0,nom1,...) toto ;

Autres

static volatile array typedef sizeof

Maths et virgule flotante

<stdlib.h>  <math.h>

Opérateurs

Opérateurs références

( )  { }  : ;  .

Unaire

!

Calcul

+ - * /   %    &   |   ^    ~

Décalage

>>  <<

Affectation

=  +=  -=

Composés

+=  -= *= /=  &= |= ^=

Relationnels

==   !=   >   <   >=   <=

Logiques

&&   ||   ! 
et   ou   non

Variables

On choisit une dimension de tiroir (position mémoire), on donne un nom clair et éventuellement un contenu initial (valeur)

u8  LedTop = 2 ;
s8  PwmDroite = 0 ;
u8  TableIrToDistance[8] ;

void set-up ()

Cela entre ou sort du processeur ?

PORTA = 0b00111111;
arduino : pinmode (LedTop, OUTPUT)

void loop ()

Les instructions se terminent par un ; LOW ne veut pas dire éteint !

loop()
{
  digitalWrite (LedTop,LOW) ;
}

Fonctions déjà importées

delay(); delayMicrosecondes();

delay (100) ; // millisecondes
delayMicrosecondes (periode) ;

Conditions

if (condition)

Si la condition est vrai on exécute le bloc.

S’il y a une seule instruction, les { } ne sont pas nécessaires (mais conseillés !).

if (condition) //par ex :  if (var == 3)
{ 
  instructions ; //par ex : var = 3 ;
}

Test if 1.jpg

if (condition) else

Si vrai on fait, autrement on fait autre chose

if (condition) uneInstruction ; 
  else uneInstruction ;

Test if 2.jpg

if (cond) else if (cond) else if (cond)

On préfère utiliser switch case

Boucles

while (condition)

On exécute tant que la condition est vraie

while (condition)
{ 
  instructions ; 
}

While2.jpg

do while (condition)

On exécute tant que la condition est vraie

do
{ 
  instructions ; 
}
while (condition) ;

Do while.jpg

for (initialization; condition; opération)

On exécute tant que la condition est vraie. L’opération agit sur la condition.

for (i=0;i<7;i++)
{ 
  instructions... ;
  if (condition) break ; 
}

L’instruction break ; permet de sortir de la boucle prématurément.

For loop.jpg

switch toto { case 1 : { } ... }

On écrit les instructions qui correspondent aux cas (valeur) de la variable toto

switch (toto) {
  case 0 :  {    // si toto = 0
    instructions… ;
    break ;
  }
  case 1 : 
    ..
  default :
    instructions… ;
}

Switch 2.jpg

Switch 1.jpg

Fonctions

Déclaration de fonctions:

//  sans paramètres locaux 
void nom (void)  {   instructions… ; }

//  avec paramètres locaux
void nom (u8 var1, s8 var2)  { instructions… ; }

//   avec un paramètre en sortie
u16 nom (u8 varloc)  { 
    u16  varout
    instructions... ;
    return varout ; 
    }

Fonction.png

Outils personnels
Espaces de noms
Variantes
Actions
Navigation
Boîte à outils