char, int, float, double
~/prp/lab02
.
#include <stdio.h> int main(void) { printf("I like B0B36PRP!\n"); return 0; }
echo $?
.
program0
a program1
, které budou mít návratovou hodnotu 0 a 1. Využijte přepínač kompilátoru -o
./program0 && ./program1 ./program1 && ./program0a
./program0 && echo $? && ./program1 && echo $? ./program1 && echo $? && ./program0 && echo $?
a dále pak
./program0 && echo $? && ./program1; echo $? ./program1; echo $? && ./program0 && echo $?
#include <stdio.h> int main(void) { printf("I like B0B36PRP!\n"); printf("I like B0B36PRP!\n"); printf("I like B0B36PRP!\n"); printf("I like B0B36PRP!\n"); return 0; }
který následně upravte využitím cyklu
#include <stdio.h> int main(void) { for (int i = 0; i < 4; ++i) { printf("I like B0B36PRP!\n"); } return 0; }
Vyzkoušejte kompilaci a spuštění programu, např.
clang program.c && ./a.out
nebo
clang program.c -o program && ./program
scanf()
, např.
int n; scanf("%d", &n);
int
). Např.
int n; if (scanf("%d", &n) == 1) { printf("Parsed number is %d\n", n); } else { printf("Input number has not been parsed!\n"); }
wc
:
clang program.c && echo 4 | ./a.out | wc
out.c
, který vypíše na výstup zadaný počet řádku v rozsahu 0 až 100, kde výstup tvoří posloupnost čísel od 1 do n.
out
a vyzkoušte přesměrování výstupu do jiného programu nebo souboru, např.
echo 10 | ./out echo 10 | ./out | wc echo 10 | ./out > output.txt cat output.txt wc output.txt
in
, který očekává na vstupu posloupnost celých čísel a po přečtení vstupu vypíše počet načtených celých čísel
int r, n; while ((r = scanf("%d", &n)) == 1) { // increment of the counter } if (r == 0) { printf("Wrong input detected!\n"); } else { printf("Number lines %d\n", counter); }
in
a vyzkoušejte interaktivní režim s ručním vkládáním vstupu
EOT
(End-of-Transmission) Ctrl+D
.
echo 10 | ./out > output.txt ./in < output.txt
out
a in
zkombinujte a ověřte jejich správné chování pro různé vstupy
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
scanf("%d%d%f%f", &i, &j, &x, &y);
scanf
na základě formátovacího řetězce.
“%d/%d”
./main <input.log