C Wejście / wyjście: printf () i scanf ()

W tym samouczku nauczysz się używać funkcji scanf () do pobierania danych wejściowych od użytkownika oraz funkcji printf () do wyświetlania użytkownikowi danych wyjściowych.

C Wyjście

W programowaniu C printf()jest jedną z głównych funkcji wyjściowych. Funkcja wysyła sformatowane dane wyjściowe na ekran. Na przykład,

Przykład 1: Wyjście C

 #include int main() ( // Displays the string inside quotations printf("C Programming"); return 0; )

Wynik

 C Programowanie

Jak działa ten program?

  • Wszystkie prawidłowe programy w C muszą zawierać tę main()funkcję. Wykonywanie kodu rozpoczyna się od początku main()funkcji.
  • Jest printf()to funkcja biblioteki służąca do wysyłania sformatowanych danych wyjściowych na ekran. Funkcja wypisuje łańcuch w cudzysłowie.
  • Aby użyć printf()w naszym programie, musimy dołączyć stdio.hplik nagłówkowy za pomocą #include instrukcji.
  • return 0;Oświadczenie wewnątrz main()funkcji jest „status Exit” programu. To jest opcjonalne.

Przykład 2: Wynik całkowity

 #include int main() ( int testInteger = 5; printf("Number = %d", testInteger); return 0; )

Wynik

 Liczba = 5

Używamy %dspecyfikatora formatu do drukowania inttypów. W tym przypadku %dwnętrze notowań zostanie zastąpione wartością testInteger.

Przykład 3: float i double Output

 #include int main() ( float number1 = 13.5; double number2 = 12.4; printf("number1 = %f", number1); printf("number2 = %lf", number2); return 0; )

Wynik

 liczba1 = 13,500000 liczba2 = 12,400000

Aby wydrukować float, używamy %fspecyfikatora formatu. Podobnie używamy %lfdo drukowania doublewartości.

Przykład 4: Drukowanie znaków

 #include int main() ( char chr = 'a'; printf("character = %c", chr); return 0; ) 

Wynik

 znak = a 

Aby wydrukować char, używamy %cspecyfikatora formatu.

C Wejście

W programowaniu w C scanf()jest jedną z często używanych funkcji do pobierania danych wejściowych od użytkownika. scanf()Funkcja czyta sformatowane dane ze standardowego wejścia, takich jak klawiatura.

Przykład 5: Integer Input / Output

 #include int main() ( int testInteger; printf("Enter an integer: "); scanf("%d", &testInteger); printf("Number = %d",testInteger); return 0; )

Wynik

 Wpisz liczbę całkowitą: 4 Liczba = 4

Tutaj użyliśmy %dspecyfikatora formatu wewnątrz scanf()funkcji, aby pobrać intdane wejściowe od użytkownika. Gdy użytkownik wprowadzi liczbę całkowitą, jest ona przechowywana w zmiennej testInteger.

Zauważ, że użyliśmy &testIntegerśrodka scanf(). Dzieje się tak, ponieważ & testInteger pobiera adres testInteger, a wartość wprowadzona przez użytkownika jest przechowywana w tym adresie.

Przykład 6: Float i podwójne wejście / wyjście

 #include int main() ( float num1; double num2; printf("Enter a number: "); scanf("%f", &num1); printf("Enter another number: "); scanf("%lf", &num2); printf("num1 = %f", num1); printf("num2 = %lf", num2); return 0; )

Wynik

 Wprowadź liczbę: 12,523 Wprowadź inną liczbę: 10,2 num1 = 12,523000 num2 = 10.200000

Używamy specyfikatora %fi %lfformatu odpowiednio dla floati double.

Przykład 7: We / wy znaku C

 #include int main() ( char chr; printf("Enter a character: "); scanf("%c",&chr); printf("You entered %c.", chr); return 0; ) 

Wynik

 Wprowadź znak: g Wprowadziłeś g 

Gdy użytkownik wprowadzi znak w powyższym programie, sam znak nie jest zapisywany. Zamiast tego przechowywana jest wartość całkowita (wartość ASCII).

A kiedy wyświetlamy tę wartość w %cformacie tekstowym, wyświetlany jest wprowadzony znak. Jeśli używamy %ddo wyświetlania znaku, wypisywana jest jego wartość ASCII.

Przykład 8: wartość ASCII

 #include int main() ( char chr; printf("Enter a character: "); scanf("%c", &chr); // When %c is used, a character is displayed printf("You entered %c.",chr); // When %d is used, ASCII value is displayed printf("ASCII value is %d.", chr); return 0; )

Wynik

Wprowadź znak: g Wprowadziłeś g. Wartość ASCII to 103.

Wiele wartości we / wy

Oto, jak możesz pobrać wiele danych wejściowych od użytkownika i je wyświetlić.

 #include int main() ( int a; float b; printf("Enter integer and then a float: "); // Taking multiple inputs scanf("%d%f", &a, &b); printf("You entered %d and %f", a, b); return 0; )

Wynik

 Wpisz liczbę całkowitą, a następnie liczbę zmiennoprzecinkową: -3 3.4 Wpisałeś -3 i 3.400000 

Specyfikatory formatu dla I / O

Jak widać na powyższych przykładach, używamy

  • %d dla int
  • %f dla float
  • %lf dla double
  • %c dla char

Oto lista powszechnie używanych typów danych w języku C i ich specyfikatory formatu.

Typ danych Specyfikator formatu
int %d
char %c
float %f
double %lf
short int %hd
unsigned int %u
long int %li
long long int %lli
unsigned long int %lu
unsigned long long int %llu
signed char %c
unsigned char %c
long double %Lf

Interesujące artykuły...