2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Das allgemeine Format der printf-Funktion ist printf (Formatsteuerung, Ausgabeliste).
Zum Beispiel:
printf("%d,%cn",i,c);
Es handelt sich um eine in doppelte Apostrophe eingeschlossene Zeichenfolge, die als „Konvertierungssteuerzeichenfolge“ oder kurz „Formatzeichenfolge“ bezeichnet wird. Es enthält zwei Informationen:
① Formatanweisung. Die Formatdeklaration besteht aus „%“ und Formatzeichen wie %d, %f usw. Seine Funktion besteht darin, die Ausgabedaten in das angegebene Format zu konvertieren und dann auszugeben. Formatdeklarationen beginnen immer mit dem Zeichen „%“.
Darunter: d stellt eine dezimale Ganzzahl dar, c stellt ein einzelnes Zeichen dar, s stellt mehrere Zeichen dar, f stellt eine Dezimalzahl dar, x stellt die Ausgabe im Hexadezimalformat dar und p stellt die Druckspeicheradresse dar, die ebenfalls im Hexadezimalformat ausgegeben wird verwendet das Operationssymbol & für variable Adressen.
② Gewöhnliche Charaktere. Gewöhnliche Zeichen sind Zeichen, die während der Ausgabe unverändert ausgegeben werden müssen. Beispielsweise können die Kommas, Leerzeichen und Zeilenumbrüche innerhalb der Doppelkommas in der obigen printf-Funktion auch andere Zeichen enthalten.
Es handelt sich um einige Daten, die das Programm ausgeben muss. Dabei kann es sich um eine Konstante, eine Variable oder einen Ausdruck handeln.
- int data = 10;
- int chushu = 3;
- float result;
-
- result = (float)data/chushu;
scanf (Formatsteuerung, Adresstabellenspalte)
Die Bedeutung von „Formatsteuerung“ ist dieselbe wie die der printf-Funktion. „Adresstabellenspalte“ ist eine Tabellenspalte, die aus mehreren Adressen besteht, bei denen es sich um die Adresse einer Variablen oder die erste Adresse einer Zeichenfolge handeln kann.
Ähnlich wie die Formatdeklaration in der Funktion printf beginnt sie mit % und endet mit einem Formatzeichen, in der Mitte können weitere Zeichen eingefügt werden.
Die Scanf-Funktion kann in die folgende Form umgeschrieben werden
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
Zusätzlich zur Formatdeklaration %f enthält die Formatzeichenfolge auch einige gewöhnliche Zeichen (einschließlich „a=", „b=" und „,“).
Notiz:
Auf die „Formatsteuerung“ in der Scanf-Funktion sollte die Variablenadresse und nicht der Variablenname folgen.Wenn beispielsweise a und b ganzzahlige Variablen sind, wenn sie als geschrieben werden
scaní("%f%f%f",a,b,c);
Das ist nicht richtig. „a,b,c“ sollte in „&a,&b,&c“ geändert werden. Viele Anfänger machen diesen Fehler.
Befinden sich neben der Formatdeklaration noch weitere Zeichen im „Format Control String“, sollten bei der Dateneingabe die gleichen Zeichen wie diese Zeichen an den entsprechenden Stellen eingetragen werden.Wenn da ist
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
Bei der Eingabe von Daten sollten an den entsprechenden Stellen die gleichen Zeichen eingegeben werden.d.h. Eingabe
a=1,b=3,c=2 (achten Sie auf den Eingabeinhalt)
Fügen Sie daher in scanf keine Leerzeichen (wenn Sie eine neue Zeile zur Eingabe von Leerzeichen verwenden, ist das in Ordnung) oder Kommas und andere Symbole hinzu, sondern schreiben Sie einfach die erforderlichen Eingabedaten direkt aus:
scanf("%d%d%f",&data,&data1,&data2);
Bei der Deklaration von Eingabezeichen im Format „%c“ werden Leerzeichen und Zeichen in „Escape-Zeichen“ als gültige Zeichen eingegeben, zum Beispiel:
scanf("%c%c%c,&c1,&c2,&c3);
Beim Ausführen dieser Funktion sollten Sie 3 aufeinanderfolgende Zeichen ohne Leerzeichen dazwischen eingeben.
Es wäre falsch, zwischen zwei Zeichen ein Leerzeichen einzufügen.
Leerzeichen und Zeilenumbrüche sind ebenfalls Zeichen. Sie können bei der Eingabe keine Leerzeichen oder Zeilenumbrüche verwenden.
Wenn Sie bei der Eingabe numerischer Daten ein Leerzeichen, einen Wagenrücklauf oder eine Tabulatortaste eingeben oder auf unzulässige Zeichen stoßen (Zeichen, die nicht zu numerischen Werten gehören), gelten die Daten als beendet. Zum Beispiel:
scanf("%d%c%f,&a,&b,&c);
Die korrekte Eingabe lautet: 1234h7.6
Die ersten Daten entsprechen dem %d-Format. Daher geht das System davon aus, dass nach dem Wert 1234 keine Ziffern vorhanden sind. Die ersten Daten sollten hier enden, daher wird 1234 an die Variable gesendet A. Senden Sie das nachfolgende Zeichen „h“ an die Zeichenvariable b. Da %c nur die Eingabe eines Zeichens erfordert, stellt das System fest, dass die Eingabe des Zeichens beendet ist, sodass nach dem eingegebenen Zeichen kein Leerzeichen eingefügt werden muss. H'. Der Wert nach dem Zeichen „h“ sollte an die Variable c gesendet werden. Wenn 1230.26 aufgrund von Fahrlässigkeit fälschlicherweise als 123o.26 eingegeben wird, wird davon ausgegangen, dass die numerischen Daten hier enden, da der Buchstabe o nach 123 erscheint, und die folgenden Zeichen werden nicht gelesen.
Wenn wir also verschiedene Datentypen eingeben, sollten wir entsprechende Scanf-Funktionen nach Typ erstellen. Es gibt mehrere Scanf-Funktionen für verschiedene Typen.
Wenn ein Programm zwei oder mehr Scanf-Funktionen enthält, betrachtet die letztere Scanf-Funktion das Zeilenumbruchzeichen nach der Eingabe der vorherigen Scanf-Funktion als ihre eigene Eingabe, was dazu führt, dass die letztere Scanf-Funktion die Eingabe nicht normal erhalten kann und daher verwendet werden muss Fügen Sie zwischen den beiden Scanf-Funktionen eine getchar() ein, um das zusätzliche Zeilenumbruchzeichen zu absorbieren.
puts: Unterschied zu printf
(1). Zeilenumbrüche automatisch hinzufügen
(2).printf unterstützt eine Vielzahl von Ausgabemustern und gibt die Ausgabezeichenfolge aus.
getchar, putchar
Eingabe- und Ausgabeübungen:
1. Geben Sie Großbuchstaben ein und geben Sie Kleinbuchstaben aus
Hier wird die Kenntnis der ASCII-Codes genutzt. Der ASCII-Code + 32, der Großbuchstaben entspricht, ist der ASCII-Code, der Kleinbuchstaben entspricht.
So ist das Codebeispiel
- #include<stdio.h>
-
- int main()
- {
- char a;
- char b;
-
- printf("请输入一个大写字母:");
- scanf("%c",&a);
- b = a+32;
- printf("其对应的小写字母为:%c",b);
-
- return 0;
- }