C Facile. Le langage C. Mardi 15 décembre Centrale Réseaux. C Facile. Valentin Roussellet (p2010) -

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "C Facile. Le langage C. louen@via.ecp.fr. Mardi 15 décembre 2009. Centrale Réseaux. C Facile. Valentin Roussellet (p2010) - louen@via.ecp."

Transcription

1 Le langage C Centrale Réseaux Mardi 15 décembre 2009

2 Sommaire

3 C quoi? Le C est un langage de programmation créé en 1974, pour écrire le système d exploitation UNIX. Depuis,il est devenu (avec ses variantes), le langage le plus utilisé. Le C a l avantage d être : léger concis bas niveau portable haut niveau Le C est un langage compilé, ce qui lui permet d être très performant.

4 Compiler un programme Plus facile à utiliser sur un UNIX (Linux, MacOSX) : On écrit son programme avec son éditeur préféré La compilation se fait en ligne de commande avec gcc 1 : gcc monfichier.c -o monprog Sous Windows, il faut installer un IDE comme Visual Studio ou Code : :Blocks. 1. GNU C Compiler/ GNU Compiler Collection

5 Au programme :

6 Notre premier programme en C 1 #include <stdio.h> 2 int main(int argc, char** argv) { 3 printf("hello, World!\\n"); 4 return 0; 5 } Les instructions se terminent par un point-virgule Les blocs d instructions sont encadrés par des accolades Les commentaires sont encadrés par /* et */ Les commentaires courts commencent par //

7 Notre premier programme en C 1 #include <stdio.h> 2 int main(int argc, char** argv) { 3 /* Voici un commentaire sur plusieurs lignes 4 qui se continue ici : notre prermier programme en C */ 5 printf("hello, World!\n"); // On affiche du texte 6 return 0; 7 } Compilez et exécutez le programme hello.c ; c est trop ouf, hein!

8 Les variables Les variables en C sont typées et il faut les déclarer au compilateur. Il existe plusieurs types de base : Caractère : char Nombre entier : int (integer) Nombre décimal : float (floating-point) Nombre décimal en double précision : double 1 /* Déclarations */ 2 char c; 3 int i; 4 float f; 5 /* Affectation */ 6 c= c ; 7 i=42; 8 f=3.4159; La déclaration permet au programme de réserver de la pour y stocker la variable.

9 Les types On peut varier les types grâce à des mots-clefs : signed/unsigned, short/long et double type signification octets Plage de valeurs (signed)char caractère à 127 unsigned char caractère non signé 1 0 à 255 short int entier court à unsigned short int entier court non signé 2 0 à int entier à unsigned int entier non signé 4 0 à long int entier long à unsigned long int entier long non signé 4 0 à float nombre à virgule flottante à double nombre en double précision à long long int entier long étendu à unsigned long long int entier long étendu 8 0 à long double nombre en double précision étendu Généralement, signed est implicite : un int est en fait un signed int. Généralement, un int fait 4 octets ; parfois (sur certaines architectures) seulement 2. On peut omettre int et écrire directement short, long ou long long

10 Utilisons 1 /* On peut déclarer plusieurs variables d un coup */ 2 int i, j, k, n; 3 /* Déclaration + Affectation = Initialisation*/ 4 char c= c ; 5 float f, g=0.001,h; 6 /*Les opérations arithmétiques */ 7 i = 3 ; j = 4 ; 8 k = (i + (j * (i - n))) ;// attention aux priorités 9 k = i / j ; // = 0 (division entière) 0 /*Les affectations combinées */ 1 k += i ; // équivaut à k = k+i 2 k *= j ; // équivaut à k = k*i 3 k++; // équivaut à k+=1;

11 Précautions à prendre Une variable non initialisée a une valeur aléatoire! 1 int i = 3, j = 4 ; 2 float f = 0.42, g = 1.2 ; 3 g = i + f ;// conversion implicite 4 g = (float) i / (float) j ; // conversion explicite 5 /* on parle aussi de cast ou de transtypage */ Attention à la priorité des opérateurs et à leur ordre d évaluation. Parfois le résultat n est pas défini (exemple : i++ = i++;)

12 Utiliser printf Printf permet d afficher du texte à l écran. 1 #include <stdio.h> // nécéssaire pour utiliser printf 2 int main (int argc, char** argv ) { 3 int i = 0, j = 3; 4 printf("j vaut %d et i vaut %d\n",j,i) 5 } On utilise %* pour afficher une variable %d pour afficher sous la forme d un entier %f pour addicher sous la forme d un flottant %c pour afficher sous la forme d un caractère

13 Lire et écrire On peut récupérer un caractère de l entrée avec getchar() 1 #include <stdio.h> 2 /* ce programme affiche à l écran ce qu on frappe au clavier */ 3 int main (int argc, char** argv ) { 4 char c; 5 c = getchar(); 6 while (c!= EOF) { 7 printf("%c",c); 8 c = getchar(); 9 } 0 }

