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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcription

1 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 fichier est aussi appelé fichier source. - Ce fichier source contient une fonction main(). Cette fonction doit toujours être déclarée de type int et retourner un int via l instruction return. - La compilation du fichier source s effectue par la commande gcc mais avec différentes options. Nous présentons quelques unes ci-dessous : o Cas 1 : gcc nomsource.c Un fichier a.out est généré par défaut qui correspond à la forme exécutable du programme nomsource.c. o Cas 2 : gcc o nomexecutable c nomsource.c L exécutable généré porte le nom qui suit l option o, ici nomexecutable. Il est préférable de ne pas mettre d extension à l exécutable. L option -c permet d indiquer le fichier.c à compiler. o Cas 3 : gcc o nomexecutable W -Wall nomsource.c Les options W et -Wall permettent l affichage d un maximum de messages d erreurs à la compilation. Il arrive parfois que le programme compile, bien qu il contienne des erreurs. Il est donc nécessaire de corriger ces erreurs et de n exécuter le programme que lorsque ce dernier est exempt d erreurs. Dans nos séances de TP nous compilerons nos programmes avec cette dernière commande. - L exécution du programme s effectue de la manière suivante :./nomexecutable 1

2 Premier programme C «Hello World» 1. Ecrire le programme toto.c du cours. a) Compilez-le avec la commande : gcc toto.c. regardez les fichiers générés (commande ls du Shell). Que voyez-vous? b) Maintenant, c) Supprimer le «;» après le printf(). Sauvegardez, puis compilez. Que se passe-t-il? Le fichier binaire a-t-il été généré? remettez les «;» après le printf(), sauvegardez. La fonction main d) Ecrire une seconde fonction main() à la suite de la première de façon à ce qu elle contienne un printf(«goodbye world!»). Compilez et exécutez. Qu observez-vous? 2. Que fait le programme ci-dessous? a) Ecrivez, sauvegardez puis compilez ce programme. b) Exécutez le programme de manière à afficher la liste suivante : 3 b e Les commentaires 3. Dans un des programmes précédemment écrit, ajoutez un commentaire sur plusieurs lignes contenant votre nom, prénom et date. 4. Ajoutez dans ce commentaire les caractères «*/», compilez. Qu observezvous? 2

3 5. Essayez maintenant le commentaire suivant : Int /* type entier */ n /* une variable */,/*----*/p/* une autre variable */ ; Comment réagit le compilateur lors de la compilation? 6. Comment le compilateur va-t-il traiter cette instruction? printf(«hello /* mon commentaire ici */ World!») ; Etapes de la compilation : Gcc effectue quatre étapes pour produire l'exécutable : gcc toto.c preprocessing compiling assembling linking toto.c toto.i toto.s toto.o a.out o passage au préprocesseur (preprocessing) : analyse le programme C et lui fait subir certaines transformations : - Suppression des commentaires - Inclusion des fichiers.h dans le code source. - Traitement des directives de compilation (#define, #elif, #else, #endif, #error, #if, #ifdef, #ifndef, #include, #line, #pragma, undef). - Traitement des erreurs de syntaxe. Il est possible de forcer le compilateur pour qu il n effectue que cette étape. Il génère alors un fichier intermédiaire d extension.i. Voici l option de compilation : $ gcc E foo.c > foo.i o compilation en langage assembleur (compiling) : le code C est transformé en langage assembleur. Pour voir le code assembleur de votre programme vous pouvez utiliser l option S de gcc. o conversion du langage assembleur en code machine binaire (assembling) : le code assembleur qui est lisible par un humain, est transformé en binaire pour être exécuté par la machine (le processeur). Générer ce format de fichier, est utile lorsqu on compile des programmes modulaires. Seuls les binaires des sources ayant été modifiés sont de nouveau générés à la compilation. Vous pouvez utiliser l option c avec gcc pour générer ce format. Pour le rendre visible utilisez la commande od x toto.o (od pour Octal Dump et -x pour hexadecimal). 3

