CodeS-SourceS
Rechercher un code, un tuto, une réponse

Guide rapide de syntaxe c

Juin 2017


GUIDE RAPIDE DE SYNTAXE C


Voici un petit mémento des principales syntaxes à connaitre pour programmer en C.
Vous y trouverez les informations concernant les types de données, les entrées et sorties standard,...



Compilation


gcc -Wall -ansi -c prog.c | gcc -o prog prog.o
ou
gcc -Wall -ansi -o prog prog.c

Types de données


[long/short] [signed/unsigned] int, float, double, char

Classes d'allocation


auto, static, extern, register

Tableau


type_de_base nom [nb_elements_optionnel] ;
type nom_tab [dim1][dim2]...[dimn] ;

Pointeurs


déclaration: type * var ;
utilisation : Opérateur &, Opérateur *, pointeur NULL

#include <stdlib.h>

Gestion mémoire


void * malloc(size_t size);
void * free(void *p);
void * realloc(void *p, size_t size);

Structures


struct <identificateur> {
<type><liste_identificateurs>;
...
<type><liste_identificateurs>;
};

Définition de types


typedef type nouveau_type

Pré-compilateur


#define TAILLE 5
#define MAX(a,b) ((a)>(b))?(a):(b))

Entrées standard (stdin)


int scanf(const char *format, ...);
char *gets(char *s);
int getchar(void);

Sorties standard (stdout)


int printf(const char *format, /* args*/ ...);
int puts(char *ch);
int putchar(int c);

#include <stdio.h>

Format :
  • %u nombres non signés ou positifs
  • %o %O et %x %X nombres octaux et hexadécimaux
  • %c caractères
  • %d et %f nombres entiers (en décimal) et flottants.
  • %e ou %E nombres réels sous forme exponentielle.
  • %s chaînes de caractères.
  • %p variables de type pointeur
  • %.2f float avec deux chiffres après la virgule
  • ...

Fichiers


FILE*
FILE * fopen(char *nom, char *mode);
mode : "r", "w", "a", "r+", "w+","a+". binaire : ajouter b au mode ("r+b")
fclose(FILE *f);
int feof(FILE *f);
fscanf(FILE *f, const char *format, liste_adresses);
fprintf(FILE *f, const char *format, liste_expressions);
int fgetc(FILE * f);
int fputc(int c, FILE * f);
char *fgets(char *ch, int lgmax, FILE *f);
int fputs(char *ch, FILE *f);

size_t fwrite(const void *ptr, size_t t, size_t nobj, FILE *f);
size_t fread(void *ptr, size_t t, size_t nobj, FILE *f);

int fseek(FILE *f, long offset, int mode);
Mode : 0 par rapport au début du fichier, 1 par rapport à la position courante, 2 par rapport à la fin

long ftell(FILE *f);
int rewind(FILE *f);

Chaînes de caractères


int strlen(char * chaine)
char *strcpy(char *destination,char *source)
char *strncpy(char *destination,char *source,int longmax)
char *strcat(char *destination,char *source)
char *strncat(char *destination,char *source,int longmax)
int strcmp(char *str1,char*str2)
long atol(const char *str);
int atoi(const char *str);
int sprintf(char *s, const char *format, /* args*/ ...);

Instructions de contrôle


if (expression) instruction
if (expression) instruction1 else instruction2

switch(selecteur)
{
case cas1: instruction1; [break;]
case cas2: instruction2; [break;]
...
case casN: instructionN; [break]
[default: instruction_par_défaut;]
}

while (exp) inst

do inst while (exp);

for (exp1;exp2;exp3) inst

boucles while, do-while et for : break; continue;

Transmission d'arguments au programme


int main(int argc,char *argv[ ] )

Opérateurs


! + + -- - * / % + - < <= > >= = = != && || = + = -= * = /= %=

Caractères spéciaux


\0 fin de chaîne,
\n fin de ligne,
EOF fin de fichier,
\t tabulation,
\\,
\'

Commentaires


/* commentaire */

A voir également

Publié par thebroyeur.
Ce document intitulé «  Guide rapide de syntaxe c  » issu de CodeS-SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Manipulation des listes linéaires simplement chaînées
Les e/s, les fichiers