14 Conditions et valeur d une expression Les instructions sont évaluées, c est à dire qu elles ont une valeur. 1 int a,b; 2 a=(b=3); Toute valeur nulle est fausse. Les autres valeurs sont vraies. Pour spécifier des conditions on utilise : Les opérateurs de comparaison sont ==,!=, <,>,<=,<= Les opérateurs logiques : &&,,! On peut combiner valeurs de retour et opérateurs logiques : 1 int a=1,b=3; 2 a = (((b == 3) (a!= 1)) &&!(( b = 42) > 12)); 3 /* a vaut maintenant 0 et b 42 */

15 Les instructions if / else : accolades (obligatoire) et indentation (c est plus lisible) Les structure de choix : if, if/else ou if/else if/.../else. 1 if (i==3 && j < 3) { 2 // instructions 3 } else if (isnormal(k)) { 4 // instructions 5 } else { 6 // instructions 7 }

16 La boucle for 1 int i ; 2 for (i = 0 ; i < 100 ; i++) { 3 // instructions 4 } Les 3 instructions sont arbitraires : La première est effectuée une seule fois, La 2eme est effectuée au début de chaque itération. Si sa valeur est nulle la boucle s arrête La 3eme est effectuée au début de chaque itération.

17 La boucle while Les boucles while et for sont interchangeables (en théorie). Le mot-clef break permet de quitter la boucle. 1 int i ; 2 while (i!= 0) { 3 // instructions 4 if (erreur) { 5 break; 6 } 7 } 1 #include <stdio.h> 2 int main(int argc, char** argv) { 3 char c; 4 while ((c=getchar())!=eof) { 5 printf("%c",c); 6 } 7 }

18 Fonctions et variables 1 #include <stdio.h> 2 int f(int x) { 3 int b=42; 4 return x+42; 5 } 6 7 int main (int argc char** argv) { 8 int a=3; 9 int b; 0 b=f(a); 1 printf("%d",b) 2 } Les variables sont locales à un bloc et n existent pas à l extérieur.

19 Prototypes et fonctions Comme, les fonctions sont déclarées avec le type de leur valeur de retour et leurs arguments (prototype) Le type void est utilisé pour les fonctions sans paramètre ou qui ne retournent rien. 1 int fonction1(int param1, float param2); 2 float fonction2(double, unsigned char); 3 void fonction3 (int); 4 char fonction4(void); On ne peut pas déclarer une fonction dans une autre fonction

20 Les fonctions : quelques détails Les fonctions peuvent être récursives 1 int factorielle(int n) { 2 if (n == 1 n == 0) { 3 return 1; 4 } else { 5 return n * factorielle(n-1); 6 } 7 } Les arguments peuvent subir une conversion implicite Une erreur de compilation se produit si un cast est requis 1 double carre(double l){ 2 return l*l 3 } 4 //... plus tard, dans le main... 5 int a = 3; 6 carre(a); // a est converti en double

21 Un tableau est une suite de variables de même type. 1 int a[10]; /* crée un tableau de 10 entiers 2 on y accède par a[0], a[1]... a [9] */ 3 a[4] = 42 ; 4 int b[4] = {12, 3, 4, 17} ; // initialise le tableau Une chaîne est en fait un tableau de char! Mais attention au \0 final! 1 char s[5]; // crée un tableau de 5 char 2 s = "plop"; 3 // s contient p, l, o, p, \0 4 s = "meh"; 5 // s contient m, e, h, \0, une valeur inconnue

22 Au programme :

23 Qu est ce que la La est un grand tableau numéroté. Chaque case fait 1 octet Déclarer une variable lui réserve une place en 1 unsigned int a; // les blocs 2454 à 2457 sont réservés pour a 2 a = 1027 ; Maintenant la ressemble à ça :

24 Qu est ce qu un pointeur? L opérateur & donne l adresse d une variable 1 printf("%d",&a) ; // affiche l adresse de a Un pointeur est une variable qui contient l adresse d une autre variable. 1 p = &a ; // p pointe sur a L opérateur inverse est * (déréférencement) *p peut être utilisé à la place de a n importe où 1 a = 3 ; p = &a ; 2 *p += 40 ;// a vaut maintenant 42 3 b = f(*p) ;// 42 est passé en argument de f

25 Un peu plus près des * Les pointeurs doivent être déclarés en fonction du type de la variable sur laquelle ils pointent 1 int a ; double b ; unsigned char c ; 2 int * pa; // un pointeur sur int 3 double * pb = &b; //initialisation 4 unsigned char * pc = NULL ; // pointeur nul Pointeur non initialisé = DANGER! 1 //attention aux déclarations multiples 2 int *p,*q ;// p et q sont des int* ;

26 Exemple : le passage par référence Ce que je veux : une fonction swap(a,b) qui échange a et b. 1 void swap(int * pa,int * pb) { 2 int c = *pa; 3 *pa = *pb; 4 *pb = c; 5 } 6 //... plus tard... 7 int a = 12, b = 42 ; 8 swap(&a,&b); 9 /* maintenant a vaut 42 et b 12 */ Meilleures performances quand on passe de grosses donées

27 Les pointeurs et les tableaux Les pointeurs et les tableaux sont très liés! Un exemple : 1 short[10] a ; 2 short * p = &(a[0]) ; 3 int i; 4 for (i = 0 ; i<10 ; i++) { 5 a[i] = 3*i ; 6 printf("%d",*(p+i)); 7 // *(p+i) et a[i] désignent le même élément 8 } Dans la : a[0] a[0] a[1] a[1] a[2] a[2] p (p+1) (p+2)

28 Application : les chaînes de caractères Une chaîne de caractère peut être représentée par un char* Un exemple : 1 char* str = "Une chaine de caracteres"; 2 void stringcopy(char * src, char * dest); 3 while( (*dest = *src)!= \0 ) { 4 dest++; 5 src++; 6 }

29 Les pointeurs génériques On utilise le type void* pour représenter un pointeur générique. Il est compté comme un pointeur sur un objet de 1 octet pour l arithmétique Il faut le caster pour s en servir Son usage : à limiter

30 Attention aux pointeurs! On ne peut pas lire ou écrire n importe où dans la! Dans le meilleur des cas : segmentation fault Dans le pire des cas : données corrompues Attention aux casts foireux.

31 Les structures Une structure est un rassemblement de plusieurs variables Les variables peuvent être de type différents 1 // déclaration de la structure 2 struct Pays { 3 char* nom; 4 long nbhabitants; 5 double superficie 6 } 7 // déclaration d une instance de la structure 8 struct Pays monpays; 9 // initialisation; 0 monpays = {"France", ,675417} 1 //accès à une valeur 2 printf(monpays.nom); 3 printf(" : un pays de %d habitants",monpays.nbhabitants);

32 Les pointeurs de structure 1 void naissance(struct Pays * unpays){ 2 // attention aux parentheses 3 (*unppays).nbhabitants++; 4 } On peut écrire a->b au lieu de (*a).b On peut faire un typedef pour clarifier les choses 1 // on définit un nouveau type Pays 2 typedef struct pays Pays; 3 //accès à une valeur 4 Pays monpays = {"Italie", ,300000}; 5 6 void naissance(pays * unpays){ 7 pays->nbhabitants++; 8 } 9 // on peut aussi faire un tableau de structures 0 pays Monde[194]; 1 //... et utiliser l arithmétique des pointeurs 2 pays * p = Monde[0]; 3 for(i=0 ; i <194 ; i++) { 4 printf(p->nom); 5 p++; 6 }

33 Les unions Une union est une variable qui peut prendre des valeurs de types différents Bien sûr pas en même temps! La syntaxe ressemble à celle des structures 1 // on définit l union Nombre et un alias de type 2 typedef union { 3 int vali; 4 float valf; 5 } Nombre ; 6 7 nombre ajouter(nombre a, Nombre b, char type) { 8 nombre result; 9 if (type == i ) { 0 result.vali = a.vali + b.vali ; 1 return result ; 2 } else if ( type == f ) { 3 result.valf = a.valf + b + valf; 4 return result; 5 } else { 6 printf("erreur!\n"); 7 return 0 8 } 9 }

34 Un exemple On veut gérer une base de données de personnes Une première approche : 1 typedef struct Personne { //... 2 } Personne ; 3 Personne mabase[10000]; 4 int taille = 0; 5 //... 6 void add(personne[] base, Personne * unepersonne,int * taille) { 7 if (*taille < 10000) { 8 base[*taille] = *unepersonne; 9 *taille++; 0 } 1 } Ce n est pas très pratique... On consomme beaucoup de pour rien

35 Malloc entre en jeu : l allocation dynamique On demande autant de qu on en a besoin avec On n oublie pas de la libérer quand on a plus besoin avec free 1 #include <stdlib.h> 2 typedef struct Personne { //... 3 Personne * next ; // on va créer une liste chaînée 4 } Personne ; 5 Personne** maliste = NULL ; 6 7 int add(personne** liste, Personne unepersonne); 8 Personne *p = (Personne *) (sizeof(personne)); 9 // on demande de la pour une personne 0 if (p == NULL) { // Il faut toujours faire ça 1 printf("ooops!"); 2 exit(0) ; 3 } else { 4 p->next = *liste ; 5 *liste = p ; 6 }

36 Les Les fonctions ne sont pas des variables, mais on peut quand même créer des pointeurs de fonction. Attention à la priorité entre * et () ; 1 void tri1(int* uneliste) { 2 //... 3 } 4 5 void tri2(int* uneliste) { 6 //... 7 } 8 9 void triliste(int* uneliste, void ( *fonction () ) ) { 0 (*fonction)(uneliste) 1 } 2 //... dans le main 3 if( typetri == 1){ 4 triliste(maliste, &tri1) 5 } else { 6 triliste(maliste, &tri2) 7 }

37 Au programme :

38 La portée La portée (scope) d une variable est l endroit du code où elles sont définies. Par défaut, sont locales à leur bloc. 1 int f(int a,int b) { 2 int c = a * b; 3 // la portée de c va jusqu à la fin de la fonction 4 } 5 6 int main (int argc, char** argv) { 7 double c ; // ce n est pas le même c! 8 int i ; 9 for (i = 0 ; i<=99 ; i++) { 0 char t; 1 // dans ce bloc on peut utiliser c, i et t 2 } 3 // ici, t est hors de portée. 4 } Les variables sont dites automatiques, elles sont détruites quand elles sont hors de portée Attention aux variables en dynamique!

39 Les variables globales On peut déclarer une variable à l extérieur de tout bloc, elle sera visible de tous. 1 int nbappel = 0; 2 int fonction1(int a) { 3 nbappel++; 4 //... 5 } 6 int fonction2(int a) { 7 nbappel++; 8 //... 9 } 0 int main(int argc, char ** argv) { 1 int i; 2 for (i = 0 ; i<1000 ; < i++) { 3 fonction1(i); 4 fonction2(i); 5 if (nbappel > 666) { 6 break; 7 } 8 } 9 }

40 Constantes On peut déclarer une variable constante à l aide du mot clef const. Cela permet d éviter certaines erreurs (mais on peut s en passer) 1 const int a=3; 2 //... 3 a = 42 ; // ERREUR à la compilation Une fonction peut déclarer attendre des arguments constants. Dans ce cas, on est sûr que la fonction ne modifie pas l objet 1 void fonction1(const char* chaine1, char* chaine2) { 2 // cette fonction ne modifie pas chaine1 3 } Bien sûr celà n est utile que lorsqu on passe des pointeurs!

41 Pointeurs et constantes Attention à la syntaxe! 1 const char * p; 2 // p est un pointeur sur un (const char) 3 char c ; p = &c ; // OK 4 *p = a ; // ERREUR : *p ne peut être modifié 1 char * const p ; 2 // p est un pointeur constant sur un char 3 char c ; p = &c ; // ERREUR : p ne peut être modifié 4 *p = a ; // OK 1 const char * const p ; 2 // p est un pointeur constant sur un const char 3 char c ; p = &c ; // ERREUR 4 *p = a ; // ERREUR

42 Les directives de préprocesseur Le préprocesseur agit avant le compilateur Ses commandes commencent par un # Nous en avons rencontré une : #include #include Inclut un fichier en entier #define Effectue un remplacement #if/#endif Compilation conditionelle #pragma Directive spécifique au compilateur (c est mal)

43 #define et les macros Exemple de constante : 1 #define PI Exemple de macro : 1 #define ABS(a) (a>0? a : -a ) Attention aux parenthèses! 1 #define CARRE(a) a*a 2 //... 3 CARRE(a+1); 4 // equivaut à a+1*a+1 = 2a + 1!

44 #if : compilation conditionelle 1 #include stdio.h 2 int main(int argc, char ** argv) { 3 #if WIN32 4 printf("hello, Windows World\n"); 5 #else 6 printf("hello, World\n"); 7 } 8 #endif

45 #include et les headers On regroupe souvent les déclarations de fonctions dans un fichier séparé appelé header 1 // fichier main.h 2 #ifndef MAIN_H // ceci permet de n inclure qu une seule fois le fichier 3 typedef struct Cercle { 4 double rayon; 5 int centre[2]; 6 } Cercle; 7 double aire(cercle *); 8 #define PI 3, #endif 1 // fichier main.c 2 #include "main.h" 3 int main(int argc, char** argv) { 4 Cercle C; 5 double a = aire(&c); 6 } 7 8 double aire(cercle * uncercle) { 9 return PI * (uncercle->rayon) * (uncercle->rayon) ; 0 }

46 , plusieurs fichiers Quand un programme devient trop grand, on le sépare en plusieurs fichiers. Un fichier contient la fonction main, et d autres des fonctions annexes Du coup, on groupe les déclarations dans un ou plusieurs headers L édition des liens permet de créer un programme fonctionnel

47 Un schéma pour mieux comprendre

48 Les bibliothèques On utilise souvent des bibliothèques. Elles sont statiques (liées à la compilation) ou dynamiques (liées juste avant l exécution) Exemple : la lib standard (dont fait partie printf)

49 Un autre schéma

50 Les variables statiques Le mot clef static a plusieurs emplois. Une variable statique survit à la fin de son bloc Un fichier agit comme un bloc pour la portée (pas d accès en dehors du fichier) Les variables statiques sont initialisées à 0 par défaut Exemple : Variable globale statique : 1 static int a = 3; 2 static const char ch = c ; 3 int main (int argc, char** argv) { 4 // on peut utiliser a et ch partout dans le fichier 5 // mais pas ailleurs 6 } Exemple : Variable de fonction statique 1 int mafonction(int param1, double param2) { 2 static int nbappels; 3 // faire des trucs 4 nbappels++; 5 printf("j ai été appelée %d fois \n",nbappels); 6 }

51 Les variables externes extern sert pour globales On utilise extern quand la variable est définie dans un autre fichier Dans la pratique on utilise surtout un header pour les variables globales

52 La bibliothèque stantard J ai la flemme de faire cette slide stdio.h, string.f, stdlib.h, limits.h,...

53 Les trucs dont je n ai pas parlé Les branchements avec switch Les énumérations Les mots-clef volatile et register Plein d autres trucs que j oublie

54 C est fini... ou pas À vous de jouer! Lire le K&R Visiter le site du zéro Lire du code Coder en C!

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

C, seconde séance. le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de:

C, seconde séance. le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de: C, seconde séance le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de: false, c est 0 ( \0 aussi) test d égalité: == pour printf: %d entier, %f flottant, %c caractère,

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes ISMIN 1A Programmation 1 : Examen de programmation C Réponses Partie 1. Questions ouvertes 1. Soit la déclaration suivante, char tab[] = "". Que contient le tableau tab? Réponse : tab[0] = \0. tab est

Plus en détail

Sujet d examen 1. Pratique du C. Novembre 2009

Sujet d examen 1. Pratique du C. Novembre 2009 Durée 1 h 30 Documents autorisés Sujet d examen 1 Pratique du C Novembre 2009 Introduction Écrivez lisiblement et n hésitez pas à commenter votre code en langage C. Vous ne pouvez utiliser que les fonctions

Plus en détail

Langage C. E. Boucharé

Langage C. E. Boucharé Langage C E. Boucharé Table des Matières Introduction.............................................................................. 1 Chapitre 1. Les types de données de C....................................................

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Chapitre 1 Introduction Jean Privat Université du Québec à Montréal INF7330 Construction de logiciels Diplôme d études supérieures spécialisées en systèmes embarqués Automne 2012 Jean Privat (UQAM) 01

Plus en détail

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C DUT Informatique 2015 / 2016 Travaux Pratiques n o 0 : Rappels de programmation C Nom(s) : Groupe : Date : Objectifs : renouer avec les notions, la manipulation et l écriture de programmes C, en particulier

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

Plus en détail

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

Série d exercices. o Cas 2 : gcc o nomexecutable c nomsource.c. o Cas 3 : gcc o nomexecutable W -Wall nomsource.c

Série d exercices. o Cas 2 : gcc o nomexecutable c nomsource.c. o Cas 3 : gcc o nomexecutable W -Wall nomsource.c Langage Impératif 1 TP 1 du 11 octobre 2010 Série d exercices Rappels rapides : - Un programme C s écrit toujours dans un fichier d extension.c (en minuscule!! sinon ce serait compilé comme du C++). Ce

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

1 Notions de base 1.1 Structure d'un programme

1 Notions de base 1.1 Structure d'un programme 1 Notions de base 1.1 Structure d'un programme Le langage C++ contient le langage C : tout programme écrit en C à la norme ANSI doit pouvoir être compilé par un compilateur C++. C++ fait la diérence entre

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

3 Lien entre pointeurs et tableaux.

3 Lien entre pointeurs et tableaux. programme sont dit dynamiques. On se limite ici aux tableaux statiques à une seule dimension, analogue aux vecteurs manipulés en mathématiques. Ils se déclarent sous la forme : type_d_élément variable_tableau[taille];

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème.

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème. 1/30 Objectif de ce cours 2/30 Objectifs de ce cours Introduction au langage C - Cours 4 Girardot/Roelens Septembre 2013 Analyse de problème I décomposer un traitement complexe en traitements simples Concepts

Plus en détail

Examen de Langage C Vendredi 2 Décembre 2011

Examen de Langage C Vendredi 2 Décembre 2011 Année 2011-2012 Examen de Langage C Vendredi 2 Décembre 2011 Promotion Guichet 1 ière année É. Salvat Modalités : Durée : 2 heures Seul document autorisé : carte de référence du C, pas de machine à calculer,

Plus en détail

Organisation des données et structures de stockage

Organisation des données et structures de stockage ING2 - ING3 Nvx 2009-2010 Organisation des données et structures de stockage I. Stockage de l information en C Ce chapitre rappelle brièvement et complète certaines notions de base vues en première année

Plus en détail

Programmation Avancée en Langage C Séances de Travaux-Pratiques

Programmation Avancée en Langage C Séances de Travaux-Pratiques Programmation Avancée en Langage C Séances de Travaux-Pratiques Ph. Langevin Année Universitaire 2010 Contents 1 Préambule 2 2 Commandes de base 2 2.1 man................................ 2 2.2 Recherche.............................

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

CHAPITRE 3 : Types de base, Opérateurs et Expressions

CHAPITRE 3 : Types de base, Opérateurs et Expressions CHAPITRE 3 : Types de base, Opérateurs et Expressions 1. Types simples Un type définit l'ensemble des valeurs que peut prendre une variable, le nombre d'octets à réserver en mémoire et les opérateurs que

Plus en détail

Algorithmie ISI301 TP 1 : Python et premiers algorithmes

Algorithmie ISI301 TP 1 : Python et premiers algorithmes Algorithmie ISI301 TP 1 : Python et premiers algorithmes 1 Python : apprentissage Pour avoir une vision plus large des différentes possibilités du langage Python, nous ne pouvons que vous conseiller d

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Objectifs. Pointeurs et tableaux. Arithmétique des pointeurs et sizeof. sizeof. Exemple : liste chaînées. Cast. Débordement de tampons

Objectifs. Pointeurs et tableaux. Arithmétique des pointeurs et sizeof. sizeof. Exemple : liste chaînées. Cast. Débordement de tampons du cours d aujourd hui Programmation «orientée système» LANGAGE C POINTEURS (5/5) des pointeurs Complément (et mise en garde) sur Exemple pratique : listes Forçage de type (casting) Laboratoire d Intelligence

Plus en détail

Rappels de langage C A 2

Rappels de langage C A 2 Partie A Rappels de langage C Département Informatique Présentation générale Programme C ensemble de fonctions Les fonctions (leur code source) sont réparties dans un ou plusieurs fichiers textes Une des

Plus en détail

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Algorithmique et programmation : les bases (C) Corrigé

Algorithmique et programmation : les bases (C) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours C, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage C des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Méthodologie de la programmation

Méthodologie de la programmation Méthodologie de la programmation Pablo Rauzy pablo rauzy @ univ-paris8 fr pablo.rauzy.name/teaching/mdlp UFR MITSIC / L1 informatique Séance e Aperçu du langage C : introduction Pablo Rauzy (Paris 8 /

Plus en détail

Pointeurs de fonctions

Pointeurs de fonctions Florence Levé - Université de Picardie Jules Verne 145 Pointeurs de fonctions Parfois utile de passer une fonction comme paramètre d une autre fonction Un pointeur de fonction correspond à l adresse du

Plus en détail

1. Eléments de base du langage C

1. Eléments de base du langage C 1 1. Eléments de base du langage C Généralités Programme et sous-programme Fonction C Structure d un programme C Vocabulaire de base et syntaxe Exemples 2 Généralités Crée en 1972 par D. Ritchie pour écrire

Plus en détail

Aide Mémoire - langage C

Aide Mémoire - langage C Université du Luxembourg 2005 2006 Aide Mémoire - langage C 1 Directives de préprocesseur inclusion de fichiers pour un fichier système : #include pour un fichier du répertoire courant

Plus en détail

Licence STPI Semestre 3 - Examen de Validation de Module - Janvier 2006 ULSI301 - LANGAGE C

Licence STPI Semestre 3 - Examen de Validation de Module - Janvier 2006 ULSI301 - LANGAGE C Licence STPI Semestre 3 - Examen de Validation de Module - Janvier 2006 ULSI301 - LANGAGE C Durée : 2h. - Documents et Calculatrices autorisés. Toutes les réponses doivent être justifiées - Les exercices

Plus en détail

TP1 - Introduction au langage C

TP1 - Introduction au langage C ENS Lyon L-Info PROJ1 2014-2015 TP1 - Introduction au langage C Sujet à terminer pour le dimanche 20 à 2h59, sous forme d une archive.zip contenant votre code source, par email à aurelien.cavelan@ens-lyon.fr.

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Programmation I : Cours d introduction à la programmation Pointeurs

Programmation I : Cours d introduction à la programmation Pointeurs Programmation I : Cours d introduction à la programmation Pointeurs Laboratoire d Intelligence Artificielle Faculté I&C Programmation I Pointeurs 1 / 23 Rappel du calendrier Programmation I Pointeurs 2

Plus en détail

I Quelques points d'algorithmique

I Quelques points d'algorithmique I Quelques points d'algorithmique 1) Types Type "simple" : Identificateur commençant par une majuscule = Description du type Les principaux types : les entiers naturels (int, long, long long) ou relatifs

Plus en détail

Contents. 3 Tableaux à la Picasso 13

Contents. 3 Tableaux à la Picasso 13 . C quoi le C? Contents 1 Les bases 2 1.1 Jeux de main..................................... 2 1.1.1 Kézako?................................. 2 1.1.2 Commençons par le début........................ 3 1.1.3

Plus en détail

Chapitre 3 : Pointeurs et références

Chapitre 3 : Pointeurs et références p. 1/18 Chapitre 3 : Pointeurs et références Notion de pointeur L adresse d une variable est une valeur. On peut donc la stocker dans une variable. Un pointeur est une variable qui contient l adresse d

Plus en détail

Cours Langage C. Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique

Cours Langage C. Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique Cours Langage C Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique I Passage de paramètres à la fonction main Tout exécutable C doit comporter une fonction main dont le

Plus en détail

Ch1 : Eléments de base du langage C

Ch1 : Eléments de base du langage C Ch1 : Eléments de base du langage C Fathi Mguis Atelier de programmation 1 LFSI1/LARI1 A.U : 2014-2015 Plan 1 Généralités 2 Avantages 3 Structure d un programme en C 4 Les diverse phases d un programme

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Premiers exemples de traitements

Premiers exemples de traitements #include #include Premiers exemples de traitements void main() float b(0.0); float c(0.0); float delta(0.0); cin >> b >> c; delta = b*b - 4*c; if (delta < 0.0) cout

Plus en détail

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail

L1 Informatique Université Paris 8-2010-2011 Programmation Impérative I Rim Chaabane rchaabane@ai.univ-paris8.fr - Cours 6 - Les pointeurs

L1 Informatique Université Paris 8-2010-2011 Programmation Impérative I Rim Chaabane rchaabane@ai.univ-paris8.fr - Cours 6 - Les pointeurs Les pointeurs Le langage C permet de manipuler des adresses d objets ou de fonctions par le biais de pointeurs. Pour ce faire on peut désigner des variables dites de type pointeur, destinées à contenir

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

Plus en détail

cours 6 - compilation séparée, classes de stockage et makefile

cours 6 - compilation séparée, classes de stockage et makefile cours 6 - compilation séparée, classes de stockage et makefile G. Bianchi, G. Blin, A. Bugeau, S. Gueorguieva, R. Uricaru 2015-2016 Programmation 1 - uf-info.ue.prog1@diff.u-bordeaux.fr la programmation

Plus en détail

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

Plus en détail

Informatique. Programmation en Python.

Informatique. Programmation en Python. BCPST 1 B 13 septembre 2015 Informatique. Programmation en Python. Ce document est un support de cours, il vous permet d avoir sa structure et ses éléments les plus importants. Au cours des séances en

Plus en détail

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2010-2011 S. Kramm (IUT Rouen) MCII1 - Cours 3 2010-2011 1 / 47 Sommaire 1 Rappels de C et définitions

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

Langages et concepts de programmation

Langages et concepts de programmation Langages et concepts de programmation Séances 3 et 4 Tri d un fichier de voitures Une correction possible 1 Le sujet On dispose d un fichier contenant des informations sur des voitures d occasion : le

Plus en détail

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte:

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte: PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, Tableaux, opérateurs Entrées sorties de base Structures de contrôle Algorithmes de recherche Algorithmes de

Plus en détail

Introduction au langage C++

Introduction au langage C++ Introduction au langage C++ D après les notes d introductives au C++ de Stéphane Menozzi http://www.proba.jussieu.fr/~menozzi/ Maxime Pallud IMACS/X-TEC Bat 404 Tel: 01 69 33 46 86 Mail: pallud@imacs.polytechnique.fr

Plus en détail

Programmer avec Xcas : version 0.8.6 et 0.9

Programmer avec Xcas : version 0.8.6 et 0.9 Programmer avec Xcas : version 0.8.6 et 0.9 I. L environnement de travail de Xcas Xcas permet d écrire des programmes, comme n importe quel langage de programmation. C est un langage fonctionnel. L argument

Plus en détail

Cours Visual Basic URCA

Cours Visual Basic URCA Cours Visual Basic URCA Sommaire Introduction à la programmation VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Introduction à la programmation Qu est-ce que la programmation? Séquences

Plus en détail

INF145 Programmation avancée et langage C MOTS RÉSERVÉS ET INSTRUCTIONS AU PRÉPROCESSEUR

INF145 Programmation avancée et langage C MOTS RÉSERVÉS ET INSTRUCTIONS AU PRÉPROCESSEUR Université du Québec (UQ) École de technologie supérieure Service des enseignements généraux Local B-2500-396-8938 Site Internet : http://www.seg.etsmtl.ca/inf115/ INF145 Programmation avancée et langage

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Procédure. Introduction au langage C. Cours 3. Procédures. Retour au PGCD PGCD / 2. Version 2. Comment calculer le PGCD de trois nombres?

Procédure. Introduction au langage C. Cours 3. Procédures. Retour au PGCD PGCD / 2. Version 2. Comment calculer le PGCD de trois nombres? Cours C-3 1 Cours C-3 2 Procédure Introduction au langage C Cours 3 Procédures Jean-Jacques Girardot / Marc Roelens Septembre 2007 Construction du langage qui permet de désigner par un nom une portion

Plus en détail

Le prototype de la fonction main()

Le prototype de la fonction main() Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme

Plus en détail

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation Chapitre 2 Langage C 2.1 Le langage C, un langage non interprété Le C est un langage de programmation comme il en existe beaucoup d autres (C++, Fortran, Python, Matlab, IDL, ADA...). Il existe deux grandes

Plus en détail

Le langage C. Université de la Méditerranée Faculté des Sciences de Luminy. Henri Garreta Département d Informatique - LIF

Le langage C. Université de la Méditerranée Faculté des Sciences de Luminy. Henri Garreta Département d Informatique - LIF Université de la Méditerranée Faculté des Sciences de Luminy Le langage C Licences Maths & Informatique Master Mathématiques Master C.C.I. Henri Garreta Département d Informatique - LIF TABLE DES MATIÈRES

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Programmation en Langage C/C++ par Sylvain Ferey. pour le Forum des Programmeurs Francophones

Programmation en Langage C/C++ par Sylvain Ferey. pour le Forum des Programmeurs Francophones Programmation en Langage C/C++ par Sylvain Ferey pour le Tables des matières Introduction... 5 Réalisation de notre premier programme C... 6 Les types du C / C++... 9 Le type caractère...9 Un signe de

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Programmation C++ Le langage impératif. Stéphane Vialette. 12 novembre 2012. LIGM, Université Paris-Est Marne-la-Vallée

Programmation C++ Le langage impératif. Stéphane Vialette. 12 novembre 2012. LIGM, Université Paris-Est Marne-la-Vallée Programmation C++ Le langage impératif Stéphane Vialette LIGM, Université Paris-Est Marne-la-Vallée 12 novembre 2012 Stéphane Vialette (LIGM UPEMLV) Programmation C++ 12 novembre 2012 1 / 67 C++ : chronologie

Plus en détail

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Olivier BOEBION Mars 2004 1 Les expressions conditionnelles et les structures de contrôle 1.1 La commande test La commande interne

Plus en détail

Cours d informatique. 1 ère année 2014 2015

Cours d informatique. 1 ère année 2014 2015 Cours d informatique en Langage C è 1 ère année 2014 2015 L informatique à l IOGS 1A : Langage C : apprentissage d un langage de programmation structuré 3 séances Matlab : analyse numérique 2A : Langage

Plus en détail

} 7 Variables (composantes)

} 7 Variables (composantes) Chapitre 4 Tableaux Jusqu ici, nous avons employé les variables pour stocker les valeurs individuelles de types primitifs : une variable de type int pour stocker un entier, une variable de type boolean

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2014-2015 (1ere session) durée 3h Tous documents et calculatrices autorisés. Répondez aux questions sur une copie séparée Le sujet comporte 8 pages

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

Cours C++ Lorsque je lance Dev C++, il apparaître l'écran ci-contre.

Cours C++ Lorsque je lance Dev C++, il apparaître l'écran ci-contre. Cours C++ Définition : Le langage C est un langage de programmation inventé par MM. Kernighan et Ritchie au début des années 70. Au début des années 90, Bjarne Stroustrup fait évoluer le langage vers le

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2)

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) Département de génie informatique et génie logiciel Hiver 2014 Exemple 1 : Espace virtuel d un processus Où seront stockées les données des variables

Plus en détail

Les fonctions et les procédures en C

Les fonctions et les procédures en C Les fonctions et les procédures en C Séance 6 de l'ue «introduction à la programmation» Bruno Bouzy bruno.bouzy@parisdescartes.fr Fonctions et procédures Fonction, déclaration, définition, utilisation

Plus en détail

liblapin Documentation

liblapin Documentation liblapin Documentation Version 1.5 The liblapin Hackers 27 November 2015 Table des matières 1 Introduction 1 1.1 Exemples................................................. 1 2 Installation 3 2.1 Téléchargement.............................................

Plus en détail

Traduction des arbres programmatiques en C

Traduction des arbres programmatiques en C Traduction des arbres programmatiques en C Table des matières 1 Premier exemple : helloworld.c 1 2 Méthode de programmation 2 3 Déclaration de variables 2 4 Structures de contrôle 3 5 Opérateurs C 5 6

Plus en détail

Décomposition d'un programme C

Décomposition d'un programme C Décomposition d'un programme C Un programme C est composé de plusieurs blocs. Chacun d'entre eux ayant un rôle particulier dans une ou plusieurs phases de la compilation ou de l'exécution: Exemple : Inclusions

Plus en détail

Arguments d un programme

Arguments d un programme Arguments d un programme L2 SPI, Bruno Jacob 1 Arguments Quand on appelle un programme dans un environnement UNIX ou MS- DOS, on compose une ligne de commandes de la forme : nom-du-programme argument1

Plus en détail

Programmation Impérative. Le langage C. Structure d un programme

Programmation Impérative. Le langage C. Structure d un programme Programmation Impérative Le langage C Objectifs - Apprentissage programmation C - Structuration en fonctions et modules. - Implémenter différentes structures de données simples : les tableaux, les listes.

Plus en détail

Système et Programmation (en C)

Système et Programmation (en C) Système et Programmation (en C) ENSTA - TC 1ère année François Pessaux U2IS 2015-2016 francois.pessaux @ ensta-paristech.fr Introduction François Pessaux IN102 Système et Programmation (en C) 2/31 But

Plus en détail

Systèmes Informatiques TD 1: langage C entrées/sorties et la fonction main()

Systèmes Informatiques TD 1: langage C entrées/sorties et la fonction main() Systèmes Informatiques TD 1: langage C entrées/sorties et la fonction main() P. Bakowski bako@ieee.org Fonctions printf() et scanf() Les programmes en langages C ont besoin des fonctions qui permettent

Plus en détail

Programmation en langage C

Programmation en langage C Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des

Plus en détail

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot

IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot ESIEE 2011 2012 IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot PARTIE 1: LES FONCTIONS ET LES POINTEURS fichier fonctions.h #ifndef _FONCTION_H_ #define _FONCTION_H_ #include

Plus en détail

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 Ce qu il faut rendre : A la fin du TP il faudra archiver et compresser l ensemble de votre travail (y compris le rapport avec vos noms) avec la commande

Plus en détail

Programmation Répartie - Langage C

Programmation Répartie - Langage C frederic.guinand@univ-lehavre.fr IUT Le Havre Plan les bases quelques rappels de langage C les structures de contrôle conditionnelles les structures de contrôle itératives les tableaux les pointeurs les

Plus en détail

Programmation système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

Plus en détail