دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

مشاهده این پیام به این معنی است که شما در سایت عضو نیستید، لطفا در صورت تمایل جهت عضویت در سایت علمی نخبگان جوان اینجا کلیک کنید.

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
صفحه 4 از 4 نخستنخست 1234
نمایش نتایج: از شماره 31 تا 32 , از مجموع 32

موضوع: آموزش زبان c

  1. #31
    دوست آشنا
    رشته تحصیلی
    کارشناسی کامپیوتر نرم افزار
    نوشته ها
    1,167
    ارسال تشکر
    2,113
    دریافت تشکر: 2,967
    قدرت امتیاز دهی
    44
    Array

    پیش فرض پاسخ : آموزش زبان c

    آموزش C (بخش 5) :: تبدیل انواع متغیرها

    وقتی که متغیرهای با نوع های مختلف در یک عبارت با یکدیگر ترکیب می شوند باید تبدیل نوع صورت گیرد . قاعده کلی این است که نوع های با طول کوچک تر به نوع هایی با طول بزرگتر تبدیل می شوند . مثلا” اگر دو متغیر از نوع کاراکتری و عددی صحیح با یکدیگر ترکیب شوند ، نوع کاراکتری به عددی صحیح تبدیل می شود .




    علاوه بر تبدیل انواع در عبارات ، در احکام انتساب نیز ممکن است تبدیل انواع صورت گیرد . در تبدیل انواع اطلاعاتی از بین می روند که باید در نتیجه حاصل از احکام انتساب دقت کافی به خرج داد. در ذیل تبدیل انواع در احکام انتساب مشاهده می شود :
    int x ;
    char ch;
    float f ;
    ch= x ;
    x= f ;
    f= ch ;
    f= x ;

    کلیه احکام انتساب فوق قابل انجام بوده و از طرف کامپایلر زبان C هیچ گونه خطایی گزارش
    نمی شود . اطلاعاتی که ممکن است در تبدیل انواع از بین بروند . در جدول (۱) آمده است .

    نوع منبع | نوع مقصد | اطلاعاتی که ممکن است از بین برود |
    ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |
    | signed char | char اگر مقدار بزرگتر از۱۲۷باشد مقصد منفی خواهد شد |
    ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |
    | short 8 | char بیت با ارزش |
    ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |
    | int 8 | char بیت با ارزش |
    ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |
    | long int | char۲۴بیت با ارزش |
    ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |
    | long int | int۱۶بیت با ارزش |
    ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |
    | float | int قسمت کسری یا بیشتر و نتیجه حاصل گرد می شود |
    ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |
    | double | float قسمت کسری و یا بیشتر و نتیجه حاصل گرد می شود |
    ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ
    جدول (۱) . تبدیل انواع
    دو نکته را باید در مورد تبدیل انواع ( جدول (۱) ) به خاطر داشته باشیم :
    ۱ بعضی از تبدیل انواع در جدول فوق وجود ندارد مثل doubleبه int . در این موارد می توان double را به float تبدیل کرده و سپس float را به int تبدیل نمود.
    ۲ وقتی نوع بزرگتری به نوع کوچکتری انتساب داده می شود . قسمتی از اطلاعات از دست می روند . همان طور که می دانیم ، معمولا” اعداد صحیح (int) در ۲ بایت و اطلاعات از نوع char در یک بابت ذخیره می شوند .
    وقتی یک متغیر int به یک متغیر char انتساب داده می شود بایت کم ارزش متغیر از نوع int به متغیر char منتقل شده ولی با ارزش متغیر int در متغیر char جایی میگوییم در انتساب متغیرintبه char ، ۸، بیت با ارزش از دست میرود.
    uody

  2. #32
    دوست آشنا
    رشته تحصیلی
    کارشناسی کامپیوتر نرم افزار
    نوشته ها
    1,167
    ارسال تشکر
    2,113
    دریافت تشکر: 2,967
    قدرت امتیاز دهی
    44
    Array

    پیش فرض پاسخ : آموزش زبان c

    آموزش C (بخش 6) :: تابع (Printf)


    این تابع برای انتقال اطلاعات از کامپیوتر به صفحه نمایش مورد استفاده قرار می گیرد و بصورت زیر استفاده می شود :




    عبارت ” ۱ شامل تعدادی کاراکترهای کنترلی ، کاراکترهای قالب جهت تعیین شکل خروجی و رشته های دیگری است که باید به خروجی منتقل شوند . ” عبارت دیگر ” شامل اطلاعاتی هستند که با فرمت مشخص شده در ” عبارت ” ۱، باید به خروجی منتقل شوند.
    کاراکترهایی که برای تعیین فرمت خروجی مورد استفاده قرار می گیرند با کاراکتر % شروع می شوند ( جدول ۱ ) .


    نوع اطلاعات که باید به خروجی منتقل شود |کاراکتر |
    %C یک کاراکتر
    %d اعداد صحیح دهدهی مثبت و منفی
    %i اعداد صحیح دهدهی مثبت و منفی
    %e نمایش علمی عدد همراه با حرف e
    %E نمایش علمی عدد همراه با حرف E
    %f عدد اعشاری ممیز شناور
    %g اعداد اعشاری ممیز شناور
    %G اعداد اعشاری ممیز شناور
    %O اعداد مبنای ۸ مثبت
    %S رشته ای از کاراکترها ( عبارت رشته ای )
    %U اعداد صحیح بدون علامت ( مثبت )
    %x اعداد مبنای ۱۶ مثبت با حروف کوچک
    %X اعداد مبنای ۱۶ مثبت با حروف بزرگ
    %p pointer ( اشاره گر )
    %n موجب میشود تا تعداد کاراکترهایی که تا قبل
    ازاین کاراکتر به خروجی منتقل شده اند شمارش
    شده و در پارامتر متناظر با آن قرار گیرد .

    جدول (۱) . کاراکترهای فرمت در تابع ()printf
    کاراکترهای کنترلی که در تابع ()printf بکار میروند در جدول (۲) آمده است . بعضی از کاراکترهای کنترلی برای انتقال خروجی به یک محل معین از صفحه نمایش مورد استفاده قرار می گیرند .

    عملی که انجام می شود | کاراکتر|


    f موجب انتقال کنترل به صفحه جدید می شود |
    n موجب انتقال کنترل به خط جدید می شود |
    t انتقال به ۸ محل بعدی صفحه نمایش |
    چاپ کوتیشن (”)| "
    چاپ کوتیشن (’)| '
    V انتقال کنترل به ۸ سطر بعدی |
    N ثابت های مبنای ۸|
    xN ثابت های مبنای ۱۶|


    جدول (۲) . کاراکترهای کنترلی


    چند دستور متوالی که شامل تابع ()print باشند ، خروجی خود را بر روی یک سطر منتقل یم کنند . مگر این که با پارامتر کنترلی n کنترل را به سطر بعدی منتقل کنیم .

    مثال ۱:

    Main()
    {
    printf(" i like %c ",'c' );
    printf("%s","very much." );
    }


    خروجی حاصل از اجرای برنامه فوق بصورت ذیل خواهد بود

    i like c very much.
    با استفاده ازn می توانیم خروجی را در چند سطر داشته باشیم .
    Main()
    {
    printf(”this is second program.n” );
    printf(”output is in two line.” );
    }
    خروجی حاصل از اجرای برنامه فوق بصورت ذیل است
    this is second program.
    output is in two line.


    مثال ۲:
    Main()
    {
    int num ;
    printf(”the address of num is:” );
    printf(” %p”/ &num );
    }

    در مثال فوق عبارت &num آدرس متغیر num را مشخص می کند که برای نوشتن آن ازکاراکتر فرمت p% استفاده شده است . نمونه ای از خروجی مثال ۲ بصورت زیر است .
    the address of num is : 6A30:OFE4
    اگر در تابع ()printf چند کاراکتر فرمت داشته باشیم ، هر کاراکتر با یک عنصر داده که باید به خروجی برود تطبیق داده می شود :

    Main()
    {
    int a=10 ;
    float b=20 ;
    printf(” a is:%d/b is :%f”/a/b);
    }
    خروجی حاصل از اجرای برنامه فوق بصورت ذیل است:

    a is:10/b is:20:000000
    مثال ۳

    Main()
    {
    unsigned int num ;
    num=100 ;
    printf(”the value of num is:%u”/num);
    }
    the value of num is:100
    مثال ۴:

    Main()
    {
    double d ;
    d=le+007 ;
    printf(”the value of d is:%en”/d);
    printf(”the value of d is:%En”/d);
    printf(”the value of d is:%gn”/d);
    }
    خروجی حاصل از اجرای برنامه مثال ۴ بصورت ذیل خواهد بود
    the value of d is:1.00000e+07
    the value of d is:1.00000E+07
    the value of d is:1e+07
    همانطور که مشاهده می شود برای چاپ اعدادی که بصورت نماد علمی باشند میتواناز کاراکترهای فرمت %e ، % Eو g% استفاده کرد .
    مثال ۵:

    Main()
    {
    float f=12.50 ;
    int t=10 ;
    printf(”n f is:%f”,f );
    printf(” tenper is:%%%d”,t );
    }
    خروجی حاصل از اجرای برنامه فوق بصورت زیر است
    f is:12.500000/tenper is:%10
    در مثال ۵ برای چاپ علامت % از کاراکتر %% و برای چاپ متغیر f از نوع float می باشد از f% استفاده شده است. کاراکتر فرمت n% از سایر کاراکترهای فرمت متفاوت است . این کاراکتر بجایانتقال مقادیری به خروجی ، موجب می شود تا تعداد کارکترهایی که تا قبل از اینکاراکتر به خروجی منتقل شده اند ، شمارش شده و در پارامتر متناظر با آن قراربگیرد .

    همانطوری که در مثال ۳ مشاهده می شود ، برای چاپ عدد num که بصورت عدد صحیحبدون علامت تعریف شد ، از u%استفاده شده است .


    منبع:iran-forum
    uody

  3. کاربرانی که از پست مفید uody سپاس کرده اند.


صفحه 4 از 4 نخستنخست 1234

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. مقاله: آموزش و پرورش در اسپانیا
    توسط *مینا* در انجمن علوم تربیتی
    پاسخ ها: 0
    آخرين نوشته: 20th November 2009, 10:49 PM
  2. گذری بر تاریخچه خط در ايران زمين
    توسط Admin در انجمن ایران شناسی
    پاسخ ها: 1
    آخرين نوشته: 15th March 2009, 07:24 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •