Langage C.:: Révision ::.

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Introduction au langage C

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

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

Algorithmique et Programmation, IMA

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

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

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)

Rappels Entrées -Sorties

Java Licence Professionnelle CISII,

Recherche dans un tableau

Le langage C. Séance n 4

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

Les structures. Chapitre 3

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Programmation en langage C

Les chaînes de caractères

Claude Delannoy. 3 e édition C++

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)


EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Programme Compte bancaire (code)

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

Programmation système I Les entrées/sorties

Le prototype de la fonction main()

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

Programmation Classique en langage C

I. Introduction aux fonctions : les fonctions standards

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Cours d Algorithmique et de Langage C v 3.0

Initiation à la programmation en Python

PROJET ALGORITHMIQUE ET PROGRAMMATION II

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Examen d informatique première session 2004

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Chap III : Les tableaux

Chapitre 1 : La gestion dynamique de la mémoire

Programmation en Java IUT GEII (MC-II1) 1

Initiation. àl algorithmique et à la programmation. en C

Programmation système de commandes en C

INF 321 : mémento de la syntaxe de Java

MINIMUM. connaissances nécessaires à la programmation des microcontrôleurs PIC18 en langage C (une introduction au langage c A.N.S.

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique

Travaux Dirigés n 1 : chaînes de caractères

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Langage Éric Guérin 5 octobre 2010

3IS - Système d'exploitation linux - Programmation système

TD3: tableaux avancées, première classe et chaînes

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

V- Manipulations de nombres en binaire

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

INITIATION A LA PROGRAMMATION

Département Automatisation et Informatisation Année Programmation en C++ Institut des Sciences et Techniques de l Ingénieur d Angers

Gestion de la mémoire

Introduction à l algorithmique et à la programmation M1102 CM n 3

La programmation des PIC en C. Les fonctions, les interruptions.

Outils pour la pratique

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Les processus légers : threads. Système L3, /31

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

SUPPORT DE COURS. Langage C

UE Programmation Impérative Licence 2ème Année

Plan du cours. Historique du langage Nouveautés de Java 7

Généralités sur le Langage Java et éléments syntaxiques.

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Programmer en JAVA. par Tama

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Programmation C++ (débutant)/instructions for, while et do...while

Programmation en C. École Nationale Supérieure de Techniques Avancées. Pierre-Alain Fouque et David Pointcheval

Le Langage C Licence Professionnelle Qualité Logiciel Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2011/2012

Le Langage C++ Patrick TRAU - ULP IPST version du 02/10/05

1. Structure d'un programme FORTRAN 95

BTS IRIS Cours et Travaux Pratiques. Programmation C. A. Lebret, TSIRIS, Lycée Diderot, 1995/06. en conformité avec le référentiel du BTS IRIS

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Introduction au Langage de Programmation C

Utilisation d objets : String et ArrayList

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Programmation impérative

Chapitre 10. Les interfaces Comparable et Comparator 1

Programmation C. J.-F. Lalande. 15 novembre 2012

Analyse de sécurité de logiciels système par typage statique

Cours Informatique Master STEP

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

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

Lier Erlang avec d autres langages de programmation

Le langage C. Introduction, guide de reference

#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; };

Langage Java. Classe de première SI

Cours Programmation Système

Les fichiers. Chapitre 4

INTRODUCTION À LA PROGRAMMATION PRATIQUE DU LANGAGE C. M. Le Gonidec

Chapitre 2. Classes et objets

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Transcription:

Langage C.:: Révision ::. 1 Déclarations de fonctions...1 Déclarations de variables...1 Appels de fonctions...2 Formats...2 Boucles...2 Instructions conditionnelles...4 Trouvez les erreurs...5 Résultats de fonctions...5 Déclarations de fonctions Soit le prototype de la fonction f1 suivant : char f1(char *c, float b, int d[]); Cochez les affirmations justes : 1. la fonction f1 reçoit trois arguments respectivement de type caractère, de type nombre flottant, de type nombre entier et retourne un caractère. 2. la fonction f1 reçoit deux arguments respectivement de type caractère, de type nombre flottant et retourne un tableau d'entiers. 3. la fonction f1 reçoit trois arguments respectivement de type chaîne de caractère, de type nombre flottant, de type tableau d'entiers et retourne un caractère. 4. la fonction f1 reçoit un argument de type caractère et retourne une chaîne de caractère, un nombre flottant et un tableau entier. 5. la fonction f1 reçoit trois arguments respectivement de type pointeur sur un caractère, de type nombre flottant, de type tableau d'entiers et retourne un caractère. 6. la fonction f1 reçoit un argument de type caractère et retourne un caractère, un nombre flottant et un entier. 7. la fonction f1 ne retourne rien. Déclarations de variables Parmi les déclarations suivantes, lesquelles sont syntaxiquement correctes : 1. int i, int k ; 2. float f, g, h ; 3. unsigned float u ; 4. short int s = 0, d ; 5. long float l ; 6. long char c ;

On souhaite enregistrer dans un tableau les altitudes (en mètres) auxquelles culminent les principaux monts d'un pays. Quel est le type le plus approprié, c'est-à-dire permettant d'enregistrer l'information souhaitée en perdant le moins de place. Nous rappelons que le mont Everest culmine à 8848 mètres. 1. int altitude[] ; 2. short int altitude[] ; 3. float altitude[] ; 4. unsigned int altitude[] ; 5. unsigned short int altitude[] ; 6. unsigned float altitude[] ; 2 Appels de fonctions Soit le prototype de la fonction f3 suivant : int f3(char *c, float d); Cochez les appels de cette fonction qui ne produisent pas d erreur 1. char b ; int c ; c=f3(&b,3.5) ; 2. char b ; int c ; c=f3(&c,3.5) ; 3. char b ; float d=3.2 ; int c ; c=f3('a',d) ; 4. char b ; float d=3.2 ; int c ; c=f3(&b,d) ; Formats Parmi les instructions suivantes, lesquelles sont correctes 1. printf("sur %d ans, au taux %.2f, la plus-value est %3f", 12, 0.75, 250*1.12/13) ; 2. printf("la %dième lettre de l'alphabet est %f\n", 3, 'c') ; 3. printf("%d carottes et %d choux font... une bonne soupe!\n", 12, 3, 4) ; 4. printf("%f fois rien, c'est mieux que %d %c\n", 3, 0, 'F') ; 5. printf("%c %i %s\n", 'g', 6%4, "amours") ; Boucles Parmi les programmes suivants, lesquels affichent toutes les lettres minuscules de l'alphabet (dans l'ordre) sur une ligne? Nous rappelons que 0x61 correspond au code ASCII du caractère 'a'. 1. Première solution : char b; for (b='a';b<='z';b++) printf("%c",b); 2. Deuxième solution : char b; for (b='a';b<='z';b++) printf("%d",b); 3. Troisième solution :

