Champ Valeur
Auteur·e Élise
Édition 2024-01-26
Fin 2024-02-02
Taille des équipes 1 personne
Rendu Libre, corrigé en soutenance

Consignes

Pour chacune de ses questions, vous devez décrire l’élément demandé et proposer un exemple de son utilisation. L’objectif étant de réunir vos connaissances sur le langage C en un seul endroit.

Pour vous aider, vous avez le droit à toutes les resources de cours vues jusqu’à aujourd’hui, à internet, à l’aide de vos camarades et à poser des questions aux équipes pédagogiques.

Le format du rendu est libre, le plus adapté pour mélanger du code et du texte restant le markdown.

Exemple

Qu’est-ce qu’une variable ?

C’est comme une boite qui a un nom et contient une valeur d’un certain type.

Exemple :

int a;

a est une variable de type int, elle peut stocker un nombre entier.

Boucles

Comment écrire une boucle qui affiche chaque chiffre de 0 à 9 à l’aide de seulement write/tc_putchar pour l’affichage ?

Comment faire la même chose mais seulement avec les chiffres pairs ?

Fonctions

Quelle est la syntaxe de déclaration d’une fonction (un exemple pour chaque) :

  • sans paramètres ou valeur de retour ?
  • sans valeur de retour, mais avec un paramètre ?
  • avec un paramètre et une value de retour ?

Comment appelle-t’on une fonction depuis une autre (un exemple pour chaque) :

  • si elle n’a pas de paramètre ?
  • si elle a un ou plusieurs paramètres ?
  • si l’on veut récupérer sa valeur de retour pour l’enregistrer dans une variable ?

Pointeurs

Qu’est-ce qu’une adresse ?

Comment déclarer un pointeur (que ce soit une variable ou un paramètre) ? (La syntaxe avec un exemple)

Comment une fonction peut renvoyer une adresse vers une valeur ? (La syntaxe avec un exemple)

Comment est-ce que l’on peut consulter une valeur pointée (lorsqu’on a un pointeur) pour l’afficher par exemple ?

Chaînes

Qu’est-ce qui constitue une chaîne de caractères valide (schéma papier, paint ou peut importe) ?

Comment mesurer une chaîne de caractères ?

Comment à partir d’une chaîne de caractères peut-on allouer avec malloc une zone mémoire assez grande pour accueillir sa copie ? Sans oublier le terminateur \0.

Comment peut-on copier une chaîne de caractère d’une zone mémoire à une autre ?

Structures

Qu’est-ce qu’une structure ?

Comment en déclarer une ?

Comment passer l’adresse d’une structure en paramètre à une fonction ? (Exemple d’appel et de fonction)

Comment malloc une instance d’une structure (exemple avec une structure et une fonction qui fait son allocation et la renvoie) ?

Pré-processeur

Qu’est-ce qu’un define ?

Qu’est-ce qu’une énumération ?

Rapport entre les deux ?