===== 2. Programování v C =====
* prezentace: {{courses:b0b36prp:lectures:b0b36prp-lec02-slides.pdf|}}
* zkrácená verze: {{courses:b0b36prp:lectures:b0b36prp-lec02-handout.pdf|}}
* zkrácená verze 2x2: {{courses:b0b36prp:lectures:b0b36prp-lec02-handout-2x2.pdf|}}
* zkrácená verze 3x3: {{courses:b0b36prp:lectures:b0b36prp-lec02-handout-3x3.pdf|}}
* přiložené demonstrační programy: {{courses:b0b36prp:lectures:b0b36prp-lec02-codes.zip|}}
--- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2025/10/01 10:05//
* **Zdrojové soubory vytvořené na přednášce**: {{courses:b0b36prp:lectures:prp-lec02-codes-2019.zip|}} --- //[[faiglj@fel.cvut.cz|Jan Faigl]] 2019/10/02 19:26//
**Dotazy z přednášek**
Q: //Proč je návratový typ programu (funkce main) ''int'', když maximální hodnota předaná interpretu příkazu pouze 255?//
Je to dáno historicky. Cčko nelimituje rozsah a definuje ''int'', nicméně zaleží na procesu, který program spouští. V našem případě interpret příkazů. Dokonce je to tak, že [[https://www.gnu.org/software/bash/manual/bashref.html#Exit-Status|GNU bash limituje rozsah na 7-bitů]], [[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_08_02|POSIX shell na 8 bitů]] a třeba [[https://en.wikipedia.org/wiki/Exit_status#Windows|Windows na 32-bit unsigned int]]. V tomto kontextu stojí za zmínku [[http://tldp.org/LDP/abs/html/exitcodes.html|speciální návratové hodnoty]].
Q: //Jaká je vnitřní reprezentace typu _Bool?//
Norma standardu C uvádí, že dostatečná pro uložení hodnot 0 a 1. Prakticky je to ''char'', tj. jeden byte, viz příklad ''lec02/bool.c''.
Q: //Jak vytisknu znak '%' nebo '\' ve funkci ''printf()''?//
Jako dvojici znaků, tj. printf("%% a \\ a následně nový řádek \n");