4. Quatrième solution : char b=0x61; while (b<='z') { printf("%c",b); b++; char b=0x61; while (b<='z') printf("%c",b); b++; Vinci 3 On souhaite écrire une fonction moyenne qui prend en paramètre un tableau d'entiers tab de taille taille et qui retourne la moyenne des valeurs du tableau. Le prototype de la fonction moyenne est le suivant : float moyenne(float tab[], int taille) Parmi les blocs d'instructions suivants, lesquels conviennent pour la fonction moyenne? 1. Première solution : for(i=0;i<=taille;i++) { somme = somme+tab[i]; 2. Deuxième solution : float somme = 0.0, i = 0; while (i<taille) { somme = somme+tab[i]; 3. Troisième solution : int i = 0; while (i<taille) { somme + =tab[i]; 4. Quatrième solution : somme += tab[i];

5. Cinquième solution : 6. Sixième solution : 7. Septième solution : somme+=tab[i]; int i = 0; do { somme+=tab[i]; while (i<taille); float somme; somme += tab[i]; 4 Instructions conditionnelles Soit le programme suivant : #include<stdio.h> int f6(int T[], int taille) { int max=t[0]; int imax=0; for (i=1;i<taille;i++) { if (T[i] > max) { imax=i; max=t[i]; return imax; int T[6]={0,1,7,3,4,5; printf("%d\n",t[f6(t,6)]); Que retourne la fonction f6? 1. La valeur maximum contenue dans le tableau T. 2. La valeur minimum contenue dans le tableau T. 3. L'indice de la case qui suit la première valeur maximum du tableau. 4. L'indice de la première case contenant une valeur maximum du tableau. 5. Le nombre d'éléments du tableau.

6. Le nombre d'éléments supérieurs à zéro contenus dans le tableau. Qu'affiche ce programme? 1 2 3 4 6 7 8 9 rien 5 Trouvez les erreurs On suppose qu'il existe une fonction moyenne qui retourne la moyenne des valeurs d'un tableau de flottants : /* Moyenne retourne la moyenne des valeurs du tableau "tab" de taille "taille" */ float moyenne(float tab[], int taille) {... Nous voudrions écrire un programme qui affiche toutes les notes supérieures à la moyenne. Le programme suivant contient des erreurs. Cochez uniquement les lignes contenant une erreur : 1. #include <stdio.h>; 2. int main(void) { 3. float tab [7] = {12.5, 14.0, 16.5, 9.0, 11.5, 13.0, 8.5; 4. int m; 5. for(i=0;i<7;i++) { 6. m=moyenne(tab); 7. if (m<tab[i]) { 8. printf("%d\n",tab[i]); 9. 10. 11. return 0; 12. Résultats de fonctions Considérons la fonctions suivante : int recherche(int tab[], int taille, int valeur) { if ((taille<1) (tab[0]!=0)) { return -1; if (tab[i] == valeur) { return i; if (i= =7) {

return -5; return 0; Supposons que l'on a déclare les variables suivantes : int tableau1[6] = {0,1,2,3,4,5; int tableau2[10] = {0,0,0,0,0,1,1,1,1,1; int tableau3[10] = {1,-1,2,-2,3,-3,4,-4,5,-5; Quel est le résultat de l'appel recherche(tableau1,4,4)? -5-1 4 Quel est le résultat de l'appel recherche(tableau2,10,1)? -5-1 1 Quel est le résultat de l'appel recherche(tableau3,10,5) (une seule réponse possible)? -5-1 8 6