ایسترینگ ایچریسینده یازا بیلمهدیگینیز کاراکترلر ده وار. بو چتینلیکدن قاچماق اوچون، قاچیش کاراکترلری ایشلتمهلی اولاجاقسینیز.
C پروقراملاما دیلینده، ایکی دوبل-کوت آراسینداکی نئچه کاراکترین توپلانمیشی، ایسترینگ تانینیر. بو ایکی دوبل-کوت آراسیندا بوٚتون زادلار اؤنملی ساییلیرلار. آنجاق بعضی واقتلار، ENTER تکین بعضی کاراکترلری یازا بیلمیرسینیز.
مثلا ایستهسنیز دوبل-کوت آراسیندا ENTER ووروب و ایکینجی لایندا یازماغا داوام ائدهسینیز، Editor موحیطینده ایکی سطر گؤرسنیز ده، بوراخیش صفحهسینده یالنیز بیر سطر گؤرهجکسینیز.
بوراداکی قاچیش یوْل دا سادهجه \n ترکیبی، ایسترینگین ایچینده قوللانماقدیر. البته char ایله ده اولار و بونو دا سونرا آچیقلایاجاییق.
بو اؤرنگه باخین:
"behold!\nI am a string of text."
بورادا گؤردویونوز \n کاراکتری، یالنیز بیر کاراکتر تکین بوراخیش صفحهسینده گؤرونمک اوچون کامپایل اولور، یعنی یئنی سطر!
متن بئله چاپ اولاجاقدیر:
Output Terminal
Behold!
I am a string of text.
Process returned 0 (0x0) execution time : 0.005 s
Press ENTER to continue.
C پروقراملاما دیلینین، اوْنلارلا قاچیش کاراکترلری وار کی قاچیش توالیلری آدی ایله ده تانینیرلار.
گلین بیر جوملهیی ایکی سطرده یازاق و آدیمیزی ایکی کوت آراسیندا گؤسترک.
#include <stdio.h>
int main ()
{
printf ("salam!\nmanim adim \"bilgi\"dir.");
return (0);
}
بوراخیش دا بئله اولاجاق.
Output Terminal
salam!
manim adim "bilgi"dir.
Process returned 0 (0x0) execution time : 0.005 s
Press ENTER to continue.
یاخشی، بوراخیشدا گؤردویونوز تکین، salam! کلمهسیندن سونرا، \n قاچیش کاراکتری یازدیغیمیزا گؤره یئنی سطر باشلایاجاق. سونرا دا ایکی کوت آراسیندا کوت یازماق اوچون \" یازمیشیق.
printf ایله چوخلو میقدارلاری دا بوراخیش واحدی اوچون گؤندره بیلرسینیز. 1 ، 5 ، 9 حتی 1000000000.
گلنکی توضیحاتدا نئجه متنوع میقدارلاری printf ایله بوراخیشا گؤندرمهیی آچیقلایاجاییق.
بو قونو اوچون نئجه placeholder ایشلتمهیی، یالنیز میقدارلار اوچون یوخ، ایسترینگلر و تک کاراکترلر اوچون ده توضیح وئریب، آچیقلایاجاییق.
میقدارلاری عمل و ایشده گؤرمک اوچون آشاغیداکی کودا باخین.
#include <stdio.h>
int main ()
{
printf ("here is a value: 13\n");
return (0);
}
۴-جو سطرده printf فانکشنی ایله 13 عددی بوراخیشا گؤندرمیشیک. 13 عددی میقدار یازیلسا دا، بورادا 13 بیر عدد یوخسا میقدار دئییل! سادهجه ایسترینگ ایچریسینده متندن بیر بؤلومدور. یعنی متن ساییلیر، میقدار یوخ.
بوراداکی 13 یالنیز بیر کاراکتر ساییلیر، 1 و 3 کاراکترلرین ترکیبی تکین.
سیز بو 13 عددی بیر میقدار تکین گؤندرمک اوچون، اؤنجه دئمهلیسینیز کی بو بیر عدد تکیندیر و سونرا هارادا یئرلشدیگینی ده پروقراما آنلاتمالیسینیز.
یعنی متن ایچینده بیر میقداری بوراخماق اوچون، یئر آییرمالیسینیز.
بو اؤنجهدن آییرلانمیش یئر، یئر-ساخلاییجی (placeholder) تانینیر. داریخمایین، بیر میثال ایله بونو آچیقلایاجاییق.
گلین ۴-جو سطرده بیراز تغییر یاراداق. 13 یازدیغیمیز کاراکتری %d ایله دگیشین.
بو %d ائله اؤنجه دانیشدیغیمیز placeholder تانینیر. ایکینجی کوت'دان سونرا دا بیر کاما یازین.
کاما، یئنی بوراخیشی printf فانکشن اوچون ایجاد ائدیر. سونرا دا 13 یازین.
#include <stdio.h>
int main ()
{
printf ("here is a value: %d\n",13);
return (0);
}
ایندی printf فانکشنین ایکی آرقومانی وار. بیرینجینه فورمت آرقومانی دئییلیر و ایچیندهکی %d ایسه، سونراکی یازدیغیمیز 13 عدد اوچون placeholder تانینیر.
یاخشی، printf فانکشنده چوخ ساییدا placeholder یئرلشدیرمک اولار.
آشاغیداکی میثالدا داها راحات بونو باشا دوٚشهجکسینیز.
#include <stdio.h>
int main ()
{
printf ("here is a value: %d and a=%d & b=%d",13,7,40);
return (0);
}
بوراخیشا دیقّت ائدین:
Output Terminal
here is a value: 13 and a=7 & b=40
Process returned 0 (0x0) execution time : 0.004 s
Press ENTER to continue.
یاخشی، فورمت-ایسترینگ'دن سونرا یازدیغیمیزین میقدار اولدوغونا گؤره، ریاضی رابیطه و موتغیری ده عدد یئرینه یازا بیلرسینیز.
یعنی 13 یازماق یئرینه یازین 10+3 و a تکین موتغیر ده یازا بیلرسینیز.
#include <stdio.h>
int main ()
{
printf ("we know that 10 + 3 =: %d and 4 x 5 = %d",10+3,4*5);
return (0);
}
اوٚستدهکینین خروجیسی ده بو اولاجاق:
Output Terminal
we know that 10 + 3 =: 13 and 4 x 5 = 20
Process returned 0 (0x0) execution time : 0.004 s
Press ENTER to continue.
و داها بیر آیری پروقرام:
#include <stdio.h>
int main ()
{
int a = 13;
printf ("a = %d",a);
return (0);
}
Output Terminal
a = 13
Process returned 0 (0x0) execution time : 0.004 s
Press ENTER to continue.
بوراخیش ایسه a = 13 اولمالیدیر.
C پروقراملاما دیلینین بو یئر ساخلاییجیلاری (placeholder) وار:
ایندی %s تانینان placeholder ایله ایسترینگ میقدارلار اوچون یئر آچاجاییق.
#include <stdio.h>
int main ()
{
printf ("You are a %s\n","programmer");
return (0);
}
بوراداکی %s یئر ساخلایانی (placeholder) سونرا یازیلان "programmer" ایسترینگی تمثیل ائدیب و تانیدیر. ترتیبلر ده اؤنملیدیر. نئچه placeholder معرفی ائتمک اوچون، دقیقا ائله او ترتیب ایله اونلارا تای تمثیل ائدیلن میقدارلاری سونرادان یازمالیسینیز.
#include <stdio.h>
int main ()
{
printf ("You are a %c %s\n",'C',"programmer");
return (0);
}
اؤنجه %c و سونرا %s یازمیشیق. یعنی formatting string بؤلوموندن سونرا، ایلک میقداری تک-کاراکتر و ایکینجیسینی ایسترینگ حساب ائتمهلیییک.
یعنی C یازدیغیمیز بیر تک-کاراکتر تکین ساییلیر و programmer ایسه ایسترینگ.
C پروقراملاما دیلینده کاراکتر اوچون تک-کوت قوللانیریق، بونا گؤره ده 'C' یازدیق. C حرفی دوبل-کوت ایله یازسایدیق، تک-کاراکترلی ایسترینگ تکین اولاجایدی، تک-کاراکتر تکین یوخ.
'C' کاراکتر و "C" ایسه ایسترینگ اوچون ایشلنیرلر.
ایندی آشاغیداکی کودا باخین. ایستهییریک بو متنی printf ایله بوراخیشدا یازاق:
I got 98% on my C exam!
یاخشی، قاباقجا دئمیشدیک کی % علامتی یازماق اوچون، %% شکیلده یازمالیسینیز.
#include <stdio.h>
int main ()
{
printf ("I got %d%% on my C exam!\n",98);
return (0);
}
%d یازاندان سونراکی %% کاراکترلری، تاماما بیر % تکین کامپایل اولاجاقلار.
یاخشی. \e اوچون ماراقلی اؤرنک!
بعضی واقتلار، بوراخیش صفحهسینده بیر زادی چاپ ائدیرسینیز و سونرا قاییدیب باشقا بیر زادی یازماق ایستهییرسینیز. آنجاق نئجه؟
بوراخیشدا چاپ ائتمک اوچون، چاپدان اؤنجه یئری بللی اولمالیدیر و بو یئری یئنیدن تعریف ائده بیلریک.
بو یئر ده تانیدیغینیز ایملجدیر (مکاننما، cursor). ایملج هارادا اولسا، چاپ ایشی اورادان داوام ائدهجک.
بو یئرین موقعیتیسی ANSI ایستانداردی اوچون بئله ده تعریف اولا بیلر:
\033[<Line>;<Column>f
,
\033[<Line>;<Column>H
<Line> یازیلان میقدار، هانکی سطر اوچون شومارهیی تعیین ائدیر و <Column> دا سوتون.
\033 دا قاچیش دوگمهنین کاراکتر میقداریدیر. البته اوکتال (۸ مبناسیندا) اولاراق ۳۳ یازیلیب.
دسیمال میقداری 27 و هگزادسیمال میقداری ایسه 0x1B حساب اولور.
سیز بونون یئرینه \e ده یازا بیلرسینیز.
لینوکس اوچون آشاغیداکی میثالدا، ایملجی 3-جو سطرده و 5-جی سوتونا داشیندیریریق و سونرا ایکینجی ایسترینگی چاپ ائدیریک.
بللی کی ایکینجی ایسترینگین چاپ اولماسی، یئنی تعریف اولان یئرلیکدن (موقعیت) باشلاناجاق.
#include <stdio.h>
int main ()
{
puts ("This is first string!");
printf("%c[%d;%df",27,3,5);
printf("this is second string!");
return (0);
}
بئله ده یازا بیلرسینیز:
#include <stdio.h>
int main ()
{
puts ("This is first string!");
printf("\e[3;5f");
printf("this is second string!");
return (0);
}
Output Terminal
This is first string!
this is second string!
Process returned 0 (0x0) execution time : 0.004 s
Press ENTER to continue.
ویندوز اوچون ده باشقا یول وار.
Windows.h اؤن-ایشلمچییی ایشلدهرک، بئله یازمالیسینیز:
#include <stdio.h>
#include <windows.h>
int main ()
{
puts ("This is first string!");
COORD coord;
coord.X = 5;
coord.Y = 3;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
printf("this is second string!");
return (0);
}
موحتشم! بوراخیش صفحهسی ده بئله گؤرونهجکدیر.
Output Terminal
This is first string!
this is second string!
Process returned 0 (0x0) execution time : 0.004 s
Press ENTER to continue.