Outils pour utilisateurs

Outils du site


code_language:c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
code_language:c [2025/10/31 20:29]
74.7.227.242 ancienne révision (2025/09/11 14:47) restaurée
code_language:c [2025/10/31 20:39] (Version actuelle)
74.7.227.242 ancienne révision (2025/09/11 14:27) restaurée
Ligne 22: Ligne 22:
    * TYPE NOM(VALEUR);    * TYPE NOM(VALEUR);
      * <code c++> int ageUtilisateur(16); </code>      * <code c++> int ageUtilisateur(16); </code>
-  * Pour déclarer une variable non modifiable: 
-    * TYPE const NOM(VALEUR); 
-    * <code c++> int const nombreNiveaux(10); </code> 
   * Afficher une variable ( en console )   * Afficher une variable ( en console )
     * <code c++>int main()     * <code c++>int main()
Ligne 140: Ligne 137:
 unNombre = 5; //Je mets 5 dans la case mémoire 'unNombre' </code> unNombre = 5; //Je mets 5 dans la case mémoire 'unNombre' </code>
 * OPERATION DE VALEUR DE VARIABLE: * OPERATION DE VALEUR DE VARIABLE:
-^Operation ^Symbole ^Exemple ^+  * ^Operation ^Symbole ^Exemple ^
 | Additon| +| <code c++> resultat = a + b; </code> | | Additon| +| <code c++> resultat = a + b; </code> |
 | Soustraction| -| <code c++> resultat = a - b; </code> | | Soustraction| -| <code c++> resultat = a - b; </code> |
Ligne 146: Ligne 143:
 | Division| /| <code c++> resultat = a / b; </code> | | Division| /| <code c++> resultat = a / b; </code> |
 | Modulo| %| <code c++> resultat = a % b; </code> | | Modulo| %| <code c++> resultat = a % b; </code> |
-| incrément| ++Variable;| <code c++> int nombreJoueur(4); //Il y a 4 joueurs dans la partie 
-++nombreJoueur; 
-//À partir d'ici, il y a 5 joueurs </code> | 
-| decrément| --Variable;| <code c++> int nombreJoueur(4); //Il y a 4 joueurs dans la partie 
---nombreJoueur; 
-//À partir d'ici, il y a 3 joueurs </code> | 
-  * Les Racourcie d'operation sur une variable elle meme: 
-    * nomVariable += valeur; 
-    * nomVariable -= valeur; 
-    * nomVariable *= valeur; 
-    * nomVariable /= valeur; 
-    * nomVariable %= valeur; 
  
  
Ligne 217: Ligne 202:
  
 == Méthode == == Méthode ==
-^Nom de la fonction ^Symbole ^Fonction ^Mini-Exemple ^ 
-| Racine carree | sqrtx | <code c++> sqrt() </code> | <code c++> resultat = sqrt(valeur); </code> | 
-| Sinus | sin(x) | <code c++> sin() </code> | <code c++> resultat = sin(valeur); </code> | 
-| Cosinus | cos(x) | <code c++> cos() </code> | <code c++> resultat = cos(valeur); </code> | 
-| Tangente | tan(x) | <code c++> tan() </code> | <code c++> resultat = tan(valeur); </code> | 
-| Exponentielle | ex | <code c++> exp() </code> | <code c++> resultat = exp(valeur); </code> | 
-| Logarithme neperien | lnx | <code c++> log() </code> | <code c++> resultat = log(valeur); </code> | 
-| Logarithme en base 10 | log10x | <code c++> log10() </code> | <code c++> resultat = log10(valeur); </code> | 
-| Valeur absolue |  | <code c++> fabs() </code> | <code c++> resultat = fabs(valeur); </code> | 
-| Arrondi vers le bas | floor() | <code c++> floor() </code> | <code c++> resultat = floor(valeur); </code> | 
-| Arrondi vers le haut | ceil() | <code c++> ceil() </code> | <code c++> resultat = ceil(valeur); </code> | 
-| Puissance | pow(a,b) | <code c++> pow() </code> | <code c++> resultat = pow(valeur1, valeur2); </code> | 
  
  
Ligne 242: Ligne 215:
  
 ===== Structure de contrôle ===== ===== Structure de contrôle =====
