0% ont trouvé ce document utile (0 vote)
378 vues30 pages

C Programming Course For Beginners

Ce document présente une introduction au langage de programmation C. Il décrit les objectifs de l'apprentissage du C, les concepts de base comme les algorithmes, programmes, compilation et exécution. Il explique également la structure d'un programme C incluant les fonctions, bibliothèques, commentaires, variables, constantes et opérateurs.

Transféré par

zebii
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
378 vues30 pages

C Programming Course For Beginners

Ce document présente une introduction au langage de programmation C. Il décrit les objectifs de l'apprentissage du C, les concepts de base comme les algorithmes, programmes, compilation et exécution. Il explique également la structure d'un programme C incluant les fonctions, bibliothèques, commentaires, variables, constantes et opérateurs.

Transféré par

zebii
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Atelier de Programmation C

1
Objectifs

 Apprendre les bases de la programmation

 Se familiariser aux vocabulaires de programmation

 Ecrire et compiler un programme en langage C

2
Initiation au langage C

3
Introduction générale
 L’algorithme sert à :
 Trouver les bonnes variables
 Imbriquer les boucles dans le bon sens
 Enchainer les si-alors sinon dans le bon ordre

 Le programme sert à :
 Coder l’algorithme afin que l’ordinateur puisse exécuter les actions
décrites
 Doit être écrit dans un langage compréhensible par l’ordinateur

Un programme est donc une suite ordonnée d’instructions


élémentaires codifiées dans un langage de programmation
Classification des langages de programmation
 Les langages de bas niveau
 Plus proche du langage machine
 Utilise des instructions complexes
 Exemple : langage assembleur ASM

 Les langages de haut niveau


 Plus proche du langage humain
 Permet de développer de façon plus souple et rapide
 Exemple : Pascal, Visual Basic, Java, C/C++

5
Langage de prog. C : Introduction
 Crée dans les années 1970s comme outil de
développement du système d’exploitation UNIX
 Avantages du langage C
 Normalisé
 ANSI (American National Standards Institute) en 1983
 ISO (International Standardization Organisation) en 1990
 Général : Le langage C n’est pas orienté vers un domaine
d’applications particulières
 Modulaire: Un programme C est écrit sous forme de sous-
programme appelés modules
 Structuré et typé : Il offre plusieurs structures de contrôle et
types de données

6
Réalisation et exécution d’un programme C
 Conception du programme :
 Analyser l’application à programmer
 Dégager les données à manipuler et les opérations à réaliser
 Choisir les meilleurs algorithmes
 Ecriture du programme :
 Traduire le résultat de la conception en un programme écrit dans le
langage de prog.
 Compilation :
 Traduction du prog. en langage machine (utiliser un compilateur)
 Création d’un fichier exécutable, sinon génération d’erreurs
 Exécution :
 Envoyer le fichier exécutable à la machine pour exécution
 Exécution séquentielle des instructions (les unes après les autres)
 Si erreurs a l’exécution alors retour en phase 2 ou même 1

7
Structure d’un programme en C
#include<>
Bibliothèques …

int fonc1(…) {

Fonctions }
secondaires
void fonc2(…) {

}

void main()
{
int i; //bloc déclaration
Programme …
principal
i=0; //bloc d’instructions
fonc1(…) ;
fonc2(…) ;

}
8
Structure d’un prog. C : Programme principal
 Chaque programme en C doit renfermer obligatoirement une
fonction principale dont le nom main est imposé

 Il ne peut y avoir qu'une seule fonction main par programme

 L’exécution du programme commence avec la 1ère instruction de


la fonction main et se termine avec la dernière

9
Structure d’un prog. C : Bibliothèques
 La directive #include permet de faire appel à des fonctions
prédéfinies (fonctions d’entrées/sorties, fonctions
mathématiques, etc.)

 Ces fonctions sont définies dans des fichiers munis de l’extension .h

 Syntaxe : #include<nom_fichier.h>

 Exemple :
 stdio.h : opérations de gestion des entrées-sorties
 math.h : fonctions mathématiques
 graph.h : fonctions graphiques
 time.h : date et heure

