MENU ▽ بیلگی
آذربایجان تورکجه‌سینده بیلگی‌لر

  • آنا صفحه‌سی
  • فلسفه
  • کامپیوتر
  • بیزه گؤره
  • ؜۵-جی فصل: C دیلینده کاراکترسل ‎I/O (آلیش و بوراخیش)

    پروقرام‌لار، آلیش (input) و بوراخیش (output) ایشی اوچون تانینیرلار.

    معمولا بوراخیشلار، گؤرونتو صفحه‌سی و ترمینال پنجره‌سی تکین ایستاندارد بوراخیش قورغویا گؤندریلیر و آلیش دا معمولا ایستاندارد حسابلانان آلیش قورغوسو (device) کیبورد'دان آلینیرلار.

    بو فصلده آلیش و بوراخیش (Input & Output) اوچون تمل (اساسی) مفهوم‌لاری آچیقلایاجاییق.

    بو مفهوم‌لار، تک-کاراکترلی آلیش میقدارلاری اوخوماق و بوراخیش اوچون گؤندرمگه شامیل اولورلار.

    C دیلی‌نین لاپ چوخ تانینان کاراکترسل آلیش و بوراخیش فانکشن‌لری، ‏getchar()‎ و putchar()‎ ساییلیرلار. getchar()‎ ایستاندارد آلیشدان کاراکتر استخراج ائدیر و putchar()‎ ایسه ایستاندارد بوراخیشا کاراکتر گؤندریر. بونلارین ایکیسی ده چالیشمالاری اوچون، ‎stdio.h باشلیق فایلا (header file) احتیاج‌لاری وار. داها آرتیق، بو ایکیسی کاراکترسل فانکشن‌لر اولسالار دا، اینتیجر (integer) میقدارلار ایله چالیشارلار. بلی، دوٚزدور. عجیب گؤرونسه ده دوغرودور.

    گله‌جکده بو فانکشن‌لر ایله ‎char موتغیرلری بیرلیکده ایشلتمیش اولا بیله‌جکسینیز و ائله بیر ایش گؤردویونوز واقت، کامپایلر چوخ مودبانه سیزی بو ایشتباه اوچون اویاراجاق. بیراز قاریشیق گؤرونسه ده، C پروقراملاما دیلی بئله‌دیر و ائله بوجور موضوع‌لار اوچون چوخلاری اونونلا راحات اولا بیلمیرلر. آنجاق داریخمایین، موضوع چوخ راحات‌دیر و آیدینجا بونو باشا دوشه‌جکسینیز.

    نهایت‌ده بو فانکشن‌لر، آخیم یؤنتملی (stream oriented) ده ساییلیرلار و بونو دا گلنکی فصلده صؤحبت ائده‌جه‌ییک. یاخشی، ایندی آشاغیداکی کودا بیر باخین:

    #include <stdio.h>
    int main ()
    {
    int c;
    printf ("Type a letter: ");
    c = getchar();
    printf ("You typed '%c'.\n",c);
    printf ("The character code is %d.\n",c);
    return (0);
    }

    ۴-جو سطر‌ده c موتغیری اینتیجر توتوروق.

    ۶-جی سطر‌ده ایسه getchar()‎ فانکشنی ایله c موتغیر اوچون بیر میقدار آلیریق.

    ۷-جی و ۸-جی سطرلرده c موتغیری چاپ ائدیریک، آنجاق بیر نوکته وار.

    ۷-جی سطر‌ده اولان placeholder اوچون ‎%c یازمیشیق، یعنی کاراکترسل و ۸-جی سطر‌ده ایسه ‎%d.

    بونا گؤره ده ۷-جی سطر‌ده‌کی printf، صفحه‌ده کاراکتر چاپ ائدیر، مثلا a.

    ۸-جی سطر‌ده کاراکتره عاید اولان شوماره چاپ اولور، مثلا بورادا a حرفی اوچون شوماره، ‎97 اولور.

    ایندی putchar()‎ فانکشنی ایستیفاده ائدیریک.

    #include <stdio.h>
    int main ()
    {
    int c;
    printf ("Type a letter: ");
    c = getchar();
    printf ("You typed '");
    putchar(c);
    printf ("'.\n");
    return (0);
    }

    گؤردویونوز تکین اینپوت‌دا یازدیغینیز تک-کاراکتر (ایلک کاراکتر) عیناً چاپ اولور. موستقیم putchar()‎ فانکشنینده یازماق اوچون تک-کوت قوللانمالیسینیز. تک-کوت کاراکتر اوچون ایشلنیر و دوبل-کوت ایسه ایسترینگ اوچون. ائله قاچیش کاراکترلری ده ایکی تک-کوت آراسینا یازا بیلریک. ایشلر قاباقکی تکین‌دیر، آنجاق نئچه putchar()‎ فانکشنی ایله ایسته‌دیگیمیز متنی چاپ ائتدیک.

    آشاغیداکی میثالی نظرده آلین:

    #include <stdio.h>
    int main ()
    {
    int c;
    printf ("Type a letter: ");
    c = getchar();
    printf ("You typed '");
    putchar(c);
    putchar ('\'');
    putchar ('.');
    putchar ('\n');
    return (0);
    }

    اوٚستده‌کی اؤرنک‌ده ۱ ساییدا آلیش (Input) فانکشنی ایله ۳ ساییدا بوراخیش (Output) ایستیفاده ائتدیک.

    #include <stdio.h>
    int main ()
    {
    int a,b;
    printf ("Type two letters: ");
    a = getchar();
    b = getchar();
    printf ("You typed '");
    putchar(a);
    printf ("' and '");
    putchar (b);
    printf ("'.\n");
    return (0);
    }

    بوراخیش ایسه بئله بیر زاد اولاجاق: (AYSAN یازین و Enter وورون!)

    You typed 'A' and 'Y'.

    ایندی یئنیدن ایجرا ائدین و بو یول، نئچه حرفی آلیش اوچون جاواب‌دا یازین. مثلا akin یازین.

    نتیجه یالنیز a و k حرف‌لری بوراخاجاق. بو فانکشن‌لرده ترتیب ایله باش‌دان دیبه کاراکترلر اوخونوب و ذخیره اولونور، بونا گؤره ده اتوماتیک حالت‌ده ۳-جو و ۴-جو کاراکترلری آلمیر.

    Type a letter: akin

    You typed 'a' and 'k'.

    ایندی یالنیز ۱ کاراکتر وئرین، مثلا z کاراکتری وئرین و ENTER دوگمه‌یی وورون.

    Type a letter: z

    You typed 'z' and '

    '.

    گؤردویونوز تکین بیر سطری آتلاییب. عیلّتی ده b کاراکتری اوچون اؤنجه‌دن «یئنی سطر» میقداری‌نین ذخیره اولماسی‌دیر. یعنی Enter کاراکتری.

    بو دا ائله قاباقجا دئدیگیمیز تکین، آخیم یؤنتملی اؤزللیک‌دیر.

    سونرا بونو داها کامل توضیح وئره‌جه‌ییک.

    بو کودو نظرده آلین:

    #include <stdio.h>
    int main ()
    {
    int a,b,c;
    printf ("Type three letters: ");
    a = getchar();
    putchar(a);
    b = getchar();
    putchar (b);
    c = getchar();
    putchar(c);
    return (0);
    }

    یاخشی، کامپایل و ایجرا ائدین و سونرا ۳ ساییدا کاراکتری، آلیش اوچون وؤرین.

    پروقرام نه یازدیغینیزی قایتاراجاق.

    داها آرتیق، اینپوت‌دا نه یازسانیز، بافرده ذخیره اولاجاق و دولونا قدر یوخسا بوشالاناجان کاراکتر آلماغا داوام ائده‌جک. بورادا، پروقرام‌دان چیخاناجان بیزیم بافر بوشالمایاجاق.

    بونا گؤره ده آلیش/بوراخیش فانکشنه آخیم-یؤنتملی دئییریک. ایطیلاعات بو فانکشن‌لرده آخیر و جریانی وار. البته بونا گؤره گلنکی فصل‌لرده داها چوخ صؤحبت ائده‌جه‌ییک.

    Type three letters: ABC

    ABC

    یئنیدن ایجرا ائدین. بو یول ۳ کاراکتری (بورادا مثلا A و B و C کاراکترلری) بیر-بیر وئرین. یعنی اؤنجه A و ENTER و سونرا B و ENTER و سونرا C و ENTER دوگمه‌یی وورون. نتیجه گؤزله‌دیگینیز تکین اولمویا بیلر! یعنی بئله بیر بوراخیشی گؤره‌جکسینیز:

    Type three letters: A

    A

    B

    B

    سیزجه نه‌دن بئله اولوب؟ ظاهرا یالنیز a و b موتغیرلر اوچون میقدار قبول ائدیب!

    داها دوغروسو، ۳ موتغیرین هامیسینا دا کاراکتر قبول ائدیب.

    اوندا نه‌دن ۳ یول آلیش آلماق اوچون چالیشماییب؟

    ! ! !

    چوخ آیدین‌دیر، ایلک موتغیری وئردیگینیز واقت، A یازیب و ENTER وورموشسونوز! ائله‌دییرمی؟!

    بئله‌لیکله a موتغیری اوچون A کاراکتری ثبت اولوبدور و b موتغیری اوچون ده ENTER کاراکتری!

    بلی، دوٚزدور. A کاراکتردن سونرا دا سطر دگیشیلیب‌دیر و بو یعنی b موتغیری ENTER میقداری توتوب.

    سونرا وئردیگینیز B کاراکتری ایسه، c موتغیری اوچون آلینیب‌دیر.

    موحتشم!

    ایندی putchar()‎ و getchar()‎ فانکشن‌لری اولدوق‌جا دوزگون باشا دوشموش‌سونوز.