Le langage C a été développé par Ritchie et Thompson en 1972 dans les laboratoires de AT&T Bell
- Destiné initialement pour l'implémentation du système d'exploitation UNIX
- Prend le nom C parce qu'il était considéré par ses développeurs comme une suite du langage B
C est un langage :
- Procédural
- Impératif
- Compilé
[...] Ecriture int fwrite(void *bloc, int taille, int nb, FILE : écriture du bloc sur fichier, si le nombre rendu est différent de nb, il y a eu erreur. [...]
[...] Dans le cas d'entiers, indique le nombre minimal de chiffes désiré (ajout de 0 sinon), alors que pour une chaîne elle indique la longueur maximale imprimée (tronqué si trop long). La précision peut, comme la largeur, être variable en préfixant par: Remarque: utiliser % (pour afficher le signe < number > Untitled-2.JPG < number > Les caractères spéciaux pour l'affichage (tabulation), (retour à la ligne), (signe < number > Untitled-2.JPG < number > Les types pour les formats Le type dans le format est : (char), s (chaîne de caractères), d u (entier non signé), x (entier affiché en hexadécimal), o X o (entier affiché en octal), f (réel en virgule fixe), e ou E (réel en notation exponentielle), g ou G (réel en f si possible, e sinon), p (pointeur), < number > Untitled-2.JPG < number > Lecture des chaînes de caractères: scanf scanf(format,listeadresse) lecture au clavier de valeurs, dans le format spécifié. [...]
[...] la fonction « main » < number > Untitled-2.JPG < number > Les fonctions de lecture/ecriture Prises en compte dans les bibliothèques du compilateur La plus utilisée: stdio.h Normalisée, donc reste portable < number > Untitled-2.JPG < number > Lecture/écriture des caractères char putchar(char) : affiche sur l'écran (ou du moins stdout) le caractère fourni en argument stdout est l'écran, ou un fichier si on a redirigé l'écran (en rajoutant ">nomfichier" derrière l'appel du programme, sous DOS ou UNIX). cette fonction retourne le caractère affiché ou EOF en cas d'erreur. char getchar(void) : attend le prochain appui sur le clavier, et rend le caractère qui a été saisi < number > Untitled-2.JPG < number > Lecture/écriture des chaînes de caractères puts(chaîne) affiche, sur stdout, la chaîne de caractères puis positionne le curseur en début de ligne suivante. [...]
[...] < number > Untitled-2.JPG Déclaration des structures La déclaration struct nom_type {déclaration champs} liste_variables; Exemple: struct client { char nom[20]; char prenom[20]; char mail[20]; int tel; } Toto,Titi,MesClients[20]; Déclaration d'une variable: struct client tutu; < number > Untitled-2.JPG Traitements sur les structures Pour accéder aux champs des structures, on utilise l'opérateur « . » ou l'opérateur « » pour les pointeurs sur les structures printf("telephone du client : Toto.nom, Toto.tel); scanf("%d",&Titi.tel); Généralement pour éviter de répéter le mot clé struct, on définit un nouveau type en utilisant typedef: typedef struct { char nom[20];char prenom[20]; char mail[20]; int tel; } Client; Utilisation: Client toto; < number > Untitled-2.JPG Les fichiers de données < number > Untitled-2.JPG Motivation Lors de l'exécution d'un programme, les variables sont conservées dans la pile d'exécution À la fin de l'exécution, les variables sont dépilées et les données perdues Impossibilité de conserver les données d'entrée (e.g. [...]
[...] donc b=3 < number > Untitled-2.JPG < number > Exemples 7 et b entiers passage en réel inutile, calcul de 7/3 donne 2 (entier, reste puis opérateur = (transformation du 2 en 2.0 puis transfert dans X qui vaut donc 2.0 ) un int et un float autour de / : transformation implicite de 7 en réel ( 7.0 division des deux réel ( 3.5 puis transfert dans x calcul (entier) de puis transformation explicite en float, et donc implicite de b en float, division 65.0 / 3.0 < number > Untitled-2.JPG < number > Opérateurs relationnels Comparaisons égalité, = différent = Des deux côtés du signe opératoire, il faut deux opérandes de même type (sinon, transformation implicite) mais numérique (les caractères sont classés suivant leur numéro de code ASCII). Le résultat de l'opération est de type int si faux si vrai (le résultat est de type int). [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture