Vous êtes sur la page 1sur 17

Premier programme en C :

=> 1.4 Que fait le programme ?



=> 1.5 #include <stdio.h> : inclure un fichier dentte ( .h header )qui
permet de faire appel aux fonctions standards du langage C ( stdio : standard
input output ).
Si cette ligne napparait pas dans le programme , la compilation renvoie une
erreur didentification des instructions qui suivent .

Premier programme en C :
=> 1.6 Le dbut de la fonction principale se repre toujours par
son nom , soit : main() ou int main() ou void main()

=> 1.8 Les types de variables a,b,calcul , u et v :
int a,b,calcul : trois variables dfinies de type entier . ( nombres entiers signs)
char u,v : 2 variables dfinies de type caractre ( des symboles ou des nombres
entiers ) .

=> 1.7 La fonction principale du programme renvoie ici
un entier de valeur gale 0 laide de linstruction return la fin de son
excution ( ou de son traitement ) .
Linstruction return permet de sortir de la fonction une fois traite .Cest
lquivalent dun retour de sous programme du type retlw en langage
assembleur ddi aux PIC .
Premier programme en C :
=> 1.9 Le deuxime affichage de u renvoie : A
Le deuxime affichage de v renvoie : A
cela est cohrent .. Car ces 2 variables ont t dclares
comme des caractres ..oui , mais dans le programme u=65 !!

=> 1.10 La fonction printf permet dafficher dans la console les
contenus des variables dans diffrents types possibles !!
%d : indique que lon affichera un entier mme si la variable
visualiser ne lest pas . Il ya donc une conversion !!!
%c : indique que lon affichera un charactre mme si la
variable visualiser ne lest pas .
Dans la table ASCII :
Le codage du symbole A est la valeur entire 65 !!

Premier programme en C :
=> 1.11 En enlevant le \n de chaque printf , on obtient le
traitement suivant :

le \n permet deffectuer un retour la ligne aprs chaque
traitement daffichage .

Premier programme en C :
=> 1.12 Le point virgule permet de terminer une ligne
dinstruction ldition . Si on loublie , il y a une erreur de
compilation . La compilation interprte linstruction comme tant
tout ce quelle trouve en attendant de trouver un point virgule .
..cela entraine parfois des messages derreurs qui nont rien
avoir avec cet oubli ..

Type de variables : init2.c et init3.c
=> 2.1 c=66 : aprs lexcution de cette ligne , la valeur entire 66
est affecte la variable c qui est dfinie comme un charactre .
.en code ASCII la valeur 66 permet de dfinir le B ! ( juste aprs
65 eh oui cest le A ) .
=> 2.3 %d et %c dj vu la question 1.10
%x :indique que lon affichera un hexadecimal mme si la
variable visualiser ne lest pas . Il ya donc une conversion !!!
%o :indique que lon affichera une valeur en base 8 (base octale)
mme si la variable visualiser ne lest pas . Il ya donc une
conversion !!!
Type de variables : init2.c et init3.c
=> 2.4 Algorigramme de init2.c
Dbut
Affecter 66 c
Afficher c en base 16
Afficher c comme un caractre
Afficher c en base 8 (octale)
Afficher un commentaire
Attendre la saisie d une frappe
Fin
Afficher c en base 10
Etude dune boucle while : init4.c
=> 3.1 Les 2 instructions c=getch(); et printf(%c\n,c); permettent
de saisir un caractre au clavier et de lafficher dans la console .
Si la seconde instruction nexistait pas :
la valeur saisie ne serait pas afficher .mais elle est bien affecte
la variable c .
=> 3.2 Le symbole != : signifie diffrent de .
Exemple : la condition a!=b renvoie 1 si a est diffrent de b .
elle renvoie 0 si a gal b .
Etude dune boucle while : init4.c
=> 3.3 la boucle dowhile :
=> Faire
{
instruction 1;
instruction 2;
..;
instruction n;
} tant que (condition est vraie)
Instruction 1
Instruction 2
Instruction n
Condition est vraie
oui
non
Etude dune boucle while : init4.c
=> 3.4 Pour sortir de la boucle
dowhile :
la condition reste vraie si
sortie!=s alors on reste
dans la boucle .
pour que la condition soit
fausse .cest dire , sortir
de la boucle , il faut que
lutilisateur du programme
tape sur le clavier s .
do
{
instruction 1;
instruction 2;
..;
instruction n;
} while (sortie !=s)
Le programme :
Etude dune boucle while : init4.c
oui
=> 3.5 Algorigramme de init4.c
Afficher entrer un caractre
sortie s ?
non
Dbut
Saisir et charger le caractre dans c
Afficher le caractre c
Afficher le code ASCII de c
Afficher un commentaire
Attendre la saisie d une frappe
Charger le caractre saisi dans sortie
Fin
Les rgles de syntaxes de base:
// tout ce qui suit sur la ligne est un commentaire.
/* */ tout ce qui est entre ces 2 symboles est un commentaire.
# annonce une directive de compilation.
; doit toujours terminer une instruction C.
{ } tout ce qui est entre ces 2 accolades est un seul et mme bloc.
main() il doit y avoir au minimum une fonction nomme main qui
dfinit le bloc principal du programme .
/* Mon premier programme version 1.0 du 17/03/06...*/
#include < stdio.h >
#define TOTO 4
main()
{
int v,somme;
v=2;
somme=v+TOTO;
printf(Bonjour !);
printf(La somme est gale de :%d,somme);
}
/* commentaires */
#include <stdio.h>
#define Pi 3.14
main()
{
Dclaration des variables;
Initialisations;
Instructions;
}
Les rgles de syntaxes de base (suite) :
Structure gnrale dun programme :
Fonction main
Types de donnes: int, float, char
Oprateurs : = , == , != , || , % , + +
for ( ; ;) { . ;}
while (condition) { ;}
if (condition) { ;}
Constante symbolique
Appel des fonctions de base du c
stdio.h : fichier header
Type de variables : init5.c
=> 5.2 : Tableau des diffrents types de variables
=> 5.3 : unsigned int : sa taille = 4 octets rservs en mmoire
la plage de valeur : de 0 4 294 967 295
..pour un caractre char : sa taille = 1 octet rserv en mmoire
la plage de valeur : de -128 +127
..un unsigned char : de 0 255 .
Type de variables : init5.c
=> Lvolution des tailles des types des variables :
Les types de donnes (simples):
Le langage C traite des bits, octets, mots, double mots, et des rels (
nombres dcimaux ) .
Les noms des types sont bit, char, short, int , long , float , double.
Par dfaut toutes les nombres sont signs (signed).
Par contre , les entiers peuvent-tre non-signs (unsigned).

Remarque :On peut passer d'un type un autre par un cast, si cela
un sens:
int i; /* la variable i est dfini comme tant un entier sign*/
unsigned int k=0xff; /*k=255*/

i = (int) k; // La variable k est convertie en un
//entier sign --> i=-1 !!


Les types de donnes (complexes):
Les tableaux : donnes de mme type, accs par indexation .
Exemple :float temperature[10] ; tableau de 10 cases . Chaque case est un
nombre rel (float) .
Les diffrentes cases sont accessibles de temperature[0] temperature[9]
Les structures: permettent de grouper des variables de types diffrents.
Les unions : permettent plusieurs interprtations d'une mme zone
mmoire.Cest aussi un regroupement de plusieurs variables .
Les exemples de ces 2 derniers types de donnes seront traites dans le
projet !!!