C پروقراملاما دیلینین چوخ ساییدا کاراکتر ایداره ائتمه فانکشنلری وار. آنجاق اؤرنک اولاراق بو بؤلومده اونلاردان نئچهسینی اچیقلایاجاییق و نئجه پروقرام ایچینده قوللانماسینی دا توضیح وئرهجهییک. کاراکترلر ایله چوخ چالیشدیقلاری اوچون منطیقی عیبارتلری ده بو بؤلومده آچیقلایاجاییق.
C پروقراملاما دیلینده، کاراکترلر عموما تک-کاراکتر یوخسا ایسترینگ (کاراکترلردن توپلانمیش بیر دوٚزن) تکین گؤرونورلر. آشاغیداکی کود'دا ctype.h باشلیق فایلی ایستیفاده ائدهجهییک کی کاراکترلری ایداره و تست ائدن فانکشنلر اوچون احتیاجدیر:
#include <stdio.h>
#include <ctype.h>
int main()
{
int ch = 'a';
printf("Big %c\n",toupper(ch));
printf("Little %c\n",tolower(ch));
printf("What begins with %c?\n",ch);
return(0);
}
گؤردویونوز toupper تابعی، کاراکتری آلیب و اونون بویوک کاراکتر شکیلینی قایتاریر. tolower ایسه کیچیک شکیلینی قایتاریر.
آنجاق بونو اونوتمایین: بو فانکشنلر یالنیز اینتیجر میقداری آلیب و قایتاریرلار، بونا گؤره ده کاراکترسل اینپوتلاری آلا بیلمز.
لاپ بئله تعیین ائتدیگینیز موتغیرلر اینتیجر اولسالار دا، printf فانکشنی و %c (کاراکتر یئر ساخلایانی، placeholder) ایله اونلاری کاراکتر تکین چاپ ائده بیلرسینیز.
یعنی 8-جی سطرده یازدیغیمیز تکین. ایستهسنیز ایسترینگ اوچون ده بو فانکشنلری ایستیفاده ائده بیلرسینیز.
سونراکی کودا باخین:
#include <stdio.h>
int main()
{
int c;
do
{
c = getchar();
c = toupper(c);
putchar(c);
}
while(c != '\n');
return(0);
}
بیر حلقه تشکیل وئرمیشیک.
سونرا getchar فانکشنی ایله کاراکتر آلماق اوچون دستورالعمل یازمیشیق.
وؤردیگیمیز کلمهیی araz فرض ائدین. بوراخیش صفحهسینده اؤنجه araz یازیب و ENTER وورورسوز.
یاخشی، araz مجموعهسی بافرده ذخیره اولور. آنجاق ایلک کاراکتری، c موتغیری اوچون توتور.
سونرا 6-جی سطرده، c موتغیره ایختیصاص وئریلن میقداری، بویوک حرف کاراکترینه چئویریر.
سونرا 7-جی سطرده اونو چاپ ائدیر. یاخشی، while قیسمتی ایسه حلقهیی دوردورماق اوچون بیر شرط قویوبدور. بو شرط ده ENTER دوگمهنین وورولماماسی تعیین اولوب.
یعنی سطردن چیخیب یئنی سطره گئچمهسه (ENTER وورولماسا)، حلقه داوام ائدهجک.
سونرا بافردهکی ایکینجی کاراکتری توتور و ترتیب ایله بو ایش داوام ائدیر و بوتون کاراکترلر، بویوک کاراکترلرینه چؤنورلر. نهایتده ENTER کاراکتری وار و while قیسمتده اولان شرط بونا قارشیدیر.
بئلهلیکله حلقهدن چیخیر و بو عملیات، بوراخیش صفحهسینده ایسترینگ تکین گؤرونهجک.
Output Terminal
araz
ARAZ
Process returned 0 (0x0) execution time : 3.324 s
Press ENTER to continue.
آلینان کاراکتر، الیفبا کاراکترلردن اولماسا نئجه؟
بو پروقرامی یئنیدن ایجرا ائدین و بو یول araz یئرینه، araz@linux #1 یازین و نتیجهیه باخین.
Output Terminal
araz@linux #1
ARAZ@LINUX #1
Process returned 0 (0x0) execution time : 11.749 s
Press ENTER to continue.
البته بو پروقرامی بئله ده یازماق اولار:
#include <stdio.h>
char touper (char c);
int main ()
{
int c;
while (c!='\n')
{
c=getchar();
c=touper(c);
putchar (c);
}
return (0);
}
char touper (char c) {
if (c>=91 && c<=122)
return (c-32);
else
return (c);
}
ایندی آشاغیداکی پروقراما باخین. بو پروقرامدا، یالنیز الیفبا حرفلری آییرماق ایستهمیشیک.
#include <stdio.h>
#include <ctype.h>
int main()
{
int acter;
do
{
acter = getchar();
if(isalpha(acter))
putchar(acter);
}
while( acter != '\n');
return(0);
}
Output Terminal
Araz@Linux #1
ArazLinux
Process returned 0 (0x0) execution time : 2.675 s
Press ENTER to continue.
بوتون ایشلر قاباقجا ائتدیگیمیز تکیندیر. آنجاق بیر کیچیک نوکته دگیشیبدیر.
۹-جو سطرده، acter کاراکترین، الیفبا کاراکترلریندن اولماسینی سوروشوبدور. الیفبا اولسا چاپ اولور، اولماسا دا گلنکی مرحله.
آیدیندیر، نتیجهده یالنیز الیفبا حرفلری قالاجاق و قالان حرفلر داها یازیلمایاجاق.
حتی یازدیغینیز Araz@Linux #1 کاراکترلرین سونوندا، ENTER ده یازمیشسینیز! اونوتموشدوز، ائله دگیلمی؟ نتیجهیی ده ArazLinux یازیب و داها آشاغیسیندا بوش سطر ده یوخدور.
ندنلیگی ده بللیدیر، ENTER کاراکتری ده الیفبا کاراکترلریندن ساییلمادیغینا گؤره حذف اولوب.
isalpha فانکشنی تکین آیری فانکشنلرده وار:
البته بونلارین هامیسینی اؤزونوز ده یارادا بیلرسینیز.