PDF Google Drive Downloader v1.1


Report a problem

Content text +COURS CP2 Programmation C Avancee ENSA MARRAKECH.pdf

Architecture des ordinateurs - chap.1 29/03/2021 1 Niveau CP2 Année scolaire 2020/2021 Pr. A. KADDARI Méthode de travail : Et s’il vous plait !  Prise des notes est indispensable.  Votre participation est primordiale.  Un support de cours sera disponible pour chaque chapitre. 2 LES ÉLÉMENTS DE COURS DE CE MODULE Volume horaire Elément n°1 : Programmation avancée C I. Les pointeurs et l’allocation dynamique de la mémoire. II. Les fonctions récursives /La programmation modulaire. III. Les entrées/sorties et manipulation de fichiers. IV. Les structures de données linéaires : liste, piles et files. V Les structures de données non linéaires : graphes et arbres Elément n°2 : Interfaces graphiques en C 3 4 5 Introduction I. Rappel sur quelques notions de base I.1. Les tableaux I.2. Les structures I.3. Les pointeurs II. Allocation dynamique de la mémoire : II.1 Les zones mémoire d’un programme en C II.2 Les types des variables d’un programme en C II.3 Allocation statique II.4 Allocation dynamique III. Allocation dynamique et application sur les tableaux IV. Allocation dynamique et application sur les structures Mémoire centrale Il existe 4 zones de mémoire où le compilateur range les données d’un programme : ◦ Une zone1 : la pile (stack). ◦ Une zone2 : le tas (heap). ◦ Une zone3 : mémoire statique. ◦ Une zone4 : code ou mémoire programme 1 2 3 4 5 6
Architecture des ordinateurs - chap.1 29/03/2021 2 8 Introduction I. Rappel sur quelques notions de base I.1. Les tableaux I.2. Les structures I.3. Les pointeurs II. Allocation dynamique de la mémoire : II.1 Les zones mémoire d’un programme en C II.2 Les types des variables d’un programme en C II.3 Allocation statique II.4 Allocation dynamique III. Allocation dynamique et application sur les tableaux IV. Allocation dynamique et application sur les structures  On appelle tableau une variable composée de données de même type, stockée de manière contiguë en mémoire (les unes à la suite des autres)  La taille de chacune des cases est conditionnée par le type de donnée lors de sa déclaration.  Les éléments du tableau peuvent être:  des données de type simple: int, char, float,...  des tableaux  des pointeurs  des structures, ... 9  Les tableaux unidimensionnels ▪ Déclaration En langage C, la syntaxe de déclaration d'un tableau unidimensionnel est la suivante: type Nom_du_tableau [Nombre d'éléments] ▪ type définit le type d'élément que contient le tableau. ▪ Nom_du_tableau est le nom que l'on décide de donner au tableau, le nom du tableau suit les mêmes règles qu'un nom de variable. ▪ Nombre d'éléments est un nombre entier qui détermine le nombre de cases que le tableau doit comporter. 10 • Les tableaux unidimensionnels ◦ Exemples :  Un tableau qui contient 8 éléments de type char: char Tableau[8];  Deux tableaux de 100 éléments, l'un contenant des float, l'autre des int : float VecteurA[100]; int VecteurB[100]; 11  Les tableaux unidimensionnels  accès et manipulation des éléments d'un tableau  L'indice du premier élément du tableau est 0  Un indice est toujours positif  L'indice du dernier élément du tableau est égal au nombre d'éléments - 1  On accédera au 5ème élément du tableau en écrivant : Nom_du_tableau[4]  Exemple : int tableau[5] ◦ le premier élément de tableau est : tableau[0] ◦ le deuxième élément de tableau est : tableau[1] ◦ le dernier (cinquième) élément de tableau est : tableau[4] 12 7 8 9 10 11 12
Architecture des ordinateurs - chap.1 29/03/2021 3 Les tableaux unidimensionnels Calcul de la taille du tableau Voici différents exemples de tableaux, et leurs tailles respectives: 13 Définition du tableau Taille du tableau (en octets) char Tableau1[12] 1 * 12 = 12 int Tableau2[10] 2 * 10 = 20 float Tableau3[8] 4 * 8 = 32 double Tableau4[15] 8 * 15 = 120 Les tableaux unidimensionnels  Exercice 1 : Ecrire un programme C qui permet de lire N notes, de calculer et d’afficher la moyenne puis l'écart entre chaque note et la moyenne 14 #include #define Dim 100 Void main(){ float Tableau[Dim] ; float Som, Moyenne ; int i, N; // lecture de la taille du tableau printf(" La taille N <= 100 : "); scanf("%d",&N); // lecture des notes printf(" introduisez les notes : \n"); for (i=0; iArchitecture des ordinateurs - chap.1 29/03/2021 4 Les tableaux multidimensionnels EXERCICE 2 : Ecrire le programme C qui permet de calculer la somme de deux matrices A et B (L lignes, C colonnes). 19 #include #define Dim 50 Void main(){ float A[Dim][Dim], B[Dim][Dim], Som[Dim][Dim] ; int i,j,L,C; //Lecture des dimensions : printf(" introduisez le nombre de lignes <= 50 : "); scanf("%d",&L); printf(" introduisez le nombre de colonnes <= 50 : "); scanf("%d",&C); 20 //Lecture des données de la matrice A et B printf("lecture de la matrice A : \n") ; for (i=0; i

Related document

x
Report download errors
Report content



Download file quality is faulty:
Full name:
Email:
Comment
If you encounter an error, problem, .. or have any questions during the download process, please leave a comment below. Thank you.