-=== if === +=== Return ===
-==les operateurs logique == +
-^Symbole ^ signification ^ +
-| == | Est égal à | +
-| > | Est superieur a | +
-| < | Est inferieur a | +
-| >= | Est superieur ou égale a | +
-| <= | Est inferieur ou égal a | +
-| != | Est different de|+
  
-Combinaisons: and , or , not. +=== else ===
-^Syntaxe^symbole^signification^ +
-| and | && | ET | +
-| or | double pipe | OU | +
-| not | ! | NON | +
- +
-== exemple de boucle if else =+
- +
-<code c++> #include <iostream> +
- +
-using namespace std; +
- +
-int main() +
-+
-    int nbAnimaux(0); +
- +
-    if (nbAnimaux > 0) +
-    { +
-        cout << "Super ! Les animaux de compagnie ca change la vie !" << endl; +
-    } +
-    else +
-    { +
-        cout << "Vous n'avez pas d'animaux de compagnie" << endl; +
-    } +
- +
-    cout << "Fin du programme" << endl; +
-    return 0; +
-} </code> +
- +
-== exemple de boucle if elseif == +
- +
-<code c++> #include <iostream> +
- +
-using namespace std; +
- +
-int main() +
-+
-    int nbAnimaux(2); +
- +
-    if (nbAnimaux == 0) +
-    { +
-        cout << "Vous n'avez pas d'animaux de compagnie" << endl; +
-    } +
-    else if (nbAnimaux == 1) +
-    { +
-        cout << "C'est super d'avoir un fidele compagnon !" << endl; +
-    } +
-    else if (nbAnimaux == 2) +
-    { +
-        cout << "Ca doit en faire du monde a la maison !" << endl; +
-    } +
-    else +
-    { +
-        cout << "Votre budget croquettes doit etre important" << endl; +
-    } +
- +
-    cout << "Fin du programme" << endl; +
-    return 0; +
-}</code> +
- +
- +
- +
-=== switch === +
- +
-exemple de code avec switch +
- +
-<code c++> #include <iostream> +
- +
-using namespace std; +
- +
-int main() +
-+
-    int nbAnimaux(2); +
- +
-    switch (nbAnimaux) +
-    { +
-        case 0: +
-            cout << "Vous n'avez pas d'animaux de compagnie" << endl; +
-            break; +
- +
-        case 1: +
-            cout << "C'est super d'avoir un fidele compagnon !" << endl; +
-            break; +
- +
-        case 2: +
-            cout << "Ca doit en faire du monde a la maison !" << endl; +
-            break; +
- +
-        default: +
-            cout << "Votre budget croquettes doit etre important" << endl; +
-            break; +
-    } +
- +
-    return 0; +
-} </code> +
-  * Attention switch ne fonctionne pas sur des double.+
  
 +=== case ===
  
 === break=== === break===
Ligne 355: Ligne 226:
  
 === for === === for ===
-Exemple de boucle for: 
-<code c++> int main() 
-{ 
-    int compteur(0); 
- 
-    for (compteur = 0 ; compteur < 10 ; compteur++) 
-    { 
-        cout << compteur << endl; 
-    } 
- 
-    return 0; 
-} </code> 
  
 === do === === do ===
- 
-Exemple de boucle do ...while 
-<code c++> do 
-{ 
-    /* Instructions */ 
-} while (condition); </code> 
- 
-=== return === 
  
  
 === while === === while ===
