<aside> ❗ This and many more summaries can be found on https://dcamenisch.github.io/ethz-summaries/notes/. Feel free to leave a comment in the document if you spot any mistakes! As always no guarantees for completeness or correctness are made.

</aside>

0. Table of Content

1. Introduction

1.3 Motivation - Five realities

2. Introduction to C

2.1 History and Toolchain

Workflow

GNU gcc Toolchain

2.2 Control flow in C

Similar to Java or other programming languages, C has Conditionals, Loops and Functions. What might be new is, that C has Jumps:

break;        // behaves similar to Java, but no Label
continue;     // behaves similar to Java, but no Label
goto <Label>  // resumes code execution at the line after the Label

2.3 Basiy types in C

Declarations work like any similar language, most of the base types are the same, but there are some differences. Booleans where introduced really late, normaly one uses a short where 0 means false and any other value is true. Further any statement in C is also an expression, hence we can have something like this: