(C++) متغیرها. فرمت های خروجی


متغیرها

اگر کامپیوتر توانایی ذخیره اطلاعات مختلف در حافظه خود را نداشت و قادر به پردازش همان نوع اطلاعات با استفاده از الگوریتم های یکسان نبود نیازی به کامپیوتر نداشت. برای ایجاد برنامه های جالب تر باید یاد گرفت که چگونه اطلاعات را ذخیره کند. در حافظه کامپیوتر در عین حال، ما باید یاد بگیریم که چگونه به سلول های حافظه رایانه دسترسی داشته باشیم. 
در برنامه نویسی، مانند زندگی، برای اشاره به هر بخشی از حافظه کامپیوتر، آن را با نام رخ می دهد. با استفاده از این نام، هم می توانید اطلاعات را بخوانید و هم در آنجا بنویسید.
 
یک متغیر مکانی است در حافظه رایانه که دارای نام است و مقداری مربوط به نوع را ذخیره می کند. .

کلمه "متغیر" به ما می گوید که مقدار آن می تواند در طول اجرای برنامه تغییر کند.  وقتی یک مقدار متغیر جدید ذخیره می شود، مقدار قبلی پاک می شود.


برای یک کامپیوتر، تمام اطلاعات داده های موجود در حافظه آن هستند - مجموعه ای از صفر و یک (به بیان ساده، هر اطلاعاتی در یک کامپیوتر فقط اعداد است و آنها را به همان روش پردازش می کند). با این حال، می دانیم که اعداد صحیح و کسری متفاوت عمل می کنند. بنابراین، هر زبان برنامه نویسی دارای انواع مختلفی از داده ها است که با روش های مختلفی پردازش می شوند.