4 o édition des liens (linking) : à l étape précédente, seuls les prototypes de fonctions sont chargés. Des liens entre ces prototypes et leurs sources (les.c correspondant aux librairies.h) doivent être faits. Une fois les liens établis, le binaire devient exécutable. Ces fichiers intermédiaires ne sont pas générés à la compilation, seul le fichier a.out nommé exécutable est généré. Mais vous aurez à utilisez les fichiers objets.o pour la compilation modulaire avec les makefile en Langage impératif 2. //!\\ Attention un exécutable ne peut fonctionner sur un autre système que celui où il é été généré. Par exemple un programme compilé sous Linux ne peut fonctionner sous Sun ou Windows. Vous devez recompiler votre programme sous le nouveau système pour qu il puisse y être exécuté. 7. Reprenons le programme toto.c. a) Compiler le programme de façon à générer les fichiers intermédiaires.i,.s,.o. b) Copiez le programme en un nouveau fichier nommé exo7.c. c) Commentez la directive d inclusion dans exo7.c et générez le fichier exo7.i. d) Comparez les deux fichiers toto.i et exo7.i. La modularité 8. Créez les fichiers suivants : hello.c main.c hello.h a) Compilez avec la commande gcc suivante : i. $ gcc W Wall hello.c main.c o main b) Exécutez le programme. Les variables 9. Dans un programme, on déclare une variable x de type int et on lui affecte la valeur 5. a) Qu'affiche la suite d'instructions suivante? printf ("Je sais que ") ; printf ("%d", x ) ; printf (" est la valeur de x") ; printf ("\n") ; b) Réécrivez ces quatre printf en un seul. c) Modifiez la fonction main() de façon à passer la valeur affectée à x soit passée en paramètre d entrée au programme. 4

5 10. Ecrivez le programme suivant : int a, b ; printf("%d, %d\n", a, b) ; a) Compilez. Qu observez-vous? b) Déclarer la variable c de type char. Et introduisez-la dans le printf (). Sauvegardez, compilez, exécutez. Qu observez-vous? c) Que fait le compilateur à votre avis? 11. Ecrivez un programme qui calcule la moyenne de deux notes (utilisez le type float). 12. Lorsque, par exemple, une variable est déclarée de type float et que la force à être de type int, cela s appelle un cast. Le printf() effectue des cast implicites. Reprenez le programme de l exercice 11 et retourner la moyenne des deux notes sous forme d entier. 5

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

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

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

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

intro aux SE et mise en œuvre sous UNIX

intro aux SE et mise en œuvre sous UNIX TP: Programmer sous GNU/LINUX Ce premier TP introductif à la programmation en C va vous familiariser avec : la syntaxe du langage ; la mise en oeuvre du compilateur ; le préprocesseur cpp ; l'utilisation

Plus en détail

Introduction au langage C

Introduction au langage C Organisation du cours Introduction au langage C Premier cours Notions générales Aurélien Max aurelien.max@limsi.fr 12 séances de cours de 1h: mercredi 16-17h, salle A203 12 séances de TD de 1h: mercredi

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

Laboratoire MSSMat. Formation Makefiles. GNU Make, niveau débutant. A.-S. Mouronval. Mars 2005

Laboratoire MSSMat. Formation Makefiles. GNU Make, niveau débutant. A.-S. Mouronval. Mars 2005 Laboratoire MSSMat Formation Makefiles GNU Make, niveau débutant A.-S. Mouronval Mars 2005 1 A quoi sert make? Utilitaire permettant d'exécuter des instructions pour construire une application Permet d'optimiser

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

Les outils de développement en langage C++

Les outils de développement en langage C++ Les outils de développement en langage C++ Sommaire Les étapes de réalisation d'un exécutable Le pré processeur La création d'un exécutable Les étapes de réalisation d'un exécutable Traitement des fichiers

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

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

Plus en détail

Compilation avec Make

Compilation avec Make Compilation avec Make Laurent Réveillère Enseirb-Matmeca / IPB Département Télécommunications Laurent.reveillere@ipb.fr http://http://reveille.vvv.enseirb-matmeca.fr/ Objectifs Automatiser la reconstruction

Plus en détail

Notes sur la compilation séparée

Notes sur la compilation séparée Annexe B Notes sur la compilation séparée Ce document est probablement imparfait, mais il devrait déjà donner une introduction raisonnable au sujet traité... B.1 Introduction La compilation séparée 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

Formation Unix/Linux (9) Introduction à la programmation C sous Unix

Formation Unix/Linux (9) Introduction à la programmation C sous Unix Formation Unix/Linux (9) Introduction à la programmation C sous Unix Olivier BOEBION Mars 2004 1 Le langage C Introduire un langage de développement dans des travaux pratiques sur un système d exploitation

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

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

