Maison  >  Article  >  développement back-end  >  15 questions d'entretien sur le développement du langage C (questions originales partagées)

15 questions d'entretien sur le développement du langage C (questions originales partagées)

青灯夜游
青灯夜游avant
2020-08-03 17:17:163838parcourir

15 questions d'entretien sur le développement du langage C (questions originales partagées)

Voici les questions du test écrit pour un poste de logiciel dans une entreprise axée sur le développement de plates-formes Linux auxquelles le sujet a participé. Je partagerai la question originale et joindrai une partie de la référence. répondez que le sujet a obtenu 91 points à la fin^V^)

1 (8 points) Quel résultat le programme produit-il ?

  char *getStr(void)
{
  char p[] = "hellow world";
  return p;
}
void test(void)
{
  char *str = NULL;
  str = getStr();
  printf(str);
}

2. (5 points) Y a-t-il un problème avec la fonction test2 ? Si oui, veuillez expliquer où se situe le problème et donner la bonne réponse.

void test2()
{
  char string[10], str[10];
  int i;
  for(i = 0; i < 10; i++)
  {
    str[i] = &#39;a&#39;;
  }
  strcpy(string, str);
}

3. (5 points) Utilisez la directive de prétraitement #define pour déclarer une constante indiquant le nombre de secondes qu'il y a dans une année. (Ignorez le problème des années bissextiles)

4. (5 points) Écrivez une macro "standard" MIN, qui prend deux paramètres et renvoie le plus petit.

5. (8 points) Comment écrire une boucle infinie en C ?

6. (10 points) Utilisez la variable a pour donner la définition suivante :

1. Un entier

2. 🎜>3. Un pointeur vers un pointeur, qui pointe vers un entier ;

4. Un tableau de 10 entiers

5 , un tableau avec 10 pointeurs, le pointeur pointe vers un entier ; ;

6. Un pointeur vers un tableau de 10 entiers

7. Un pointeur vers une fonction Un pointeur, la fonction a un paramètre entier et renvoie un entier

8. Un tableau de 10 pointeurs, le pointeur pointe vers une fonction, la fonction a un paramètre entier et renvoie un Nombre entier

7. (5 points) Quelle est la fonction du mot-clé static ?

8. (10 points) Que signifie le mot-clé const ?

Que signifient les déclarations suivantes ?

1) const int a;

2) int const a;

3) const int *a;

4) int *const a;

5) int const *a const;

9 (5 points) Quel est le résultat du code suivant ? Pourquoi?

void foo(void)
{
  unsigned int a = 6;
  int b = -20;
  (a - b > 6) ? puts(">6") : puts("<=6");
}

10. (5 points) Quels sont les problèmes possibles qui peuvent survenir avec la mémoire allouée dynamiquement ?

11. (5 points) Quelle est la fonction du mot-clé volatile ?

12. (8 points) Combien y a-t-il de façons de communiquer entre les processus ?

13. (8 points) Veuillez écrire le résultat du programme suivant :

#include<stdio.h>
int main()
{
  int a = 10, b, c, d;
  b = a++;
  c = ++a;
  d = 10 * (++a);
  printf(" b : %d , c:%d, d :%d ", b , c, d);
  return 0;
}

14 (5 points) Quelle est la différence entre un processus et un thread ?

15. (8 points) Veuillez énumérer les quatre opérateurs au niveau du bit et expliquer où ils sont généralement utilisés.

Une partie des réponses de référence :

15 questions dentretien sur le développement du langage C (questions originales partagées)

Recommandé : "15 questions dentretien sur le développement du langage C (questions originales partagées)langue c tuto

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer