تبليغاتX
ScriptSpot | کاملترین مرجع برنامه نویسی و کامپیوتر
S C R I P T  S P O T . b l o g f a . c o m صفحه نخست |   درباره ما |   پست الکترونیک  |  
بایگانی:  ماه: سال:

جستجو (توسط گوگل):
جایگاه شما:

Script Spot وبلاگی است برای به اشتراک گذاری منابع و تبادل نظر درباره برنامه نویسی، اینترنت و دیگر دانشهای کامپیوتری که توسط گروهی از دانشجویان رشته نرم افزار دانشگاه امام رضا مشهد گسترش داده میشود. این وبلاگ بر اساس گواهینامه Creative Commons به صورت as is و غیر انتفاعی ارائه میشود. مسئولیت هر مقاله بر عهده نویسنده آن است. نظرات و پیشنهادات شما اصلی ترین عامل جهت گیری ماست.
ScriptSpot RSS Feed
پذیرایی: (اشتراک در وبلاگ از طریق Feed)
اگر از خواندن این وبلاگ لذت می برید و قصد دارید بهتر و سریعتر در جریان به روز رسانی های آن قرار گیرید، کافیست با کلیک روی این آیکن با RSS Reader تان مشترک خوراک وبلاگ شوید .
ScriptSpot E-Mail NewsLetter
خبرنامه: (اشتراک در وبلاگ از طریق E-Mail)
اگر به feed علاقه ای ندارید، مشکلی نیست، با کلیک روی این آیکن یا وارد کدرن ایمیلتان در جعبه زیر، خیلی ساده، مشترک ایمیلی وبلاگ شوید!          
رشته ها در برنامه نویسی c
خشایار صباغزاده
نوشتار شماره: 16 / بازدید / نویسنده: خشایار صباغزاده پیوند پایدار  - 
شنبه 7 اردیبهشت1387 ، ساعت 18:47 / دسته: برنامه نویسی: ++C/C: مقالات آموزشی.  
مشترک RSS این وبلاگ شوید تا هیچ چیز را از دست ندهید.    /    این نوشتار را بوکمارک کنید:

رشته ها در برنامه نویسی c

رشته ها یکی ازمهمترین انواع داده ها در زبان های برنامه سازی هستند. یک رشته به یک توالی از صفر یا چند کاراکتر گفته می شود. به عنوان مثال ail یک رشته کاراکتری است .از رشته ها در مواردی  بسیاری همچون ذخیره اسم وادرس استفاده می شود.

در زبان c نوع داده مشخصی برای رشته وجود ندارد بلکه یک رشته به صورت ارایه ای از کاراکترها تعریف می گردد. به عنوان مثال:

Char name [10];

در مثال فوق متغییر name  به عنوان یک ارایه 10 عضوی ازکاراکترها تعریف شده است بنابراین می توانید یک رشته با حد اکثر 10 کاراکتر را در خود نگاه دارد.

در زبان c  امکان تعریف ثابت رشته ای نیز وجود دارد . یک ثابت رشته ای دنباله ای از کاراکتر ها است که در داخل " قرار می گیرد .بعنوان مثال "ALI"نشان دهنده یک ثابت رشته ای است.

توجه کنید که هنگامی که از " برای یک ثابت رشته ای استفاده می کنید کامپایلر یک علامت NULLدر انتهای رشته اضافه می کند.

در هنگام مقدار دهی اولیه نمی توانید  در برنامه از عملگر = برای مقدار دهی به یک رشته استفاده نمایید.به عنوان مثال دستور زیر خطای نحوی محسوب می گردد:

Char name[10];

Name="ali";

فراموش نکنید که رشته ها در حقیقت یک آرایه هستند و نمی توان کل یک ارایه را با یک دستور مقدار دهی کرد.برای مقدار دهی به یک رشته باید به تک تک عناصر ان را جداگانه مقدار داد .

خواندن و نوشتن رشته ها

برای خواندن ونوشتن رشته ها می توان از توابع scanf و printf استفاده کرد . تنها نکته این است که در داخل رشته کنترلی باید ازs % استفاده کرد .مثال:

Include#  

Void main()

{

Char name [20];

       printf("what is your name? :");

       scanf("%s",name);

}

همانطور که می بینید در هنگام ارسال متغیر name  به عنوان scanf  و   printf تنها نام ان بدون [] استفاده شده است. نکته دیگر اینکه در هنگام ارسال name  به تابع scnaf از علامت & استفاده نشده است.

نکته ای که در مورد تابع scnaf وجود دارد این است که اگر رشه دو قسمتی باشد مانندmohamar reza فقط mohamad  را در متغیر name قرار داده است.

دلیل این است که تابع scanf به محض رسیدن به کاراکتر space گمان می کند که رشته خاتمه یافته است و

ازبقیه صرفنظر می کند. برای رفع این مشکل  می توان از تابع دیگری به نام gets  استفاده کرد. نکته مهم این است که تابــــــــع gets تا زمانیکه ENTER  فشرده نشده است به خواندن  داده ها از صفحه کلید ادامه می دهـــــد.  لازم به ذکر است که برای چاپ رشته ها نیز تابعی بنام puts وجود دارد.

تابع strlen

این تابع یک رشته را دریافت کرده است و طول ان را باز می گرداند.

Int strlen( const char string[])

{

    Int i;

for(i=0; string[];i++)

return (i);

}

برنامه زیر نحوه استفاده از strlen را نشان می دهد:

Void main()

{

char text[100];

printf("enter a text :");

gets(text);

len=strlen(text);

printf("lengh of your text is%d",len);

}

           ادامه دارد......

لیست کامل مقاله های ارائه شده در ScriptSpot از ابتدا تا امروز
صفحه نخست | درباره ما | بایگانی نوشتارها | پست الکترونیک | RSS |

طراحی شده توسط ناصر تراب زاده و قدرت گرفته با افتخار از بلاگفا. بهترین حالت نمایش : 1024 × 768 (یا بالاتر)
هرگونه کپی برداری یا نقل قول از این وبلاگ تنها با ذکر منبع و درج لینک مستقیم مقاله مجاز است.
برخی از حقوق محفوظ است. برای اطلاعات بیشتر قوانین سایت را بخوانید.
Designed by: Nasser Torabzade. Powered by: Blogfa.
CopyRight © 2008 by : Script Spot™ - Some Rights Reserved. (Terms of Use)
'); ');