Initiation au C cours n 9

Initiation au C cours n 9 Initiation au C cours n 9 Antoine Miné École normale supérieure 26 avril 2007 Plan du cours compilation séparée, modularité, bibliothèques.a et.so, recompilation automatique avec make. Déroulement de la

Plus en détail

Programmation en C sous Unix

Programmation en C sous Unix Nicolas Schodet nico@fairesuivre.fr Ce document, conçus pour le TP Efrei-Linux du Mercredi 16 Janvier 2002, initie à la programmation en C sous Unix. Il n est pas destinée à l apprentissage du langage

Plus en détail

Les logins et mots de passe sont les mêmes que l année dernière.

Les logins et mots de passe sont les mêmes que l année dernière. Travaux pratiques 01 2015 2016 1 Poste de travail 1.1 Connection Les logins et mots de passe sont les mêmes que l année dernière. 1.2 Le terminal Pour ouvrir un terminal, allez dans le menu en bas à gauche

Plus en détail

Processus de compilation Préprocesseur Compilation Assemblage Edition de liens. ASR Période 2. Sylvain Jubertie. Département Informatique IUT Orléans

Processus de compilation Préprocesseur Compilation Assemblage Edition de liens. ASR Période 2. Sylvain Jubertie. Département Informatique IUT Orléans ASR Période 2 Sylvain Jubertie Département Informatique IUT Orléans 1 Processus de compilation 2 Préprocesseur 3 Compilation 4 Assemblage 5 Edition de liens Prérequis Prérequis langage C langage assembleur

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

Cycle de vie d un programme

Cycle de vie d un programme Cycle de vie d un programme Ensimag 1A - Préparation au Projet C Année scolaire 2009 2010 Les objectifs de cette séance sont : de comprendre les différentes étapes de la chaîne de compilation d un programme

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

MEUTER Cédric / LEVY Eythan. Université Libre de Bruxelles 23/09/2005

MEUTER Cédric / LEVY Eythan. Université Libre de Bruxelles 23/09/2005 Développement en C sous LINUX MEUTER Cédric / LEVY Eythan Université Libre de Bruxelles 23/09/2005 Développement en C sous LINUX p. 1 Comment écrire son programme? Principaux éditeurs : XEmacs Emacs vi

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

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

Avant-propos. 1. Introduction

Avant-propos. 1. Introduction Avant-propos Les sections ou sous-sections marquées d un astérisque (*) ne font pas partie de la matière du cours IFT1969. Elles sont destinées à définir complètement le langage C (ANSI-C99) et à en préciser

Plus en détail

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

3ETI, Entrainement Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (entrainement) durée 1h20 Tous documents et calculatrices autorisés. Le sujet comporte 5 pages Le temps approximatif ainsi que le barème

Plus en détail

1.1- Compiler et exécuter un premier programme en C++

1.1- Compiler et exécuter un premier programme en C++ 1.1- Compiler et exécuter un premier programme en C++ 1- Un premier programme en C++ 2- Compilation et exécution 1- Un premier programme en C++ Le premier programme que propose le cours consiste à afficher

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : 1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : La procédure d installation démarre. La fenêtre suivante vous indique

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 en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers Programmation en Python - Cours 2 : Premiers programmes Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Utilisation en mode interactif Ecriture d un programme

Plus en détail

Introduction à Make et aux fonctions pseudo-aléatoires

Introduction à Make et aux fonctions pseudo-aléatoires Introduction à Make et aux fonctions pseudo-aléatoires 1 Introduction à Make Support de TP C Make est un outil de programmation, dont une version est disponible pour les systèmes Unix sous la licence GNU

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

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

TP introductif de pratique du C

TP introductif de pratique du C Licence d informatique Module de Pratique du C TP introductif de pratique du C Philippe MARQUET Révision d octobre 2007 Ce premier TP introductif à la programmation en C va vous familiariser avec : la

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

Aide mémoire Makefile

Aide mémoire Makefile Aide mémoire Makefile Unix/Linux Commande : make Fichiers : makefile ou Makefile (dans cet ordre) www.gnu.org/software/make/manual : LA référence Table des matières I À quoi sert un Makefile et comment

Plus en détail

UE1 - Langage C Fiche TP1

