I den här artikeln kommer vi att täcka grunderna, syntaxen och exempel på användning formatspecifikationer i C Programmering .
Formatspecifikationer i C
De formatspecifikationer används för att ange formatet för utdatasträngen, som sedan skrivs ut på konsolen med hjälp av printf() funktion och de kan också användas i scanf() funktion för att ta input från användaren. Vi använder % symbol med varje formatspecifikation. C-språket ger olika formatspecifikationer för varje datatyp. Några av formatspecifikationer du kan använda i dina C-program nämns i tabellen nedan:
Data typ | Formatspecifikation | |
Heltal | Sjungat heltal | %d |
Osignerat heltal | %i | |
Signerat kort heltal | %Hej | |
Osignerat kort heltal | %hu | |
dubbel | dubbel | %lf |
lång dubbel | %Lf | |
karaktär | %c | |
lång | lång | %I |
Osignerad lång | %lu | |
Osignerad lång lång | %llu | |
lång lång | %lli eller %lld | |
sträng | %s | |
Skriver ingenting | %n | |
Flytande poäng av vetenskapliga notationer | %e eller %E | |
Skriver ut pekare | %p | |
%O | Åttakantig representation | |
%x | Hexa decimal representation |
Genom de ovan nämnda formatspecifikationerna i printf() funktion , kan du hämta data som lagras i den.
Här är några enkla exempel på att använda formatspecifikationer för olika datatyper i C:
1: Heltal
#includeint huvud ( ) {
int på ett = 10 ;
printf ( 'Signat heltal: %d \n ' , på ett ) ;
printf ( 'Osignerat heltal: %u \n ' , på ett ) ;
printf ( 'Signat kort heltal: %hi \n ' , ( kort ) på ett ) ;
printf ( 'Osignerat kort heltal: %hu \n ' , ( osignerad kort ) på ett ) ;
lämna tillbaka 0 ;
}
2: Dubbel
#includeint huvud ( ) {
dubbel på ett = 10.5 ;
printf ( 'Dubbel: %lf \n ' , på ett ) ;
printf ( 'Lång dubbel: %Lf \n ' , ( lång dubbel ) på ett ) ;
lämna tillbaka 0 ;
}
3: Karaktär
#includeint huvud ( ) {
röding kap = 'a' ;
printf ( 'Tecken: %c \n ' , kap ) ;
lämna tillbaka 0 ;
}
4: lång
#includeint huvud ( ) {
lång på ett = 100 000 ;
printf ( 'Lång: %ld \n ' , på ett ) ;
printf ( 'Osignerad lång: %lu \n ' , ( osignerad lång ) på ett ) ;
printf ( 'Lång lång: %lld \n ' , ( lång lång ) på ett ) ;
printf ( 'Osignerad lång lång: %llu \n ' , ( osignerad lång lång ) på ett ) ;
lämna tillbaka 0 ;
}
5: Sträng
#includeint huvud ( ) {
röding str [ ] = 'Hej världen!' ;
printf ( 'Sträng: %s \n ' , str ) ;
lämna tillbaka 0 ;
}
6: Diverse
#includeint huvud ( ) {
dubbel på ett = 123,45 ;
printf ( 'Flytande punkter för vetenskapliga notationer: %e \n ' , på ett ) ;
printf ( 'Skriver ut pekare: %p \n ' , & på ett ) ;
printf ( 'Åttakantig representation: %o \n ' , femton ) ;
printf ( 'Hexa decimal representation: %x \n ' , femton ) ;
printf ( 'Skriver ut %% tecken: %% \n ' ) ;
lämna tillbaka 0 ;
}
Formatering med formatspecifikationer
Vissa verktyg i C kan användas för att formatera utdata, de är vanligtvis infogade mellan % tecken och formatspecifikationssymbolen. Vi har nämnt några av formateringsverktygen nedan:
- De period (.) tecken separerar fältets bredd med precision.
- De minus (-) tecken talar om för vänsterjusteringen.
- De siffra efter % skylt anger den minsta fältbredden som ska skrivas ut.
Exempel
I exempelkoden nedan har vi använt formateringsverktygen med formatspecifikationerna:
#includeint huvud ( )
{
röding str [ ] = 'Linux' ;
printf ( '%30s \n ' , str ) ;
printf ( '%-30s \n ' , str ) ;
printf ( '%10,5s \n ' , str ) ;
printf ( '%-20,5s \n ' , str ) ;
lämna tillbaka 0 ;
}
I ovanstående kod %30s anger att strängen ska skrivas ut i ett fält med en minsta bredd på 30 tecken. %-30s indikerar att strängen skrivs ut i ett fält på minst 30 tecken men den ska lämnas inställd. Detsamma är fallet för $10,5s och %-20,5s.
Slutsats
De formatspecifikationer används för att formatera in- och utdatafunktioner inklusive printf() funktioner. De formatspecifikationer bestäm formatet för utdatasträngen och de används med % karaktär. När värdet är lagrat i variabeln kan du inte visa utdata direkt på konsolen utan att använda formatspecifikationerna. Vi har diskuterat olika typer av formatspecifikationer med exempelkoden i avsnittet ovan i guiden.