IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Faut-il apprendre le C ?


Sujet :

C++

  1. #41
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    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+

  2. #42
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Citation Envoyé par maxstilde
    ...
    Après avoir lus le premier chapitre, je ne comprend pas certain point, savez vous m'éclairez ?

    Je bloque sur : Types de données élémentaires avec char;
    int;
    short;
    long.

    Je ne comprends pas avec les octets et la mémoir, et aussi , il parle de constante entière, constantes a virgule flottante, constantes de type caractere. Merci de m expliquer plus clairement.
    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...

    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int Compteur = -10;
    ici -10 est un littéral entier négatif.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char Lettre = 'A';
    Ici 'A' est un littéral caractère.

    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.

    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.
    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
    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.
    Bonne continuation.

  3. #43
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    Ha oui merci c'est un peu plus claire

  4. #44
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    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/

  5. #45
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    Oui je m'en doute bien

  6. #46
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    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/

  7. #47
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    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'

  8. #48
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 63
    Points : 77
    Points
    77
    Par défaut
    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.

  9. #49
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    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'

  10. #50
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    Oui d'accord ca va, je vais allé mettre un nouveau message dans le forum C pour posé toute mes question , et encore merci

  11. #51
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Citation Envoyé par Elendil_BzH
    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.
    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.

    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.

  12. #52
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par Elendil_BzH
    Le C++ faiblement typé ?
    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++).

    Citation Envoyé par Elendil_BzH
    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.
    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.

  13. #53
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Il y a une chose qui est sur et certaine :
    sera toujours, toujours, égale à 1.....
    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/

  14. #54
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Points : 28
    Points
    28
    Par défaut
    Rafy tu as raison , je viends de le lire dans mon livre

Discussions similaires

  1. Faut il apprendre Swift au lieu de Objective C ?
    Par Périclite dans le forum Swift
    Réponses: 8
    Dernier message: 04/07/2017, 14h22
  2. Quel langage faut-il apprendre pour débuter
    Par magni dans le forum Débuter
    Réponses: 8
    Dernier message: 25/10/2015, 16h46
  3. Faut il apprendre le C avant le C++ ?
    Par Yukiho dans le forum Débuter
    Réponses: 51
    Dernier message: 13/10/2014, 21h13
  4. Que faut-il apprendre pour programmer sous Android ?
    Par le solar dans le forum Android
    Réponses: 9
    Dernier message: 29/05/2014, 00h01
  5. Par quel ERP faut-il apprendre?
    Par b_zakaria dans le forum Forum général ERP
    Réponses: 2
    Dernier message: 30/03/2010, 09h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo