1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.



Documents pareils
Programmation en langage C

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Introduction au langage C

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Java Licence Professionnelle CISII,

Rappels Entrées -Sorties


Programmer en JAVA. par Tama

Algorithmique et Programmation, IMA

UE C avancé cours 1: introduction et révisions

SUPPORT DE COURS. Langage C

Claude Delannoy. 3 e édition C++

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

Les structures de données. Rajae El Ouazzani

INITIATION A LA PROGRAMMATION

INF 321 : mémento de la syntaxe de Java

Cours de programmation avancée. Le langage C. Université du Luxembourg

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE UNIVERSITE M HAMED BOGARA DE BOUMERDES

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Bases de programmation. Cours 5. Structurer les données

Cours d Algorithmique et de Langage C v 3.0

Conventions d écriture et outils de mise au point

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Programmation système I Les entrées/sorties

Programmation en C. École Nationale Supérieure de Techniques Avancées. Pierre-Alain Fouque et David Pointcheval

Algorithmique, Structures de données et langage C

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

as Architecture des Systèmes d Information

V- Manipulations de nombres en binaire

Plan du cours. Historique du langage Nouveautés de Java 7

Méthodes de programmation systèmes UE n NSY103. Notes de cours. Nombre d'heures : 55h (~ cours de 3 heures)

Programmation C. J.-F. Lalande. 15 novembre 2012

Le Langage C Licence Professionnelle Qualité Logiciel Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2011/2012

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Chap III : Les tableaux

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Langage Éric Guérin 5 octobre 2010

Chapitre 1 : La gestion dynamique de la mémoire

COURS DE LANGAGE C. DIAO Oumar. Université de Rennes 1. Master 1

