C Είσοδος / Έξοδος: printf () και scanf ()

Σε αυτό το σεμινάριο, θα μάθετε να χρησιμοποιείτε τη λειτουργία scanf () για να λάβετε είσοδο από τον χρήστη και τη λειτουργία printf () για να εμφανίσετε την έξοδο στον χρήστη.

C Έξοδος

Στον προγραμματισμό C, printf()είναι μία από τις κύριες λειτουργίες εξόδου. Η λειτουργία στέλνει μορφοποιημένη έξοδο στην οθόνη. Για παράδειγμα,

Παράδειγμα 1: Έξοδος C

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

Παραγωγή

 Προγραμματισμός Γ

Πώς λειτουργεί αυτό το πρόγραμμα;

  • Όλα τα έγκυρα προγράμματα C πρέπει να περιέχουν τη main()συνάρτηση. Η εκτέλεση του κώδικα ξεκινά από την αρχή της main()συνάρτησης.
  • Η λειτουργία printf()είναι μια βιβλιοθήκη για την αποστολή μορφοποιημένης εξόδου στην οθόνη. Η συνάρτηση εκτυπώνει τη συμβολοσειρά μέσα σε εισαγωγικά.
  • Για χρήση printf()στο πρόγραμμά μας, πρέπει να συμπεριλάβουμε το stdio.hαρχείο κεφαλίδας χρησιμοποιώντας τη #include δήλωση.
  • Η return 0;δήλωση μέσα στη main()συνάρτηση είναι η "κατάσταση εξόδου" του προγράμματος. Είναι προαιρετικό.

Παράδειγμα 2: Ακεραία έξοδος

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

Παραγωγή

 Αριθμός = 5

Χρησιμοποιούμε %dπροσδιοριστή μορφής για εκτύπωση intτύπων. Εδώ, το %dεσωτερικό των εισαγωγικών θα αντικατασταθεί από την τιμή του testInteger.

Παράδειγμα 3: έξοδος και διπλή έξοδος

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

Παραγωγή

 number1 = 13.500000 number2 = 12.400000

Για εκτύπωση float, χρησιμοποιούμε %fπροσδιοριστή μορφής. Ομοίως, χρησιμοποιούμε %lfγια την εκτύπωση doubleτιμών.

Παράδειγμα 4: Χαρακτήρες εκτύπωσης

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

Παραγωγή

 χαρακτήρας = α 

Για εκτύπωση char, χρησιμοποιούμε %cπροσδιοριστή μορφής.

C Είσοδος

Στον προγραμματισμό C, scanf()είναι μια από τις κοινώς χρησιμοποιούμενες λειτουργίες για τη λήψη πληροφοριών από τον χρήστη. Η scanf()συνάρτηση διαβάζει μορφοποιημένη είσοδο από την τυπική είσοδο, όπως πληκτρολόγια.

Παράδειγμα 5: Ακέραιος είσοδος / έξοδος

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

Παραγωγή

 Εισαγάγετε έναν ακέραιο: 4 Αριθμός = 4

Εδώ, χρησιμοποιήσαμε τον %dπροσδιοριστή μορφής μέσα στη scanf()συνάρτηση για να λάβουμε intείσοδο από τον χρήστη. Όταν ο χρήστης εισάγει έναν ακέραιο, αποθηκεύεται στη μεταβλητή testInteger.

Παρατηρήστε ότι έχουμε χρησιμοποιήσει &testIntegerμέσα scanf(). Αυτό συμβαίνει επειδή το & testInteger λαμβάνει τη διεύθυνση testInteger και η τιμή που εισάγεται από τον χρήστη αποθηκεύεται σε αυτήν τη διεύθυνση.

Παράδειγμα 6: Float και Double Input / Output

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

Παραγωγή

 Enter a number: 12.523 Enter another number: 10.2 num1 = 12.523000 num2 = 10.200000

We use %f and %lf format specifier for float and double respectively.

Example 7: C Character I/O

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

Output

 Enter a character: g You entered g 

When a character is entered by the user in the above program, the character itself is not stored. Instead, an integer value (ASCII value) is stored.

And when we display that value using %c text format, the entered character is displayed. If we use %d to display the character, it's ASCII value is printed.

Example 8: ASCII Value

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

Output

 Enter a character: g You entered g. ASCII value is 103. 

I/O Multiple Values

Here's how you can take multiple inputs from the user and display them.

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

Output

 Enter integer and then a float: -3 3.4 You entered -3 and 3.400000 

Προσδιοριστές μορφής για I / O

Όπως μπορείτε να δείτε από τα παραπάνω παραδείγματα, χρησιμοποιούμε

  • %d Για int
  • %f Για float
  • %lf Για double
  • %c Για char

Ακολουθεί μια λίστα με τους τύπους δεδομένων C που χρησιμοποιούνται συνήθως και τους προσδιοριστές μορφής τους.

Τύπος δεδομένων Προσδιοριστής μορφής
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

ενδιαφέροντα άρθρα...