Table of Contents

Lab 01 - Úvodní cvičení

Cíle cvičení

  1. Přihlášení do operačního prostřední a nastavení vývojového prostředí.
  2. Vytvoření jednoduchého skriptu (posloupnosti příkazů) pro práci se soubory.
  3. Formátování zdrojového kódu.
  4. Vytvoření a ideálně odevzdání domácího úkolu HW 00.
  5. Kompilace a spuštění programu.
  6. Návratová hodnota programu a její zpracování v OS.
  7. Operátory a základní datové typy - char, int, float, double.
  8. Formátovaný výstup - printf a fprintf.

Organizace předmětu

Jan Faigl 2025/02/12 17:18

V PRG nepředepisujeme jaké pracovní vývojové prostředí používat. Obecně doporučujeme začínajícím programátorům použít prostředí VS Code, případně nakonfigurovaný editor 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.

Úkoly

Seznámení a nastavení prostředí

Práce s příkazovou řádkou

Formátování zdrojového programu

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í.

Výstup pak může například vypadat následovně.

Nastavení formátování ''clang-format'' v ''gedit''

Kompilace programu a spouštění programu (HW 00)

Vytvořený program nahrajte do odevzdávacího systému a odevzdejte tak HW 00.
VS Code

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.

./program0 && ./program1
./program1 && ./program0
a
./program0 && echo $? && ./program1 && echo $?
./program1 && echo $? && ./program0 && echo $?

a dále pak

./program0 && echo $? && ./program1; echo $?
./program1; echo $? && ./program0 && echo $?

Základní datové typy, standardní výstup

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

fprintf(stdout,"Standardní výstup: %d",i);
fprintf(stderr,"Error výstup: %d",i);

./main >output.log 2>error.log