Première S Exercices valeur absolue 2010-2011 1 Exercice 1
Partie 1 : Additionner deux valeurs absolues en utilisant la droite graduée des réels. 1) On considère sur la droite numérique les points A
Présentation des Travaux Dirigés – Introduction à léconomie
Licence 1ère année AES Misashs - Introduction à l'économie. Année 2011-2012 - Semestre 1. 5 rapportant la variation absolue du PIB sur la période au PIB du
Exercices corrigés
1. Affectez les variables temps et distance par les valeurs 6.892 et 19.7. la boucle devra afficher le premier diviseur trouvé et s'interrompre.
Programmation en C – Exercices
Sa taille sera définie par une constante symbolique (macro sans paramètre). 1. Ecrire une fonction qui génère un tableau qui contient les n premières valeurs de
Exercices de mathématiques pour la classe terminale - 2e partie
La première partie propose une analyse didactique des exercices posés au 1. ES-L Pondichéry exercice 3. Énoncé originel. On s'intéresse à la fonction ...
´Eléments de calculs pour létude des fonctions de plusieurs
1.4 Correction des exercices . 3.3.1 Le cas des fonctions d'une seule variable . ... R+ × R+ s'appelle le domaine de définition de la fonction f.
Fascicule dexercices
Exercice 1 : Calculer les dérivées premières des expressions suivantes b) Calculer les incertitudes absolue et relative sur la valeur de Z si f.
STAGE OLYMPIQUE DE GRÉSILLON 2011
16 ans) : 1 de quatrième 6 de troisième
Cryptographie Paris 13
1 oct. 2010 2.3.1 Cryptanalyse des codes de substitution . ... 8.5.3 Exercices . ... utilise pour le chiffrement un compteur de valeur initiale T.
RAPPORT ANNUEL Exercice 2011 PRESENTÉ A SA MAJESTE LE
1 jui. 2012 Cette évolution s'explique par le redressement du secteur agricole dont la valeur ajoutée a augmenté de 5
Université de Perpignan Via Domitia
Licence de Sciences et Technologies
Mention Sciences de l"Ingénieur
Programmation en C - Exercices
Enoncés
Sujets des partiels et examens
Exemples de corrections des exercices
Exemples de corrections des partiels et des examensPh. LANGLOIS
Version du 18 septembre 2013
Programmation en C - Exercices
PhL. version du 18 septembre 20132
Table des matières
I Enoncés des exercices 7
1 Description de l"environnement de programmation 9
1.1 Du code source à l"exécution : cas simple . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91.2 Du code source à l"exécution : cas général . . . . . . . . . . . . . . . . . . . . . . . . . . . .
101.3 Pratique et conseils associés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
111.4 Utilisercygwinsous M* Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
1.5 Pour être sûr d"avoir bien compris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
122 Variables, valeurs, constantes, déclarations, types scalaires, opérateurs, expressions, entrées-
sorties simples133 Opérateurs entiers, bit à bit, logiques, tests 15
4 Fonctions mathématiques, tableaux, boucles, constantes symboliques 17
5 Structures de contrôle : répétition, choix 19
6 Fonctions : prototypes, définition, appels 23
7 Pointeurs25
8 Types,makefile27
II Sujets des partiels et examens. 29
9 Sujets31
9.1 Partiel de novembre 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
319.2 Examen de décembre 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
339.3 Partiel de mars 2011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
359.4 Examen de mai 2011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
379.5 Examen de juin 2011 (session 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
399.6 Examen de juillet 2011 (session 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41III Exemples de corrections des exercices 43
10 Description de l"environnement de programmation 45
10.1 bonjourlemonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4510.2 swap1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4510.3 swap2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4510.4 swaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4610.5 swap3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4611 Variables,valeurs,constantes,déclarations,typesscalaires,opérateurs,entrées-sortiessimples 49
11.1 operateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4911.2 int2bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4911.3 tabverite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5011.4 formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
513
Programmation en C - Exercices
12 Opérateurs entiers, bit à bit, logiques, tests 53
12.1 vallimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5312.2 op-int . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5312.3 int-vs-unsigned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5412.4 div . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5412.5 op-bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5412.6 op-decall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5512.7 masques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5613 Fonctions mathématiques, tableaux, boucles, constantes symboliques 59
13.1 somme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5913.2 somme-p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5913.3 felem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6013.4 fibo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6013.5 fibo-inv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6113.6 fois2fois2etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6113.7 max-tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6213.8 ind-max-tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6213.9 last-ind-max-tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6314 Structures de contrôle : répétition, choix 65
14.1 double-indice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6514.2 des-boucles-for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6514.3 des-boucles-while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6514.4 un-deux-etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6514.5 suites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6614.6 equa-prem-deg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6614.7 aleas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6715 Fonctions : prototypes, définition, appels 69
15.1 f-fibo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6915.2 fibo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7015.3 f-fibo-main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7015.4 f-masques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7015.5 f-masques-main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7116 Pointeurs73
16.1 ptr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7316.2 arith-ptr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7416.3 affiche-vect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7416.4 affichons-mat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7516.5 mystery-inc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7616.6 tab-ptr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7616.7 main-inc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7716.8 doubler-tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7716.9 tab-dyn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7816.10mat-dyn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7816.11echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8016.12echo-inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8016.13combien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8016.14max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8016.15main-tx-var . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8117 Types,makefile83
17.1 type-vect-mat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8317.2 manip-type-vect-mat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8417.3 makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84PhL. version du 18 septembre 20134
Programmation en C - Exercices
IV Exemples de correction
des partiels et examens. 8518 Correction du partiel de novembre 2010 87
18.1 echauffement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8718.2 tri2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8718.3 tri3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8818.4 expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8918.5 des-expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8918.6 exp-bool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8919 Correction de l"examen de décembre 2010 91
19.1 paire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9119.2 code-asci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9119.3 max-prod-mat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9219.4 moiss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9319.5 f-mois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9419.6 mois2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9520 Correction du partiel de mars 2011 97
20.1 tables-mult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9720.2 xoxo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9720.3 compter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9821 Correction de l"examen de mai 2011 99
21.1 rev1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9921.2 rev2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9921.3 rev3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10021.4 rev4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10121.5 rev5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10121.6 aff-tab-carres-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10221.7 aff-tab-carres-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10321.8 aff-tab-carres-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10321.9 aff-tab-carres-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10421.10aff-tab-carres-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10421.11aff-tab-carres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10522 Correction de l"examen de juin 2011 (session 2) 107
22.1 exp2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10722.2 exp3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10722.3 un . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10822.4 combiendeun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10822.5 suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10922.6 suite2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10923 Correction de l"examen de juillet 2011 (session 2) 111
23.1 moy1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11123.2 moy2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11123.3 moy4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11223.4 concattab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
113V Annexes 115
24 C Reference Card (ANSI) 117
25 Résumé des commandes de base UNIX 119
26 Description de l"enseignement 121
PhL. version du 18 septembre 20135
Programmation en C - Exercices
PhL. version du 18 septembre 20136
Première partie
Enoncés des exercices
7Chapitre 1
Description de l"environnement de
programmationCette partie décrit la prise en main de l"environnement de programmationgccutilisé en TD sous envi-
ronnement Linux ou aveccygminsous Windows1. Convention à utiliser pour les extensions des noms de fichiers : .c: fichier source C .h: fichier en-tête (header) C .o: fichier objet sans extension : exécutableOn distingue deux cas, selon que le programme est composé d"un seul fichier (cas simple) ou de plu-
sieurs (cas général).1.1 Du code source à l"exécution : cas simple
Trois étapes sont nécessaires pour créer un fichier exécutable à partir d"un fichier de code source.
1.Compiler : génération du fichier objet .o- nous verrons plus loin que cette étape comporte en fait
des étapes intermédiaires. 2. Linker : édition des liens entr eles fichiers objets et création du fichier exécutable.Ces deux étapes peuvent être aussi regroupées en une seule commande, ce que nous apprendrons
d"abord.1.1.1 Le code source
Utiliser votre éditeur favori pour taper la version C suivante du classique "Hello World" ...en français.
*Vous l"avez reconnu : Bonjour le monde !*/ #includeSauvegarder ce programme dans le fichierbonjourlemonde.c.1. Les principales spécificités de cette configutaion sont décrites à la section 1.4
9Programmation en C - Exercices
1.1.2 Méthode 1 : génération directe de l"exécutable
Le cas simple du code contenu dans un fichier unique permet d"utiliser une seule commande à cet effet.
La version la plus courte est
$ gcc bonjourlemonde.cqui se trouvera au même endroit que le fichier source. Pour l"exécuter il suffit alors d"entrer la com-
mande suivante (dans une fenêtreterminal). $ ./a.out ou plus simplement encore, $ a.out si votre variable d"environnementPATHpermet d"examiner le répertoire courant.Il est plus pratique de pouvoir choisir le nom de son exécutable en le précisant avec l"option-o.
$ gcc -o bonjourlemonde bonjourlemonde.c Vous utiliserez en effet la commande plus longue suivante. $ gcc -Wall -pedantic -std=c99 -o bonjourlemonde bonjourlemonde.c extensions comme celles de GNU par exemple) --pedanticpermet de signaler les avertissements, ouwarnings, selon la norme ISO; et --Wallpermet de signaler un grand nombre d"autreswarningsdécrit dans leman gcc.En effet à la différence d"Ada, la grande permissivité de C réduit l"aide du compilateur (sans option)
pour traquer certaines erreurs et les mauvaises pratiques de programation.1.1.3 Méthode 2 : compiler et lier avant d"exécuter
Dès que votre application comporte plusieurs fichiers, il est nécessaire de procéder en deux étapes :
i) compilation-génération (option-c) d"un fichier objet (extension.o)ii) puis création de l"exécutable (sans extension) par éditions des liens (option-o) entre les différents
fichiers objets.Dans le cas simple, chaque étape (compilation, édition des liens) correspond à une des deux lignes de
commandes suivantes. $ gcc -Wall -pedantic -std=c99 -c bonjourlemonde.c $ gcc -Wall -pedantic -std=c99 -o bonjourlemonde bonjourlemonde.oIl suffit maintenant d"exécuterbonjourlemonde.
1.1.4 Pour bien comprendre
Recommencer lesméthodes1et2àpartirdefichierssourcesmodifiés(contenu,nomdufichier,autres extensions), ailleurs dans votre arborescence. Observer le contenu du répertoir ede travail après chaque commande. Observer les dr oitssur les dif férentsfichiers.1.2 Du code source à l"exécution : cas général
Nous détaillons maintenant le cas habituel d"applications comportant plusieurs fichiers sources et l"uti-
lisation de la commandemake.PhL. version du 18 septembre 201310
Programmation en C - Exercices
1.2.1 Editer-compiler-lier-exécuter
Entre la création du code source (édition) et l"exécution du binaire qui en découle, nous retrouvons les
deux étapes de compilation et d"édition des liens déjà décrits.Lorsque que l"application est constituée de plusieurs fichiers (en général des fichiers.cet les fichiers
d"en-tête.hcorrespondants2), générer l"exécutable nécessite de créer, un à un, tous les fichiers objets
(.o) associé aux fichiers.c(compilation et génération des fichiers objets, option-c) , puis de lier (édi-
tion des liens, option-o) tous ces fichiers objets (et si besoin les bibliothèques extérieures) en précision
le nom de l"exécutable (sans extension en général).Par exemple, notre application est constituée des fichiersF1.c, F2.c, main.c, ce dernier contenant
la procédure principalemain. Nous voulons l"exécuter par le biais de la commande (sans argument)
endavant. On y arrive en effectuant les deux étapes compilation-éditions des liens suivantes. $ gcc -Wall -pedantic -std=c99 -c F1.cquotesdbs_dbs22.pdfusesText_28[PDF] Adduction d eau potable en milieu rural Guide des projets
[PDF] Site internet de l 'UFR Phitem - Université Grenoble Alpes - Accueil
[PDF] L 'analyse de deux personnages du cycle Rougon-Macquart - IS MU
[PDF] Adénome hépatiques Les risques et comment les - Hepatowebcom
[PDF] L 'intérêt du dosage de l 'adénosine désaminase dans les liquides
[PDF] Règlement theRmique de ConstRuCtion au maRoC (RtCm)
[PDF] Annual Report - Adidas Group
[PDF] adidas annual report - Adidas Group
[PDF] reconnaître un adjectif épithète ou attribut (pdf)
[PDF] Dans le texte suivant, entoure les compléments du nom : C 'est la fin
[PDF] LE CHEF D ÉTABLISSEMENT SCOLAIRE ADJOINT
[PDF] Adler Mortimer - Como Leer Un Libropdf - Universidad Clea
[PDF] marco de referencia para el control de inventarios
[PDF] Administración de documentos y archivos Textos fundamentales