UE1 - Langage C Fiche TP1 1 UE1 - Langage C Fiche TP1 Objectifs 1. Connaître quelques commandes linux 2. Savoir manipuler les outils de compilation tels que gcc, make 3. Ecrire des algorithmes, les coder en C, et les exécuter 1.

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

L utilitaire "make" et son inséparable Makefile

L utilitaire make et son inséparable Makefile L utilitaire "make" et son inséparable Makefile Compilation et exécution Programme source Analyse lexicale (scaning) Optimisation du code Programme abstrait (optimisé) Génération du code Séquence d unités

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

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

Cours Langage C/C++ Programmation modulaire

Cours Langage C/C++ Programmation modulaire Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation

Plus en détail

Algorithmique et Structures de Données

Algorithmique et Structures de Données Plan du cours Algorithmique et Structures de Données Akkouche Samir : E-mail : samir.akkouche@liris.cnrs.fr Knibbe Carole: E-mail : carole.knibbe@univ-lyon1.fr 1. Rappels 2. Tableaux dynamiques a. Introduction

Plus en détail

INF601 : Algorithme et Structure de données. Avant propos

INF601 : Algorithme et Structure de données. Avant propos Avant propos Cours = Introduction aux Types de Données Abstraits (TDA) Chaque TDA est structuré en un ensemble de fichiers Compilation séparée pour faire les programmes Outils : make en C ant en java...

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

Atelier 0: Initiation aux outils de développement C sous Linux

Atelier 0: Initiation aux outils de développement C sous Linux 1)Objectifs: Atelier 0: Initiation aux outils de développement C sous Linux S'initier à l'utilisation de quelques outils de développement avec le langage C sous Linux. Développer en C sous Linux à partir

Plus en détail

Informatique TP1 : Découverte de Python CPP 1A

