Rappels C.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Introduction au Langage C,C++
A RECUPERER EN ENTRANT Le polycopié de Caml Partie 1
Introduction Langage très répandu Noyau Linux VLC … Des avantages indéniables mais aussi des contraintes ! Ceci nest quun rapide tour.
Programmation Orienté Objet en C++
Développement logiciel sur micro-contrôleurs PIC en C
Introduction au langage C
Rappels de C ECP – Option SA Henri Fallon. Objectifs Théorie + pratique Compréhension générale du langage Repartant « du début » Pour ceux qui savent.
C++ 6ème cours Patrick Reuter maître de conférences
Formation C débutant. Notion de compilation source.c executable Phase de compilation Fichier de texte brut, inexploitable directement par la machine Fichier.
GEF 243B Programmation informatique appliquée
C.
Rappels de C ECP – Option SA Henri Fallon. Objectifs Théorie + pratique Compréhension générale du langage Repartant « du début » Pour ceux qui savent.
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Structures et unions types énumérés Qu'est-ce qu'une structure
Les pointeurs Manipulation d'adresses et de ce qui est contenu dans ces adresses Très important, fondamental même en C mauvaise réputation : 'dur à comprendre',
FLSI602 Génie Informatique et Réseaux
FLSI602 Génie Informatique et Réseaux
Cours de C GTR 2003/ COURS DE PROGRAMMATION EN LANGAGE C ALBERT Arnauld.
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
Langage C Révision.
Récursivité.
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que lon veut allouer. Le premier exemple: #include void main()
PROGRAMMATION SCIENTIFIQUE EN C PRO Généralités u Présentation du plan de cours –Disponibilité –Références u Environnement de travail –Langage C.
TRAITEMENT DE STRUCTURES
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Introduction à la programmation (Java)
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
IFT-2000: Structures de données
Structures de données IFT-2000
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Un langage de programmation hybride
Miguel Garzon CrUise Lab - SITE. Introduction Data Types and Sizes Constants Logic Operators Type conversions Example.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Introduction au Langage C
C++ : variables Déclaration de variables
L’essentiel du langage C
Structures des données
Le langage C Structures de données
2.1 - Historique Chapitre 2 : Introduction au langage C++
Le langage C Rappel Pointeurs & Allocation de mémoire.
Ch. PAUL - Piles et Files à l'aide de listes chainées
LES PILES ET FILES.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
La notion de type revisitée en POO
et quelques rappels sur certains éléments du langage C
Les adresses des fonctions
SIF-1053 Architecture des ordinateurs
ALGORITHMIQUE ET PROGRAMMATION C
Argc et argv Utilisation des paramètres de la ligne de commande.
Autres éléments du langage
Un survol du language C.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que l’on veut allouer. Le premier exemple: #include void main()
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Cours LCS N°4 Présenté par Mr: LALLALI
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Du 8/09 au 12/09 Du 15/09 au 19/09 Du 22/09 au 26/09 Du 29/09 au 3/10
Langage de programmation
PRO-1027 Programmation Scientifique en C
3ième Classe (Mardi, 23 Septembre) CSI2572. O jourd'8: E Allocation de mémoire E Déallocation de mémoire E Tableaux (n dimensions) E Arithmetique des.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Informatique 1A Langage C 6 ème séance 1. Objectifs de la séance 6  Allocation dynamique de mémoire  Application à la création de tableaux 2.
Transcription de la présentation:

Rappels C

Introduction Gestion de la mémoire Langages de programmation La gestion de la mémoire : comme des tiroirs Langages de prog : 1- Langage machine (assembleur) 2- Lanages de haut niveau Structuré c objet c++

Introduction Présentation du langage C Kernighan et Ritchie Lanage de programmation tres utilisé pdt les 80 Structuré et typé

Un exemple simple Le Hello World #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } Tout expliquer en global Exercice 1

Le langage C Les fichiers en tête #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } Header

Le langage C Les fichiers C #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } HelloWorld.c

Des sources à l’executable Préprocesseur

