/* Zadanie1 - pierwszy program */
#include <stdio.h>
main()
{
printf("Czyż nie jestem wspaniały? Napisałem swój pierwszy
program!!! \n");
return 0;
}
/* Zadanie.2 */
/* Wypisuje na ekranie dane osobowe */
#include <stdio.h> ,
printf("Józek \nMarchewa \nWilcze Dołki 21");
printf("\n45-680 \nKurzy Zdrój \n");
/* Zadanie.3 */
/* Wypisuje na ekranie 2 wyrazy oddzielone */
/* od siebie dwoma znakami tabulatora */
(
printf("Kocham \t\tprogramowanie\n");
Wykorzystujemy tutaj kolejną sekwencję wyjściową \t. Wstawia ona odstęp wielkości jednego tabulatora.
/* Zadanie 4 */
/* Wypisuje na ekranie cytat */
printf("\"Litwo, Ojczyzno moja\"\n");
Sekwencja wyjściowa \" wyświetla na ekranie znak cudzysłowu.
Pozostałe znaki tego typu to: \a - wywołuje dźwięk;
\b - powoduje wymazanie pojedynczego znaku (backspace); \\ -wstawiaznak \; \? - wstawia znak zapytania; \ ' - wstawia znak '; \" - wstawia znak cudzysłowiu.
/* Zadanie 5 */
/* Wypisuje na ekranie tekst oraz wywołuje dźwięk */
printf( "Ale wnerwiający dzwiek!!! \a\a\a\a\n");
Zadanie 6
double procent;
unsigned int Mojwiek;
unsigned long odległość;
int temperatura;
float cena_nawozu;
W przykładzie A użyłem typu double, ponieważ wartość będzie tak minimalna, że musimy podać ją z dokładnością przynajmniej 8 miejsc po przecinku (np. 0,00000001%). Dla zmiennej Mojwiek przypisujemy wartość typu unsigned int - wiek jest zawsze dodatni. W przykładzie C odległość w centymetrach od domu do szkoły będzie dosyć duża (załóżmy, że wynosi ona 1 km; 1 km=1000 m= 100000 cm; wartość wykracza poza granicę typu int), dlatego też zalecam użycie typu unsigned long (dodatkowo, odległość jest zawsze dodatnia). Temperatura może przyjmować wartości zarówno dodatnie, jak i ujemne, dlatego też odpowiedni będzie w tym przypadku typ int. Natomiast cena nawozu musi być podana z dokładnością do 2 miejsc po przecinku (dobry rolnik zawsze prowadzi dokładne rozliczenia, np. 12,35 zł
/* Zadanie.7 */
/* Przypisuje zmiennym wartości oraz je wyświetla */
unsigned int MojWiek;
procent = 0.000001;
MojWiek = 20;
odległość = 100000;
temperatura = -5;
cena_nawozu = 12.35;
printf("Nazywam sie Zdzichu, mam %u",MojWiek);
printf(" lat, chodzę do szkoły oddalonej ");
printf("od mojego domu o %lu cm", odległość);
printf("\nDziewczyny z mojej szkoły maja ");
printf("temperaturę ciała rzędu %d °C, ",
temperatura);
printf("dlatego tez wydaje na nie zaledwie ");
printf("%f procent moich dochodów ", procent);
printf("z pracy dodatkowej, jaka jest handel");
printf("hurtowa nawozem w cenie %f zl za kg\n",
cena_nawozu);
Zmienne deklarujemy na początku programu (przed funkcją main () ). Wartości, jak widać powyżej, przypisujemy w bardzo prosty sposób. Służy do tego znak równości =. Pamiętaj jednak - znak równości w języku C służy tylko do przypisywania wartości (np. zmienna MojWiek nie jest równa 20, lecz ma jedynie przypisaną taką wartość).
Zastanawiacie się co znaczą te dziwne znaczki %u, %lu, itp.??
Są to tzw. specyfikatory konwersji (z ang. conversion specifiers ). Nakazują one funkcji printf () wyświetlać na ekranie wartości zmiennych określonego typu. Oto znaki odpowiadające typom poszczególnych zmiennych:
char %c
int, short %d
long %ld
float, double %f
unsigned int, unsigned short %u
unsigned long %lu
/* Zadanie 8 */
: int waga = 100;
float promień = 10.3;
printf("Wazę %d kg i wszystkie kobiety", waga);
printf(" w promieniu %f metrów nie mogą",
promień);
printf (" oderwać ode mnie wzroku\n");
Jak widać, możemy przypisywać zmiennym wartości podczas ich deklaracji
/* Zadanie 9 */
#define PI 3.14
float PoleKuli;
const int R = 5;
ma i n ()
PoleKuli = 4*PI*R*R;
printf("Pole Kuli wynosi %f\n", PoleKuli);
Deklarujemy stałą PI w wierszu 4 naszego programu przy pomocy #def ine. Następnie deklarujemy kolejno zmienną PoleKuli oraz stałą R (promień kuli, za pomocą słowa kluczowego const). Teraz, w bardzo prosty sposób, możemy obliczyć pole kuli w wierszu 9, od razu przypisując otrzymaną wartość zmiennej PoleKuli. W wierszu 10 stosujemy funkcję printf (), aby wyświetlić wynik na ekranie
/* Zadanie10 */
/* Oblicza ilosc sekund w ciągu doby */
#define ile_min_w_godz 60
int ile_sek_w_dobie;
const int ile_sek_w_min = 60;
i 1 e_s e k_w_dobi e=2 4 * i 1 e_min_w_godz * i 1 e_s e k_w_min ;
printf("Ilosc sekund w 24 godzinach wynosi %d",
ile_sek_w_dobie);
/* Zadanie 11 */
/* Pyta o wiek oraz wyświetla podana wartość*/
int Wiek;
scanf("%d", swiek);
printf("Masz %d lat", Wiek) ;
Deklarujesz zmienną, przydzielając jej miejsce w pamięci (wiersz 4). Używasz funkcji scanf () (wiersz 7), która pobiera wartość z klawiatury i wpisuje ją w podane miejsce, a następnie stosujesz printf O (wiersz 8), aby wyświetlić daną wartość na ekranie. Zapytasz, dlaczego przed nazwą zmiennej znajduje się ten śmieszny znaczek &. Ma to związek z adresowaniem pamięci.
/* Zadanie.12 */
/* Oblicza Twój wiek po upływie 480-u miesięcy */
#define PrzedzialCzasu 480
#define ile_mies_w_roku 12
int ObliczonyWiek;
int IleLat;
IleLat = PrzedzialCzasu/ile_mies_w_roku;
scanf("%d", SWiek);
ObliczonyWiek = Wiek+IleLat;
printf("Za 480 miesięcy, czyli %d lat, ", IleLat);
printf("miał %d lat\n", ObliczonyWiek);
Aby zamienić 480 miesięcy na lata, musiałem zadeklarować kolejną stałą- ile_mies_w_roku (wiersz 5). Następnie wprowadziłem potrzebne zmienne -Wiek (miejsce na wartość wprowadzoną z klawiatury), ObliczonyWiek (w celu przechowania wyniku zadania), IleLat (tymczasową zmienną zawierającą obliczoną ilość lat, która ma odpowiadać 480 miesiącom). Kolejnym krokiem jest obliczenie zmiennej
HeLat. Dzielimy w tym celu stałą PrzedzialCzasu przez ile_mies_w_roku (używamy operatora / - na ten temat dowiemy się więcej w następnym rozdziale). Następnie korzystamy z funkcji scanf (), aby uzyskać wartość zmiennej Wiek, do której później dodamy HeLat, i otrzymamy końcowy wynik. Ostatecznie wyświetlamy otrzymaną wartość na ekranie przy użyciu printf ().
/* Zadanie13 */
/* Porównuje 2 liczby oraz decyduje która z nich */
/* jest większa */
int x, y;
main() (
printf("Podaj pierwsza liczbę: \n");
scanf("%d", Sx);
printf("Podaj druga liczbę: \n");
scanf("%d", sy);
if (x>y)
printf("Liczba %d jest wieksza\n", x) ; else {
printf("Liczba %d jest większa lub równa
printf("liczbie %d\n", x); ) return 0;
W drugim wierszu deklarujemy dwie zmienne: x oraz y. Następnie wykonywana jest funkcja printf () oraz scanf (), która czeka na podanie pierwszej liczby. W wierszach 10 i 11 ponownie wykonywane są te funkcje (w tym przypadku scanf () czeka na wprowadzenie drugiej liczby). Instrukcja warunkowa sprawdza, czy warunek x>y jest spełniony, a następnie wykonuje jedną z funkcji printf (). Na pewno zauważyliście, iż ćwiczenie zostało rozwiązane niezgodnie z poleceniem, gdyż wartości zmiennych x i y mogą być sobie równe.
/* Zadanie.14 */
/* Dokonuje mnożenia 2 podanych liczb oraz */
/* sprawdza czy wynik jest mniejszy, większy, czy */
/* równy liczbie 100 */
include <stdio.h>
int x, y, z;
scanf("%d", &y);
z = x*y;
if (z==100)
printf("Wartość zmiennej z jest równa "); printf("liczbie 100. \n");
else
<
if (
(z>100
printf("Wartość zmiennej z jest ");
printf("większa od liczby 100. \n");
printf("mniejsza od liczby 100. \n");
Aby rozwiązać powyższe ćwiczenie, należy w głównej instrukcji warunkowej zagnieździć kolejną (z ang. nesting). W celu ułatwienia Wam lepszego zrozumienia pojęcia ne-sting, słowa kluczowe głównej instrukcji warunkowej zaznaczone są grubą czcionką (wiersze 14 i 19). W wierszu 14 testowany jest omawiany wcześniej przypadek, kiedy wartość zmiennej z jest równa liczbie 100. Następnie, w 21 wierszu wprowadzona jest „zagnieżdżona" druga instrukcja warunkowa, w której sprawdzamy, czy wartość zmiennej z jest większa od liczby 100. Jeśli warunek jest spełniony, na ekranie zostanie wyświetlona informacja stwierdzająca ten fakt (wiesze 23-24). W przeciwnym razie wykonana zostanie funkcja printf (), która zawiadomi nas o tym, iż wartość zmiennej z jest mniejsza od liczby 100 (wiersze 28-29).
...
Sk8cior