- 
-Exemple de boucle while: 
-<code c++> while (condition) 
-{ 
-    /* Instructions à répéter */ 
-} </code> 
  
  
Ligne 425: Ligne 270:
  
  
-===== Fonctions ===== +===== Fonctions prédéfinies =====
-=== Declaration === +
-  * Fonction avec paramètre: +
-    * <code c++> int addition(int a, int b) +
-+
-    return a+b; +
-+
- +
-double multiplication(double a, double b, double c) +
-+
-    return a*b*c; +
-} </code> +
-  * Fonction avec paramètre dont certain ont une valeur par défaut c'est a dire ne sont pas obligatoire: +
-    * <code c++> #include <iostream> +
- +
-using namespace std; +
- +
-// Prototype avec les valeurs par défaut +
-int nombreDeSecondes(int heures, int minutes = 0, int secondes = 0); +
- +
-// Main +
-int main() +
-+
-    cout << nombreDeSecondes(1, 10, 25) << endl; +
- +
-    return 0; +
-+
- +
-// Définition de la fonction, SANS les valeurs par défaut +
-int nombreDeSecondes(int heures, int minutes, int secondes) +
-+
-    int total = 0; +
- +
-    total = heures * 60 * 60; +
-    total += minutes * 60; +
-    total += secondes; +
- +
-    return total; +
-} </code> +
-  * Ici on voit que l'on met les valeur par défaut uniquement dans la déclaration de la fonction dans le fichier .hpp. Attention si on fait appelle une fonction avec 3 paramètre, on ne peut pas renseigner le premier et le dernier ( INTERDIT), si on veut renseigné le dernier paramètre sans celui du milieu on est obligé de déclarer le paramètre du milieu avec notamment une valeur par défaut. +
-  * Fonction sans paramètre: +
-    * <code c++> string demanderNom() +
-{     +
-     cout << "Entrez votre nom : "; +
-     string nom; +
-     cin >> nom; +
-     return nom; +
-} </code> +
- +
-  * Fonction qui ne renvoie rien: +
-    * <code c++> void direBonjour() +
-+
-    cout << "Bonjour !" << endl; +
-    //Comme rien ne ressort, il n'y a pas de return ! +
-+
- +
-int main() +
-+
-    direBonjour(); +
-    //Comme la fonction ne renvoie rien +
-    //On l'appelle sans mettre la valeur de retour dans une variable +
-     +
-    return 0; +
-} </code> +
-====== Utilisez Plusieurs fichiers ====== +
-=== Fichier source et fichier d'en-tête === +
-  * Un fichier source dont l'extension est .cpp contient le code source de la fonction. +
-    * Le fichier math.cpp doit contenir un include "math.hpp" pour que les deux fichier soit lié: +
-      * <code c++> #include "math.hpp" +
- +
-int ajouteDeux(int nombreRecu) +
-+
-    int valeur(nombreRecu + 2); +
- +
-    return valeur; +
-} </code> +
-  * Un fichier d'en-tête dont l'extension est .hpp contient uniquement la description de la fonction, ce qu'on appelle le prototype de la fonction. +
-    * Le fichier doit contenir ses trois lignes pour empêcher d'inclure plusieurs fois le même .cpp +
-      * <code c++>#ifndef MATH_HPP_INCLUDED +
-#define MATH_HPP_INCLUDED +
- +
-#endif // MATH_HPP_INCLUDED</code> +
-  * voici un exemple de déclaration de fonciton: +
-    * <code c++>#ifndef MATH_HPP_INCLUDED +
-#define MATH_HPP_INCLUDED +
- +
-int ajouteDeux(int nombreRecu); +
- +
-#endif // MATH_HPP_INCLUDED </code> +
-  * Si le paramètre de notre fonction est de type string il faut ajouté en include les string et faire précedé le type par son nom de domaine, ici std: +
-    * <code c++>#ifndef MATH_HPP_INCLUDED +
-#define MATH_HPP_INCLUDED +
- +
-#include <string> +
- +
-void afficherMessage(std::string message); +
- +
-#endif // MATH_HPP_INCLUDED </code> +
-  * L'autre élément important est l'ajout de std::  devant le mot string  . Il s'agit de la marque d'un espace de nom. +
-  * std apparaît dans tous nos fichiers source via la ligne using namespace std  . Comme il n'y a pas de telle ligne ici (et qu'il est très vivement déconseillé de la mettre dans un fichier d'en-tête), il nous faut utiliser le nom complet du type string   , qui est std::string +
-  * Inclure tout cela dans la fichier main.cpp +
-    * <code c++> #include <iostream> +
-#include "math.hpp" +
-using namespace std; +
- +
-int main() +
-+
-    int a(2),b(2); +
-    cout << "Valeur de a : " << a << endl; +
-    cout << "Valeur de b : " << b << endl; +
-    b = ajouteDeux(a);                     //Appel de la fonction +
-    cout << "Valeur de a : " << a << endl; +
-    cout << "Valeur de b : " << b << endl; +
- +
-    return 0; +
-} </code> +
-  * Dans le fichier .hpp il est recommander de mettre en commantaire ce que fait la fonction, la liste des arguments, les caracteristique de la valeur retournée. +
  
 ===== Programmation avancée ===== ===== Programmation avancée =====
