COURS D'INFORMATIQUE: LANGAGE C NOTES DE COURS 2 Informatique Langage C - Notes

COURS D'INFORMATIQUE: LANGAGE C NOTES DE COURS 2 Informatique Langage C - Notes de cours PLAN DU COURS: I. Introduction II. Notions de bases III. Types de base, opérateurs, expressions IV. Lecture et écriture de données V. La structure alternative VI. La structure répétitive VII. Les tableaux VIII. Les chaînes de caractères IX. Les pointeurs X. Les fonctions XI. Les fichiers séquentiels XII. Les "plus" 3 Informatique Langage C - Notes de cours Chapitre I – Introduction Le langage C a connu une croissance en popularité énorme ces dernières années. On trouve ses sources en 1972, dans les laboratoires Bell, afin de développer une version portable du système d'exploitation unix. C'est un langage de programmation structuré, mais très "près" de la machine. Publication en 1978 de "The C programming language" par Kernighan et Ritchie: définition classique du C. Le développement de compilateurs C par d'autres maisons ont rendu nécessaire la définition d'un standard précis: le standard ANSI-C. 1983: Développement par AT&T du C++ 1988: Seconde édition du livre "The C programming language" 1990: Standard ANSI-C++ Le succès du C est dû aux faits que: - C'est un langage universel: C n'est pas orienté vers un domaine d'applications spécifique (au contraire du FORTRAN: applications scientifiques, COBOL: applications commerciales). - C'est un langage compact: C est basé sur un noyau de fonctions et d'opérateurs limités, permettant la formulation d'expressions simples et efficaces. - Il est près de la machine: comme il a été développé initialement pour programmer le système UNIX, il offre des opérateurs très proches de ceux du langage machine et des fonctions qui permettent un accès simple et direct aux fonctions internes de l'ordinateur (par exemple la mémoire). - Il est rapide puisqu'il est près de la machine. - Il est portable: en respectant le standard ANSI-C il est possible d'utiliser le même programme sur tout autre système d'exploitation en possession d'un compilateur C. C est devenu aujourd'hui le langage de programmation des micro-ordinateurs. - Il est extensible: C ne se compose pas seulement des fonctions standard, le langage est animé par des bibliothèques de fonctions privées ou livrées par de nombreuses maisons de développement. Désavantages: - La possibilité d'expressions compactes entraîne le risque de se retrouver avec des programmes incompréhensibles (pour les autres, mais aussi pour nous-même), d'où la nécessité d'inclure des commentaires dans les programmes. - C est langage proche de la machine, il est donc dangereux. Bien qu'il soit un langage de programmation structuré, il ne nous oblige pas à adopter un style de programmation (comme, par exemple le PASCAL). Le programmateur a donc beaucoup de libertés, mais aussi des responsabilités: il doit veiller à adopter un style de programmation propre, solide et compréhensible. 4 Informatique Langage C - Notes de cours Chapitre II – Notions de base 1) Bibliothèques de fonctions La pratique du C exige l'utilisation de bibliothèques de fonctions. Ces bibliothèques sont disponibles sous forme précompilées (.lib). Afin de pouvoir les utiliser, il faut inclure des fichiers en-tête (.h) dans nos programmes. Ces fichiers contiennent les prototypes des fonctions prédéfinies dans les bibliothèques et créent un lien entre les fonctions précompilées et nos programmes. Pour inclure les fichiers en-tête: #include <fichier.h> Pour le compilateur que nous utiliserons, différents types de fichiers seront identifiés par leurs extensions: .c: fichier source .obj: fichier compilé .exe: fichier exécutable .lib: bibliothèque de fonctions précompilées .h: bibliothèque en-tête 2) Composantes d'un programme en C - La fonction main Elle constitue le programme principal: main() { déclaration des variables instructions } - Les fonctions Type_du_resultat Nom_fonction (Type_param Nom_param,…) { déclaration des variables locales instructions } - Les identificateurs Les noms des fonctions et des variables en C sont composés d'une suite de lettres et de chiffres: - le premier caractère doit être une lettre - L'ensemble des symboles utilisables est: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, …., x, y, z, A, B, C, …., X, Y, Z, _} - Le C distingue les minuscules et les majuscules - La longueur des identificateurs n'est pas limitée, mais le C distingue des 31 premiers caractères Remarque: Il est déconseillé d'utiliser le symbole "_" comme premier caractère pour un identificateur, car il est souvent employé pour définir les variables globales de l'environnement C. 5 Informatique Langage C - Notes de cours Exercice 1 - Les commentaires Un commentaire commence toujours par les deux symboles /* et se termine par les deux symboles*/. Il est interdit d'utiliser des commentaires imbriqués. Exemple: /* ceci est un commentaire correct */ /* ceci est /* évidemment */ incorrect */ - Les variables Type_variable Nom_variable 3) Premier programme en C Le classique "bonjour" (affiche bonjour à l'écran). Pour le faire, il faut: - Inclure les bibliothèques - Inclure le main main() { déclaration des variables: aucune instruction: écrire "bonjour" } La fonction prédéfinie qui permet d'écrire à l'écran est printf, elle est contenue dans le fichier en-tête stdio.h; sa syntaxe est: printf("ce que l'on veut écrire"); Voici donc notre premier programme: #include <stdio.h> main() { printf("bonjour\n"); /*toute instruction se termine par un point virgule*/ } Remarque: les séquences d'échappement La suite de symboles \n à la fin de la chaîne de caractère est la notation C signifiant le passage à la ligne (n comme new ligne). Il existe en C plusieurs couples de symboles qui contrôlent l'affichage ou l'impression du texte. Les séquences d'échappement sont toujours précédées par le caractère d'échappement "\". \t tabulation \n nouvelle ligne \b batch (curseur arrière) \r return (retour au début de ligne, sans saut de ligne) \a attention (signal acoustique) Si l'on veut écrire le symbole " ou \: \" et \\ 6 Informatique Langage C - Notes de cours Chapitre III – Types de base, opérateurs, expressions On trouvera dans un programme des variables et des constantes, il faut fixer leurs types. Pour produire de nouvelles valeurs, les variables et les constantes peuvent être combinées à l'aide d'opérateurs dans des expressions. 1) Les types de base En mathématiques, on distingue divers ensembles de nombres (entiers naturels, entiers relatifs, réels, complexes,…). L'ordre de grandeur des nombres est illimité, ils peuvent être exprimés sans perte de précision. Un ordinateur utilise le système binaire pour sauvegarder et calculer les nombres, il existe pour un ordinateur deux grands systèmes de nombres: les entiers et les rationnels. - Les entiers Définition Description Valeur min Valeur max Nombre d'octets char caractère -128 127 1 short entier court -32768 32767 2 int entier standard -32768 32767 2 long Entier long -2147483648 2147483647 4 Si l'on ajoute le préfixe unsigned (non signé), les domaines sont déplacés ainsi: Définition Valeur min Valeur max unsigned char 0 255 unsigned short 0 65535 unsigned int 0 65535 unsigned long 0 4294967295 Les valeurs des limites des différents types sont indiquées dans le fichier limits.h. - Les rationnels Définition Précision Mantisse* Valeur min Valeur max Nb d'octets float simple 6 3,4.10-38 3,4.10+38 4 double double 15 1,7.10-308 1,7.10+308 8 long double avancée 19 3,4.10-4932 1,1.10+4932 10 * La mantisse est le nombre de chiffres significatifs après la virgule. Exemple: types float, avec mantisse de 6 ! 1,00001.108 + 850 ( ) 1 2 4 4 4 3 4 4 4 "1.108 ! 1,00001.10 8 "1.108 =1000  ! 1,00001.108 "1.108 ( ) 1 2 4 4 4 3 4 4 4 + 850 ! 1000+ 850 =1850 ✔ - Les variables booléennes Il n'existe pas de type spécifique pour les variables booléennes, tous les types de variables numériques peuvent être utilisés pour exprimer des opérations logiques: 7 Informatique Langage C - Notes de cours La variable logique FAUX correspond à la valeur numérique 0. La variable logique VRAI correspond toute valeur différente de 0. - Déclaration de variables Syntaxe: type nom; On peut déclarer plusieurs variables d'un même type: Exemple: int a, b, c; On peut initialiser une variable lors de sa déclaration: Exemple: float pi = 3.14; 2) Les opérateurs standards - L'affectation (=) Nom_variable=expression; Affectation avec des valeurs constantes: Pi = 3.1416; Lettre = 'L'; Affectation avec des valeurs variables: a=b; Affectation avec des expressions: voir la suite des opérateurs - Les opérateurs arithmétiques + addition - soustraction * multiplication / division % modulo (reste de la division entière) (par exemple, 5%2=1) - Les opérateurs logiques && ET || OU ! NON Les résultats des opérations logiques sont de type int: la valeur 0 correspond à la valeur booléenne FAUX, la valeur 1 correspond à la valeur booléenne VRAI. - Les opérateurs de comparaison == EGALITE != INEGALITE < INFERIEUR <= INFERIEUR OU EGAL > SUPERIEUR >= SUPERIEUR OU EGAL Les résultats des opérations de comparaison sont de type int: la valeur 0 correspond à la valeur booléenne FAUX, la valeur 1 correspond à la valeur booléenne VRAI Les opérateurs logiques considèrent toute valeur différente de 0 comme VRAI, toute valeur nulle comme FAUX. Exemple : 32&&2.3 → 1 !65,43 → 0 0||!(32>12) → 1 8 Informatique Langage C - Notes de cours Les expressions sont constituées de variable ou constantes combinées entre elles uploads/Litterature/ cours-c-for-etudiant.pdf

  • 10
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager