gedit
nebo vim
. Určitě je také možné použít komplexní prostředí jako je např. CLion. Nicméně jeho konfigurace a prozkoumání všech možností, může velmi rychle překročit časovou dotaci předmětu.
prg
a složku lab01
.
lab01
vytvořte soubor se jménem program.c
.
lab01
přesuňte z domovského adresáře do složky prga
.
program.c
na main.c
.
Klíčové nastavení editoru je pro formátování zdrojového kódu. V předmětu PRG je preferováno formátování nástrojem clang-format a nastavením stylu:
{BasedOnStyle: llvm, IndentWidth: 4, BreakBeforeBraces: Linux}
Formátování zdrojového kódu pak provedete např. následovně:
clang-format -style='{BasedOnStyle: llvm, IndentWidth: 4, BreakBeforeBraces: Linux}' muj_kod.c > formatovany_kod.c
V případě použití vývojového prostředí VS Code lze lokálně nastavit formátování vytvořením souboru .clang-format
, viz Programovací prostředí.
// example program in C #include <stdio.h> int main() { printf("Hello PRG!\n"); return 0; }
Překlad na spustitelný soubor provádíme z příkazové řádky příkazem
clang -Wall -pedantic -std=c99 main.c -o mainpřípadně
gcc -Wall -pedantic -std=c99 main.c -o main
Program spouštíme z příkazové řádky příkazem
./main
V prostředí VS Code může vypadat interaktivní práce tak, že si stáhneme soubor domácího úkolu v prohlížeči do adresáře ~/Downloads
a dále vše řešíme už jen z VS Code s využitím integrovaného terminálu.
kde můžeme též využít příložena Makefile
a vytvořit si zip
soubour voláním make zip
.
main.c
napište zdrojový kód programu, který vypíše na standardní výstup “Hello PRG!”.
hw0.zip
, například příkazem: “zip hw0.zip main.c
“
$?
a vyzkoušet si různé návratové hodnoty programu a řetězení kompilace a spuštění programu, včetně např. podmíněného spuštění programu v závislosti na úspěchu kompilace programu.
int printf(const char *format [, arg, ...]); int fprintf(FILE *stream, const char *format [, arg, ...]);
if
if( podmínka ){ příkaz1 } else { příkaz2 }
for
for( inicializace ; podmínka ; změna){ příkaz }
char
, int
, float
a double
?
printf("Size of int: %lu\n", sizeof(int));
char c = 'a'; int i = 1000,j; float x,y = 3.1415; printf("%c\n",c); printf("%i\n",c); printf("%d\n",i); printf("%+5d\n",i); printf("%x\n",i); printf("%f\n",y); printf("%10.3f\n",y); printf("\t%-g\n",y);
printf("%6d,%4d",86,1040); printf("\n"); printf("%12.5e",3.14159265); printf("\r"); printf("%.4f\n",85.167);
stdout
) a standardní chybový výstup (stderr
) pomocí funkce fprintf
./main >output.log 2>error.log
1-20.3-4.0e3
int r = scanf("%d%d%f%f",&i,&j,&x,&y)
scanf
na základě formátovacího řetězce.
r
.
“%d/%d”
./main <input.log