From 057207d8c07549aa5d37005239c23df8b73651f0 Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@hesge.ch> Date: Thu, 19 Sep 2019 22:12:46 +0200 Subject: [PATCH] added base_2 stuff and makefile --- Makefile | 5 ++++- base_2.md | 35 ++++++++++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index c30ea66..1c73470 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ HTMLOPTIONS += -t html5 HTMLOPTIONS += -c css/styling.css HTMLOPTIONS += --self-contained -all: base_1.pdf intro.pdf index.html +all: base_2.pdf base_1.pdf intro.pdf index.html intro.pdf: intro.md *.theme pandoc -t beamer -o $@ $< @@ -18,6 +18,9 @@ intro.pdf: intro.md *.theme base_1.pdf: base_1.md *.theme pandoc -t beamer -o $@ $< +base_2.pdf: base_2.md *.theme + pandoc -t beamer -o $@ $< + index.html: index.md pandoc -s $(OPTIONS) $(HTMLOPTIONS) -o $@ $< diff --git a/base_2.md b/base_2.md index ff6c7d6..b3f34fc 100644 --- a/base_2.md +++ b/base_2.md @@ -1,3 +1,8 @@ +% Programmation séquentielle en C +% Base II - Inspirés des slides de F. Glück +% 25 septembre 2019 + + # Les fonctions (1/N) - Chaque partie indépendante d'un programme se met dans une fonction. @@ -62,13 +67,37 @@ } ``` -# Les fonctions (4/N) +# La fonction `main()` (1/N) -## La fonction `main` +## Généralités - Point d'entrée du programme. - Retourne le code d'erreur du programme: - 0: tout s'est bien passé. - Pas zéro: problème. - La valeur de retour peut être lue par le shell qui a exécuté le programme. -- `EXIT_SUCCESS`{.C} et `EXIT_FAILURE`{.C} (de `stdlib.h`) sont des valeurs de retour **portables** de programmes C. \ No newline at end of file +- `EXIT_SUCCESS`{.C} et `EXIT_FAILURE`{.C} (de `stdlib.h`) sont des valeurs de retour **portables** de programmes C. + +# La fonction `main()` (2/N) + +## Exemple + +```C +int main() { + // ... + if (error) + return EXIT_FAILURE; + else + return EXIT_SUCCESS; +} +``` + +- Le code d'erreur est lu dans le shell avec `$?`{.bash} + +```bash +$ ./prog +$ echo $? +0 # tout s'est bien passé par exemple +$ if [ $? -eq 0 ]; then echo "OK" ; else echo "ERROR"; fi +ERROR # si tout s'est mal passé +``` -- GitLab