Der Formatbezeichner in C wird verwendet, um dem Compiler die Art der Daten mitzuteilen, die bei Eingabe- und Ausgabevorgängen gedruckt oder gescannt werden sollen. Sie beginnen immer mit a % Symbol und werden in der formatierten Zeichenfolge in Funktionen wie printf(), scanf, sprintf() usw. verwendet.
Die C-Sprache bietet eine Reihe von Formatspezifizierern, die den verschiedenen Datentypen zugeordnet sind, z. B. %d für int, %c für char usw. In diesem Artikel besprechen wir einige häufig verwendete Formatspezifizierer und deren Verwendung.
Liste der Formatspezifizierer in C
Die folgende Tabelle enthält die am häufigsten verwendeten Formatspezifizierer in C
| Formatbezeichner | Beschreibung |
|---|---|
| %C | Für den Charaktertyp. |
| %D | Für vorzeichenbehafteten Ganzzahltyp. |
| %e oder %E | Zur wissenschaftlichen Notation von Floats. |
| %F | Für Float-Typ. |
| %g oder %G | Für Float-Typ mit der aktuellen Genauigkeit. |
| %ich | Ganzzahl ohne Vorzeichen |
| %ld oder %li | Lang |
| %lf | Doppelt |
| %Lf | Langes Doppel |
| %lu Einschränkungen des E-Bankings | Unsigned int oder unsigned long |
| %lli oder %lld | Lang Lang |
| %llu | Ohne Vorzeichen, lange, lange |
| %Ö | Oktale Darstellung |
| %P | Zeiger |
| %S | Zeichenfolge |
| %In | Ohne Vorzeichen int |
| %x oder %X | Hexadezimale Darstellung |
| %N | Druckt nichts |
| %% | Gibt das %-Zeichen aus |
Beispiele für Formatspezifizierer in C
1. Zeichenformatbezeichner – %c in C
%c ist der Formatbezeichner für verkohlen Datentyp in C-Sprache. Es kann sowohl für formatierte Eingaben als auch für formatierte Ausgaben in C-Sprache verwendet werden.
Syntax:
scanf(' %d ...', ...); printf(' %d ...', ...);> Beispiel:
C
// C Program to illustrate the %c format specifier.> #include> int> main()> {> >char> c;> >// using %c for character input> >scanf>(>'Enter some character: %c'>, &c);> >// using %c for character output> >printf>(>'The entered character: %c'>, &c);> >return> 0;> }> |
>
>
Eingang:
Enter some character: A>
Ausgabe:
The entered character: A>
2. Ganzzahliger Formatbezeichner (mit Vorzeichen) – %d in C
Wir können den vorzeichenbehafteten Integer-Formatbezeichner verwenden %D in den Funktionen scanf() und print() oder anderen Funktionen, die formatierte Zeichenfolgen für die Ein- und Ausgabe verwenden int Datentyp.
Syntax:
scanf('%d...', ...); printf('%i...', ...);> Beispiel:
C
// C Program to demonstrate the use of %d and %i> #include> // Driver code> int> main()> {> >int> x;> >// taking integer input> >scanf>(>'Enter the two integers: %d'>, &x);> >// printing integer output> >printf>(>'Printed using %%d: %d
'>, x);> >printf>(>'Printed using %%i: %3i
'>, x);> >return> 0;> }> |
>
gzip für Linux
>
Eingang:
Enter the integer: 45>
Ausgabe:
Printed using %d: 45 Printed using %i: 45>
3. Vorzeichenloser Integer-Formatbezeichner – %u in C
%u ist der Formatbezeichner für den vorzeichenlosen Ganzzahldatentyp. Wenn wir für %u einen negativen Ganzzahlwert angeben, wird die Ganzzahl in ihr erstes Komplement umgewandelt.
Syntax:
printf(' %u ...', ...); scanf(' %u ...', ...);> Beispiel: Das folgende C-Programm demonstriert die Verwendung von %u in C.
C
// C Program to illustrate the how to use %u> #include> // driver code> int> main()> {> >unsigned>int> var;> >scanf>(>'Enter an integer: %u'>, &var);> >printf>(>'Entered Unsigned Integer: %u'>, var);> >// trying to print negative value using %u> >printf>(>'Printing -10 using %%u: %u
'>, -10);> >return> 0;> }> |
>
>
Eingang:
Enter an integer: 25>
Ausgabe:
Entered unsigned integer: 25 Printing -10 using %u: 4294967286>
4. Gleitkomma-Formatbezeichner – %f in C
Der %F ist der Gleitkomma-Formatbezeichner in der C-Sprache, der innerhalb der formatierten Zeichenfolge für die Eingabe und Ausgabe von verwendet werden kann schweben Datentyp. Abgesehen von %f können wir verwenden %Es ist oder %UND Formatbezeichner zum Drucken der Gleitkommawert in Exponentialform.
Syntax:
printf(' %f ...', ...); scanf(' %e ...', ...); printf(' %E ...', ...);> Beispiel:
C
// C program to demonstrate the use of %f, %e and %E> #include> // driver code> int> main()> {> >float> a = 12.67;> >printf>(>'Using %%f: %f
'>, a);> >printf>(>'Using %%e: %e
'>, a);> >printf>(>'Using %%E, %E'>, a);> >return> 0;> }> |
>
>Ausgabe
Using %f: 12.670000 Using %e: 1.267000e+01 Using %E, 1.267000E+01>
5. Vorzeichenlose Oktalzahl für Ganzzahl – %o in C
Wir können den Formatbezeichner %o im C-Programm verwenden, um die vorzeichenlose Oktal-Ganzzahl auszugeben oder eine Eingabe dafür zu übernehmen.
Syntax:
printf(' %o ...', ...); scanf(' %o ...', ...);> Beispiel:
C
String n Java
#include> int> main()> {> >int> a = 67;> >printf>(>'%o
'>, a);> >return> 0;> }> |
>
>Ausgabe
103>
6. Vorzeichenlose Hexadezimalzahl für Ganzzahl – %x in C
Der Formatbezeichner %x wird in der formatierten Zeichenfolge für hexadezimale Ganzzahlen verwendet. In diesem Fall werden die Buchstaben in den Hexadezimalzahlen in Kleinbuchstaben geschrieben. Für Großbuchstaben verwenden wir stattdessen %X.
Syntax:
printf(' %x ...', ...); scanf(' %X ...', ...);> Beispiel:
C
Joins und Arten von Joins
// C Program to demonstrate the use of %x and %X> #include> int> main()> {> >int> a = 15454;> >printf>(>'%x
'>, a);> >printf>(>'%X'>, a);> >return> 0;> }> |
>
>Ausgabe
3c5e 3C5E>
7. String-Format-Bezeichner – %s in C
Das %s in C wird verwendet, um Zeichenfolgen zu drucken oder Zeichenfolgen als Eingabe zu verwenden.
Syntax:
printf(' %s ...', ...); scanf(' %s ...', ...);> Beispiel:
C
// C program to illustrate the use of %s in C> #include> int> main()> {> >char> a[] =>'Hi Geeks'>;> >printf>(>'%s
'>, a);> >return> 0;> }> |
>
>Ausgabe
Hi Geeks>
Beispiel: Die Arbeit von %s mit scanf() unterscheidet sich ein wenig von der Arbeit mit printf(). Lassen Sie uns dies mithilfe des folgenden C-Programms verstehen.
C
// C Program to illustrate the working of %s with scanf()> #include> int> main()> {> >char> str[50];> >// taking string as input> >scanf>(>'Enter the String: %s'>, str);> >printf>(>'Entered String: %s'>, str);> >return> 0;> }> |
>
>
Eingang
Enter the string: Hi Geeks>
Ausgabe
Hi>
Wie wir sehen können, wird die Zeichenfolge nur so lange gescannt, bis ein Leerzeichen auftritt. Wir können das vermeiden, indem wir verwenden Scansets in C .
Matrixmultiplikation in c
8. Adressformatbezeichner – %p in C
Die C-Sprache stellt auch den Formatbezeichner zum Drucken der Adresse/Zeiger bereit. Wir können %p verwenden, um Adressen und Zeiger in C auszugeben
Syntax
printf(' %p ...', ...);> Beispiel:
C
#include> int> main()> {> >int> a = 10;> >printf>(>'The Memory Address of a: %p
'>,(>void>*)&a);> >return> 0;> }> |
>
>Ausgabe
The Memory Address of a: 0x7ffe9645b3fc>
Eingabe- und Ausgabeformatierung
Die Sprache C bietet einige Tools, mit denen wir die Ein- und Ausgabe formatieren können. Sie werden im Allgemeinen zwischen dem %-Zeichen und dem Formatbezeichnersymbol eingefügt. Einige davon lauten wie folgt:
- Ein Minuszeichen (-) gibt die Linksausrichtung an.
- Eine Nummer danach % Gibt die minimale Feldbreite an, die gedruckt werden soll. Wenn die Zeichen kleiner als die Breite sind, wird der verbleibende Platz mit Leerzeichen aufgefüllt, und wenn er größer ist, wird er unverändert ohne Abschneiden gedruckt.
- Ein Punktsymbol ( . ) trennt die Feldbreite genau.
Präzision gibt die minimale Anzahl von Ziffern in einer Ganzzahl, die maximale Anzahl von Zeichen in einer Zeichenfolge und die Anzahl von Ziffern nach dem Dezimalteil in einem Gleitkommawert an.
Beispiel für E/A-Formatierung
C
// C Program to demonstrate the formatting methods.> #include> int> main()> {> >char> str[] =>'geeksforgeeks'>;> >printf>(>'%20s
'>, str);> >printf>(>'%-20s
'>, str);> >printf>(>'%20.5s
'>, str);> >printf>(>'%-20.5s
'>, str);> >return> 0;> }> |
>
>Ausgabe
geeksforgeeks geeksforgeeks geeks geeks>
FAQs zu C-Formatspezifizierern
1. Verfügt C über einen Formatbezeichner für Binärzahlen?
Nein, die Sprache C bietet keinen Formatbezeichner für Binärzahlen.
2. Was ist die formatierte Zeichenfolge?
Die Eingabe- und Ausgabefunktionen in C verwenden eine Zeichenfolge als Argument, das darüber entscheidet, wie die Daten auf dem Bildschirm angezeigt oder in den Speicher abgerufen werden. Diese Zeichenfolge wird als formatierte Zeichenfolge bezeichnet.