Exercices sur le thème de la programmation impérative - correction, Exercices de Réseaux informatiques avancés
Christophe
Christophe3 March 2014

Exercices sur le thème de la programmation impérative - correction, Exercices de Réseaux informatiques avancés

PDF (318.7 KB)
10 pages
411Numéro de visites
Description
Exercices d’informatique sur le thème de la programmation impérative - correction, Les principaux thèmes abordés sont les suivants: exercices, correction.
20points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 10
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du document
en_pie2005.dvi

E.N.S.E.I.R.B.Filière Éle tronique 1ère annéeFilière Informatique 1ère annéeFilière Télé om 1ère année Année 2005-2006PROGRAMMATION IMPÉRATIVE - LANGAGE CCORRIGÉ Feuille 1Q1 . En C standard, les ommentaires s'é rivent entre :(A ) */. . . /*(B ) */. . . */ (C ) /*. . . /*(D X) /*. . . */Q2 . Un blo d'instru tions entre a olades {. . . } :(A ) Doit obligatoirement être suivi d'un point-virgule(B ) Peut éventuellement être suivi d'un point-virgule (C ) Ne doit être suivi d'un point-virgule que si 'est une dénition de fon tion(D X) Ne doit jamais être suivi d'un point-virguleQ3 . Un test s'é rit :(A ) if (expression) ; then instru tion(B X) if (expression) instru tion (C ) if [ expression ℄ ; then instru tion(D ) if (expression) then instru tionQ4 . Pour mettre le ontenu de la variable b dans la variable a si a est impair, et diviser a par 2 si a est pair,on peut é rire :(A ) a = ((a % 2) = 0) ? /= 2 : b;(B ) a = ((a % 2) == 0) ? /= 2 : b; (C X) if (a % 2) a = b; else a /= 2;(D ) a = (a % 2) ? a / 2 : b;Q5 . Pour disposer dans une fon tion f d'une variable i dont la valeur est préservée entre haque appel et quine soit pas visible de l'extérieur de la fon tion f, il faut la dénir en tant que :(A X)  stati int i;  à l'intérieur de f(B )  int i;  à l'intérieur de f (C )  stati int i;  à l'extérieur de f(D )  int i;  à l'extérieur de fQ6 . Pour ré upérer au lavier un entier et deux ara tères à pla er dans une variable i et les deux ases t[0℄et t[1℄ d'un tableau de deux ara tères, on peut é rire :1

docsity.com

(A X) s anf ("%d% % ", &i, t, t + 1)(B ) s anf ("%d% % ", &i, *t, *(t + 1)) (C ) s anf ("%d% % ", i, t[0℄, t[1℄)(D ) s anf ("%d% % ", &i, t)Q7 . Le orps de la bou le  for (i = 0; i <= 10; i ++) orps;  s'exé ute :(A ) 3 fois(B ) 7 fois (C ) 10 fois(D X) 11 foisQ8 . Le orps de la bou le  for (i = 1; i < 10; ) { ++ i; orps; }  s'exé ute :(A ) 3 fois(B X) 9 fois (C ) 11 fois(D ) Au une des réponses pré édentesQ9 . Le orps de la bou le  for (i = 0; i > 10; i ++) orps;  s'exé ute :(A X) 0 fois(B ) 6 fois (C ) 10 fois(D ) Au une des réponses pré édentesQ10 . Le orps de la bou le  for (i = 1; i < 10; i ++) orps; i ++;  s'exé ute :(A ) 2 fois(B ) 5 fois (C ) 10 fois(D X) Au une des réponses pré édentesQ11 . Le orps de la bou le  for (i = 0; i ++ < 10; i ++) orps;  s'exé ute :(A ) 1 fois(B X) 5 fois (C ) 9 fois(D ) 10 foisQ12 . Le orps de la bou le  for (i = 0; ++ i < 10; ) orps;  s'exé ute :(A ) 1 fois(B ) 4 fois (C X) 9 fois(D ) 10 foisQ13 . Le orps de la bou le  for (i = 1; i < 10; ) orps; i ++;  s'exé ute :(A ) 1 fois(B ) 6 fois (C ) 9 fois(D X) Au une des réponses pré édentesQ14 . Le orps de la bou le  for (i = 1; i < 10; i ++) { orps; if (i > 4) break; }  s'exé ute :(A ) 2 fois(B ) 3 fois (C ) 4 fois(D X) 5 foisQ15 . Le orps de la bou le  for (i = 1; i < 10; i ++) { orps; if (i > 4) ontinue; }  s'exé ute :(A ) 2 fois(B ) 5 fois (C X) 9 fois(D ) Au une des réponses pré édentesQ16 . Le orps de la bou le  for (i = 1; i < 10; i ++) { if (i % 2) ontinue; orps; }  s'exé ute :2 docsity.com

(A ) 3 fois(B X) 4 fois (C ) 9 fois(D ) Au une des réponses pré édentesQ17 . Le orps de la bou le  i = 0; while (i = 0) { orps; i ++; }  s'exé ute :(A X) 0 fois(B ) 1 fois (C ) 2 fois(D ) Au une des réponses pré édentesQ18 . Le orps de la bou le  i = 1; while (++ i < 10) orps;  s'exé ute :(A ) 7 fois(B X) 8 fois (C ) 9 fois(D ) 10 foisQ19 . Le orps de la bou le  i = 8; while (i /= 2, (i % 2) == 0) orps;  s'exé ute :(A ) 0 fois(B X) 2 fois (C ) 3 fois(D ) Au une des réponses pré édentesQ20 . Le orps de la bou le  i = 9; do orps; while (++ i < 10);  s'exé ute :(A X) 1 fois(B ) 2 fois (C ) 3 fois(D ) 4 foisQ21 . Le orps de la bou le  i = 0; do orps; while (i ++ < 10);  s'exé ute :(A ) 1 fois(B ) 9 fois (C ) 10 fois(D X) 11 foisQ22 . Le orps de la bou le imbriquée  for (i = 0; i < 3; i ++) for (j = 0; j <= i; j ++) orps; s'exé ute :(A ) 3 fois(B ) 5 fois (C X) 6 fois(D ) 10 foisQ23 . Si a et b sont dénis par  int a = 0x01011100;  et  int b = 0x11010001; , alors  (a & b) vaut :(A ) 0x11011101(B ) 0x01011001 (C X) 0x01010000(D ) 0x00000001Q24 . Si a et b sont dénis par  int a = 0x11000101;  et  int b = 0x01101110; , alors  (a | b) vaut :(A X) 0x11101111(B ) 0x01000100 (C ) 0x00000001(D ) Au une des réponses pré édentesQ25 . Si a et b sont dénis par  int a = 0x00100111;  et  int b = 0x00100110; , alors  (a  b) vaut : 3 docsity.com

(A ) 0x11011000(B X) 0x00000001 (C ) 0x00100111(D ) 0x00100110Q26 . Si a et b sont dénis par  int a = 0x10001011;  et  int b = 0x10110110; , alors  (a & b) vaut :(A ) 0x11110110(B X) 0x00001001 (C ) 0x00011001(D ) 0x11100110Q27 . Si a et b sont dénis par  int a = 0x01000101;  et  int b = 0x00000000; , alors  (a && b) vaut :(A ) 0x01000101(B ) 0x00000001 (C X) 0x00000000(D ) Au une des réponses pré édentesQ28 . Si i est déni par  int i; , alors  ('A' + i)  est de type :(A ) ( har)(B ) (short) (C X) (int)(D ) (long)Q29 . Si i est déni par  int i; , alors  (i * 2.0F)  est de type :(A ) (int)(B ) (long) (C X) (float)(D ) (double)Q30 . Si i est déni par  int i; , alors  ((float) i / 2.0)  est de type :(A ) (int)(B ) (long) (C ) (float)(D X) (double)Q31 . Si i est déni par  int i; , alors  i *= 2.0  est de type :(A X) (int)(B ) (long) (C ) (float)(D ) (double)Q32 . Si i et d sont dénis par  int i; double d; , alors  (a >= 0) ? i : d  est de type :(A ) (int)(B X) (double) (C ) (long)(D ) Cela dépendQ33 . Si i et d sont dénis par  int i; double d; , alors  (int) i % d  est de type :(A ) (int)(B ) (double) (C ) (long)(D X) C'est une expression erronéeQ34 . Si t est déni par  int * t; , alors  &(t[2℄ + 1)  est de type :(A ) (int *)(B ) (int **) (C ) (int)(D X) C'est une expression erronée4 docsity.com

Q35 . Si p est déni par  int * p; , alors  &p[1℄ + 1  est de type :(A ) (int)(B X) (int *) (C ) (int **)(D ) C'est une expression erronéeQ36 . Si t est déni par  int * t; , alors  t[*t℄  est de type :(A X) (int)(B ) (int *) (C ) (int **)(D ) C'est une expression erronéeQ37 . Si t est déni par  int * t; , alors  &t  est de type :(A ) (int)(B ) (int *) (C X) (int **)(D ) C'est une expression erronéeQ38 . Si t est déni par  int t[2℄; , alors  &t est de type :(A ) (int)(B ) (int *) (C ) (int **)(D X) C'est une expression erronéeQ39 . Si t est déni par  int t[2℄; , alors  &t[2℄ + 1  est de type :(A ) (int)(B X) (int *) (C ) (int **)(D ) C'est une expression erronéeQ40 . Si t est déni par  int * t; , alors  &(t[2℄ + 1)  est de type :(A ) (int)(B ) (int *) (C ) (int **)(D X) C'est une expression erronéeQ41 . Si t est déni par  int t[℄ = { 1, 0 }; , alors  t[t[*(t + 1)℄℄  vaut :(A X) 0(B ) 1 (C ) t(D ) C'est une expression erronéeQ42 . Si t est déni par  int t[℄ = { 1, 0 }; , alors  t[*(t + *t)℄  vaut :(A ) 0(B X) 1 (C ) t(D ) C'est une expression erronéeQ43 . Si t est déni par  int t[2℄[3℄ = { { 3, 4, 5 }, { 0, 1, 2 } }; , alors  t[0℄[4℄ vaut :(A ) 0(B X) 1 (C ) 5(D ) C'est une expression erronéeQ44 . Si t est déni par  int t[℄ = { 1, 0 }; , alors  *(*t + 1)  est de type :(A ) (int)(B ) (int *) (C ) (int **)(D X) C'est une expression erronée5 docsity.com

Q45 . Si t est déni par  int * t; , alors  &t  est de type :(A ) (int)(B ) (int *) (C X) (int **)(D ) C'est une expression erronéeQ46 . Si t est déni par  int t[℄ = { 1, 0 }; , alors  &t  est de type :(A ) (int)(B ) (int *) (C ) (int **)(D X) C'est une expression erronéeQ47 . Si t est déni par  int t[℄ = { 1, 0 }; , alors  *t  est de type :(A X) (int)(B ) (int *) (C ) (int **)(D ) C'est une expression erronéeQ48 . Si s et t sont dénis par  int t[℄ = { 1, 2, 3, 4, 5 }; int * s = t + 4 , alors  s[-2℄ vaut :(A ) 1(B X) 3 (C ) 4(D ) C'est une expression erronéeQ49 . Si Brol_ est dénie par  stru t Brol_ { int a; double d; }; , alors sizeof (Brol_) vaudra :(A X) Toujours au moins (sizeof(int) +sizeof(double))(B ) Toujours exa tement (sizeof(int) +sizeof(double)) (C ) Toujours au plus (sizeof(int) +sizeof(double))(D ) Au une des réponses pré édentesQ50 . Si Brol_ est dénie par  union Brol_ { int a; double d; }; , alors sizeof (Brol_) vaudra :(A ) Toujours au moins (sizeof(int) +sizeof(double))(B ) Toujours sizeof(int) (C X) Toujours sizeof(double)(D ) Au une des réponses pré édentesQ51 . Si un pointeur p sur une stru ture Brol_ est déni par  stru t Brol_ { int a; stru t { doublex, y; } t; } *p; , alors le hamp x de la stru ture Brol_ pointée par p est a édé par l'expression :(A ) p.t.x(B ) p->a.x (C ) p->t->x(D X) p->t.xQ52 . Si o1 et o2 sont deux variables de type stru turé Brol_, dénis par  stru t Brol_ { int a; stru t {double x, y; } t; } o1, o2; , alors la opie de tous les hamps de o2 dans les hamps de o1 s'é rit :(A ) o1.* = o2.*;(B X) o1 = o2; (C ) o1 <<= o2;(D ) o1 .= o2;Q53 . Si p est un pointeur sur un tableau de ara tères, alors p peut se dénir omme :(A X) har * p(B ) har * p [℄ (C ) ( har [℄) p *(D ) har ** p6 docsity.com

Q54 . Si p est un pointeur sur un tableau de double, alors p peut s'é rire :(A ) double ** p(B X) double * p (C ) double (* p)[℄(D ) double * p[℄Q55 . Si p est un pointeur sur un tableau de pointeurs sur des tableaux d'entiers, alors p peut s'é rire :(A ) int (* (* p)[℄)[℄(B X) int ** p (C ) int [℄[℄ *p(D ) int *** pQ56 . Si f est une fon tion prenant en paramètre un entier et ne renvoyant rien, alors le prototype de f peuts'é rire :(A X) void f (int)(B ) f (int -> void) (C ) int f (void)(D ) void (* f) (int)Q57 . Si f est une fon tion prenant en paramètre un pointeur sur un tableau de double et renvoyant unpointeur d'entier, alors le prototype de f peut s'é rire :(A ) int f (double [℄)(B ) int * f ([℄ double) (C X) int * f (double *)(D ) int (* f) (double [℄)Q58 . Pour in lure le  hier d'en-tête système  brol.h , on doit é rire :(A X) #in lude <brol.h>(B ) #in lude 'brol.h' (C ) #in lude "brol.h"(D ) #in lude brol.hQ59 . Si l'on in lut le  hier d'en-tête  brol.h  au moyen de la dire tive  #in lude "brol.h" , le  hiersera her hé :(A ) Dans les répertoires système seulement(B ) Dans les répertoires système puis dans lesrépertoires spé iés par l'utilisateur (C ) Dans les répertoires spé iés par l'utilisateurpuis dans les répertoires système(D X) Dans les répertoires spé iés par l'utilisateurseulementQ60 . Pour dénir une ma ro PI égale à π à la inquième dé imale et utilisable dans des expressions mathéma-tiques, on é rit :(A ) #define PI 3,14159;(B X) #define PI 3.14159 (C ) #define PI = 3.14159;(D ) #define PI 3.14159;Q61 . Pour dénir une ma ro PRODUIT qui al ule le produit des deux arguments qui lui sont passés, quellesque soient les expressions qui lui sont passées, on é rit :(A ) #define PRODUIT (a,b) ((a)*(b))(B ) #define PRODUIT(a,b) (a*b) (C X) #define PRODUIT(a,b) ((a)*(b))(D ) #define PRODUIT(a,b) ((a)*(b));Q62 . Pour n'in lure le fragment de ode frag que si la ma ro BROL est dénie, il ne faut pas é rire : 7

docsity.com

(A ) #if defined BROLfrag#endif(B X) #if defined BROL#elsefrag#endif (C ) #ifdef BROLfrag#endif(D ) #ifndef BROL#elsefrag#endifQ63 . Dans le Programme 1 situé à la n du test, la valeur a hée après L1 est :(A ) 0(B X) 1 (C ) 2(D ) 3Q64 . Dans le Programme 1 situé à la n du test, la valeur a hée après L2 est :(A X) 0(B ) 1 (C ) 2(D ) 3Q65 . Dans le Programme 1 situé à la n du test, la valeur a hée après L3 est :(A X) 0(B ) 1 (C ) 2(D ) 3Q66 . Dans le Programme 1 situé à la n du test, la valeur a hée après L4 est :(A X) 0(B ) 1 (C ) 2(D ) 3Q67 . Dans le Programme 1 situé à la n du test, la valeur a hée après L5 est :(A ) 0(B X) 1 (C ) 2(D ) 3Q68 . Dans le Programme 1 situé à la n du test, la valeur a hée après L6 est :(A ) 0(B ) 1 (C ) 2(D X) 3Q69 . Dans le Programme 1 situé à la n du test, la valeur a hée après L7 est :(A ) 1(B ) 3 (C X) 4(D ) 5Q70 . Dans le Programme 1 situé à la n du test, la valeur a hée après L8 est :(A ) 6(B ) 7 (C ) 9(D X) 10Q71 . Dans le Programme 1 situé à la n du test, la valeur a hée après L9 est :8

docsity.com

(A ) 1(B X) 3 (C ) 5(D ) 7Q72 . Dans le Programme 1 situé à la n du test, la valeur a hée après L10 est :(A ) 2(B ) 4 (C X) 5(D ) 8Q73 . Dans le Programme 1 situé à la n du test, la valeur a hée après L11 est :(A ) 7(B X) 10 (C ) 12(D ) 13Q74 . Dans le Programme 1 situé à la n du test, la valeur a hée après L12 est :(A X) 3(B ) 6 (C ) 7(D ) 9

9 docsity.com

Programme 1stati int a = 2;int b = 3;int f1 (int i) { return (i + 1); }int f2 (int i) { return (i ++); }int f3 (int * i) { return ((*i) ++); }int f4 (int a){ return (a ++ + b ++);}int f5 (int * a, int ){ stati int d = 1;int e = 0;return ((*a) ++ + + d ++)}int f6 (int * b, int ){ int d = 1;return ((*b) ++ + + d ++)}main (){ int e = 0;printf ("L1: %d\n", f1 (e));printf ("L2: %d\n", f2 (e));printf ("L3: %d\n", f2 (e));e = 0;printf ("L4: %d\n", f3 (&e));printf ("L5: %d\n", f3 (&e));e = 0;printf ("L6: %d\n", f4 (e));printf ("L7: %d\n", f4 (e));printf ("L8: %d\n", f4 (b));e = 0;printf ("L9: %d\n", f5 (&a, e));printf ("L10: %d\n", f5 (&e, a));printf ("L11: %d\n", f6 (&b, a));printf ("L12: %d\n", f6 (&e, e));} 10

docsity.com

commentaires (0)
Aucun commentaire n'a été pas fait
Écrire ton premier commentaire
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Docsity n'est pas optimisée pour le navigateur que vous utilisez. Passez à Google Chrome, Firefox, Internet Explorer ou Safari 9+! Téléchargez Google Chrome