Vous êtes sur la page 1sur 8

MEGRAH

NASSIM
Groupe 3

Projet Tp S1
Q1) écrire un programme qui affiche la plus grande des trois valeurs introduites :
#include<stdio.h>
int main()
{
int num1, num2, num3 ;
printf("donner la première valeur");
scanf("%d",&num1);
printf("donner la deuxième valeur");
scanf("%d",&num2);
printf("donner la troisième valeur");
scanf("%d",&num3);
if (num1>num2 && num1>num3){
printf("Le premier est plus grand");}
else if(num2>num1 && num2>num3){
printf("le deuxième est plus grand ");}
else{
printf("le troisième est plus grand ");}
return 0 ;
}

Q2) l’expression getchar () est une fonction qui lit un caractère à partir d’une entrée
standard .EOF est un caractère spécial utilisé en c pour indiquer que la FIN DU FICHIER
(END OF FILE) a été atteinte.

Q3)getchar() est une fonction qui renvoie le caractère lu comme un caractère non signé
converti en un entier ou en EOF à la fin du fichier ou d’une erreur.

Q4) la différence entre suffixe et préfix en ++ est :


Les opérateurs d’incrément ++ et de décrément - peuvent être utilisés comme suffixe (i +
+) ainsi que comme préfixe (++ i). Dans les deux cas la variable i sera incrémentée,
cependant dans la notation par suffixe la valeur retournée sera l’ancienne valeur de i
tandis que dans la notation par préfixe ce sera la nouvelle.

Q5) l’expression (i=i++ ;) sert à incrémenter la valeur de i par 1.

Q6) Une chaîne de caractères est un tableau, comportant plusieurs données de type char

Q7)
Le problème est dans le point-virgule (;)
Par exemple :
#define PI 3.14159

Q8)
La valeur de x sera 18.
Le préprocesseur effectue une simple substitution textuelle ; il ne connaît rien à la priorité
de l’opérateur, ni même beaucoup à la syntaxe de C.Après que le préprocesseur remplace
la valeur de la macro SIX, la déclaration ressemble à
int x = 12 / 2*3 ;
Depuis la multiplication et la division « groupe » (ou « associé ») de gauche à droite, cela
est interprété comme :
int x = (12 / 2) * 3 ;

Q9)
La différence entre i et j est
La ligne
int i = 10 ;
Déclare une variable d’exécution conventionnelle, nommée(i), qui contient la valeur 10. Il
sera possible de modifier sa valeur. (i) peut apparaître dans les expressions (c’est-à-dire
que sa valeur peut être récupérée), mais comme il n’est pas constant, il ne peut pas être
utilisé là où C nécessite une constante, comme dans la dimension d’une déclaration de
tableau.
La ligne
#define J 10
D’autre part, définit une macro préprocesseur nommée (J) ayant la valeur 10. Pour le reste
du fichier source courant, partout où vous écrivez un seul (J), le préprocesseur le
remplacera par 10. Une déclaration de tableau telle que
int a [J] ;
Sera très bien ; ce sera comme si vous aviez écrit
int a [10] ;
Cependant,( J) n’existe qu’au moment de la compilation. Ce n’est pas une variable
d’exécution ; si vous avez essayé de « changer sa valeur » au moment de l’exécution en
écrivant
J=20 ;
Ce sera comme si vous aviez écrit
10=20
Et le compiler va pas l’accepter.

Et une autre différence c’est que int i=10 se termine par un point-virgule, contrairement à
la ligne #define J 10.)

Q10) les deux types de division que l’opérateur peut utiliser sont :
La division entière de type int .
La division rationnelle de type float .
Q11) la définition des valeurs booléennes true et false :
En C la valeur vraie est définie par (1) et la valeur fausse par (0)

Q12) 3 utilisation de point virgule :


1-pour fin d’instruction.
2-pour la déclaration des variables
3-Pour séparer les éléments

Q13)
#include<stdio.h>

int main () {

i=0;

while (i<10){

printf ("i is %d\n",i);

i++;}

return 0 ;

Q14 ) le résultat affiché est : yes

Q15) les résultat affiché est :


a

a
a

Q16) les utilisations des commentaires :


Les commentaires sont le plus souvent utilisés pour expliquer le code
Rendre le code source plus facile à comprendre pour les humains

Q17) la plus grande valeur qu’une variable int peut stocker est (32767)
La plus petite valeur qu’une variable int peut stocker (-32767)

Q18)
L'avantage principal de ce style est qu'on peut visuellement repérer très facilement tout
oubli d'accolade. De plus, on a une séparation claire entre le contenu de chaque bloc de
code, ce qui améliore la lisibilité. Ceci est obtenu au prix d'un nombre de lignes
plus important que pour d'autres styles.

Q19) le résultat des boucles :


a) La boucle affiche :
0

8
b) la boucle affiche :
100

93

86

79

72

65

58

51

44

37

30

23

16

c) la boucle affiche :
1

10
d) la boucle affiche :
2

16

32

64

Q20)Un programme qui imprime un triangle :


#include <stdio.h>

int main() {

int i, j, rows=10;

for (i = 1; i <= rows; ++i) {

for (j = 1; j <= i; ++j) {

printf("* ");

printf("\n");

return 0 ;

Vous aimerez peut-être aussi