Différences entre les versions de « Programmation C++/Les types de base et les déclarations »

source cpp
(source cpp)
 
=== Les déclarations ===
Toute variable en C++ doit être déclarée : la déclaration indique l'identificateur de la variable (son nom) et sa nature (son type).<br/>
 
'''Syntaxe :'''<br/>
''type identificateur'';
 
<br/>
'''Exemple :'''<br/>
<source lang="cpp">
int a;
</source>
Cette déclaration défini une variable d'identificateur a qui contient un entier de type int.
 
=== Identificateurs valides ===
Un identificateur est une suite de caractères (pouvant être majuscules ou minuscules), de chiffres ou d'underscores ( underscore ou "tiret bas" est le caractère _ ). Cette suite ne peut pas commencer par un chiffre. Un identificateur ne peut contenir ni espace, ni tiret - (utilisé pour l'opération moins).<br/>
 
=== Les types entiers ===
*''' unsigned long long int ''' : contient un entier de plus grande taille (64 bits), positif ou nul.
 
La longueur d'un long int , d'un int et d'un short int n'est pas spécifié par le langage. Plus un entier est représenté sur un grand nombre de bits, plus il pourra être grand. Ainsi, il est usuel de représenter un int sur 32 bits : il peut alors représenter n'importe quel entier entre -2<sup>31</sup> et 2<sup>31</sup>-1. le langage impose juste que la taille d'un long int doit être supérieure ou égale à celle d'un int et que la taille d'un int doit être supérieure ou égale à celle d'un short int !<br/>
 
Le système de représentation utilisé non plus. En général, la base 2 est utilisée pour les types unsigned int, unsigned long int et unsigned short int et le complément à 2 est utilisé pour les types int, long int et short int. Ce n'est toutefois nullement obligatoire.<br/>
'''Interprétation des constantes entières'''<br/>
 
'''Interprétation des constantes entières'''<br/>
* si une constante commence par 0x, elle sera interprétée comme une valeur en hexadécimal (base 16).
* si une constante commence par 0 suivi d'un chiffre, elle sera interprétée comme en octal (base 8).
'''Exemples : ''' <br/>
98 représente 98 en base 10.<br/>
0x62 représente 98 en hexadécimal (6*16+2). <br/>
0142 représente 98 en octal (1*64+4*8+2). <br/>
 
<br/>
* si une constante entière se termine par un U, elle sera interprétée comme étant un unsigned.
* si une constante entière se termine par un L, elle sera interprétée comme un long.
==== Le type char ====
Il s'agit du type usuel pour représenter un caractère. Aucun système de représentation n'est imposé pour les caractères et on utilise en général des dérivés du code ASCII. Un caractère doit juste être codé sur au moins 8 bits. Il est assez usuel toutefois d'utiliser exactement 8 bits pour représenter un char.<br/>
'''Exemple :'''<br/>
<source lang="cpp">
char c;
c='E';
</source>
Le caractère E est transféré dans la variable c de type char .<br/>
On peut transférer un char dans un int pour récupérer son codage.<br/>
Ainsi, on peut écrire : <br/>
<source lang="cpp">
int a;
charint ba;
char b;
b='W';
a=b='W';
a=b;
</source>
On récupère alors dans a le codage du caractère 'W'. On récupérera donc en général le code ASCII de 'W' dans la variable a.
 
 
Exemple :
<source lang="cpp">
wchar_t a = L'é'; // caractère 'é' unicode;
wchar_t[] chainea = L"Bonjour, monde !"'é'; // chaînecaractère de caractère'é' unicode;
wchar_t[] chaine = L"Bonjour, monde !"; // chaîne de caractère unicode
</source>
 
==== Unicode ou non ====
 
Exemple :
<source lang="cpp">
TCHAR a = _T('é'); // caractère 'é' unicode ou ascii;
TCHAR[] chainea = _T("Bonjour, monde !"'é'); // chaînecaractère de caractère'é' unicode ou ascii;
TCHAR[] achaine = _T('é'"Bonjour, monde !"); // caractèrechaîne 'é'de caractère unicode ou ascii;
</source>
 
=== Les booléens ===
 
'''Exemple : '''
<source lang="cpp">
bool a;
intbool a;
int c;
int c=89;
c=89;
a=(c>87);
// a reçoit alors la valeur true.
</source>
 
=== L'opérateur sizeof ===
 
Exemple:
<source lang="cpp">
typedef unsigned long data_size;
data_size readData(char* buffer, data_size buffer_size);
 
data_size readData(char* buffer, data_size buffer_size);
On s'aperçoit plus facilement que la fonction retourne le nombre d'octets lus que dans la déclaration sans <code>typdef</code> :
</source>
 
On s'aperçoit plus facilement que la fonction retourne le nombre d'octets lus que dans la déclaration sans <code>typdef</code> :
unsigned long readData(char* buffer, unsigned long buffer_size);
<source lang="cpp">
unsigned long readData(char* buffer, unsigned long buffer_size);
</source>
 
[[Catégorie:Programmation C++ (livre)]]