-=== Argument de fonction passé par Valeur ==== 
-  * Lorsqu'on passe dans le paramètre d'une fonction une variable classique contenant une valeur: 
-    * <code c++> #include <iostream> 
-using namespace std; 
- 
-int ajouteDeux(int a) 
-{ 
-    a+=2; 
-    return a; 
-} 
- 
-int main() 
-{ 
-    int nombre(4), resultat; 
-    resultat = ajouteDeux(nombre); 
-     
-    cout << "Le nombre original vaut : " << nombre << endl; 
-    cout << "Le resultat vaut : " << resultat << endl; 
-    return 0; 
-} </code> 
-  * Dans ce cas la la variable nombre est copiée ans une nouvelle case mémoire et sa valeur n'est pas changé. 
- 
-=== Argument de fonction passé par Reference ==== 
-  * Lorsqu'on passe dans le paramètre d'une fonction une reference à une variable classique contenant une valeur: 
-    * <code c++> int ajouteDeux(int& a) //Notez le petit & !!! 
-{ 
-    a+=2; 
-    return a; 
-} </code> 
-  * Dans ce cas la , la variable nombre a une reference "a" qui point vers elle, ainsi nombre et a sont confondue, de cette façon la fonction modifie directement la variable nombre. 
- 
-=== Argument de fonction passé par Reference constante ==== 
-  * Lorsqu'on passe dans le paramètre d'une fonction une reference à une variable classique contenant une valeur mais qu'on ne souhaite pas que la fonction puisse modifier la valeur de la variable classique. Cela est nécessaire lorsqu'on ne veut pas copie en paramètre une valeur a gros volume pour faire fonctionner la fonction (passage par valeur proscris pour cause de dégradation de performance): 
-    * <code c++> void f1(string const& texte) //Pas de copie et pas de modification possible 
-{ 
-}</code> 
-  * Dans ce cas la , la variable passé en paramètre n'est pas copié, on y fait reference mais la variable n'est pas modifiable. 
- 
- 
-====== Tableaux statiques ====== 
- 
-=== Declarer un tableau statique d'un type === 
- 
-<code c++> 
-#include <iostream> 
-using namespace std; 
- 
-int main() 
-{ 
-   int meilleurScore[5];       //Déclare un tableau de 5 int  
- 
-   double anglesTriangle[3];   //Déclare un tableau de 3 double 
- 
-   return 0; 
-} 
-</code> 
-====== Tableaux dynamiques ====== 
- 
-====== Lire et modifier des fichiers ====== 
- 
-====== Declaration de pointeurs ====== 
  
 === Paradigme de programmation classe/objet === === Paradigme de programmation classe/objet ===
Ligne 621: Ligne 288:
  
 === Methode de classe === === Methode de classe ===
- 
  
  
code_language/c.1761942577.txt.gz · Dernière modification: 2025/10/31 20:29 de 74.7.227.242