Vous êtes sur la page 1sur 2

Informatique S2 L1 MASS

Universit Paris 1 Panthon-Sorbonne

Fiche de TD n2
Rappels des bases du langage C.

Exercice 1. 1. Indentez le code suivant : #include<stdio.h>int main(){int i,n;n=3;printf("Programmer en C est ");for (i=1;i<=n;i++){printf("trs ");}printf("amusant !\n");printf("et indenter est ");for (i=1;i<=n+1;i++){printf("trs ");}printf("important !\n");return 0;} 2. Que fait ce code ? 3. Tapez le code ci-dessus dans un chier avec lindentation approprie (utilisez pour cela la touche tabulation du clavier) et ajoutez les commentaires adquats. 4. Compilez et excutez le programme grce la commande adquate. Exercice 2. Identiez les erreurs de syntaxe dans le programme suivant puis corrigez-les an que le code soit excutable : $include>stdio.h< Int Main(void)[ int SUM;i;j; i = j = 10 ; Sum = i +j : j = j + j ; */ calcule le rsultat /* printf (La rponse est %I/n" sum); return 0 ; ] Vous pouvez vous aider des sorties derreur du compilatieur gcc. Exercice 3. 1. Prdisez quel serait le rsultat de lexcution du programme suivant : #include <stdio.h> int main(){ int i,n,s; n = 3; s = 10; n = i; s = n * i + s; i = s; printf("Le rsultat de lopration est : s * %i\n",s * i); return 0; }

1. Compilez ensuite le programme et comparez le rsultat de lexcution avec votre prdiction. Le cas chant, expliquez la dirence entre les deux. 2. Ajoutez des points de "dbeuguage" sous la forme de printf("la valeur de var est %i\n",var); o var sera remplac par le nom de la variable qui vous intresse. Cela vous permettra de suivre les aectations successives des direntes variables et de comprende ce qui ne va pas dans le programme. Exercice 4. Parmi les expliquez pourquoi : Int char alpha_b ma var float Float noms de variables suivants, indiquez lesquels ne sont pas valables et 6_05 s floaT Xx A& MaVar

Exercice 5. Ecrivez un programme convertissant 37 degrs Fahrenheit (F) en degrs Celsius (C). Vous vous aiderez du site Wikipedia pour trouver la formule de conversion. Exercice 6. Quel rsultat attendez-vous du programme suivant ? #include <stdio.h> int main(){ char c,d; c = d; d = c; n = i; printf("d = %c\n",d); return 0; } puis modiez-le de faon ce quil ache le caractre 2. Exercice 7. Ecrivez un programme permettant dvaluer le polynme P (x) = 3x3 5x2 + x 6 pour une valeur de x R qui sera donne par lutilisateur. Exercice 8. Dans cet exercice, nous allons jouer au jeu du hasard. Lordinateur devra choisir un entier au hasard entre 1 et 1000. Lutilisateur proposera des rponses et lordinateur rpondra par + si le nombre deviner est suprieur la proposition et par - sinon. Lutilisateur gagne ds quil trouve le bon entier. Le programme devra galement acher le nombre de coups que mis pour trouver la solution la n de son excution. La fonction has(n) de la bibliothque time.h retourne un entier entre 0 et n-1 suivant une loi uniforme. Il faudra galement initialiser le gnrateur de nombres alatoires en ajoutant dans le programme principal linstruction suivante : srand(time(NULL) % 1000+1);