10
Structure d’un prog. C : les fonctions
secondaires
 La notion de procédures n’existe pas en C

 Une fonction doit avoir un type de retour

 Une fonction peut prendre zéro ou plusieurs arguments en


paramètres

 En C, une fonction secondaire doit être déclarée avant toute


appel à celle-ci

11
Structure d’un prog. C : les fonctions
secondaires
#include <stdio.h>
/*
* Calculer le cube d'un réel x
*/

double cube (double x){


return (x*x*x);
}

int main(void){
double c;
c = cube (2.0);
printf ("Le cube est %f", c);

12
Structure d’un prog. C : les commentaires
 Les commentaires permettent d’introduire des explications aux
endroits critiques, afin d’en faciliter la compréhension

 Un commentaire sur une seule linge


 Exemple : // Ceci est un commentaire sur une ligne

 Un commentaire peut s’étaler sur plusieurs lignes


 Exemple : /* un commentaire
qui s’étend
sur plusieurs lignes */

13
Syntaxe : symboles mots clés, règles
 Symboles spéciaux
 [ ] \ { } .,;:# = < > - * / ( ) ! ?
 Mots réservés
 if else int char float double while for switch case const void
break continue struct signed unsigned return do etc.
 Règles syntaxiques
 Point virgule ; après chaque instruction
 Accolade ouvrante { au début et fermante } à la fin de chaque
fonction, de chaque bloc d’instructions
 Contraintes imposées par le langage
 Toute variable apparaissant dans le bloc d’instructions doit être
déclarée

14
Déclaration des variables
 Syntaxe : type_variable nom_variable;
 nom_variable est un identificateur :
 Composé de lettres majuscules, lettres minuscules, chiffres de 0 à 9 et
le tiret-bat ( _ )
 Pas de caractère spéciaux, pas de blancs
 ne peut pas commencer par un chiffre

 Noms de variables valides


X y15 Rose_1 _temps
mot magicien TauxIntere MOT

 Noms de variables non valides


4ème “a” titre-vedette titre vedette

15
Les types
 Un type est un nom pour un ensemble de valeurs. Un
type est muni d’opérateurs. Donc:
 Déclarer une variable sert aussi à connaître les
opérateurs applicables à (la valeur de) la variable
 Les types de base en C:
 int : entier
 char : caractère (code ASCII)
 float : nombre à virgule flottante en simple précision
 double : nombre à virgule flottante en double précision
 void : représente l’absence de type. Par exemple une
fonction de type void ne retourne pas de valeur.

16
Les qualificateurs
 short : s’applique aux entiers (short int : entier codé sur 2 octets) ;
 long : s’applique aux entiers (long int : entier codé sur 4 octets) et
aux nombres à virgule flottante double précision (long double :
double précision étendue) ;
 signed : s’applique au type char (de -128 à 127) ou aux types
entiers (de −2n−1 à 2n−1 − 1, n étant le nombre de bits utilisés) ;
 unsigned : s’applique au type char (de 0 à 255) ou aux types
entiers (de 0 à 2n − 1)

 Les qualificateurs utilisés seuls s’appliquent par défaut à int

17
Les qualificateurs

18
Remarques
 Pas de type booléen :
 faux = 0,
 vrai = n’importe quelle autre valeur

 Le type caractère n’existe pas de manière indépendante en C


 caractère représenté par "char" = nombre entier (code ASCII)
 Les caractères sont entrés entre quottes ‘a’(==97), ‘b’(==98),
‘0’(==48), ‘A’(==65), etc.

 Pas de type chaîne de caractères


 chaîne de caractères = tableau de caractères et donc tableau
d’entiers.

19
Déclaration des constantes
 Syntaxe : const type nom_constante = valeur;
 nom_constante est un identificateur qui sert à nommer une valeur
 Une constante sert souvent à simplifier la lisibilité d’un programme

 Exemples:
 const int dix = 10;
 const float PI = 3.14159

 Avertissement
 On ne peut pas changer la valeur d’une constante dans le programme

20
Les opérateurs
 Affectation
identificateur_de_variable = expression
 L’expression située à droite du signe = est évaluée et sa valeur
est affectée à la variable désignée par
identificateur_de_variable située à gauche du signe égal

 Opérateurs arithmétiques
+ Addition
- soustraction
* multiplication
/ Division entière ou réelle selon le type des opérandes
% Modulo : reste de la division entière

21
Les opérateurs
 Opérateurs de compraraison
== Egalité
!= Différent
>,>=,<,<= Supérieur, supérieur ou égal, inférieur, inférieur ou égal

 Opérateurs logiques

! Négation unaire (NOT)


&& ET logique binaire
|| OU logique binaire

22
Les opérateurs de traitement de bit
 Opérateurs composites
 Des opérateurs composites sont construits à partir de
l’opérateur d’affectation et d’opérateurs binaires.
ident_var opérateur_binaire= expression

ident_var = ident_var opérateur_binaire expression

 Exemple : (+, -, *, /, %)
 i += 3 est équivalent à i = i + 3
 i *= 5 est équivalent à i = i * 5

23
Les opérateurs de traitement de bit
 Opérateur conditionnel
 L’opérateur conditionnel permet à une expression d’avoir une
valeur conditionnellement à une autre valeur.

condition ? val1 : val2

 Si condition est différent de 0, l’expression prendra la valeur


val1. Si condition vaut 0, l’expression prendra la valeur val2.
 Exemple :
max= x>y? x : y

24
Conversion de type
 Lorsque des opérandes d’un opérateur sont de type différent,
ils sont convertis en un type commun
 Par exemple, dans l’expression 2.0 + 3, l’entier 3 sera converti en
double. Il s’agit d’une conversion implicite

 Il est possible de forcer une conversion (conversion explicite)


en utilisant un opérateur conversion (cast)
(nom_type) expression

 La globalité de l’expression est convertie dans le type


nom_type

25
Instructions d’entrée-sortie
 L’instruction printf() permet d’afficher des valeurs (des
résultats) à l’écran
 L’instruction scanf() permet de saisir (lire) des données
entrées au clavier
 Pour chaque variable, un type de conversion est spécifié.
Ce type de conversion est décrit par les caractères qui
suivent le caractère “%”. %d int
%ld long
%hd short
%f float
%lf double
%c char (caractère)
%s chaîne de caractères
26
Instructions d’entrée-sortie
 scanf("FORMAT", &nom_variable)
 FORMAT permet de spécifier le type de la variable lue.
Par exemple, "%d" pour un entier, "%f" pour un réel, …
 La variable dit avoir été déclarée (avec le bon type)

 Exemple
int i;
scanf("%d",&i);

 Si l’utilisateur tape 33, la valeur de la variable i est 33.


 Si la valeur saisie n’est pas du type de la variable alors une
erreur se produit

27
Instructions d’entrée-sortie
 scanf("FORMATS", liste des variables)

Exemple
int i, j, n;
scanf("%d %d %d",&i, &j, &n);

 Si l’utilisateur tape 33 44 22, la valeur de la variable i est 33, la


valeur de j est 44 et la valeur de n est 22,

28
Instructions d’entrée-sortie
 printf("FORMAT", expression)
 printf("FORMATS", liste d’expressions)

Exemple
int i=3;
float res=3.2+1.05
printf("%d",i); //affichage de 3 à l’écran
printf("%d",5+7); //affichage de 12 à l’écran
printf(“valeur de i= %d“,i); //affichage de valeur de i=3
printf(“pour i=%d res=%f”,i,res) //affichage de pour i=3 res=4.25

 printf("FORMAT\n", expression) : affiche le résultat d’évaluation


de l’expression puis effectue un retour à la ligne

29
Exemple
#include <stdio.h>
int main () {
int i = 10;
float l = 3.14159;
char p[50] = "Bonjour";
printf ("%d bonjour %f %s\n", i, l, p);
scanf ("%d %f %s", &i, &l, p);
printf ("Apres lecture au clavier : %d %f %s\n", i, l, p);

Données en entrée
23 6.55957 salut

Données écrites en sortie standard

10 bonjour 3.141590 Bonjour


Apres lecture au clavier : 23 6.559570 salut

30

Vous aimerez peut-être aussi