22
Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Embed Size (px)

Citation preview

Page 1: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

GEF 243BProgrammation informatique appliquée

Types, variables et constantes

Page 2: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Revue

• Donnez deux différences majeures entre C et Java.• Quelles sont les étapes pour créer un programme

en C? • Quelles sont les caractères valides pour des

identificateurs en C?

Page 3: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Synopsis

• Types• Variables• Constantes• Caractères spéciaux

Page 4: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C

• Que sont les types de toute façon?En terme communs, les types aident au compilateur à

faire une vérification de base pour vérifier si l’intention d’une variable rencontre son utilisation.

Définissent un ensemble de valeurs et un ensemble d’opérations qui peuvent être utilisées sur ces valeurs.

Les variables et les fonctions ont des types. • Et les constantes aussi (implicitement)

Les types peuvent être standards ou dérivés. On va regarder les types standards pour les variables;

• les types pour les fonctions et les types dérivés sont vues plus tard.

Page 5: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C

• Les types de données standard en C sont atomiques (ils ne peuvent pas être décomposés en plus petits éléments)

Figure 2-6

Page 6: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C - void

• void: Aucune valeur et seulement une opération; l’affectation (=).

• C’est un type générique qui peut être utilisé pour représenter d’autres types.

• Ce type est très flexible et comme nous allons le voir durant le cours, il est souvent utilisé.

Page 7: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C – Integer (int)

• Les ‘integers’ sont des nombres entiers (sans fractions). En C il y a trois sortes de types de données int: short int, int, long int:

• Un int peut être ‘signed’ ou ‘unsigned’• La bibliothèque limits.h de C, contient

l’information sur la grandeur des entiers (int) pour la plateforme courante INT_MAX et INT_MIN

• Aussi vous pouvez vérifier la grandeur (en octets) d’un int avec l’opérateur sizeof()sizeof(short int);

Page 8: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C – Integer (int)

Type Signe Octets Valeur Min

Valeur Max

short int Signed

Unsigned

2 -32,768

0

32,767

65,535

int

(16 bits)

Signed

Unsigned

2 -32,768

0

32,767

65,535

int

(32 bits)

Signed

Unsigned

4 -2,147,483,648

0

2,147,483,647

4,294,967,295

long int Signed

Unsigned

4 -2,147,483,648

0

2,147,483,647

4,294,967,295

Page 9: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C - char

• Les caractères (char) utilisent normalement un octet (8 bits) pour stocker des caractères en ASCII.

• Les char sont stockés en mémoire comme des int, représentant le code ASCII pour le caractère correspondant.Donc en C, les caractères sont souvent traités comme

des entiers (int)Une table ASCII est fournit à l’appendice A de

Forouzan.Exemple ‘a’ = 0x61 or 9710

Page 10: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C - float

• Un nombre fractionnaire (float) est un nombre qui a une partie fractionnelle (i.e. 43.56)

• Il y a trois différentes grandeurs pour un float: float, double et long double.

Type Octets

float 4

double 8

long double 10

Page 11: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C - Booléen

• Il n’y a pas de variables booléennes en C!!!

No Booléen for you!

Page 12: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C – Données logiques

• Touts les nombres qui sont non zéro en C (positifs ou négatifs) sont utilisés pour représenter la valeur logique vrai et zéro est utilisé pour représenter faux

• (1 == 1) vrai• (1 != 1) faux• (i = 0) faux • (i = 1 + 1) vrai

Page 13: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Types en C – String

• Il n’y a pas de strings en C non plus; il y a juste des tableaux de caractères, nous allons voir cela bientôt.

Page 14: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Variables

• Les variables ne sont rien de plus que des espaces de mémoire avec un nom et un type Parce qu’une variable a un type, elle a aussi une grandeur et un

ensemble d’opérations qui sont définies par le type

• Les noms de variable sont des symboles qui sont utilisés pour identifier la location des données en mémoire. Ceci libère le programmeur d’avoir à savoir où les variables sont

physiquement; cela devient la responsabilité du compilateur.

• Les variables ne peuvent pas être déclarées comme void

Page 15: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Variables

Page 16: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Variables - initialisation

• Les variables ne sont pas initialisées automatiquement quand elles sont déclarées, sauf pour quelques exceptions; elles contiennent des déchets

• Les variables peuvent être initialisées quand elles sont déclarées :

int compte = 0;

char initial = ‘a’;

float tauxTaxe = 0.15;

Page 17: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Constantes

• Il y a trois façons de coder des constantes dans un programme: Littérale: une constante sans nom pour spécifier des données

• ‘a’ , 5, “Bonjour le Monde”, 3.25

Constantes Définies• #define TAXE_DE_VENTE 0.07 // pas de ;

Constantes de mémoire• const float PI = 3.14159

• Comme les variables, les constantes ont un type.

Page 18: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Constantes - int

• Les constantes int: Si vous ne spécifiez pas un type, la constante est un signed int.

Littérale Valeur Type

123 123 int

-32000L -32,000 long int

76453LU 76,453 unsigned long int

Page 19: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Constantes - float

• Les constantes float: Si vous ne spécifiez pas un type, la constante est un double.

Littérale Valeur Type

1.0 1.0 double

3.1416F 3.1416 float

76453.1L 76,453.1 long double

Page 20: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Constantes – characters & strings

• ‘\0’ /* caractère nulle */• ‘h’ /* le caractère h */• “” /* une string vide */• “h” /* une string contenant le caractère h */• “Bonjour le monde”

Page 21: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Caractères spéciaux

• Null character ‘\0’• Alert ‘\a’• Backspace ‘\b’• Horizontal tab ‘\t’• New line ‘\n’• Vertical tab ‘\v’• Form feed ‘\f’• Carriage return ‘\r’• Single quote ‘\’’• Double quote ‘\”’• Backslash ‘\\’

Page 22: Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes

Hiver 2005 Maj JGA Beaulieu & Capt MWP LeSauvage

Quiz Time

• Pourquoi utilisons nous des types dans un langage?

• Qu’est-ce qu’une variable