2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Le format général de la fonction printf est printf (contrôle de format, liste de sortie)
Par exemple:
printf("%d,%cn",i,c);
Il s'agit d'une chaîne entourée de doubles apostrophes, appelée « chaîne de contrôle de conversion » ou « chaîne de format » en abrégé. Il comprend deux informations :
① Format de l'instruction. La déclaration de format se compose de "%" et de caractères de format, tels que %d, %f, etc. Sa fonction est de convertir les données de sortie dans le format spécifié, puis de les afficher. Les déclarations de format commencent toujours par le caractère "%".
Parmi eux : d représente un entier décimal, c représente un seul caractère, s représente plusieurs caractères, f représente un nombre décimal, x représente la sortie au format hexadécimal et p représente l'adresse de la mémoire d'impression, qui est également sortie au format hexadécimal. utilise le symbole d'opération d'adresse variable &.
② Caractères ordinaires. Les caractères ordinaires sont des caractères qui doivent être affichés inchangés lors de la sortie. Par exemple, les virgules, les espaces et les nouvelles lignes entre les doubles virgules dans la fonction printf ci-dessus peuvent également inclure d'autres caractères.
Ce sont certaines données que le programme doit générer, qui peuvent être une constante, une variable ou une expression.
- int data = 10;
- int chushu = 3;
- float result;
-
- result = (float)data/chushu;
scanf (contrôle de format, colonne de la table d'adresses)
La signification de « contrôle de format » est la même que celle de la fonction printf. « Colonne de table d'adresses » est une colonne de table composée de plusieurs adresses, qui peuvent être l'adresse d'une variable ou la première adresse d'une chaîne.
Semblable à la déclaration de format dans la fonction printf, elle commence par % et se termine par un caractère de format, et des caractères supplémentaires peuvent être insérés au milieu.
La fonction scanf peut être réécrite sous la forme suivante
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
En plus de la déclaration de format %f, il existe également des caractères ordinaires (notamment "a=", "b=" et ",") dans la chaîne de format.
Note:
Le "contrôle de format" dans la fonction scanf doit être suivi de l'adresse de la variable, et non du nom de la variable.Par exemple, si a et b sont des variables entières, s'ils sont écrits sous la forme
scaní("%f%f%f",a,b,c);
Ce n'est pas vrai. "a,b,c" doit être remplacé par "&a,&b,&c". Beaucoup de débutants font cette erreur.
S'il y a d'autres caractères dans la "chaîne de contrôle de format" en plus de la déclaration de format, les mêmes caractères que ces caractères doivent être saisis aux positions correspondantes lors de la saisie des données.S'il y a
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
Lors de la saisie des données, les mêmes caractères doivent être saisis aux positions correspondantes.c'est-à-dire l'entrée
a=1,b=3,c=2 (faites attention au contenu d'entrée)
Par conséquent, n'ajoutez pas d'espaces (si vous utilisez une nouvelle ligne pour saisir des espaces, c'est OK) ou des virgules et autres symboles dans scanf, écrivez simplement les données d'entrée requises directement :
scanf("%d%d%f",&data,&data1,&data2);
Lors de la déclaration des caractères d'entrée au format "%c", les caractères d'espacement et les caractères "caractères d'échappement" sont saisis comme caractères valides, par exemple :
scanf("%c%c%c,&c1,&c2,&c3);
Lors de l'exécution de cette fonction, vous devez saisir 3 caractères consécutifs sans espaces entre les deux.
Ce serait une erreur d'insérer un espace entre deux caractères.
Les espaces et les nouvelles lignes sont également des caractères. Vous ne pouvez pas utiliser d'espaces ou de nouvelles lignes lors de la saisie.
Lors de la saisie de données numériques, si vous saisissez un espace, un retour chariot, une touche de tabulation ou si vous rencontrez des caractères illégaux (caractères qui n'appartiennent pas à des valeurs numériques), les données sont considérées comme terminées. Par exemple:
scanf("%d%c%f,&a,&b,&c);
La saisie correcte est : 1234h7.6
Les premières données correspondent au format %d. Après avoir saisi 1234, le caractère 'h' est rencontré. Par conséquent, le système pense qu'il n'y a pas de chiffres après la valeur 1234. Les premières données doivent se terminer ici, donc 1234 est envoyé à la variable. un. Envoyez le caractère suivant 'h' à la variable de caractère b. Puisque %c ne nécessite que la saisie d'un caractère, le système détermine que la saisie du caractère est terminée, il n'est donc pas nécessaire d'ajouter un espace après le caractère saisi ' h'. La valeur après le caractère « h » doit être envoyée à la variable c. Si 1230.26 est saisi par erreur comme 123o.26 par négligence, puisque la lettre o apparaît après 123, on considère que les données numériques se terminent ici et les caractères suivants ne sont pas lus.
Ainsi, lorsque nous saisissons différents types de données, nous devons créer les fonctions scanf correspondantes par type. Il existe plusieurs fonctions scanf pour plusieurs types.
Lorsqu'un programme contient deux fonctions scanf ou plus, cette dernière fonction scanf considérera le caractère de nouvelle ligne après l'entrée de la fonction scanf précédente comme sa propre entrée, ce qui empêchera cette dernière fonction scanf d'obtenir une entrée normalement, elle doit donc être utilisée entre les deux fonctions scanf. Entre les fonctions scanf, insérez un getchar() pour absorber le caractère de nouvelle ligne supplémentaire.
puts : différence avec printf
(1). Ajouter automatiquement des sauts de ligne
(2).printf prend en charge une variété de modèles de sortie et met est la chaîne de sortie.
obtenirchar, putchar
Exercices d’entrée et de sortie :
1. Entrez les lettres majuscules et affichez les lettres minuscules
La connaissance des codes ASCII est utilisée ici. Le code ASCII + 32 correspondant aux lettres majuscules est le code ASCII correspondant aux lettres minuscules.
L'exemple de code est donc
- #include<stdio.h>
-
- int main()
- {
- char a;
- char b;
-
- printf("请输入一个大写字母:");
- scanf("%c",&a);
- b = a+32;
- printf("其对应的小写字母为:%c",b);
-
- return 0;
- }