Skip to main content

Cheat-Sheet

Introduction

Le langage C est un langage de bas niveau qui doit être compilé avant d'être exécuté.

#include <stdio.h>

// Mémo de tous les cours

int main(void){

    // Déclaration et affectation d'un entier
    int my_first_variable = 0;
    float second_var = 26.34;
    signed char n = 65;
    signed char l = 'J';
    // Norme : Mettre les constante en MAJUSCULE
    const float PI = 3.14;

    n = 56;

    // Afficher que la partie entière (cast)
    int entier = (int)second_var;

    /*
    
    Les flags (qui sont remplacés par les variables en argument dans l'ordre)

    %d : int
    %f : float (%.2f pour 2 nombres après la virgule)
    %c : char
    %s : string

    */

    
    printf("%d\n", entier);

    // Afficher plusieurs variables
    printf("Variable 1 : %.1f | Variable 2 : %c\n", second_var, l);

    // Afficher PI
    printf("Valeur de Pi : %.2f", PI);
    
    int age_user = 0;
    printf("Quel âge avez-vous ? \n");
    scanf("%d", &age_user);
    printf("Vous avez %d ans !\n", age_user);

    // Demander une valeur à l'utilisateur (marche seulement lorsque que le code est compilé)
    scanf("%d", &input);

    // Incrémentation
    int niveau = 2;
    niveau += 6;
    niveau++;

    printf("Niveau => %d\n", niveau); */

    // If
    int niveau = 18;
    if (niveau < 5 || niveau == 18) 
    {
        printf("Yop");
    } 
    else 
    {
        printf("Hoho");
    }

    // Switch
    int age = 18;
    switch(age)
    {
        case 18:
            printf("Tu as la majorité !");
            break;
        case 100:
            printf("Tu es centenaire !");
            break;
        default:
            break;
    }

    // Ternaire
    int age = 16;
    (age == 15) ? printf("tu as 15 ans") : printf("Interdit pour toi");
    
    // Boucle While
    int i = 0;
    while (i<10){
        printf("Waou !\n");
        i++;
    }

    // Boucle For
    // 1 : Init compteur
    // 2 : Condition
    // 3 : Chose à faire (souvent incrémentation)
    int i;
    for (i = 0 ; i<5 ; i++){
        printf("Ce message est affiché 5 fois\n");
    }
    return 0;

    // Prototype pour pouvoir mettre la fonction après le main sans problèmes (sans modularité)
    int first_function(int valeur1);
    void lol(int valeur2);

    // Mot clé qui va définir que la variable ne sera pas écrasé à la fin de la fonction
    static int ma_variable_statique = 2;
    // Il rend aussi les fonctions utilisables que dans le fichier dans lequel elle appartient
    static char ma_fonction_statique(void){
        return 0;

    // Va remplacer les mots LONGUEUR du code par 15 à l'étape du préprocesseur (avant compilation) 
    #define LONGUEUR 15

    /*
        Constantes prédéfinies du langage C :
        __FILE__ (nom du fichier source)
        __LINE__ (ligne du fichier)
        __DATE__ (date de compilation)
        __TIME__ (heure de compilation)
    */

    // Déclaration d'un pointeur
    int *pt_nb1 = &nb1;
    int *pt_nb2 = &nb2; 

    }
    // Déclaration chaîne de caractères
    char name[256];

    printf("Donne moi ton nom, tu auras un bonbon :\n");
    scanf("%s", &name);

    // Changer le contenu d'une chaîne (dst puis src)
    strcpy(old_prenom, new_prenom)

    // Renvoie la longueur d'une chaîne
    strlen(chaine)

    // Compare deux chaînes (renvoie 0 si les chaînes sont identiques sinon renvoie l'écart dans entre les deux lettres dans l'alphabet)
    strcmp(mot1, mot2)

    // Concaténer deux chaînes 
    printf("%s\n", strcat(mot1, mot2));

    // Il va chercher le mot dans la phrase
    char phrase[] = "Salut les amis";
    char mot[] = "am";
    
    if (strstr(phrase, mot) != NULL)
        printf("Trouvé !\n");
    
    // Retourne les caractères qu'il y a après le caractère de coupure
    char texte[] = "Ceci est-il un problème ?";
    char c = '-';

    char *resultat = strchr(texte, c);
    printf("%s\n", resultat);

}

// Mémo pointeurs
int main(){

    void exchange(float *nombreA, float *nombreB)
    {
        float tmp = *nombreB;
        *nombreB = *nombreA;
        *nombreA = tmp;
    }

    float nombreA = 6.8;
    float nombreB = 9.45;

    printf("A = %.2f | B = %.2f\n", nombreA, nombreB);
    exchange(&nombreA, &nombreB);
    printf("A = %.2f | B = %.2f", nombreA, nombreB);
    return 0;
}