Informatique TP1 : Découverte de Python CPP 1A Informatique TP1 : Découverte de Python CPP 1A Romain Casati, Wafa Johal, Frederic Devernay, Matthieu Moy Avril - juin 2014 1 Découverte de l IDE : IDLE IDLE est un environnement de développement (Integrated

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

Java & Algorithme Corrigé du test final

Java & Algorithme Corrigé du test final Java & Algorithme Corrigé du test final 1 QUESTIONS EN JAVA Chaque question est sur un point, sauf certaines sur deux points. En tout, le QCM est noté sur 24 : la note est divisée par 6 pour revenir entre

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

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

TD2 - Ecriture binaire/héxadécimale d une entier. PCSI - Lycée Thiers

TD2 - Ecriture binaire/héxadécimale d une entier. PCSI - Lycée Thiers TD2 - Ecriture binaire/héxadécimale d une entier Ecriture d un nombre dans une base Ecriture d un nombre en base m > 1 Ecriture d un nombre en base 2 Ecriture d un nombre en base 16 Corrigé Corrigé Ecriture

Plus en détail

Ecrire un Makefile, sans douleur et en quelques leçons.

Ecrire un Makefile, sans douleur et en quelques leçons. Ecrire un Makefile, sans douleur et en quelques leçons. M. Billaud Département Informatique Institut Universitaire de Technologie Université Bordeaux 1 Mai 2010 Résumé Ce document montre comment écrire

Plus en détail

Partiel QCM - Langage C (LC4)

Partiel QCM - Langage C (LC4) Partiel QCM - Langage C (LC4) 1er avril 2009 Durée: 1h45 - Documents interdits Pour chaque question, il y a exactement une bonne réponse. Le tableau où vous devez répondre est fourni séparément. +1 pour

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

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

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

Tour d horizon de la Partie I

Tour d horizon de la Partie I Tour d horizon de la Partie I Avant de commencer votre apprentissage du langage C, un compilateur et un éditeur sont nécessaires. Si vous n avez ni l un ni l autre, vous pouvez quand même utiliser ce livre

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

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

Environnement de développement / Projet de programmation 1 (J1INPW01) Compilation

Environnement de développement / Projet de programmation 1 (J1INPW01) Compilation Environnement de développement / Projet de programmation 1 (J1INPW01) Compilation Plan gcc (compilation et compilation séparée) Make (Makefile) Makefile générique 2 Compilation simple #include

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

Connaissance du langage C ANSI. 1 heures Ecrire, simuler et débugger un programme C

Connaissance du langage C ANSI. 1 heures Ecrire, simuler et débugger un programme C 0 Présentation du TP : Pré-requis : Durée estimée : Objectifs : Connaissance du langage C ANSI. 1 heures Ecrire, simuler et débugger un programme C Ce TP vous permettra d appréhender les outils de débogage

Plus en détail

Université Paris 7 IUP2 Année 2004-2005. Structures de contrôle. Exercice 1 Ecrire et sauvegarder le programme suivant sous le nom premiers_pas.

Université Paris 7 IUP2 Année 2004-2005. Structures de contrôle. Exercice 1 Ecrire et sauvegarder le programme suivant sous le nom premiers_pas. Université Paris 7 C IUP2 Année 2004-2005 TD n 1 - Correction Structures de contrôle Exercice 1 Ecrire et sauvegarder le programme suivant sous le nom premiers_pas.c : int main(void) { int resultat ; int

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

Travaux Pratiques en Dev C++ (1 GIM)

Travaux Pratiques en Dev C++ (1 GIM) Université Sidi Mohammed Ben Abdellah École Supérieure de Technologie de Fès Filière Génie Industriel et Maintenance Travaux Pratiques en Dev C++ (1 GIM) Mr KHATORY TABLE DE MATIERES PREMIERS PAS EN DEV

Plus en détail

Tutorial: Compiler un programme en C++

Tutorial: Compiler un programme en C++ Tutorial: Compiler un programme en C++ Ce tutorial propose de reprendre dans deux cas de figures (un unique fichier source, et plusieurs fichiers sources en c++11 différentes approches permettant de compiler

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

Logiciels de Base. 2ème partie: Logiciels de base. Cours 1ère année informatique, semestre 1. Najib Tounsi

Logiciels de Base. 2ème partie: Logiciels de base. Cours 1ère année informatique, semestre 1. Najib Tounsi Logiciels de Base 2ème partie: Logiciels de base Cours 1ère année informatique, semestre 1. Najib Tounsi Lien permanent: http://www.emi.ac.ma/~ntounsi/cours/logbase/logicielsdebase-2.html 1. Les produits

Plus en détail

Introduction aux exercices en Java

Introduction aux exercices en Java Introduction aux exercices en Java Avant de commencer les séries proprement dites, nous allons voir quelques informations utiles concernant le langage de programmation principal de ce cours d'informatique

Plus en détail

Faire ses tps de langage C sous Linux avec Ubuntu

Faire ses tps de langage C sous Linux avec Ubuntu Faire ses tps de langage C sous Linux avec Ubuntu Télécharger l'image de la distribution à partir de www.ubuntu-fr.org. Pour la plupart des pc le fichier ubuntu-10.04-desktop-i386.iso (environ 700Mo) convient.

Plus en détail

Algorithmique et Programmation 2 LMI 1 Semestre 2 Cours 2 La séquence et l alternative

Algorithmique et Programmation 2 LMI 1 Semestre 2 Cours 2 La séquence et l alternative Algorithmique et Programmation 2 LMI 1 Semestre 2 Cours 2 La séquence et l alternative 2 janvier 2009 1 Les structures de contrôle En Scheme, le programmation se fait par composition de fonctions, et même

Plus en détail

Epidémiologie, l urne de Pólya, partie II

Epidémiologie, l urne de Pólya, partie II Epidémiologie, l urne de Pólya, partie II Se mettre par groupe de deux. Traiter la fiche dans l ordre. Un compte de rendu de TP devra être rendu avec les réponses écrites aux questions, les recherches

Plus en détail

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.

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. Le langage C Centrale Réseaux Mardi 15 décembre 2009 Sommaire 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),

Plus en détail

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau Plan Tableaux Université de Nice - Sophia Antipolis Richard Grin Version 1.0.4 25/11/10 Définition Déclaration d un tableau Création d un tableau Utilisation d un dun tableau Tableau des paramètres de

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

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

Linux et Compilation

Linux et Compilation Département Informatique Laboratoires de système d exploitation Introduction Linux et Compilation par Louis SWINNEN Ce document est disponible sous licence Creative Commons indiquant qu il peut être reproduit,

Plus en détail

TP 2 et 3 Introduction à C

TP 2 et 3 Introduction à C TP 2 et 3 Introduction à C Partie A : prise en main de gcc et makefile L'objectif de cette partie est de vous familiariser avec le langage C et sa chaîne de développement basée sur le compilateur gcc,

Plus en détail

Travaux Dirigés Initiation à la programmation en C

Travaux Dirigés Initiation à la programmation en C Travaux Dirigés Initiation à la programmation en C Sylvain MONTAGNY sylvain.montagny@univ-savoie.fr Bâtiment chablais, bureau 13 04 79 75 86 86 TD1 : Compilation et bases de la programmation TD2 : Les

Plus en détail

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Modularité GCC : 4 millions de lignes de code Noyau

Plus en détail

CTRAVAUX PRATIQUES INTRODUCTION À LA PROGRAMMATION 2EBAC BIOLOGIE - 2 ND QUAD- 2010-2011 TP 0 BELGIQUE 04/366.90.43

CTRAVAUX PRATIQUES INTRODUCTION À LA PROGRAMMATION 2EBAC BIOLOGIE - 2 ND QUAD- 2010-2011 TP 0 BELGIQUE 04/366.90.43 PROFESSEUR CTRAVAUX PRATIQUES INTRODUCTION À LA PROGRAMMATION 2EBAC BIOLOGIE - 2 ND QUAD- 2010-2011 TP 0 PR. PETER SCHLAGHECK BÂT. B5 PHYSIQUE QUANTIQUE STATISTIQUE ALLÉE DU 6 AOÛT 17 4000 LIÈGE 1 BELGIQUE

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

Chaine de compilation. Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies

Chaine de compilation. Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies Chaine de compilation Compilateur Warnings Compilation séparée Précompilateur Makefile Edition de liens et librairies 000 Chaine de compilation Code (C) (=langage humain) Compilateur Fichier executable

Plus en détail

Environnement logiciel

Environnement logiciel Environnement logiciel Programmation C++ : FPMs 1ère Bachelier Les travaux de 1 ère Bachelier se dérouleront sur la suite logicielle Visual Studio 2005 de Microsoft. Ci-après vous trouverez la procédure

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

TD1. La programmation en C sous Unix. ASR4 C sous Unix

TD1. La programmation en C sous Unix. ASR4 C sous Unix ASR4 C sous Unix TD1 La programmation en C sous Unix I U T d ' A m i e n s, d é p a r t e m e n t I n f o r m a t i q u e a n n é e u n i v e r s i t a i r e 2 0 1 0 / 2 0 1 1 A S R 4 Plan A. Préparation

Plus en détail

COURS et TP DE LANGAGE C++

COURS et TP DE LANGAGE C++ COURS et TP DE LANGAGE C++ Chapitre 1 Eléments de langage C++ Joëlle MAILLEFERT joelle.maillefert@iut-cachan.u-psud.fr IUT de CACHAN Département GEII 2 CHAPITRE 1 ELEMENTS DE LANGAGE C++ Les exercices

Plus en détail

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 7 : Structures et Fichiers OBJECTIFS DE LA SÉANCE Deux notions abordées dans ce cours Celle

Plus en détail

Utilisation de make. Chapitre 1. 1.1 make : pour quoi faire? 1.2 Introduction aux makefiles

Utilisation de make. Chapitre 1. 1.1 make : pour quoi faire? 1.2 Introduction aux makefiles Chapitre 1 Utilisation de make 1.1 make : pour quoi faire? make est un programme qui détermine automatiquement quelles parties d un programme doivent être recompilées, et exécute les commandes nécessaires

Plus en détail

Environnement algorithmique et conventions

Environnement algorithmique et conventions 1 Environnement algorithmique et conventions Un algorithme est un maillon de la chaîne de développement d une application. Il est le lien indispensable entre l analyse et le développement final. Ce chapitre

Plus en détail

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

TP réseaux 4 : Installation et configuration d'un serveur Web Apache TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux

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

Chapitre I Langages de programmation et langage C

Chapitre I Langages de programmation et langage C Chapitre I Langages de programmation et langage C un chapitre où l on situe le langage C dans la très nombreuse famille des langages de programmation et où l on écrit son premier programme dans ce langage.

Plus en détail

TP N o 2 - Utilisateurs et droits

TP N o 2 - Utilisateurs et droits IUT de Villetaneuse E. Viennet GTR 2ème année Introduction au Système UNIX 22/09/03 TP N o 2 - Utilisateurs et droits Vous rédigerez un compte rendu, sur lequel vous indiquerez la réponse à chaque question,

Plus en détail