Programavimas reikalauja įvestis ir išvestis veikla ir C kalba stdin ir stdout srautai efektyviai valdo šiuos procesus. Ši išsami nuoroda išsamiai paaiškins stdin ir stdout paskirtį, sintaksę ir naudojimą. Standartiniai srautai in C paskambino stdin ir stdout palengvinti įvesties ir išvesties operacijas. Jie palengvina ryšį tarp programos ir jos vartotojo, nes tai yra C standartinės bibliotekos komponentas (stdio.h) . Panagrinėkime šiuos srautus išsamiau:
Kas yra Stdin?
Stdin yra reiškia Standartinė įvestis . Jį atstovauja stdin srautas , kuris paprastai yra prijungtas prie klaviatūros. Tai leidžia programoms nuskaityti vartotojo įvestus duomenis, kai jos veikia. Linijos buferis yra numatytasis nustatymas stdin , kuris renka įvestį, kol vartotojas nepastumia Įveskite raktą .
Kas yra Stdout?
Stdout reiškia Standartinė išvestis . Jį atstovauja stdout srautas , kuris dažnai tvirtinamas prie konsolės arba terminalo. Tai leidžia programoms parodyti vartotojo informaciją arba rezultatus. Pagal numatytuosius nustatymus „Stdout“ taip pat yra eilutės buferis.
Suprasdamas, sintaksė reikalingas naudojimas stdin ir stdout efektyviai svarbu:
Skaitymo įvestis iš Stdin:
The Scanf funkcija turi įprotį skaitymo įvestis iš vartotojo per stdin . Toliau pateikiama sintaksė:
junit testų bylos
scanf('format_specifier', &variable);
Šiuo atveju numatomą duomenų tipą nurodo format_specifier , o atminties adresas, kuriame bus saugomi įvesties duomenys, nurodomas &kintamuoju.
Išvesties rašymas į Stdout:
The printf funkcija yra įpratusi ekrano išvestis vartotojui per stdout . Toliau pateikiama sintaksė:
printf('format_specifier', variable);
Išvesties formatą nustato format_specifier , o rodoma reikšmė išsaugoma kintamajame.
Kad suprastum toliau stdin ir stdout , pažvelkime į keletą realaus pasaulio pavyzdžių:
java pabaiga
1 pavyzdys:
Skaitymo įvestis iš Stdin: Tarkime, kad prašome vartotojo įvesti savo vardą, amžių ir mėgstamą numerį. Po to vartotojas vėl matys šią informaciją dėl stdout .
#include int main() { char name[50]; int age; int favoriteNumber; printf('Enter your name: '); scanf('%s', name); printf('Enter your age: '); scanf('%d', &age); printf('Enter your favorite number: '); scanf('%d', &favoriteNumber); printf('Name: %s ', name); printf('Age: %d ', age); printf('Favorite Number: %d ', favoriteNumber); return 0; }
Išvestis:
jungiklio dėklas java
Enter your name: John Doe Enter your age: 25 Enter your favorite number: 42 Name: John Doe Age: 25 Favorite Number: 42
2 pavyzdys:
Išvesties rašymas į Stdout: Apskaičiuokime dviejų vartotojo pateiktų reikšmių sumą ir parodykime rezultatą ekrane naudodami stdout .
#include int main() { int num1, num2, sum; printf('Enter the first number: '); scanf('%d', &num1); printf('Enter the second number: '); scanf('%d', &num2); sum = num1 + num2; printf('The sum is: %d ', sum); return 0; }
Išvestis:
Enter the first number: 10 Enter the second number: 5 The sum is: 15
3 pavyzdys:
Čia yra išsami iliustracija, kaip naudoti stdin ir stdout programoje, kuri apskaičiuoja vartotojo pateiktų skaičių serijos vidurkį:
json failą
#include #define MAX_NUMBERS 10 int main() { int numbers[MAX_NUMBERS]; int count, i; float sum = 0, average; printf('Enter the count of numbers (up to %d): ', MAX_NUMBERS); scanf('%d', &count); if (count MAX_NUMBERS) { printf('Invalid count of numbers. Exiting... '); return 0; } printf('Enter %d numbers: ', count); for (i = 0; i <count; i++) { printf('number %d: ', i + 1); scanf('%d', &numbers[i]); sum } average="sum" count; printf(' entered numbers: '); for (i="0;" < printf('%d numbers[i]); printf(' sum: %.2f ', sum); printf('average: average); return 0; pre> <p> <strong>Output:</strong> </p> <pre> Enter the count of numbers (up to 10): 5 Enter 5 numbers: Number 1: 10 Number 2: 15 Number 3: 20 Number 4: 25 Number 5: 30 Entered numbers: 10 15 20 25 30 Sum: 100.00 Average: 20.00 </pre> <p> <strong>Explanation:</strong> </p> <p>The following code demonstrates a program that determines the average of a set of numbers that the user provides. The user is first asked to specify the number of numbers they intend to input. After that, the program prompts the user to enter the required number of numbers if the count is accurate. The entered numbers are concurrently added together and stored in an array. After that, the average is determined by dividing the sum by the count in the program. Finally, the user is shown the entered numbers, sum, and average.</p> <h2>Conclusion:</h2> <p>In conclusion, any programmer intending to create effective and interactive apps must know the use of <strong> <em>stdin</em> </strong> and <strong> <em>stdout</em> </strong> in C. Throughout this article, we have learned a lot about these standard streams and how they function in input and output operations.</p> <p>We can quickly collect user input during runtime by using <strong> <em>stdin</em> </strong> . The <strong> <em>scanf function</em> </strong> allows us to use <strong> <em>format specifiers</em> </strong> to specify the expected data type and save the input in variables. Due to the ability to ask users for different inputs and process them appropriately, makes it possible for our programs to be interactive.</p> <p>It's crucial to remember that while working with <strong> <em>user input, input validation</em> </strong> and <strong> <em>error handling</em> </strong> must be carefully considered. Users may submit unexpected data, such as a character in place of a number or data that is longer than expected. We can include error-checking features and validate user input before moving on to other procedures to make sure our programs are resilient.</p> <p>On the other hand, we can show the <strong> <em>user information, outcomes</em> </strong> , and <strong> <em>messages</em> </strong> using <strong> <em>stdout</em> </strong> . A flexible method for formatting and presenting the result in a style that is easy to understand is provided by the <strong> <em>printf function</em> </strong> . Using <strong> <em>format specifiers</em> </strong> , we can regulate the presentation of different data kinds, including <strong> <em>texts, integers,</em> </strong> and <strong> <em>floating-point numbers</em> </strong> . It enables us to tailor the output and give the user useful information.</p> <p>In some circumstances, we could need <strong> <em>input</em> </strong> or <strong> <em>output</em> </strong> immediately without waiting for the newline character. The <strong> <em>getchar</em> </strong> and <strong> <em>putchar</em> </strong> functions can be used to read and write individual characters in these circumstances. We can process characters one at a time with these functions because they give us more precise control over input and output.</p> <p>Using <strong> <em>stdin</em> </strong> and <strong> <em>stdout</em> </strong> goes beyond interactive command-line interfaces, even though console-based applications are frequently associated with them. The conventional input and output can be redirected to read from or write to files, allowing for batch processing and task automation. We can efficiently handle enormous volumes of data and operate on external files by using file <strong> <em>I/O routines</em> </strong> like <strong> <em>fopen, fread, fwrite, and fclose</em> </strong> .</p> <p>Additionally, to produce even more potent outcomes, <strong> <em>stdin</em> </strong> and <strong> <em>stdout</em> </strong> can be used with other C programming features and tools. For instance, we may use the <strong> <em>string.h library's</em> </strong> string manipulation functions in conjunction with stdin and stdout to process and modify text input. They can also be used in conjunction with <strong> <em>control structures, loops,</em> </strong> and <strong> <em>functions</em> </strong> to build sophisticated algorithms and user-input-based decision-making systems.</p> <hr></count;>
Paaiškinimas:
Šis kodas parodo programą, kuri nustato vartotojų pateiktų skaičių rinkinio vidurkį. Pirmiausia vartotojo prašoma nurodyti skaičių, kuriuos jis ketina įvesti, skaičių. Po to programa paragina vartotoją įvesti reikiamą skaičių skaičių, jei skaičiavimas yra tikslus. Įvesti skaičiai vienu metu sudedami ir saugomi masyve. Po to vidurkis nustatomas padalijus sumą iš programoje esančio skaičiaus. Galiausiai vartotojui rodomi įvesti skaičiai, suma ir vidurkis.
Išvada:
Apibendrinant, bet kuris programuotojas, ketinantis kurti veiksmingas ir interaktyvias programas, turi žinoti, kaip jas naudoti stdin ir stdout C. Šiame straipsnyje mes daug sužinojome apie šiuos standartinius srautus ir kaip jie veikia atliekant įvesties ir išvesties operacijas.
Mes galime greitai surinkti vartotojo įvestį vykdymo metu naudodami stdin . The Scanf funkcija leidžia mums naudotis formato specifikacijos nurodyti numatomą duomenų tipą ir išsaugoti įvestį kintamuosiuose. Dėl galimybės prašyti vartotojų skirtingų įvesties duomenų ir juos tinkamai apdoroti, mūsų programos gali būti interaktyvios.
Labai svarbu tai atsiminti dirbant su vartotojo įvestis, įvesties patvirtinimas ir klaidų tvarkymas reikia atidžiai apsvarstyti. Vartotojai gali pateikti netikėtų duomenų, pvz., simbolį vietoj skaičiaus arba duomenis, kurie yra ilgesni nei tikėtasi. Galime įtraukti klaidų tikrinimo funkcijas ir patvirtinti vartotojo įvestą informaciją prieš pereidami prie kitų procedūrų, kad įsitikintume, jog mūsų programos yra atsparios.
Kita vertus, galime parodyti vartotojo informacija, rezultatai , ir žinutes naudojant stdout . Lankstus būdas formatuoti ir pateikti rezultatą lengvai suprantamu stiliumi yra pateiktas printf funkcija . Naudojant formato specifikacijos , galime reguliuoti įvairių tipų duomenų pateikimą, įskaitant tekstai, sveikieji skaičiai, ir slankiojo kablelio skaičiai . Tai leidžia mums pritaikyti išvestį ir suteikti vartotojui naudingos informacijos.
Tam tikromis aplinkybėmis mums gali prireikti įvestis arba išvestis iš karto, nelaukiant naujos eilutės simbolio. The getchar ir putcharas funkcijos gali būti naudojamos atskiriems simboliams skaityti ir rašyti tokiomis aplinkybėmis. Šiomis funkcijomis galime apdoroti simbolius po vieną, nes jos leidžia tiksliau valdyti įvestį ir išvestį.
Naudojant stdin ir stdout neapsiriboja interaktyviomis komandų eilutės sąsajomis, nors konsolėmis pagrįstos programos dažnai yra su jomis susietos. Įprastas įvestis ir išvestis gali būti nukreipti skaityti iš failų arba rašyti į juos, kad būtų galima apdoroti paketą ir automatizuoti užduotis. Naudodami failą galime efektyviai tvarkyti milžiniškus duomenų kiekius ir dirbti su išoriniais failais Įvesties/išvesties tvarka Kaip fopen, fread, fwrite ir fclose .
kiek miestų yra Jungtinėse Valstijose
Be to, norint pasiekti dar stipresnių rezultatų, stdin ir stdout gali būti naudojamas su kitomis C programavimo funkcijomis ir įrankiais. Pavyzdžiui, galime naudoti string.h biblioteka manipuliavimo eilutėmis funkcijas kartu su stdin ir stdout, kad apdorotų ir modifikuotų teksto įvestį. Jie taip pat gali būti naudojami kartu su valdymo struktūros, kilpos, ir funkcijas sukurti sudėtingus algoritmus ir vartotojo įvestis pagrįstas sprendimų priėmimo sistemas.