===== 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");