به عنوان مثال،
عدد صحیح متغیرها – نوع int (از انگلیسی integer – integer)، 4 بایت در حافظه اشغال کنید؛
واقعی متغیرهایی که می‌توانند یک قسمت کسری داشته باشند (نوع float – از انگلیسی نقطه شناور – ممیز شناور) ، 4 بایت در حافظه اشغال می کند یا double را تایپ کنید که 8 بایت را اشغال می کند؛
شخصیت‌ها (نوع 1 بایت در حافظه.

بیایید سعی کنیم یک متغیر به برنامه خود اضافه کنیم.
قبل از استفاده از یک متغیر، باید به رایانه بگویید که فضایی در حافظه برای آن اختصاص دهد. برای انجام این کار، متغیر باید اعلام شود، یعنی مشخص کنید چه نوع مقداری را ذخیره می کند و نامی برای آن تعیین کنید.
همچنین می توانید در صورت لزوم مقادیر اولیه را به آن اختصاص دهید. 

مثال
برنامه را از هم جدا کنید. #شامل <iosrtream> با استفاده از namespace std. اصلی(){ int a = 6, b; // دو متغیر از نوع عدد صحیح را اعلام کرد، // مقدار 6 بلافاصله در متغیر а ذخیره شد. // متغیر b روی مقدار اولیه تنظیم نشده است، // در این مورد چه چیزی در حافظه خواهد بود، ما نمی دانیم. }

ماشین حساب


بیایید سعی کنیم یک ماشین حساب ساده بنویسیم.
وظیفه ما این است که مقداری عبارت حسابی را روی صفحه نمایش دهیم و کامپیوتر را وادار کنیم آن را محاسبه کند.
به عنوان مثال: 
5+7=12
علاوه بر این، به جای 5 و 7 بسته به مقادیر متغیرهای a و b می‌توانند اعداد متفاوتی داشته باشند. code> در برنامه.

در دستور خروجی، می توانید نه تنها متن، بلکه مقادیر متغیرها و همچنین نتیجه یک عبارت حسابی را نمایش دهید. علاوه بر این، توالی خروجی ممکن است متفاوت باشد. برای مثال برای نمایش عبارت بالا باید آن را به صورت زیر بنویسید: cout << a << "+" << b << "=" << a+b;
اگر بخواهیم مقدار یک متغیر را نمایش دهیم، فقط باید نام آن را بدون نقل قول مشخص کنیم. اگر بخواهیم نتیجه یک عبارت حسابی را نمایش دهیم، کافی است عبارت حسابی را درست بنویسیم.
 
باید به خاطر بسپارید!
متغیرها، متن و عبارات حسابی با << از یکدیگر جدا می شوند.
 
*** در عمق: C تفاوت***
در رشته قالب، تعداد مشخص‌کننده‌های خروجی محدود نمی‌شود، نکته اصلی برای هر مشخص‌کننده پس از رشته قالب، فهرست کردن تمام مقادیر جدا شده با کاما است که جایگزین الگو می‌شود.
مثلا: printf("%d+%d=%d",a,b,a+b);
رشته قالب شامل سه مشخص کننده فرمت خروجی است (%d).
مشخص کننده قالب - توالی تشکیل شده با علامت درصد پیشرو (%)، که برای تعیین نوع و قالب داده استفاده می شود.

مشخص‌کننده %d نشان می‌دهد که مقادیر عدد صحیح باید خروجی شوند.  دستور تعویض مستقیم است.  آن ها به جای الگوی اول %d، مقدار متغیر a نمایش داده می شود، به جای دومی - مقدار متغیر b، و  به جای سوم - مقدار عبارت  a+b.

وارد کردن مقادیر متغیر

برای اینکه کاربر بتواند خودش مقدار متغیر را تنظیم کند، لازم است که بتواند مقادیر را از صفحه کلید وارد کند. 
عبارت input به صورت زیر نوشته می شود: cin>> آ؛ پس از این عبارت، داده های وارد شده از صفحه کلید در یک متغیر خاص ذخیره می شود.
همچنین می توانید چندین عبارت cin را در یک عبارت ترکیب کنید.

به عنوان مثال، ورودی: cin>> آ؛ cin>> b; کارهای مشابه نوشتن را انجام می دهد: cin>> a>> b; یعنی اولین داده وارد شده در متغیر a و دومی در متغیر b وارد می شود.
 
***مواد عمیق***
برای وارد کردن داده ها از صفحه کلید به زبان C از عملگر ورودی استفاده می شود که به طور کلی ساختار زیر را دارد: scanf("فرمت ورودی"، <آدرس های متغیر>);

قالب ورودی – یک رشته نقل قول است که یک یا چند مشخص کننده قالب را فهرست می کند.

به عنوان مثال، رایج ترین موارد استفاده شده: <پیش> %d - ورودی عدد صحیح (متغیر نوع int <پیش> %f - وارد کردن یک عدد واقعی (متغیر نوع float< / پیش> <پیش> %c - وارد کردن یک نویسه واحد (متغیر از نوع char). مثلا: scanf("%d%d"، &a، &b); این عملگر مقادیر دو متغیر عدد صحیح را از صفحه کلید درخواست می کند. اولین عدد وارد شده از صفحه کلید به متغیر  a و عدد دوم در متغیر  b می رود.
 
بعد از فرمت ورودی، نام متغیرها با کاما از هم جدا شده و با نماد آدرس (&)، که مقادیر وارد شده باید در آنجا ذخیره شوند، فهرست می شوند. مقادیر متغیر همیشه با مشخص کردن آدرس این متغیر وارد می شوند. بنابراین، قبل از نام متغیر، باید یک علامت آمپرسند قرار دهید: &a - آدرس متغیر a.
باید به خاطر بسپارید!
تعداد قالب‌های ورودی  و تعداد متغیرها باید مطابقت داشته باشند!
 

عرض و دقت میدان خروجی
*** مطالب عمیق: برای علاقه مندان به زبان C ***
مشخص‌کننده‌های خروجی اضافی به شما امکان می‌دهند خروجی اعداد را در قالب‌های خاصی کنترل کنید.


حداقل عرض فیلد

مثال:
%04d  - عدد در 4 موقعیت نمایش داده می شود، اگر کمتر از چهار رقم باشد، اولین ها صفر خواهند بود. <پیش> int a=34; printf("%04d",a); //روی صفحه:0 0 3 4    خط زیر به طور خاص برای نمایش تصویری خروجی عدد در اینجا قرار می گیرد.   

% 4d – به همین ترتیب، فقط به جای صفرها فاصله وجود خواهد داشت <پیش> int a=34; printf("%4d",a); //روی صفحه: _ _ 3 4


خروجی با دقت خاصی

خروجی با دقت خاصی برای خروجی اعداد واقعی استفاده می شود. به طور پیش فرض اعداد واقعی با دقت 6 رقم اعشار نمایش داده می شوند. اما مواقعی وجود دارد که لازم است عددی را با دقت متفاوتی نمایش دهید. در این صورت باید مشخص کنید که چه تعداد فضای آشنایی برای خود عدد و چه تعداد بعد از نقطه اعشار اختصاص دهید.
به عنوان مثال،
%9.3f   - یک عدد واقعی در 9 موقعیت (از جمله موقعیت زیر نقطه) با سه کاراکتر بعد از نقطه نمایش داده می شود (جداکننده بین عدد صحیح و قسمت کسری نقطه است). <پیش> double a=34.24356; printf("%9.3f",a); // روی صفحه: _ _ _ 3 2 . 2 4 4

مقدار یک متغیر را روی صفحه نمایش دهید. مشخص کننده های خروجی *** مواد عمیق ***
چگونه مقدار یک متغیر را روی صفحه نمایش دهیم؟
برای انجام این کار، در داخل رشته فرمت در دستور خروجی، باید مقداری template را مشخص کنید که در جای آن مقدار متغیر نمایش داده می شود.
اینکه کدام الگو استفاده شود به نوع متغیر بستگی دارد. 
این الگوها مشخص کننده خروجی نامیده می شوند و در جدول ارائه شده اند. تعداد کافی مشخص کننده داده شده است. لازم نیست همه آنها را حفظ کنید. 
در بیشتر موارد، ما از مشخص کننده ها برای خروجی اعداد صحیح، اعداد واقعی و همچنین کاراکترها و رشته ها استفاده می کنیم. اما شما می توانید در هر زمان به این درس بازگردید و الگوی مورد نیاز خود را ببینید.
  <سر> <بدن>
کد قالب
%c نماد
%d عدد صحیح اعشاری امضا شده
%i عدد صحیح اعشاری امضا شده
%e قالب علمی (حروف کوچک e)
%E قالب علمی (بزرگ E)
%f شناور واقعی 
%g بسته به اینکه کدام قالب کوتاهتر است، %e یا %f استفاده می شود
%G بسته به اینکه کدام قالب کوتاهتر است، از %E یا %f استفاده می شود
%o هشتی امضا شده
%s رشته نویسه
%u عدد صحیح اعشاری بدون علامت
%x عدد هگزادسیمال بدون علامت (حروف کوچک)
%X عدد هگزادسیمال بدون علامت (بزرگ)
%p شاخص
%n اشاره گر به یک متغیر عدد صحیح. مشخص کننده باعث می شود که این متغیر عدد صحیح به تعداد کاراکترهای چاپ شده قبل از آن اختصاص یابد
%% % علامت                           

برای نمایش متغیرهایی مانند int کوتاه  اصلاح کننده h استفاده می شود (به عنوان مثال، %hd).
برای نمایش مقادیر متغیرهای نوع long int، از اصلاح کننده l استفاده کنید (به عنوان مثال، %ld).
اصلاح کننده L می تواند به عنوان پیشوند قبل از مشخص کننده های e، f، g استفاده شود. یعنی مقداری از نوع long double  روی صفحه نمایش داده می شود. (به عنوان مثال %Lf).