Des sources à l’executable Directives du préprocesseur #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } Preprocess Avant le code Inclusion du fichier

Des sources à l’executable Directives du préprocesseur #include #define Exercice 2

Des sources à l’executable Compilation Exercice 1 & 2

Des sources à l’executable Liens Exercice 1&2

Syntaxe Les fichiers en tête #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } Elements de syntaxe Bien rappeler l’importance du ; Parenthèses dans maths Saut à la ligne pas d’importance On va revenir sur les fonctions

Types et variables Types entiers : char char toto = ‘c’; Types entiers : short, unsigned short short court = 12; Types entiers : int, unsigned int. int moinsCourt = 24; Types entiers : long, unsigned long. long plusLong = 36; Types à virgule flottante : float, double float aVirgule = 24,36; Types entiers >= 8 bits : char, unsigned char, signed char (C89). Types entiers >= 16 bits : short (identique à signed short), unsigned short. Types entiers (mot machine) >= 16 bits : int (identique à signed int), unsigned int. Types entiers >= 32 bits : long (identique à signed long), unsigned long. Types entiers >= 64 bits (C99) : long long (identique à signed long long), unsigned long long. Types à virgule flottante : float, double, long double (C89). Types énumérés : enum. Types élaborés : struct, union, * pour les pointeurs, [ ... ] pour les tableaux, ( ... ) pour les fonctions. Voir exemple 1&2&1er code

Types et variables Types énumérés : enum enum jourSemaine { Samedi = 0, Dimanche = 1, Lundi = 2, Mardi = 3, Mercredi = 4, Jeudi = 5, Vendredi = 6 }; Enum de types définis mais constant Utilisation : int main() { enum Days today = sunday; switch (today) { case 1: cout << "It's Monday" << endl; break; default: cout << "Not Monday" << endl; }} Les enums sont très utilisé en programmation 3d

Types et variables Types élaborés : struct, union, * pour les pointeurs, [ ... ] pour les tableaux, ( ... ) pour les fonctions. Types entiers >= 8 bits : char, unsigned char, signed char (C89). Types entiers >= 16 bits : short (identique à signed short), unsigned short. Types entiers (mot machine) >= 16 bits : int (identique à signed int), unsigned int. Types entiers >= 32 bits : long (identique à signed long), unsigned long. Types entiers >= 64 bits (C99) : long long (identique à signed long long), unsigned long long. Types à virgule flottante : float, double, long double (C89). Types énumérés : enum. Types élaborés : struct, union, * pour les pointeurs, [ ... ] pour les tableaux, ( ... ) pour les fonctions.

Types élaborés Les pointeurs Définition Un pointeur va ‘pointer’ vers des données Allocation et libération mémoire La gestion de la mémoire Le signe * Indiquation d’un pointeur Récupérer les données Le signe & Récupérer le pointeur

Types élaborés Les pointeurs Allocation statique int a = 2; Voir exempleptr int a = 2; int * p = NULL; p = &a ; *p = 2; int p[10]; p[0] = 1; p[1] = 2; … P[9] = 10;

Types élaborés Les pointeurs Allocation Dynamique, l’instruction malloc Voir exemplemalloc int *p = malloc(sizeof(int)*n);

Types élaborés Les pointeurs Libération Dynamique, l’instruction free free(p)

Types élaborés Tableau de caractères char tab[] = {'t', 'a', 'b', '\0'}; char * p1 = &tab[0];

Types élaborés Les fonctions Définition Déclaration d’une fonction Le corps de la fonction Le retour de la fonction ! F() Déclaration : Type nom(args)

Types élaborés Comment appeler une fonction Un exemple de ce que nous avons vu Un exercice ou deux Exemple p34 / exemplefcn

Structures de contrôle L’instruction conditionnelle ‘if’ Si telle condition est vrai, alors Les opérateurs && || Les tests <= >= == etc… Sinon, si… Sinon…

Structures de contrôle L’instruction Switch Permet le choix Instruction très puissante

Structures de contrôle Les boucles for while do… while Voir exemple while

Exemples Et Exercices Faire exos