Search
char, int, float, double
— Jan Faigl 2025/02/12 17:18
gedit
vim
my_prg
lab01
program.c
prg
program_c
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í.
.clang-format
Výstup pak může například vypadat následovně.
Nastavení formátování ''clang-format'' v ''gedit''
wget https://cw.fel.cvut.cz/wiki/_media/courses/b3b36prg/labs/setup_gedit.zip
unzip setup_gedit.zip cat setup_gedit.sh gedit setup_gedit.sh ./setup_gedit.sh
// example program in C #include <stdio.h> int main() { printf("Hello PRG!\n"); return 0; }
clang -Wall -pedantic -std=c99 main.c -o main
gcc -Wall -pedantic -std=c99 main.c -o main
./main
hw0.zip
zip hw0.zip main.c
$?
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.
~/Downloads
kde můžeme též využít příložena Makefile a vytvořit si zip soubour voláním make zip.
Makefile
zip
make zip
program0
program1
clang program.c -o program0
clang program.c -o program1
./program0 && ./program1 ./program1 && ./program0
./program0 && echo $? && ./program1 && echo $? ./program1 && echo $? && ./program0 && echo $?
a dále pak
./program0 && echo $? && ./program1; echo $? ./program1; echo $? && ./program0 && echo $?
int printf(const char *format [, arg, ...]); int fprintf(FILE *stream, const char *format [, arg, ...]);
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
stderr
fprintf
fprintf(stdout,"Standardní výstup: %d",i); fprintf(stderr,"Error výstup: %d",i);
./main >output.log 2>error.log