Manipolazione ingresso/uscita in C
- 24-07-2022
- Toanngo92
- 0 Comments
Perché mettere la creazione di input output prima delle prossime lezioni concettuali? Perché per facilitare l'esercizio durante l'esercizio, andrò su input/output e introdurrò prima l'input e l'output di base, anche se non comprendiamo ancora il concetto di funzione, ma usiamolo prima. , quindi andiamo a il seguente concetto.
Il programma C fornisce una serie di librerie standard per lavorare con le funzioni di I/O, l'input serve per inserire i dati dal dispositivo periferico, nel contesto del linguaggio di programmazione C è la tastiera, l'output serve per inserire i dati dal computer. il contesto è quello di stampare sullo schermo.
Mục lục
Output – Stampa sullo schermo con la funzione printf
Nella programmazione C, printf() è una delle funzioni di output che stampa i dati sulla schermata principale. Questa funzione è definita in una libreria denominata <stdio.h>, per usarla includiamo la libreria standard secondo la sintassi
#include stdio.h
Per esempio
#include stdio.h int main() { // in dòng hello world ra màn hình printf("hello world"); return 0; }
Il risultato viene stampato sullo schermo:
Ciao mondo
Flusso di esecuzione del programma:
- Includere la libreria stdio.h
- Quando si esegue il codice sorgente, il programma C chiama la funzione principale da eseguire
- Nella funzione principale chiama (esegui) la funzione printf (stampa il testo ciao mondo)
- restituire 0 per terminare il programma.
Perché restituire 0 alla fine di main? sarà trattato nell'articolo sul concetto di funzione. In questo contesto, dichiariamo la funzione principale con tipo di dati int , quindi alla fine la funzione deve restituire 0 per restituire il valore al sistema operativo e terminare il programma. Se non vuoi restituire 0 alla fine del programma, dichiara il tipo di dati void per la funzione main() .
La sintassi della funzione printf
printf("control string",argument list); // controlstring: chuỗi điều khiển // argument list: danh sách tham số
Formato dati (separatore di formato)
Considera che l'esempio seguente è il comando per stampare dati numerici sullo schermo
#include int main() { int testInteger = 5; printf("Number = %d", testInteger); return 0; }
Risultato:
Numero = 5
Input – Immettere i dati con la funzione scanf
In linguaggio C, la funzione scanf viene utilizzata per ricevere i dati che l'utente inserisce dalla tastiera. Questa funzione leggerà i dati dall'input della tastiera nel formato corretto che il programmatore ha una convenzione simile alla struttura del formato che abbiamo affrontato nella funzione printf.
La sintassi della funzione scanf
scanf("format specifier list",argument list); // format specifier list: chuỗi bộ định dạng // argument list: danh sách tham số
Vedi l'esempio qui sotto:
#include int main() { int testInteger; printf("Enter an integer: "); scanf("%d", &testInteger); printf("Number = %d",testInteger); return 0; }
Supponendo di inserire il numero 4, il risultato sarà simile a questo:
Enter an integer: 4 Number = 4
Qui uso il formato %d perché voglio che i dati di input siano un numero intero.
Esempio: 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 = %fn", num1); printf("num2 = %lf", num2); return 0; }
Risultato:
Enter a number: 12.523 Enter another number: 10.2 num1 = 12.523000 num2 = 10.200000
Usiamo %f e %fl per formattare float e double.
Esempio: carattere
#include int main() { char chr; printf("Enter a character: "); scanf("%c",&chr); printf("You entered %c.", chr); return 0; }
Risultato:
Inserisci un carattere: g
Hai inserito g
Nota: l'ovvia differenza tra le funzioni printf e scanf è l'uso dell'elenco dei parametri, con printf passiamo l'elenco dei parametri con il nome della variabile, e con scanf dobbiamo aggiungere il carattere & prima di esso.nome della variabile, questo è il concetto di locazione di memoria (indirizzo di memoria) sarà menzionato in dettaglio nei puntatori dell'articolo. (In quell'articolo, spiegherò anche di più perché il caso %s in scanf può passare direttamente il nome della variabile come parametro senza usare & ed è ancora valido)
Importa ed esporta più dati contemporaneamente tramite l'elenco dei parametri (elenco degli argomenti)
Puoi importare ed esportare più dati contemporaneamente passando più parametri alle funzioni printf e scanf, e ovviamente il formato che devi inserire è del tutto equivalente, corrispondente all'ordine, alla quantità e al tipo di dati. .
Vedi l'esempio seguente, ho usato la funzione scanf e la funzione printf per stampare due variabili contemporaneamente.
#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; }
Risultato:
Enter integer and then a float: -3 3.4 You entered -3 and 3.400000
Nota: quando si utilizza la funzione scanf, le stringhe del formattatore vengono scritte in modo contiguo, senza spazi, costanti di stringa intermedie, ad esempio:
scanf("%s %d",&a,&b) // sai scanf("%s va %d",&a,&b) // sai scanf("%s%d",&a,&b) // đúng
Tabella dei comandi dell'identificatore di formato
Formato | printf() | scanf() |
Carattere (carattere) | %c | %c |
Intero (decimale) | %d | %d |
Numeri reali (flottanti) | %f | %f |
Reale (doppio) | %lf | %f |
array di caratteri/stringa (caratteri array/stringa) | %S | %S |
Decimale con virgola mobile | % e | %e o %f |
Intero senza segno (senza segno) | %u | %u |
Intero esadecimale senza segno | %X | %X |
Intero ottale senza segno | %o | %o |