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é.

Variables

Déclaration

  • Entier :
#include <stdio.h>

// Mémo de tous les cours

int main(void){

    // Déclaration et affectation d'un entier
    int my_first_variablemyInteger = 0;
  • Flottant :
float second_varmyFloat = 26.34;
signed
  • Caractère :
char n = 65;
    signed char lmyChar = 'J';
// NormeAvec le code ASCII (caractère 'A')
char myChar = 65;
  • Constante (en majuscule) :
  • Mettre
les constante en MAJUSCULE
const float PI = 3.14;
n

Bibliothèques

=
    56;
  • Standard //:
  • Afficher
que
#include la<stdlib.h>
partie
    entière
  • Standard Input/Output :
#include <stdio.h>
  • String (cast) int entier = (int)second_var; /* Les flags (qui sont remplacés parpour les variableschaînes ende argument dans l'ordre) %dcaractères :
  • int
%f
#include <string.h>

Assert (pour les vérifications) :

float
#include (%.2f<assert.h>
pour

Fonctions

2

En nombresC, on distingue le prototype d'une fonction de son implémentation. Le prototype n'est pas indispensable mais utile lorsqu'on souhaite implémenter les fonctions après la virgule)fonction %cmain par exemple.

Prototypage :

char
float %scalculator(float op1, float op2);

Implémentation :

string
float */calculator(float printf("%d\n",op1, entier);float // 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) 
    op2){
        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;op1 //+ Prototypeop2;
pour}
pouvoir

Main

mettre

Tout programme en langage C présente la fonction après le main sans problèmes (sans modularité) int first_function(int valeur1); void lol(int valeur2); // Mot clé qui vasera définirnaturellement queexécutée laen variablepremière. neIl seran'est pas écrasé à la finnécessaire 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 Cappeler :

__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

Commentaires

*nombreA,

Cast float(transtypage)

*nombreB)
    {
  • Passer floatd'un tmpflottant à un entier :
int myInteger = *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;
}(int)myFloat;

Les flags