Classe de première SI Langage C Table des matières 1. Premiers pas.............

Classe de première SI Langage C Table des matières 1. Premiers pas......................................................................................................................................2 1.1. Console ou fenêtre ?.................................................................................................................2 1.2. Mon premier programme..........................................................................................................2 1.3. Les commentaires.....................................................................................................................3 2. Les variables.....................................................................................................................................4 2.1. Déclarer une variable................................................................................................................4 2.2. Les constantes...........................................................................................................................5 2.3. Les chaînes de caractères..........................................................................................................5 2.4. Afficher le contenu d'une variable............................................................................................6 2.5. Récupérer une saisie.................................................................................................................6 3. Les opérations de base......................................................................................................................7 3.1. Raccourcis d'écriture.................................................................................................................7 3.2. La bibliothèque mathématique..................................................................................................8 4. Les conditions...................................................................................................................................9 4.1. if… else.....................................................................................................................................9 4.2. switch... case...........................................................................................................................10 4.3. Les ternaires : des conditions condensées...............................................................................11 5. Les boucles.....................................................................................................................................12 5.1. Tant que : while.......................................................................................................................12 5.2. Faire tant que : do... while......................................................................................................12 5.3. Boucle : for.............................................................................................................................13 6. Les fonctions..................................................................................................................................13 6.1. Fonctions de manipulation des chaînes..................................................................................15 6.2. Les fonctions C.......................................................................................................................15 7. Les pointeurs..................................................................................................................................16 7.1. Utilisation de pointeurs...........................................................................................................16 7.2. Passer un pointeur à une fonction...........................................................................................17 8. Les tableaux....................................................................................................................................17 8.1. Déclarer un tableau.................................................................................................................18 8.2. Parcourir un tableau................................................................................................................18 8.3. Passage de tableaux à une fonction.........................................................................................19 8.4. Tableaux multi dimensionnels................................................................................................19 9. Les paramètres de la fonction main................................................................................................20 Le C est un langage de programmation impératif, généraliste, conçu pour la programmation système. Inventé au début des années 1970 pour réécrire UNIX, C est devenu un des langages les plus utilisés. De nombreux langages plus modernes comme C++, Java et PHP reprennent des aspects de C. 5-langage_C.odt 1 Classe de première SI 1. Premiers pas 1.1. Console ou fenêtre ? Il existe deux types de programmes : • les programmes avec fenêtres ; • les programmes en console. Fenêtre Console Les programmes console ont été les premiers à apparaître. À cette époque, l'ordinateur ne gérait que le noir et blanc et il n'était pas assez puissant pour créer des fenêtres comme on le fait aujourd'hui. 1.2. Mon premier programme Nous allons écrire un programme en mode console qui affichera « Hello world! ». #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } Les premières lignes qui commencent par # sont des directives de préprocesseur qui seront lues par un programme appelé préprocesseur, un programme qui se lance au début de la compilation. #include <stdio.h> #include <stdlib.h> Ces lignes demandent d'inclure deux fichiers au projet, c'est-à-dire d'ajouter deux fichiers pour la compilation : stdio.h et stdlib.h. Ces fichiers sont des fichiers source tout prêts qu'on les appelle bibliothèques qui contiennent la 5-langage_C.odt 2 Classe de première SI plupart des fonctions de base dont a besoin un programme. stdio.h en particulier contient la fonction printf. int main() main est la fonction principale du programme, c'est toujours par la fonction main que le programme commence. C'est la seule qui soit obligatoire, aucun programme ne peut être compilé sans elle. Une fonction a un début et une fin, délimités par des accolades { et } et retourne ou non une valeur. Toute la fonction main se trouve donc entre ces accolades. Les lignes à l'intérieur d'une fonction s'appellent des instructions. Toute instruction se termine obligatoirement par un point-virgule « ; ». printf("Hello world!\n"); demande à afficher le message « Hello world! » à l'écran. return 0; la fonction main retourne la valeur 0 de type entière (int). En pratique, 0 signifie « tout s'est bien passé » et n'importe quelle autre valeur signifie « erreur ». Pour utiliser une fonction, il suffit d'écrire son nom, suivi d'une parenthèse ouvrante, puis éventuellement de paramètres séparés par une virgule, suivi d'une parenthèse fermante et d'un point-virgule. ma_fonction(parametre_1, paramètre2) ; Le caractère \n fait partie des caractères spéciaux qui commence par un anti-slash ( \ ), et le second un nombre ou une lettre. Exemple : • \n : retour à la ligne • \t : tabulation 1.3. Les commentaires Un commentaire permet d'ajouter des annotations dans le codes source et de mieux vous expliquer à quoi peut servir telle ou telle ligne de code. Si après avoir lu uniquement les commentaires d'un programme vous n'en comprenez pas le fonctionnement, jetez le ! Il y a plusieurs manières d'insérer un commentaire selon la longueur du commentaire. // Ceci est un commentaire sur une ligne ou /* Ceci est un commentaire sur plusieurs lignes */ 5-langage_C.odt 3 Classe de première SI Exemple : /* Ci-dessous, ce sont des directives de préprocesseur. Ces lignes permettent d'ajouter des fichiers au projet, fichiers que l'on appelle bibliothèques contiennent des fonctions toutes prêtes. */ #include <stdio.h> #include <stdlib.h> /* Ci-dessous, vous avez la fonction principale du programme, appelée main. C'est par cette fonction que tous les programmes commencent. */ int main() { printf("Bonjour"); // Cette instruction affiche Bonjour à l'écran return 0; // Le programme renvoie le nombre 0 puis s'arrête } Lors de la compilation, tous les commentaires seront ignorés. Ces commentaires n'apparaîtront pas dans le programme final, ils servent seulement aux programmeurs. 2. Les variables 2.1. Déclarer une variable En langage C, une variable est constituée : • d'une valeur : par exemple le nombre qu'elle stocke. • d'un nom : c'est ce qui permet de la manipuler. Un nom de variable ne peut contenir que des lettres et des chiffres et doit commencer par une lettre ; les espaces et accents sont interdits et le langage est sensible à « la casse »1. Pour manipuler une variable, il faut la déclarer et indiquer son type. Voici les principaux types de variables existant en langage C : Nom du type Minimum Maximum signed char -127 128 int -32 767 32 768 long -2 147 483 647 2 147 483 640 float -1.1037 1.1037 double -1.1037 1.1037 Les trois premiers types (signed char, int, long) permettent de stocker des nombres entiers : 1, 2, 3, 4… alors que les deux derniers (float, double) permettent de stocker des nombres décimaux (appelés nombres flottants) : 13.8, 16.911… Pour les types entiers (signed char, int, long…), il existe d'autres types dits unsigned (non signés) qui eux ne peuvent stocker que des nombres positifs. Pour les utiliser, il suffit d'écrire le mot 1 Distinction majuscules/minuscules 5-langage_C.odt 4 Classe de première SI unsigned devant le type : type valeurs Taille (octet) unsigned char 0 à 255 1 unsigned int 0 à 65 535 2 unsigned long 0 à 4 294 967 295 4 Pour déclarer plusieurs variables du même type, il vous suffit de séparer les différents noms de variables par des virgules sur la même ligne. Attention : une variable n'est jamais initialisée avec une valeur par défaut, elle prend la valeur qui se trouvait là avant dans la mémoire, et cette valeur peut être n'importe quoi ! 2.2. Les constantes Les constantes sont des variables particulières dont la valeur reste constante. Pour déclarer une constante, il faut utiliser le mot const juste devant le type de la variable et lui donner obligatoirement une valeur au moment de sa déclaration. Ex : const float PI = 3.14159265359; Par convention on écrit les noms des constantes entièrement en majuscules afin de distinguer facilement les constantes des variables. 2.3. Les chaînes de caractères Le type char permet de stocker des nombres allant de -128 à 127, unsigned char des nombres de 0 à 255. On peut donc utiliser le type char pour stocker UNE lettre (codée sur 1 octet dans la table ASCII2). Une chaîne de caractères représente alors un tableau de type char que l'on notera : • char chaine[6]; // tableau qui contient 6 caractères • char chaine[] = "salut"; // tableau dimensionné pour contenir le texte "salut" • char *chaine = "salut"; // pointeur sur le texte "salut" Une chaîne de caractère doit impérativement contenir un caractère spécial à la fin de la chaîne, appelé « caractère de fin de chaîne ». Ce caractère s'écrit '\0' pour que votre ordinateur sache quand s'arrête la chaîne. chaine[0] = 's'; chaine[1] = 'a'; chaine[2] = 'l'; chaine[3] = 'u'; chaine[4] = 't'; chaine[5] = '\0'; Par conséquent, pour stocker le mot « salut » (qui comprend 5 lettres) en mémoire, il ne faut pas un tableau de 5 char, mais de 6 ! En tapant entre guillemets la chaîne que vous voulez mettre dans votre tableau, le compilateur C calcule automatiquement la taille nécessaire. C'est-à-dire qu'il compte les lettres et ajoute 1 pour placer le caractère \0. Remarque : pour initialiser un type char, on peut directement affecter la variable avec la lettre (chaine[1] = 'a') ou avec son code ASCII (chaine[1] = 973). 2 American Standard Code for Information Interchange (Code américain normalisé pour l'échange d'information) 3 en valeur décimale (chaine[1] = 0x61 en hexadécimal) 5-langage_C.odt 5 Classe de première SI 2.4. Afficher le contenu d'une variable La fonction printf() peut afficher à l'écran le contenu d'une variable en accord avec le format passé en paramètre. Le format de conversion est indiqué par une chaîne de caractères composée par le caractère % suivi d'une lettre qui décrit le type de variable attendu. Format Type attendu %c char caractère %s char * chaîne de caractères %d int entier %ld long entier long %f float flottant %lf double flottant long int main() { int date = 1949, nb_dec = 2037; char *nom = "John von Neumann" ; // En 1949, John von Neumann a obtenu 2037 décimales de π printf("En %d, uploads/S4/ 5-langage-c 1 .pdf

  • 59
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jul 14, 2022
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.3034MB