Biblioteka stdio.h w języku C to standardowa biblioteka wejścia i wyjścia. Jest szeroko używana do operacji takich jak wczytywanie danych od użytkownika czy wyświetlanie wyników na ekranie.
printf()
Służy do wyświetlania tekstu i danych na standardowym wyjściu (najczęściej konsoli).
Formatowanie całkowitoliczbowe %d
printf("decimal : %d \n", 10);
printf("float as decimal : %d \n", 10.1);
printf("char as decimal : %d \n", 'c');
printf("string as decimal : %d \n", 'string');
printf("hex as decimal : %d \n", 0xFF);
printf("bin as decimal : %d \n", 0b1111);
printf("oct as decimal : %d \n", 077);
printf("long as decimal : %d \n", 333L);
printf("unsigned long as decimal : %d \n", 333UL);
printf("double as decimal : %d \n", 333.3L);
printf("exponential as decimal : %d \n", 1.23e10);
wypisze:
Wnioski:
- nie jest możliwe formatowanie wyświetlanej wartości do typu całkowitoliczbowego dla literałów: zmiennoprzecinkowych, łańcuchowych, wykładniczych w funkcji printf,
- formatowanie to jest możliwe dla literałów: całkowitoliczbowych, znakowych, szesnastkowych, ósemkowych, binarnych, nieujemnych,
- zarówno w przypadku poprawnego jak i niepoprawnego formatowania, obliczana jest jakaś wartość typu całkowitoliczbowego.
Formatowanie zmiennoprzecinkowe %f
printf("decimal : %f \n", 10);
printf("float as decimal : %f \n", 10.1);
printf("char as decimal : %f \n", 'c');
printf("string as decimal : %f \n", 'string');
printf("hex as decimal : %f \n", 0xFF);
printf("bin as decimal : %f \n", 0b1111);
printf("oct as decimal : %f \n", 077);
printf("long as decimal : %f \n", 333L);
printf("unsigned long as decimal : %f \n", 333UL);
printf("double as decimal : %f \n", 333.3L);
printf("exponential as decimal : %f \n", 1.23e10);
wypisze:
Wnioski:
- nie jest możliwe formatowanie wyświetlanej wartości do typu zmiennoprzecinkowego dla literałów: całkowitoliczbowych, znakowych, łańcuchowych, szesnastkowych, ósemkowych, binarnych, nieujemnych w funkcji printf,
- formatowanie to jest możliwe tylko dla literałów wykładniczych i zmiennoprzecinkowych, w tym dla typu double,
- w przypadku braku możliwości formatowania wartości wypisywane są jako zerowe typu float.