MINIMUM. connaissances nécessaires à la programmation des microcontrôleurs PIC18 en langage C (une introduction au langage c A.N.S.

Cours d initiation à la programmation en C++ Johann Cuenin

BTS IRIS Cours et Travaux Pratiques. Programmation C. A. Lebret, TSIRIS, Lycée Diderot, 1995/06. en conformité avec le référentiel du BTS IRIS

Introduction au Langage de Programmation C

Programmation en langage C Eléments de syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Le langage C. Introduction, guide de reference

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Programmation impérative

UE Programmation Impérative Licence 2ème Année

Représentation d un entier en base b

Introduction à l algorithmique et à la programmation M1102 CM n 3

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Programmation Classique en langage C

Le langage C. Séance n 4

COMPARAISONDESLANGAGESC, C++, JAVA ET

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

COURS D'INFORMATIQUE: LANGAGE C NOTES DE COURS

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Programme Compte bancaire (code)

TD3: tableaux avancées, première classe et chaînes

Programmation en Java IUT GEII (MC-II1) 1

Chapitre 10. Les interfaces Comparable et Comparator 1

Recherche dans un tableau

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

TP2 : tableaux dynamiques et listes chaînées

Travaux Dirigés n 1 : chaînes de caractères

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Support de Cours de Langage C. Christian Bac

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Notions fondamentales du langage C# Version 1.0

PROGRAMMATION PAR OBJETS

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Java Licence Professionnelle CISII,

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP : Gestion d une image au format PGM

Programmation en C/C++

Initiation. àl algorithmique et à la programmation. en C

Programmation C++ (débutant)/instructions for, while et do...while

Principes des langages de programmation INF 321. Eric Goubault

Informatique / Programmation

Le prototype de la fonction main()

Programmation Structurée en Langage C

Programmation en C - Sommaire

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

TP 1. Prise en main du langage Python

Initiation à la programmation en Python

Informatique Générale

INF 104 (SELC) Introduction au langage C

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Transcription:

1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include <stdio.h> int main() { printf ( this is an example \n ); return 0; } 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: // 3. Mots clés : auto double int break else long switch case enum register typedef char extern return union const float short unsigned continue goto sizeof volatile do if static while Support de cours : Algorithmique, 2 ème année Licence Informatique, LMD, USTHB Prof. Slimane LARABI Page 1

4. Opérateurs Type d opérateur Opérateur Opérateur Opérateur Opérateur Opérateur Calcul + addition - soustraction * Multiplication / division % Reste de division entière Opérateurs bit à bit & and or ~ not ^ xor Assignation = += -= j+=2 j=j+2 Incrémentation ++ -- *= /= j+=2 j=j+2 = &= ^= Comparaison = =!= > >= < <= Logique or && and! not Opérateurs de décalage de bits Opérateurs de manipulation de bits >> j=j>>2 & &p Accès à la mémoire ( ) i=(*p)+5 Evaluation, séquentielle x,y évalue x puis y Evaluation? : conditionnelle x=(x>4)?j:j+1 << i=2<<2 * *p (type) (int)x_réel [ ] Tab[i] sizeof sizeof(float). structure. champ p champ _de_la_structure Support de cours : Algorithmique, 2 ème année Licence Informatique, LMD, USTHB Prof. Slimane LARABI Page 2

5. Ordre de priorités des opérateurs Par ordre décroissant : ( ) [ ] + - ++ --! ~ * & (type) sizeof * / % + - << >> < <= > >= ==!= & ^ &&? : = += -= *= /= %= &= ^= = <<= >>=, Encas de priorités identiques, l associativité es appliqué en allant de gauche à droite pour tous les opérateurs à l exception de :? : = += -= *= /= %= &= ^= = <<= >>=? : = += -= *= /= %= &= ^= = <<= >>= Exemple : (a=b=c=d) (a=(b=(c=d)) Support de cours : Algorithmique, 2 ème année Licence Informatique, LMD, USTHB Prof. Slimane LARABI Page 3

6. Les types de base int (short int, int, long int, unsigned) Les tailles dépendent des machines: Exemple: short int 2 octets, int, long int 4 octets float char Les constantes entières: -décimale: +23, -54 -octale: 012 00001010 10 -hexadécimal: 0x2A 00101010 42 Constante non signée (0..255) si elle est préfixée ou suffixée par U ou u: 014u 001100 12 Constante de type long int : 12l ou 12L Les constantes réelles: float double long double Les caractères: char my_character= a ; char str[11]= "chaîne de " ; Les constantes énumérées: enum couleur = {vert=4, bleu, rouge}; les valeurs se comportent comme des entiers (4, 5, 6). Support de cours : Algorithmique, 2 ème année Licence Informatique, LMD, USTHB Prof. Slimane LARABI Page 4

7. Instructions If (expression) {bloc} else {bloc}; Le else est regroupé avec ile if le plus interne, sinon on doit utiliser les crochets : If(m==0) if (n!=4) nb++; else nb=0; switch (expression) { case const1: instructions; break; case const2: instructions; break;.. default: instructions; } while (expression) {instructions;} for (expre1 ; expr2 ; expr3) { instructions;} do {instructions;} while (expression); break; quitter une boucle (for, do, while) continue: passer à l itération suivante, mais ne quitte pas la boucle. goto etiq; aller à l instruction étiquetée par etiq. Support de cours : Algorithmique, 2 ème année Licence Informatique, LMD, USTHB Prof. Slimane LARABI Page 5

8. Liste chaînée typedef struct MaListe { int Contenu; struct MaListe *psuivant; } Maliste; Maliste *Tete; Tete = NULL; 9. Pointeur sur tableau Tableau à une dimension tab[n]: int *ptab; ptab=(int*) malloc (n*sizeof(int)); 10. Instructions d entrée /sortie putchar (c) getchar() printf("message %format % format ", arg1, arg2); Formats de printf: Support de cours : Algorithmique, 2 ème année Licence Informatique, LMD, USTHB Prof. Slimane LARABI Page 6

Caractère Type Affiché comme: d argument d, i int nombre décimal o int nombre octal non signé (sans précéder par zéro) x, X int nombre hexadécimal non signé (sans 0x or 0X) u int Nombre décimal non signé c int un caractère s char * Affiche les caractères de la chaîne jusqu à '\0' ou bien en spécifiant le nombre f double [-]m.dddddd, où le nombre de d est précisé (par défaut 6). e, E double Affiche sous le format [-]m.dddddde+/-xx or [-]m.dddddde+/-xx, où le nombre de d est spécifié dans le format (par défaut 6). g, G double utilise %e or %E si l exposant est inférieur à -4 or supérieur ou égal à la précision; autrement, utilise %f. p void * pointeur % no argument affiche % scanf(format, liste d'adresses) Formats de scanf : Caractère Input Data Argument type d Entier décimal int * i Entier int *. Il peut être octal ou hexadécimal. o Entier octal (précédé ou non par zéro) int * u Entier décimal non signé unsigned int * x hexadecimal integer (with or without leading 0x or 0X) int * c caractère char *. Le prochain caractère en entrée is placé dans le buffer désigné. Pour lire le prochain caractère différent de l espace, %1s est utilisé. s Chaîne de caractères (sans quottes) char *, pointant un tableau de caractères se terminant par '\0'. e, f, g Nombre flottant avec en option le signe, le point décimal et l exposant float * % littéral % Sans assignation Support de cours : Algorithmique, 2 ème année Licence Informatique, LMD, USTHB Prof. Slimane LARABI Page 7