Institut Supérieur des études technologiques de Rades Département Génie mécanique Unité informatique
Atelier programmation en langage C Niveau : licence 1, Semestre : 1, Module : Atelier
TP1
Les instructions de base 1.1. Déclaration des variables 1.2. Affectation 1.3. Ecriture 1.4. Lecture
Ayadi walid Email: ayadi.walid@gmail.com Version 12/11/12
TP1 Les instructions de base
Déclaration des variables
1.1. Déclaration des variables Syntaxe Algorithme VAR <nom de var> :<type> C <type de variable> <nom de variable, nom de variable,…>; Exemple 1 Algorithme VAR a : entier C
int a ; Exemple 2 Algorithme VAR a,b,c :entier montant : réelle premiere_lettre :caractère resultat :booléenne C
int a,b,c; float montant; char premiere_lettre; int resultat; Les types de variables
Type
En C
exemple
entier
int
-32768 à 32767
booléen
int
0 (faux) Sinon (vrai)
réelle
float
2.05452 -1.5
caractère
char
‘Z ‘
‘z’
‘a’ ‘A’
‘1’
1.2. Expressions et affectation Syntaxe Algorithme <nom de variable cible> <nom de variable ou expression> C <nom de variable cible>=<nom de variable ou expression>; Version 12/11/2012
Ayadi.Walid@Gmail.com
2
TP1 Les instructions de base
Déclaration des variables
Exemple 1 Algorithme a 10 a a+1 b (a*10-1)/3 C a=10 ; a=a+1 ; b=(a*10-1)/3 ; Opérateurs arithmétiques Arithmétiques
En C
Logique
En C
+ : addition
+
<
<
- : soustraction
-
≤
<=
/ : division
/
>
>
MOD : modulo reste de la division
%
≥
>=
* : multiplication
*
=
==
≠
!=
ET
&&
OU
||
(touche 1 du clavier) (touches : AltGr+6)
NON
!
Attention, il ne faut pas confondre l’opérateur logique == (égale égale à) avec l’instruction d’affectation =
http://www.youtube.com/watch?v=kukKa9Rtnho&feature=relmfu
Version 12/11/2012
Ayadi.Walid alid@Gmail.com
3
TP1 Les instructions de base
Ecriture
1.3. ECRITURE •
Permet d’afficher un message sur écran
Printf("Hello Word!");
• Syntaxe Algorithme ECRIRE (<variable variable ou expression ou "chaine de caractère">); caractère" C printf("<chaine <chaine de caractère à afficher>" afficher> , <nom de variable ou expression>);
• Exemple 1 Algorithme VAR a : entier DEBUT a 10 ECRIRE(a) FIN C int a; a=10; printf("%d ",a);
• Manipulation1 1. Ecrire le code ci-dessous et voir le résultat C printf("Bonjour f("Bonjour je m’appelle Walid"); Walid") 2. Modifier le message en ajoutant \n après le mot Bonjour et comparer le résultat avec le précédent C printf("Bonjour\nje nje m’appelle Walid"); Walid") 3. Déduire l’action de \n http://www.youtube.com/watch?v=5Pa http://www.youtube.com/watch?v=5PawS09cosE
Version 12/11/2012
Ayadi.Walid alid@Gmail.com
4
TP1 Les instructions de base
Ecriture
• Manipulation2 1. Ecrire le code ci-dessous 2. Compiler le programme 3. Changer la valeur 2 par 10 puis par 10.5 et voir le résultat de la compilation 4. Déduire l’action de %d 5. Changer %d par %f et voir la valeur affichée C printf("La valeur de a=%d",2);
http://www.youtube.com/watch?v=xUSN5X09cC0
• Manipulation3 1. Ecrire le code ci-dessous 2. Compiler le programme 3. Déduire l’ordre d’affectation des %d C int a; a=5; printf("La valeur de %d*%d=%d",a,10,a*10);
http://www.youtube.com/watch?v=xUSN5X09cC0
Version 12/11/2012
Ayadi.Walid alid@Gmail.com
5
TP1 Les instructions de base
Ecriture
Mémo printf • Syntaxe: printf("<chaine <chaine de caractère>",<variable ou expression>); ); • comporte une seule chaine de caractère entre " " • Dans la chaine on peut utiliser des caractères spéciaux qui ne s’affichent pas comme: \n : fait un retour à la ligne %d : remplace une valeur de type entier %f : remplace une valeur de type réelle %c : remplace un caractère Et il y en a d’autre…
http://www.youtube.com/watch?v=kukKa9Rtnho&feature=relmfu
Version 12/11/2012
Ayadi.Walid alid@Gmail.com
6
Lecture - scanf
TP1 Les instructions de base
1.4. LECTURE
scanf Permet de lire une entrée saisie au clavier par l’utilisateur
• Syntaxe Algorithme LIRE (<nom de variable >); C scanf("<type de variable à lire>" ,&<nom de variable> );
• Exemple 1 Algorithme VAR a : entier DEBUT ECRIRE ("donner la valeur de a") LIRE(a) FIN C { int a ; printf("donner la valeur de a") ; scanf("%d",&a); }
• Manipulation 4 1. Ecrire le code ci-dessous et voir le résultat C int a ; printf("donner un entier a"); scanf("%d",&a); printf("Vous avez entré la valeur %d",a); 2. Compiler le programme et entrer la valeur 10.5, quel est la valeur affiché ? 3. Remplacer %d par %f dans scanf et printf, compiler et entrer la valeur 10.5 (n’oublier pas de remplacer int a par float a. Déduire
Version 12/11/2012
Ayadi.Walid@Gmail.com
7
Lecture - scanf
TP1 Les instructions de base
http://www.youtube.com/watch?v=kukKa9Rtnho&feature=relmfu
• Manipulation 5 1. Compléter les zones noircies du code ci-dessous et voir le résultat C float a,b; printf("donner la valeur1 :"); scanf("%f",&a); : printf("donner la valeur 2 :"); scanf("%f",&b); printf("la somme de %f+%f=%f\n",a,b,a+b); %f+ printf("la soustraction de %f-%f=%f\n",a,b,a+b); %f printf("la multiplication de %fx%f=%f\n",a,b,a*b); %fx ); printf("la division de %f/%f=%f\n",a,b,a/b); %f/ http://www.youtube.com/watch?v=kukKa9Rtnho&feature=relmfu
• Manipulation 6 1. Editer le code ci-dessous et voir le résultat C char c1,c2,c3; printf("donner le premier caractère :"); scanf("%c",&c1); printf("donner le deuxieme caractère :"); scanf("%c",&c2); printf("donner le troisieme caractère :"); scanf("%c",&c3); printf("Le mot est :%c%c%c",c1,c2,c3); http://www.youtube.com/watch?v=kukKa9Rtnho&feature=relmfu
• Exercice 1 1. Traduire cet algorithme en C Algorithme Algorithme VAR a, b,reste,quotion: entier DEBUT ECRIRE ("donner la valeur de a") LIRE(a) ECRIRE ("donner la valeur de b") LIRE(b) reste a MOD b ; quotion a DIV b; ECRIRE (a,"=",b,"x", quotion,"+",reste) quotion FIN Version 12/11/2012
Ayadi.Walid alid@Gmail.com
8
Lecture - scanf
TP1 Les instructions de base
Exemple d’écran
http://www.youtube.com/watch?v=kukKa9Rtnho&feature=relmfu
Version 12/11/2012
Ayadi.Walid alid@Gmail.com
9
Lecture - scanf
TP1 Les instructions de base
Mémo scanf • Syntaxe: scanf("<type de variable à lire>" ,&<nom de variable>); • Comporte une seule chaine de caractère entre " " • Dans la chaine on remplace le type de valeur à lire par : %d : pour lire une valeur de type entier %f : pour lire une valeur de type réelle %c : pour lire un caractère Et il y a d’autre…
Version 12/11/2012
Ayadi.Walid@Gmail.com
10