C Ingresso / Uscita: printf () e scanf ()

In questo tutorial imparerai ad usare la funzione scanf () per ricevere input dall'utente e la funzione printf () per visualizzare l'output all'utente.

Uscita C.

Nella programmazione C, printf()è una delle principali funzioni di uscita. La funzione invia l'output formattato allo schermo. Per esempio,

Esempio 1: uscita C.

 #include int main() ( // Displays the string inside quotations printf("C Programming"); return 0; )

Produzione

 Programmazione C.

Come funziona questo programma?

  • Tutti i programmi C validi devono contenere la main()funzione. L'esecuzione del codice inizia dall'inizio della main()funzione.
  • La printf()è una funzione di libreria per inviare l'output formattato sullo schermo. La funzione stampa la stringa tra virgolette.
  • Per utilizzarlo printf()nel nostro programma, dobbiamo includere il stdio.hfile di intestazione utilizzando l' #include istruzione.
  • L' return 0;istruzione all'interno della main()funzione è lo "stato di uscita" del programma. È opzionale.

Esempio 2: output intero

 #include int main() ( int testInteger = 5; printf("Number = %d", testInteger); return 0; )

Produzione

 Numero = 5

Usiamo l'identificatore di %dformato per stampare i inttipi. Qui, l' %dinterno delle virgolette verrà sostituito dal valore di testInteger.

Esempio 3: float e doppia uscita

 #include int main() ( float number1 = 13.5; double number2 = 12.4; printf("number1 = %f", number1); printf("number2 = %lf", number2); return 0; )

Produzione

 numero1 = 13.500000 numero2 = 12.400000

Per stampare float, usiamo l'identificatore di %fformato. Allo stesso modo, usiamo %lfper stampare i doublevalori.

Esempio 4: caratteri di stampa

 #include int main() ( char chr = 'a'; printf("character = %c", chr); return 0; ) 

Produzione

 carattere = a 

Per stampare char, usiamo l'identificatore di %cformato.

Ingresso C

Nella programmazione C, scanf()è una delle funzioni comunemente utilizzate per ricevere input dall'utente. La scanf()funzione legge l'input formattato dall'input standard come le tastiere.

Esempio 5: input / output intero

 #include int main() ( int testInteger; printf("Enter an integer: "); scanf("%d", &testInteger); printf("Number = %d",testInteger); return 0; )

Produzione

 Immettere un numero intero: 4 Numero = 4

Qui, abbiamo usato l'identificatore di %dformato all'interno della scanf()funzione per ricevere intinput dall'utente. Quando l'utente immette un numero intero, viene memorizzato nella variabile testInteger.

Notare che abbiamo usato &testIntegerall'interno scanf(). È perché & testInteger ottiene l'indirizzo di testInteger e il valore immesso dall'utente viene memorizzato in quell'indirizzo.

Esempio 6: Float e Double Input / Output

 #include int main() ( float num1; double num2; printf("Enter a number: "); scanf("%f", &num1); printf("Enter another number: "); scanf("%lf", &num2); printf("num1 = %f", num1); printf("num2 = %lf", num2); return 0; )

Produzione

 Immettere un numero: 12.523 Immettere un altro numero: 10.2 num1 = 12.523000 num2 = 10.200000

Usiamo %fe %lfdi formato per floate double, rispettivamente.

Esempio 7: I / O carattere C

 #include int main() ( char chr; printf("Enter a character: "); scanf("%c",&chr); printf("You entered %c.", chr); return 0; ) 

Produzione

 Inserisci un carattere: g Hai inserito g 

Quando un carattere viene inserito dall'utente nel programma precedente, il carattere stesso non viene memorizzato. Viene invece memorizzato un valore intero (valore ASCII).

E quando visualizziamo quel valore utilizzando il %cformato testo, viene visualizzato il carattere inserito. Se usiamo %dper visualizzare il carattere, viene stampato il suo valore ASCII.

Esempio 8: valore ASCII

 #include int main() ( char chr; printf("Enter a character: "); scanf("%c", &chr); // When %c is used, a character is displayed printf("You entered %c.",chr); // When %d is used, ASCII value is displayed printf("ASCII value is %d.", chr); return 0; )

Produzione

Inserisci un carattere: g Hai inserito g. Il valore ASCII è 103.

Valori multipli di I / O

Ecco come puoi prendere più input dall'utente e visualizzarli.

 #include int main() ( int a; float b; printf("Enter integer and then a float: "); // Taking multiple inputs scanf("%d%f", &a, &b); printf("You entered %d and %f", a, b); return 0; )

Produzione

 Immettere un numero intero e quindi un float: -3 3.4 Hai inserito -3 e 3.400000 

Identificatori di formato per I / O

Come puoi vedere dagli esempi sopra, usiamo

  • %d per int
  • %f per float
  • %lf per double
  • %c per char

Di seguito è riportato un elenco dei tipi di dati C comunemente utilizzati e dei relativi identificatori di formato.

Tipo di dati Identificatore di formato
int %d
char %c
float %f
double %lf
short int %hd
unsigned int %u
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

Articoli interessanti...