Non ca va merci, je viends de trouvé un tutorial sur ce programme, voila je n'ai plus de question, merci a vous tous a+
Non ca va merci, je viends de trouvé un tutorial sur ce programme, voila je n'ai plus de question, merci a vous tous a+
C'est comme au primaire quand on t'apprend à compter avec des patates et autres légumes On apprend qu'on ne peut pas compter des patates et des carottes. Car ces types sont incompatibles...Envoyé par maxstilde
Le C++ est un langage faiblement typé. Mais il distingue des types, dit de base car n'étant pas objets, parmis lesquels:
Types numériques :
Entier signés => int, long int, short int ...
La différence entre un long int et un int => Sa place mémoire, qui dépend du système. Par exemple, un int prendra en mémoire 32 bits ( 4 octets), tandis qu'un long est sur 64 bits (8 octets). De fait en signé un int va de -32767 à +32768, tandis q'un long int ira de - 2 147 483 647 à +2 147 483 648.
Entier non signés: unsigned int, unsigned long int ...
Ils ont toujours une valeur positive.
Caractère : char.
Ce type est utile pour afficher des lettres à l'écran, en majuscule et minuscule, mais aussi des chiffres sous forme de lettres.
Voici des littéraux caractères:'a' à 'z', 'A' à 'Z', '0' à '9'.
Il y a aussi des caractères dit non imprimables mais présents sur le clavier comme la touche contrôle...
Et il y a beaucoup d'autres types de base.
Ensuite, tu as trois notions essentielles :
Les littéraux, les constantes et les variables.
Littéraux: Je ne me souviens plus exactement de la définition mais pour fixer les idées:
ici -10 est un littéral entier négatif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int Compteur = -10;
Ici 'A' est un littéral caractère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char Lettre = 'A';
Les constantes: Une constante ne peux pas être modifié après sa déclaration. En d'autre termes, une constante ne peux pas être membre gauche d'un affectation.
Les variables : Une variable peut être modifiée après sa déclaration. Donc, elle peut ne pas être initialisée à sa déclaration. Elle peut être membre gauche d'une affectation à condition que le membre droit soit du même type que la variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 //Impossible, une erreur de compilation. const char Pause = 'P'; Pause = 'Q'; // Membre gauche ou L-Value.
Bonne continuation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 char UneVariable; cout << "Saisissez un caractère. cin >> UneVariable; cout << "Vous avez saisi : " << UneVariable << endl; UneVariable = 'z'; cout << "Après affectation" << UneVariable << endl; UneVariable = 10; //Erreur de compilation, UneVariable est un caractère, 10 est un littéral entier.
Et ouais pendant quelques temps, tu va ramer un peu mais après des habitudes vont venir. On est tous passé par là
Première grosse démo en construction :
http://bitbucket.org/rafy/exo2/
Le truc qu'il faut comprendre c'est le principe de fonctionnement, pas tant les détails, comprendre comment marche les boucles, les fonctions.
Comprendre aussi ce que c'est qu'un pointeur, comment les utiliser...
Première grosse démo en construction :
http://bitbucket.org/rafy/exo2/
Ca ne serait pas mieux de lancer un nouveau post pour tes questions, après avoir fait une recherche bien entendu?
Car là, on part dans du technique dans une questions plutot théorique à la base.
En tout cas, bravo Caine pour avoir le courage de reprendre ces notions avec tant de détails
Nas'
Le C++ faiblement typé ? A ce que l'on m'a toujours dit c'est plutôt l'inverse contrairement à d'autres langages de plus haut niveau tel que Python. En C++, on doit déclarer de quelle type sera la variable que ce soit un type de base ou une classe.
Et en ce qui concerne les types de bases, leurs tailles en mémoire n'est pas dépendantes de l'architecture ou du compilateur utilisé ? Je n'en suis pas sûr mais je crois que la norme ne fixe pas leurs tailles.
Faiblement typé veut dire que tu peux mettre un nombre dans un char par exemple.
Le C est un langage faiblement typé aussi. Tu peux faire des cast et tout...
Nas'
Oui d'accord ca va, je vais allé mettre un nouveau message dans le forum C pour posé toute mes question , et encore merci
Oui le C++ est faiblement typé car, par exemple, un long int et un int sont compatibles, pourtant il ne s'agit pas des même types.Envoyé par Elendil_BzH
En Ada par exemple l'equivalent de ces deux types seraient incompatibles. L’Ada est donc fortement typé car aucun type n'est compatible avec un autre type.
Pour ta deuxième question, la taille est dépendante du système et du compilateur. Car si le compilateur assure de la taille des types, le compilateur a généralement un OS pour cible qui lui aussi fixe certaines tailles.
Pour Nasky : Je pense que ce qui nous paraît trivial dans un tutoriel ne l'est pas forcément pour un néophyte et autodidacte, surtout s'il ne suit pas de formation en info. Donc, clarifier ne peux qu'aider.
Oui, ca m'a fait bondir aussi. Le C est faiblement type, d'accord. Le C++ est beaucoup plus fortement type (le cast implicite d'un void est permis en C, par exemple, alors qu'il est interdit en C++).Envoyé par Elendil_BzH
La norme fixe les plages de valeurs minimales et maximales qu'on type DOIT offrir. Mais rien ne garantit qu'un char fait 8 bit, un short integer 16-bit, un long-integer 32 bits, etc. Le principal, c'est qu'un char puisse contenir les valeurs de 0 a 255 (en non-signe). La taille minimale pour le faire est 8-bit, mais un caractere de 32-bit peut le faire aussi, evidemment. Donc un char de 32 bit est conforme a la norme.Envoyé par Elendil_BzH
Il y a une chose qui est sur et certaine :
sera toujours, toujours, égale à 1.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sizeof(char);
Qu'il soit stocké sur 8 bits, 32 bits, 64 bits ou 354564564 bits ça voudra toujours 1.
C'est une définition. Tous les compilateurs le connaissent.
C'est même je crois la définition du 1.
Première grosse démo en construction :
http://bitbucket.org/rafy/exo2/
Rafy tu as raison , je viends de le lire dans mon livre
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager