Formulaire
LINFO1252Formulaire
Choisir « Enregistrer au format PDF ».
Formules et méthodes essentielles
Section intitulée « Formules et méthodes essentielles »Arguments, retour et flux
Section intitulée « Arguments, retour et flux »$0 # nom/chemin du script$1 $2 # arguments$# # nombre d'arguments$? # code retour dernière commande
0 = STDIN1 = STDOUT2 = STDERRcmd > f # écrasecmd >> f # ajoutecmd 2>&1 # STDERR -> STDOUTcmd1 | cmd2 # pipeVariables et substitution
Section intitulée « Variables et substitution »VAR="valeur""$VAR"${VAR} # variable$(commande) # sortie d'une commandeTests utiles
Section intitulée « Tests utiles »[ $# -ne 2 ] # nombre d'arguments différent de 2[ -d "$x" ] # répertoire[ -f "$x" ] # fichier[ -s "$x" ] # fichier non videBoucle et commandes TP1
Section intitulée « Boucle et commandes TP1 »for x in liste; do ...done
find "$DOSSIER" -type dtar -czf archive.tar.gz dossiersort -n -r fichiercommande | awk '{print $1, $2}'Dans awk, $1, $2 désignent les champs de la ligne courante.
/dev/null # jeter une sortie/dev/stderr # sortie d'erreurBits et entiers
Section intitulée « Bits et entiers »1 chiffre hex = 4 bitsunsigned n bits : 0 ... 2ⁿ - 1signed n bits : -2ⁿ⁻¹ ... 2ⁿ⁻¹ - 1Complément à 2 pour obtenir -x : inverser les bits puis ajouter 1.
Sur n bits, le bit de poids fort a le poids -2ⁿ⁻¹ en interprétation signée.
Exemple sur 4 bits :
1101 = -8 + 4 + 1 = -3Pointeurs et tableaux
Section intitulée « Pointeurs et tableaux »int x = 42;int *p = &x;
&p // adresse de xp // adresse stockée*p // valeur pointée
tab[i] == *(tab + i)p + 1 // avance de sizeof(*p)liste vide : struct Node *head = NULL;
head -> [value | next] -> [value | next] -> NULLp->field == (*p).field
Pour modifier un pointeur de l’appelant : passer un double pointeur.
void f(int **pp) { *pp = NULL;}
f(&p);Manipulation de bits
Section intitulée « Manipulation de bits »Action sur le bit k | Expression |
|---|---|
| tester | x & (1u << k) |
| mettre à 1 | `x |
| mettre à 0 | x &= ~(1u << k) |
| inverser | x ^= (1u << k) |
| extraire 0/1 | (x >> k) & 1u |
~ NOT bit à bit& AND bit à bit| OR bit à bit^ XOR bit à bitNe pas confondre && / || (logique, court-circuit) avec & / | (bit à bit).