C invoer / uitvoer: printf () en scanf ()

In deze tutorial leer je de functie scanf () te gebruiken om input van de gebruiker te krijgen, en de functie printf () om output aan de gebruiker weer te geven.

C Uitgang

In C-programmering printf()is een van de belangrijkste uitvoerfuncties. De functie stuurt opgemaakte uitvoer naar het scherm. Bijvoorbeeld,

Voorbeeld 1: C-uitgang

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

Uitvoer

 C Programmeren

Hoe werkt dit programma?

  • Alle geldige C-programma's moeten de main()functie bevatten . De uitvoering van de code begint vanaf het begin van de main()functie.
  • Het printf()is een bibliotheekfunctie om geformatteerde uitvoer naar het scherm te sturen. De functie drukt de tekenreeks tussen aanhalingstekens af.
  • Om printf()in ons programma te gebruiken , moeten we een stdio.hheader-bestand opnemen met behulp van de #include instructie.
  • De return 0;verklaring binnen de main()functie is de "Exit-status" van het programma. Het is optioneel.

Voorbeeld 2: Integer-uitvoer

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

Uitvoer

 Getal = 5

We gebruiken %dformaatspecificatie om inttypen af te drukken . Hier wordt de %dbinnenkant van de citaten vervangen door de waarde van testInteger.

Voorbeeld 3: zwevende en dubbele uitvoer

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

Uitvoer

 nummer1 = 13.500000 nummer2 = 12.400000

Om af te drukken floatgebruiken we een %fformaatspecificatie. Evenzo gebruiken we %lfom doublewaarden af te drukken .

Voorbeeld 4: tekens afdrukken

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

Uitvoer

 karakter = a 

Om af te drukken chargebruiken we een %cformaatspecificatie.

C-ingang

In C-programmering, scanf()is een van de meest gebruikte functies om input van de gebruiker te krijgen. De scanf()functie leest opgemaakte invoer uit de standaardinvoer, zoals toetsenborden.

Voorbeeld 5: Integer invoer / uitvoer

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

Uitvoer

 Voer een geheel getal in: 4 Getal = 4

Hier hebben we de %dformaatspecificatie binnen de scanf()functie gebruikt om intinput van de gebruiker te krijgen. Wanneer de gebruiker een geheel getal invoert, wordt dit opgeslagen in de variabele testInteger.

Let op, dat we hebben gebruikt &testIntegerbinnen scanf(). Het is omdat & testInteger het adres van testInteger krijgt, en de waarde die door de gebruiker is ingevoerd, wordt op dat adres opgeslagen.

Voorbeeld 6: Float en dubbele invoer / uitvoer

 #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; )

Uitvoer

 Voer een getal in: 12.523 Voer een ander getal in: 10.2 num1 = 12.523000 num2 = 10.200000

Wij gebruiken %fen %lfformaat specificatie voor floaten doublerespectievelijk.

Voorbeeld 7: C-teken I / O

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

Uitvoer

 Voer een teken in: g U hebt ingevoerd g 

Wanneer een karakter wordt ingevoerd door de gebruiker in het bovenstaande programma, wordt het karakter zelf niet opgeslagen. In plaats daarvan wordt een geheel getal (ASCII-waarde) opgeslagen.

En als we die waarde weergeven in %ctekstformaat, wordt het ingevoerde teken weergegeven. Als we gebruiken %dom het teken weer te geven, wordt de ASCII-waarde afgedrukt.

Voorbeeld 8: ASCII-waarde

 #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; )

Uitvoer

Voer een teken in: g U hebt ingevoerd g. ASCII-waarde is 103.

I / O Meerdere waarden

Hier leest u hoe u meerdere invoer van de gebruiker kunt nemen en deze kunt weergeven.

 #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; )

Uitvoer

 Voer een integer in en vervolgens een float: -3 3.4 U hebt -3 en 3.400000 ingevoerd 

Formaatspecificaties voor I / O

Zoals je aan de bovenstaande voorbeelden kunt zien, gebruiken we

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

Hier is een lijst met veelgebruikte C-gegevenstypen en hun indelingsspecificaties.

Data type Formaatspecificatie
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

Interessante artikelen...