English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai come utilizzare la funzione scanf() per ottenere input dall'utente e come utilizzare la funzione printf() per visualizzare l'output all'utente.
Nel linguaggio C, printf() è una delle principali funzioni di output. La funzione invia output formattato sullo schermo. Ad esempio,
#include <stdio.h> int main() { // Stampa la stringa tra virgolette printf("C Programming"); return 0; }
输出结果
C Programming
Come funziona questo programma?
Tutti i programmi validi in C devono includere la funzione main(). Il codice inizia ad eseguire dal punto di partenza della funzione main().
printf() è una funzione di libreria per formattare l'output inviato sullo schermo. La funzione stampa la stringa tra virgolette.
Per utilizzare la funzione printf() nel nostro programma, dobbiamo includere la libreria di intestazione stdio.h utilizzando la direttiva #include <stdio.h> .
return 0; La frase main() è la "stato di uscita" del programma. È opzionale.
#include <stdio.h> int main() { int testInteger = 5; printf("Number = %d", testInteger); return 0; }
输出结果
Number = 5
Usiamo il segnaposto di formato %d per stampare il tipo int. In questo caso, il %d all'interno delle virgolette sostituirà il valore di testInteger.
#include <stdio.h> int main() { float number1 = 13.5; double number2 = 12.4; printf("number1 = %f\n", number1); printf("number2 = %lf", number2); return 0; }
输出结果
number1 = 13.500000 number2 = 12.400000
Per stampare un float, utilizziamo il segnaposto di formato %f. Allo stesso modo, usiamo %lf per stampare valori double.
#include <stdio.h> int main() { char chr = 'a'; printf("character = %c.", chr); return 0; }
输出结果
character = a
Per stampare un char, utilizziamo il segnaposto di formato %c.
In programmazione C, scanf() è una delle funzionalità più comuni per accettare input dall'utente. Questa funzionalità scanf() legge input formattati dallo standard input (ad esempio, la tastiera).
#include <stdio.h> int main() { int testInteger; printf("Inserisci un numero: "); scanf("%d", &testInteger); printf("Number = %d", testInteger); return 0; }
输出结果
Inserisci un numero: 4 Number = 4
In questo caso, abbiamo utilizzato il segnaposto di formato %d della funzione scanf() per ricevere il valore numerico intero dell'utente. Quando l'utente inserisce un intero, esso viene memorizzato nella variabile testInteger.
Attenzione, scanf() utilizza &testIntegerinside. Questo è perché &testInteger ottiene l'indirizzo testInteger e il valore inserito dall'utente viene memorizzato in quell'indirizzo.
#include <stdio.h> int main() { float num1; double num2; printf("Inserisci un numero: "); scanf("%f", &num1); printf("Inserisci un altro numero: "); scanf("%lf", &num2); printf("num1 = %f\n", num1); printf("num2 = %lf", num2); return 0; }
输出结果
输入一个数字: 12.523 输入另一个数字: 10.2 num1 = 12.523000 num2 = 10.200000
float和double我们分别使用%f和%lf格式说明符。
#include <stdio.h> int main() { char chr; printf("输入一个字符: "); scanf("%c",&chr); printf("您输入了 %c.", chr); return 0; }
输出结果
输入一个字符: g 您输入了 g.
当用户在上述程序中输入字符时,字符本身不会被存储。而是存储一个整数值(ASCII值)。
当我们使用%c文本格式显示该值时,将显示输入的字符。如果%d用于显示字符,则将其ASCII值打印出来。
#include <stdio.h> int main() { char chr; printf("输入一个字符: "); scanf("%c", &chr); //当使用%c时,将显示一个字符 printf("您输入了 %c.\n",chr); //使用%d时,显示ASCII值 printf("ASCII 值为 % d.", chr); return 0; }
输出结果
输入一个字符: g 您输入了 g. ASCII 值为 103.
这是您可以从用户那里获取多个输入并显示它们的方法示例。
#include <stdio.h> int main() { int a; float b; printf("输入整数,然后再输入浮点数: "); //接受多个输入 scanf("%d%f", &a, &b); printf("您输入了%d和 %f", a, b); return 0; }
输出结果
输入整数,然后再输入浮点数: -3 3.4 您输入了 -3 和 3.400000
从以上示例中可以看到,我们使用
%d 对应为 int
%f 对应为 float
%lf 对应为 double
%c 对应为 char
这是常用的C数据类型及其格式说明符的列表。
数据类型 | 格式说明符 |
---|---|
int | %d |
char | %c |
float | %f |
double | %lf |
short int | %hd |
㩵n | |
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 |