Tutorial rapide langage c

Transcription

Tutorial rapide langage c
Tutorial rapide langage c
Aerosup
2007-2008
TP Informatique
AéroSup
Introduction rapide
Langage C
1/11
©
IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
Sommaire
1
DEMARRER UN PROJET AVEC VICUAL C++.................................................................................................................. 3
2
ECRIRE LE PREMIER PROGRAMME ................................................................................................................................ 5
3
ENREGISTRER LE PROGRAMME ...................................................................................................................................... 7
4
EXECUTER LE PROGRAMME ............................................................................................................................................. 7
5
INDENTATION ......................................................................................................................................................................... 8
6
CONSTRUIRE L'EXECUTABLE ........................................................................................................................................... 8
7
RAPPEL DES INSTRUCTIONS UTILISEES ........................................................................................................................ 8
7.1
7.2
7.3
7.3.1
7.3.2
7.3.3
7.3.4
7.3.5
7.4
7.4.1
7.4.2
7.4.3
7.4.4
7.4.5
7.4.6
7.4.7
7.4.8
INCLUDES ............................................................................................................................................................................ 8
LES CONSTANTES ................................................................................................................................................................. 8
LES VARIABLES ................................................................................................................................................................... 9
int variable entière sur 4 octets..................................................................................................................................... 9
long variable entière sur 8 octets.................................................................................................................................. 9
float variable réelle sur 4 octets.................................................................................................................................... 9
double variable réelle sur 8 octets ................................................................................................................................ 9
char variable caractère sur 1 octet ............................................................................................................................... 9
FONCTIONS .......................................................................................................................................................................... 9
puts................................................................................................................................................................................. 9
printf............................................................................................................................................................................... 9
scanf ............................................................................................................................................................................... 9
getchar ........................................................................................................................................................................... 9
getch............................................................................................................................................................................... 9
if ................................................................................................................................................................................... 10
for................................................................................................................................................................................. 10
while............................................................................................................................................................................. 10
2/11
©
IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
1 Démarrer un projet Avec Vicual C++
Après avoir lancé Visual Studio : FILE/NEW/PROJECT
Puis choisir un environnement WIN32, puis un modèle Win32 Console Project
Voir écran ci-dessous
Une fois qu’on a saisie un nom et une arborescence et OK, on a la fenêtre suivante.
3/11
©
IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
En cliquant sur Application Setting, on obtient la fenêtre suivante :
Cochez la case EMPTY puis Finish
Ceci crée un répertoire de nom correspondant au nom du projet. Ce répertoire contient plusieurs
fichiers
Dans la fenêtre « Solution Explorer, se placer sur l’icône « Source file » puis clic bouton droit, puis
choisir « Ad a new Item ». Dans la nouvelle fenêtre, choisir d’ajouter un fichier de type code C++ (voir écran
ci-dessous)
4/11
©
IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
Après avoir donné un nom au fichier (dans notre exemple RR) et fait OPEN, on peut alors saisir le code de
son programme.
2 Ecrire le premier programme
5/11
©
IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
Quand le programme est écrit, on peut le compiler (menu Build, puis compile ou touches Ctrl et F7).
Le résultat de la compilation apparait dans une fenêtre qui indique, s’il y a lieu les erreurs et dans ce cas, les
lignes où se trouvent les erreurs sont identifiées.
Pour exécuter un programme, après une compilation sans erreur, menu debug, puis Start ou touche F5,
ou touches Ctrl et F5)
Explications :
Ce programme sert à afficher un message et attend une saisie au clavier pour se terminer.
Les lignes commençant par // sont des commentaires et s’affichent en bleu
Les lignes commençant par # sont des directives de compilation et s’affichent en vert.
Le programme doit obligatoirement contenir une fonction main, qui est le début d’exécution.
#Include :
Cette instruction permet de faire appel à un fichier extérieur.
Le fichier encadré de <> doit se trouver dans la bibliothèque des fichiers du compilateur.
Si le fichier est encadré de "", le chemin exact du fichier doit être précisé.
6/11
©
IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
On retrouve dans tous les programmes ‘#include <stdio.h >’, car ce fichier défini les fonctions
d'affichage et de saisie ( les entrées et sorties )
printf() : est un affichage (une sortie écran standard nommée stdout )
getchar() : est une saisie de caractère au clavier (une entrée standard nommée stdin)
3 Enregistrer le programme
Menu File, puis « save all »
4 Exécuter le programme
Pour exécuter un programme, après une compilation sans erreur, menu debug, puis Start ou touche F5,
ou touches Ctrl et F5).
7/11
©
IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
5 Indentation
Pour une meilleure lisibilité du programme il est préférable d'effectuer une indentation.
C'est à dire :
Entre le début et la fin d'une procédure, décaler le contenu de plusieurs espaces. Procéder de la
même façon à l'intérieur d'une boucle (for, while, repeat) ou lors d'un test.
Exemple :
Les débuts et fins
des blocs sont au
même niveau.
procédure main
début
si i=8 alors
o=9
Décalage
m=6
sinon
o=9
m=6
pour i=10 à 100
saisir(a(i))
afficher(i,a(i))
fin
6 Construire l'exécutable
Il est souvent intéressant de construire le programme sans l'exécuter. On effectue cette opération, en
général, pour vérifier s'il y a des erreurs de compilation. (menu Build, puis bouton Build)
7 Rappel des instructions utilisées
7.1 Includes
Directive de compilation provoquant l’inclusion d’un fichier .h (bibliothèques standard). Stdio.h
contient la déclaration de la fonction printf.
#include <stdio.h>
// le compilateur va chercher le fichier stdio.h
// dans la bibliothèque standard du langage
#include "mon_fichier.h"
// le compilateur va chercher le fichier mon_fichier.h
// dans le répertoire du projet en cours
7.2 Les constantes
Exemple const ma_constante=10;
8/11
©
IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
7.3 Les variables
7.3.1
int
variable entière sur 4 octets
7.3.2
long
variable entière sur 8 octets
7.3.3
float
variable réelle sur 4 octets
7.3.4
double
variable réelle sur 8 octets
7.3.5
char
variable caractère sur 1 octet
Exemple :
int i,j;
char c1,c2;
float u1,u2;
7.4 Fonctions
7.4.1
puts
Affichage d'un texte sur la sortie standard
Admet un paramètre
Exemple :
int i;
puts( "début du traitement" );
7.4.2 printf
Affichage d'un texte formaté sur la sortie standard
Admet deux paramètres :
1) Le format du texte à afficher
Avec %d=un entrier,%c un caractère, %s:une chaîne de caractère,%f:un réel
2) Les variable utilisés dans le format;
Exemple :
int i;
i=8;
prinf( "la valeur de i=%d\n" , i );
7.4.3
7.4.4
7.4.5
scanf
Saisir de paramètres dans le buffer d'entrée.
Admet deux paramètres
1) le format avec %d=un entier,%c un caractère, %s:une chaîne de caractère,%f:un réel
2) L'adresse des variables utilisés dans le format;
Exemple :
int i;
scanf( "%d" , &i );
getchar
Saisir d'un caractère dans le buffer d'entrée.
Exemple :
int i;
i=getchar();
getch
Saisir d'un caractère dans non bufferisé.
Exemple montrant la défférence entre getchar et getch:
9/11
© IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
int i;
i=getch();
Buffer d'entrée
{
...
i=getchar();
...
i=getch();
...
}
getchar lit le buffer d'entrée, getch lit directement le clavier.
7.4.6
Clavier
if
Structure alternative.
Attention à doubler le = dans un test if
Admet un paramétre : la condition.
Exemple :
int i;
....
if ( i==1 || i==2) {
... <bloc d'instructions qui sera executé si i égal 1 ou i égal 2 > ...
}
else {
... <bloc d'instructions qui sera executé si i différent de 1 et i différent de 2 > ...
}
s'écrit ||
Remarque : - le 'ou'
- le 'et'
s'écrit &&
- différent
s'écrit !=
7.4.7 for
Boucle répétitive.
admet trois paramétres
1) la valeur initiale, dans l'exemple, : i=0
2) le test de fin, dans l'exemple, : i<10
3) L'incrément de i, dans l'exemple, : i++. Ici i est incrémenté de 1
Exemple :
int i;
for (i=0;i<10;i++) {
... <bloc d'instructions qui sera exécuté 10 fois > ...
}
Remarque : si il n'y a pas d'incrément de i (i++), la bouble sera infinie car
le test de fin (i<10) sera toujours identique
7.4.8 while
Boucle tant que
admet un paramétres :
1) le test de fin de traitement
Exemple :
int i;
i=0;
while (i<10) {
10/11
©
IPSA – RD – 2007-2008
Tutorial rapide langage c
Aerosup
2007-2008
... <bloc d'instructions qui sera exécuté 10 fois > ...
i++;
}
Remarque :
ne pas oublier d'incrémenter i. Si la condition ne change pas, la boucle sera infinie.
11/11
©
IPSA – RD – 2007-2008