Przegląd projektu
Część sekcji Logika i sterowanie przepływem ścieżki C w Coddy. Lekcja 20 z 63.
Wyzwanie
ŁatwyW ciągu kilku kolejnych lekcji zbudujesz proste narzędzie tekstowe, które pokazuje praktyczne zastosowania manipulowania ciągami znaków i znakami.
Napisz program w C, który stworzy podstawę narzędzia tekstowego, odczytując i zapisując dane wejściowe użytkownika. Twój program powinien:
- Poprosić użytkownika o wpisanie krótkiego zdania, wyświetlając:
Enter a sentence: - Zadeklarować tablicę znaków o nazwie
sentencez 200 elementami do przechowywania danych wejściowych - Użyć
scanfze specyfikatorem formatu%s, aby odczytać od użytkownika jedno słowo - Wyświetlić zapisane słowo w formacie:
You entered: [word] - Pokazać, że tablica znaków jest prawidłowo zakończona znakiem null, wyświetlając długość zapisanego słowa za pomocą
strlen()w formacie:Length: [length]
Pamiętaj, aby dołączyć nagłówek <string.h>, żeby móc użyć funkcji strlen().
Wynik powinien być wyświetlony w następującym formacie:
Enter a sentence:
You entered: [word]
Length: [length]Na przykład, jeśli dane wejściowe to:
HelloWynik powinien wyglądać tak:
Enter a sentence:
You entered: Hello
Length: 5Ważne: Wiersz z komunikatem zachęty musi kończyć się znakiem nowej linii bezpośrednio po dwukropku: nie dodawaj spacji przed \n. Użyj dokładnie printf("Enter a sentence:\n");.
To wyzwanie wprowadza podstawowy mechanizm wczytywania i przechowywania danych, który będzie podstawą funkcji narzędzia tekstowego dodawanych w kolejnych lekcjach. Sprawdza ono, czy rozumiesz deklarowanie tablic znaków, wczytywanie ciągów znaków za pomocą scanf oraz podstawowe obliczanie długości ciągu znaków za pomocą strlen().
Spróbuj swoich sił
#include <stdio.h>
#include <string.h>
int main() {
// TODO: Napisz tutaj swój kod
// 1. Wyświetl komunikat zachęcający do podania danych
// 2. Zadeklaruj tablicę znaków o nazwie 'sentence' zawierającą 200 elementów
// 3. Wczytaj dane wejściowe za pomocą scanf, używając specyfikatora formatu %s
// 4. Wyświetl wprowadzone słowo i jego długość
return 0;
}Wszystkie lekcje w sekcji Logika i sterowanie przepływem
1Podstawy wskaźników
Czym jest wskaźnik?Deklarowanie wskaźnikówOperator pobrania adresu (&)Operator dereferencji (*)Wskaźniki NULLPodsumowanie: podstawy wskaźników4Projekt: Proste narzędzie tekstowe
Przegląd projektuLiczenie znaków2Wskaźniki i tablice
Nazwy tablic jako wskaźnikiElementy tablic — wskaźnikiArytmetyka wskaźnikówPorównywanie wskaźnikówPodsumowanie: przechodzenie po tablicy za pomocą wskaźników5Wskaźniki i funkcje
Przekazywanie przez wartośćPrzekazywanie wskaźników do funkcjiModyfikowanie zmiennych za pomocą wskaźnikówKlasyczny przykład: zamianaPrzekazywanie tablic do funkcjiPowtórka: argumenty wskaźnikowe funkcji8Struktury i wskaźniki
Wskaźniki do strukturOperator strzałki (->)Przekazywanie struktur przez wartośćPrzekazywanie wskaźników do strukturDynamiczna alokacja strukturPodsumowanie: modyfikowanie struktury — wskaźnik11Końcowe zadania powtórkowe
Powtórka: dynamiczne łączenie ciągów znakówPowtórka: tablica strukturPowtórka: licznik częstotliwości słów3Tablice znaków i ciągi znaków
Ciągi znaków jako tablice charZnak końca ciąguWczytywanie ciągu za pomocą scanfUżywanie strlen()Używanie strcpy()Używanie strcat()Używanie strcmp()Podsumowanie: podstawowe funkcje do obsługi ciągów znakówPoćwicz samodzielnie: Kompilator C online