Question 1

Les variables d'un appel de fonction sont allouées dans : 

  • Registres et Pile.
  • Cache et tas.
  • Pile et tas
  • Registres et tas.

Les variables d'un appel de fonction peuvent être stockées dans une pile et un tas. (Réponse 1)

Question 2

Prédire la sortie du programme suivant:

                                void main() {
                                    float x=1.1;
                                    double y= 1.1;
                                    if(x==y)
                                        printf("Tunisie");
                                    else
                                        printf("Maroc");
                                    }
                            

  • Tunisie
  • Maroc
  • Impossible de comparer double et float
  • Erreur d'exécution

La valeur stockée peut être ou ne pas être exacte, la précision de la valeur dépend du nombre d'octets. Double stocke la valeur 1.1 avec plus de précision que float car double prend 8 octets, alors que float prend 4 octets. (Réponse 2)

Question 3

                                    #define f(a,b) a+b 
                                    #define g(a,b)a*b
                                    int main(void) {
                                        int m;
                                        m=2*f(3,g(4,5));
                                        printf("\n m = %d", m);
                                    }
                            

Quelle est la valeur de m?

  • 70
  • 50
  • 46
  • 69

La fonction g(4,5) retournera 20 en effectuant des opérations de multiplication. Ensuite, la fonction f(3,20) renverra 23 en effectuant l’opération d’ajout. Dans la dernière sortie de la fonction f(3,20) est multiplié par 2. Ainsi, la réponse finale sera 46. (Réponse 3)

Question 4

Dans quel (s) des cas suivant (s) est-il possible d'obtenir des résultats différents pour le passage de paramètre par référence et par valeur

  • Passer une expression en tant que paramètre
  • Passer un tableau en tant que paramètre
  • Passer un pointeur en tant que paramètre
  • Passer un tableau d'éléments en tant que paramètre

Passer un élément d'un tableau par son nom se comporte comme un appel par valeur. Par conséquent, si les éléments de tableau sont passés en tant que paramètre, ils peuvent produire des résultats différents pour le passage de paramètre par référence et par valeur. (Réponse 4)

Question 5

Supposons qu'un programme C ait une constante flottante 1.414, quel est le meilleur moyen de convertir cela en tant que type de données "float"?

  • 1.414 lui-même de type "float" c'est-à-dire rien d'autre n'est requis.
  • 1.414f ou 1.414F
  • float(1.414)
  • (float)1.414

Par défaut, la constante flottante est de type double. En lui ajoutant le suffixe f ou F, elle peut être convertie en type de données float. (Réponse 2)

Question 6

Pour un entier donné, lequel des opérateurs suivants peut être utilisé pour «activer» (1) et «réinitialiser» (0) un bit particulier, respectivement?

  • || et &&
  • && et ||
  • & et |
  • | et &

Opérateur binaire | peut être utilisé pour "activer" un bit particulier, tandis que l'opérateur binaire & peut être utilisé pour "réinitialiser" un bit particulier. Veuillez noter que && et || sont des opérateurs logiques. Il convient de noter que l’opérateur binaire & peut être utilisé pour vérifier un bit particulier, c’est-à-dire si un bit est activé ou non. (Réponse 4)



Partager ce quiz avec tes amis :