بخش های سایت
انتخاب سردبیر:
- چرا یک لپ تاپ به یک SSD کوچک نیاز دارد و آیا ارزش نصب ویندوز روی آن را دارد؟
- قرار دادن یک قاب. ایجاد قاب ارائه یک نوفریم بازگشتی
- Windows System Restore آماده سازی بازیابی خودکار بی پایان
- تعمیر فلش مموری با استفاده از برنامه ها نحوه تعمیر پورت USB در لپ تاپ
- ساختار دیسک آسیب دیده است، خواندن غیرممکن است، چه باید بکنم؟
- حافظه کش هارد چیست و چرا به آن نیاز است؟
- کامپیوتر از چه چیزی تشکیل شده است؟
- ساختار واحد سیستم - کدام اجزا مسئول عملکرد رایانه هستند ویژگی های دستگاه های داخلی واحد سیستم
- نحوه تغییر هارد دیسک به SSD
- دستگاه های ورودی شامل
تبلیغات
عملکرد Scanf C: توضیحات. زبان برنامه نویسی تایپ شده با همه این انواع متغیر چه باید کرد؟ |
این مقاله تابع scanf() را به طور کلی بدون ارجاع به استاندارد خاصی مورد بحث قرار می دهد، بنابراین داده های هر استاندارد C99، C11، C++11، C++14 در اینجا گنجانده شده است. ممکن است در برخی استانداردها عملکرد متفاوت از مطالب ارائه شده در مقاله باشد. تابع scanf C - توضیحاتscanf() تابعی است که در فایل هدر stdio.h(C) و cstdio(C++) قرار دارد و به آن ورودی فرمت شده برنامه نیز گفته می شود. scanf کاراکترها را از ورودی استاندارد (stdin) می خواند و آنها را بر اساس فرمت تبدیل می کند، سپس آنها را روی متغیرهای مشخص شده می نویسد. فرمت به این معنی است که داده ها، پس از دریافت، به یک فرم خاص کاهش می یابد. بنابراین، تابع scanf C شرح داده شده است: scanf("%format"، &variable1[، &variable2،[…]])، که در آن متغیرها به عنوان آدرس ارسال می شوند. دلیل ارسال متغیرها به این روش به یک تابع واضح است: در نتیجه عملکرد آن، مقداری را نشان می دهد که وجود خطا را نشان می دهد، بنابراین تنها راه تغییر مقادیر متغیرها عبور از آدرس است. همچنین، به لطف این روش، تابع می تواند داده ها را از هر نوع پردازش کند. برخی از برنامه نویسان توابعی مانند scanf() یا printf() را به دلیل تشابه با زبان های دیگر فراخوانی می کنند. Scanf به شما اجازه می دهد تا انواع زبان های اصلی را وارد کنید: char، int، float، string و غیره. در مورد متغیرهای نوع رشته، نیازی به نشان دادن علامت آدرس - "&" نیست، زیرا یک متغیر از نوع رشته یک آرایه است و نام آن آدرس اولین عنصر آرایه در حافظه رایانه است. . قالب ورودی داده یا رشته کنترلبیایید با نگاهی به مثالی از استفاده از تابع scanf C از توضیحات شروع کنیم. #عبارتند از فرمت ورودی از چهار پارامتر زیر تشکیل شده است: نوع %[*][width][modifiers]. در این مورد، علامت و نوع "%" پارامترهای مورد نیاز هستند. یعنی حداقل قالب به این صورت است: "%s"، "%d" و غیره. به طور کلی، کاراکترهایی که یک رشته قالب را تشکیل می دهند به دو دسته تقسیم می شوند:
تایپ، یا فرمت مشخص کننده ها، یا نویسه های تبدیل، یا نویسه های کنترلشرح scanf C باید حداقل شامل یک فرمت مشخص کننده باشد که در انتهای عباراتی که با علامت "%" شروع می شوند نشان داده می شود. به برنامه میگوید چه نوع دادهای را باید در هنگام ورودی، معمولاً از صفحهکلید، انتظار داشت. لیستی از تمام مشخص کننده های فرمت در جدول زیر آمده است.
کاراکترها در رشته قالبستاره (*)ستاره (*) پرچمی است که نشان می دهد عملیات انتساب باید سرکوب شود. یک ستاره بلافاصله بعد از علامت "%" قرار می گیرد. مثلا، Scanf("%d%*c%d"، &x، &y); //کاراکتر بین دو عدد صحیح را نادیده بگیرید. scanf("%s%*d%s", str, str2); //عدد صحیح بین دو رشته را نادیده بگیرید. یعنی اگر خط "45-20" را در کنسول وارد کنید، برنامه موارد زیر را انجام می دهد:
عرض (یا عرض میدان)این یک عدد صحیح بین علامت "%" و مشخص کننده فرمت است که حداکثر تعداد کاراکترهایی را برای خواندن در طول عملیات خواندن فعلی مشخص می کند. چند نکته مهم را باید در نظر داشت:
اصلاح کننده های نوع (یا دقیق)اینها پرچم های خاصی هستند که نوع داده های مورد انتظار برای ورودی را تغییر می دهند. پرچم در سمت چپ مشخص کننده نوع مشخص شده است:
تصویر با اصلاح کننده ها را می توان با وضوح بیشتری در قالب یک جدول ارائه کرد. این توضیحات scanf C برای برنامه نویسان واضح تر خواهد بود. شخصیت های دیگرهر نویسه ای که در قالب با آن مواجه می شود کنار گذاشته می شود. شایان ذکر است که وجود فضای خالی یا کاراکترهای محدودکننده (خط جدید، فاصله، تب) در رشته کنترل میتواند منجر به رفتار متفاوت تابع شود. در یک نسخه، scanf() بدون ذخیره کردن هیچ تعداد جداکننده می خواند تا زمانی که با کاراکتری غیر از جداکننده مواجه شود، و در نسخه دیگر، فاصله ها (فقط آنها) اهمیتی ندارند و عبارت "%d + %d" معادل است. به "% d+%d". مثال هابیایید به تعدادی مثال نگاه کنیم تا به شما در فکر کردن و درک دقیقتر نحوه عملکرد تابع کمک کند. Scanf("%3s"، str); //اگر خط "1d2s3d1;3" را در کنسول وارد کنید، فقط "1d2" در str scanf نوشته می شود("%dminus%d", &x, &y); //کاراکترهای منهای بین دو عدد حذف خواهند شد scanf("%5", str); //کاراکترها تا زمانی که 5 مورد از آنها وجود داشته باشد و کاراکترها اعدادی از 0 تا 9 باشند در str وارد می شوند. scanf("%lf", &d); //ورودی مورد انتظار از نوع double scanf("%hd", &x); //انتظار تعدادی از نوع short scanf("%hu", &y); //انتظار تعدادی از نوع scanf کوتاه بدون علامت ("lx", &z); //تعداد مورد انتظار از نوع long int از مثال های داده شده می توانید ببینید که چگونه عدد مورد انتظار با استفاده از نمادهای مختلف تغییر می کند. scanf C - توضیحات برای مبتدیاناین بخش برای مبتدیان مفید خواهد بود. اغلب شما نیاز دارید که شرح کاملی از scanf C را در اختیار نداشته باشید، بلکه نیاز به جزئیات نحوه عملکرد عملکرد دارید.
نتیجهاین توضیح scanf C را به پایان میرساند. این یک تابع راحت برای کار در برنامههای کوچک و هنگام استفاده از روش برنامهنویسی رویهای است. با این حال، اشکال اصلی تعداد خطاهای غیرقابل پیش بینی است که می تواند هنگام استفاده از scanf رخ دهد. بنابراین، بهتر است هنگام برنامه نویسی، توضیحات scanf C را جلوی چشم خود نگه دارید. در پروژه های بزرگ حرفه ای، از iostream ها استفاده می شود زیرا دارای قابلیت های سطح بالاتری هستند، بهتر می توانند خطاها را بگیرند و پردازش کنند و همچنین با حجم قابل توجهی از اطلاعات کار می کنند. همچنین لازم به ذکر است که شرح scanf C به زبان روسی در بسیاری از منابع آنلاین و همچنین نمونه هایی از استفاده از آن با توجه به سن عملکرد موجود است. بنابراین، در صورت لزوم، همیشه می توانید پاسخ را در انجمن های موضوعی پیدا کنید. کتابخانه استاندارد C/C++ شامل تعدادی عملکرد برای خواندن و نوشتن روی کنسول (صفحه کلید و مانیتور) است. این توابع داده ها را به عنوان یک جریان ساده از کاراکترها می خوانند و می نویسند. مفهوم استریم که در برنامه نویسی استفاده می شود، ارتباط نزدیکی با درک عادی و روزمره این کلمه دارد. جریان ورودی را می توان با لوله ای مقایسه کرد که از طریق آن آب (اطلاعات) وارد استخر (حافظه کامپیوتر) می شود و جریان خروجی را می توان با لوله ای مقایسه کرد که آب از طریق آن از استخر خارج می شود. یکی از ویژگی های مهم این لوله این است که داده ها می توانند در یک زمان فقط در یک جهت حرکت کنند. حتی اگر از همان لوله برای ورودی و خروجی استفاده شود، این نمی تواند همزمان اتفاق بیفتد: برای تغییر جهت جریان، باید متوقف شود، برخی اقدامات باید انجام شود و تنها در این صورت می توان جریان را در جهت مخالف هدایت کرد. یکی دیگر از ویژگی های جریان این است که تقریباً هرگز خشک نمی شود. گاهی اوقات خشک می شود، اما اگر سیستم به طور معمول کار کند، این مدت نمی تواند طولانی باشد. تابع خروجی استاندارد printf()تابع printf() یک تابع خروجی استاندارد است. با استفاده از این تابع می توانید رشته ای از کاراکترها، یک عدد، مقدار یک متغیر را روی صفحه نمایشگر نمایش دهید. تابع printf() یک نمونه اولیه در stdio.h دارد در صورت موفقیت آمیز بودن، printf() تعداد کاراکترهای چاپ شده را برمی گرداند. خط کنترل شامل دو نوع اطلاعات است: کاراکترهایی که مستقیماً روی صفحه چاپ می شوند و مشخص کننده های قالب که نحوه چاپ آرگومان ها را مشخص می کنند. تابع printf() یک تابع خروجی فرمت شده است. این بدان معناست که در پارامترهای تابع لازم است فرمت داده هایی که خروجی می شود مشخص شود. فرمت داده ها توسط مشخص کننده های قالب مشخص می شود. مشخص کننده قالب با یک کاراکتر % و سپس یک کد قالب شروع می شود. مشخص کننده های قالب:
علاوه بر این، اصلاح کننده های l و h را می توان برای دستورات فرمت اعمال کرد.
در مشخص کننده فرمت، پس از نماد % می توان دقت (تعداد ارقام بعد از نقطه اعشار) را مشخص کرد. دقت به صورت زیر تنظیم می شود: %n<код формата>. جایی که n تعداد ارقام بعد از نقطه اعشار و<код формата>- یکی از کدهای داده شده در بالا. برای مثال، اگر یک متغیر x=10.3563 از نوع float داشته باشیم و بخواهیم مقدار آن را با دقت 3 رقم اعشار نمایش دهیم، باید بنویسیم: printf("متغیر x = %.3f",x); نتیجه: همچنین می توانید حداقل عرض فیلد اختصاص داده شده برای چاپ را مشخص کنید. اگر خط یا شماره بزرگتر از عرض فیلد مشخص شده باشد، خط یا شماره به طور کامل چاپ می شود. برای مثال، اگر بنویسید: printf("%5d",20); سپس نتیجه به شرح زیر خواهد بود: توجه داشته باشید که شماره 20 از همان ابتدای خط چاپ نشده است. اگر می خواهید فضاهای استفاده نشده فیلد با صفر پر شود، باید علامت 0 را جلوی عرض فیلد قرار دهید. مثلا: printf("%05d",20); نتیجه: علاوه بر مشخصکنندههای قالب داده، خط کنترل ممکن است دارای کاراکترهای کنترلی باشد:
اغلب از کاراکتر \n استفاده می کنید. با این کاراکتر کنترلی می توانید به یک خط جدید بروید. به برنامه های نمونه نگاه کنید و همه چیز را متوجه خواهید شد. نمونه هایی از برنامه ها /* مثال 1 */ خالی اصلی (باطل) نتیجه برنامه: /* مثال 2 */ خالی اصلی (باطل) X=10.5; Printf("مختصات شیء: x:%.2f، y:%.2f، z:%.2f، x، y، z); نتیجه برنامه: /* مثال 3 */ void main() X=5; نتیجه برنامه: /* مثال 4 */ خالی اصلی (باطل) نتیجه برنامه: /* مثال 5 */ خالی اصلی (باطل) A=11; // 11 در اعشار برابر با b در هگزادسیمال است نتیجه برنامه: /* مثال 6 */ خالی اصلی (باطل) Ch1="A"; Printf("%c%c%c",ch1,ch2,ch3); نتیجه برنامه: /* مثال 7 */ خالی اصلی (باطل) Printf("این %s است"،str); نتیجه برنامه: /* مثال 8 */ خالی اصلی (باطل) نتیجه برنامه: تابع ورودی استاندارد scanf()تابع scanf() یک تابع ورودی فرمت شده است. با کمک آن می توانید داده ها را از یک دستگاه ورودی استاندارد (صفحه کلید) وارد کنید. داده های ورودی می توانند اعداد صحیح، اعداد ممیز شناور، کاراکترها، رشته ها و اشاره گرها باشند. تابع scanf() دارای نمونه اولیه زیر در stdio.h است: تابع تعداد متغیرهایی را که یک مقدار به آنها اختصاص داده شده است برمی گرداند. رشته کنترل شامل سه نوع کاراکتر است: مشخص کننده های قالب، فاصله ها و سایر کاراکترها. مشخص کننده های قالب با کاراکتر % شروع می شوند. مشخص کننده های قالب: هنگام وارد کردن یک رشته با استفاده از تابع scanf() (مشخص کننده فرمت %s)، رشته قبل از اولین فاصله وارد می شود!! آن ها اگر رشته "Hello world!" با استفاده از تابع scanf()
سپس پس از وارد کردن رشته به دست آمده، که در آرایه str ذخیره می شود، از یک کلمه "Hello" تشکیل می شود. تابع قبل از فضای اول وارد یک رشته می شود! اگر می خواهید رشته هایی را با فاصله وارد کنید، از تابع استفاده کنید char *gets(char *buf); با تابع gets() می توانید رشته های کامل را وارد کنید. تابع gets() کاراکترها را از صفحه کلید می خواند تا زمانی که کاراکتر خط جدید (\n) ظاهر شود. وقتی اینتر را فشار می دهید، خود کاراکتر خط جدید ظاهر می شود. تابع یک اشاره گر را به buf برمی گرداند. buf - بافر (حافظه) برای رشته ورودی. اگرچه gets() موضوع این مقاله نیست، اجازه دهید یک برنامه مثال بنویسیم که به شما امکان می دهد یک خط کامل را از صفحه کلید وارد کنید و آن را روی صفحه نمایش دهید. #عبارتند از خالی اصلی (باطل) دریافت (بافر)؛ // یک خط را وارد کنید و اینتر را فشار دهید یک نکته مهم دیگر! برای وارد کردن داده با استفاده از تابع scanf() باید آدرس های متغیر را به عنوان پارامتر ارسال کند نه خود متغیرها. برای به دست آوردن آدرس یک متغیر، باید قبل از نام متغیر با علامت & (امپرسند) قرار دهید. علامت & به معنای گرفتن آدرس است. آدرس یعنی چی؟ سعی میکنم توضیح بدم در برنامه یک متغیر داریم. یک متغیر مقدار خود را در حافظه کامپیوتر ذخیره می کند. بنابراین این آدرسی است که از آن استفاده می کنیم و آدرسی در حافظه کامپیوتر است که مقدار متغیر در آن ذخیره می شود. بیایید به یک برنامه مثال نگاه کنیم که به ما نشان می دهد چگونه از & #عبارتند از خالی اصلی (باطل) Printf("متغیر x را وارد کنید:"); حالا بیایید به خط کنترل تابع scanf() برگردیم. از نو: int scanf(char *control string); کاراکتر فاصله در رشته کنترل دستور می دهد یک یا چند فاصله در جریان ورودی رد شوند. علاوه بر فضا، یک برگه یا کاراکتر خط جدید قابل درک است. یک کاراکتر غیر تهی نشان می دهد که کاراکتر خوانده شده و کنار گذاشته شده است. جداکنندههای بین دو عددی که وارد میکنید عبارتند از space، tab یا newline. * بعد از % و قبل از کد قالب (مشخص کننده فرمت) دستور می دهد که نوع داده خوانده شود، اما به آن مقدار اختصاص داده نمی شود. مثلا: scanf("%d%*c%d"،&i،&j); با وارد کردن 50+20، متغیر i روی 50، متغیر j روی 20 تنظیم می شود و کاراکتر + خوانده می شود و نادیده گرفته می شود. دستور format می تواند بزرگترین پهنای فیلد را برای خواندن مشخص کند. مثلا: scanf("%5s",str); نشان دهنده نیاز به خواندن 5 کاراکتر اول از جریان ورودی است. اگر 1234567890ABC را وارد کنید، آرایه str فقط شامل 12345 می شود، کاراکترهای باقی مانده نادیده گرفته می شوند. جداکننده ها: فاصله، برگه و خط جدید - هنگام وارد کردن نماد، مانند سایر کاراکترها با آنها رفتار می شود. اگر کاراکترهای دیگری در رشته کنترل وجود داشته باشد، برای شناسایی و رد شدن کاراکتر مربوطه در نظر گرفته شده است. اپراتور جریان کاراکتر 10plus20 scanf("%dplus%d"،&x،&y); مقدار 10 را به متغیر x، مقدار 20 را به متغیر y اختصاص میدهد و از کاراکترهای بعلاوه به دلیل اینکه در رشته کنترل وجود دارند، صرفنظر میکند. یکی از ویژگی های قدرتمند تابع scanf() توانایی آن در تعیین یک اسکن ست است. مجموعه جستجو مجموعه ای از کاراکترها را تعریف می کند که کاراکترهای خوانده شده توسط تابع scanf() با آنها مقایسه می شوند. تابع scanf() تا زمانی که کاراکترها در مجموعه جستجو ظاهر شوند می خواند. به محض اینکه کاراکتر وارد شده در مجموعه جستجو یافت نشد، تابع scanf() به فرمت مشخص کننده بعدی منتقل می شود. مجموعه جستجو با لیستی از کاراکترهای محصور در پرانتز تعریف می شود. علامت % قبل از براکت باز قرار می گیرد. بیایید با یک مثال به این موضوع نگاه کنیم. #عبارتند از خالی اصلی (باطل) برنامه روی صفحه نمایش داده می شود: هنگام تعیین مجموعه جستجو، همچنین می توانید از کاراکتر خط فاصله برای تعیین فاصله و همچنین حداکثر عرض فیلد ورودی استفاده کنید. scanf("%10"، str1); همچنین می توانید کاراکترهایی را که در مجموعه جستجو گنجانده نشده اند تعریف کنید. اولین مورد از این کاراکترها با یک ^ جلوتر است. بسیاری از کاراکترها بین حروف کوچک و بزرگ تفاوت قائل می شوند. اجازه دهید یادآوری کنم که هنگام استفاده از تابع scanf() باید آدرس های متغیر را به عنوان پارامتر به آن ارسال کنید. کد بالا نوشته شده بود: char str; // آرایه 80 کاراکتری توجه داشته باشید که str قبل از & نیست. این کار به این دلیل انجام می شود که str یک آرایه است و نام آرایه - str یک اشاره گر به اولین عنصر آرایه است. بنابراین نباید از علامت & استفاده شود. ما قبلاً آدرس را به تابع scanf() ارسال می کنیم. خوب، به زبان ساده، str آدرسی در حافظه کامپیوتر است که مقدار اولین عنصر آرایه در آن ذخیره می شود. نمونه هایی از برنامه ها مثال 1. /* مثال 1 */ #عبارتند از خالی اصلی (باطل) Printf("\nچند سالته؟:"); مثال 2. /* مثال 2 */ #عبارتند از خالی اصلی (باطل) Printf("\nماشین حساب:"); مثال 3. /* مثال 3 */ #عبارتند از خالی اصلی (باطل) Printf("\nنام کاربری خود را وارد کنید (حداکثر 5 کاراکتر):"); مثال 4. /* مثال 4 */ #عبارتند از خالی اصلی (باطل) Printf("امتیاز شما 2،3،4،5 است:"); این آموزش ها برای همه است، چه تازه کار برنامه نویسی داشته باشید و چه تجربه برنامه نویسی گسترده در زبان های دیگر! این مطالب برای کسانی است که می خواهند زبان های C/C++ را از اصول اولیه تا پیچیده ترین ساختارها یاد بگیرند. C++ یک زبان برنامه نویسی است، دانش این زبان برنامه نویسی به شما این امکان را می دهد که کامپیوتر خود را در بالاترین سطح کنترل کنید. در حالت ایدهآل، میتوانید کاری کنید که رایانه هر کاری که میخواهید انجام دهد. سایت ما به شما در تسلط بر زبان برنامه نویسی C++ کمک می کند. نصب /IDEاولین کاری که باید قبل از شروع یادگیری C++ انجام دهید این است که مطمئن شوید که یک IDE - یک محیط توسعه یکپارچه (برنامه ای که در آن برنامه نویسی خواهید کرد) دارید. اگر IDE ندارید، پس به اینجا بروید. هنگامی که در مورد انتخاب IDE تصمیم گرفتید، آن را نصب کنید و ایجاد پروژه های ساده را تمرین کنید. مقدمه ای بر C++زبان C++ مجموعه ای از دستورات است که به کامپیوتر می گوید چه کاری انجام دهد. این مجموعه از دستورات معمولا کد منبع یا به سادگی کد نامیده می شود. دستورات یا "توابع" یا "کلمات کلیدی" هستند. کلمات کلیدی (کلمات رزرو شده C/C++) بلوک های اصلی زبان هستند. توابع بلوکهای ساختمانی پیچیدهای هستند زیرا بر حسب توابع سادهتر نوشته شدهاند - این را در اولین برنامه ما که در زیر نشان داده شده است خواهید دید. این ساختار توابع شبیه محتویات یک کتاب است. محتوا می تواند فصل های کتاب را نشان دهد، هر فصل در کتاب می تواند محتوای خاص خود را داشته باشد که از پاراگراف ها تشکیل شده است، هر پاراگراف می تواند زیر پاراگراف های خاص خود را داشته باشد. اگرچه C++ بسیاری از توابع رایج و کلمات رزرو شده را ارائه می دهد که می توانید از آنها استفاده کنید، هنوز نیاز به نوشتن توابع خود وجود دارد. از چه قسمتی از برنامه شروع می شود؟ هر برنامه در C++ یک تابع دارد که به آن تابع اصلی یا اصلی می گویند، اجرای برنامه با این تابع شروع می شود. از تابع main، میتوانید هر تابع دیگری را نیز فراخوانی کنید، چه توابعی که ما نوشتهایم یا همانطور که قبلاً ذکر شد، توسط کامپایلر ارائه شده است. بنابراین چگونه به این ویژگی های استاندارد دسترسی پیدا می کنید؟ برای دسترسی به توابع استاندارد همراه با کامپایلر، باید فایل هدر را با استفاده از دستورالعمل پیش پردازشگر اضافه کنید - #include . چرا این کار موثر است؟ بیایید به مثالی از یک برنامه کاری نگاه کنیم: #عبارتند از اجازه دهید عناصر برنامه را با جزئیات در نظر بگیریم. #include یک دستورالعمل "پیش پردازنده" است که به کامپایلر می گوید قبل از ایجاد فایل اجرایی، کد را از فایل هدر iostream در برنامه ما قرار دهد. با اتصال یک فایل هدر به یک برنامه، به بسیاری از توابع مختلف دسترسی خواهید داشت که می توانید در برنامه خود از آنها استفاده کنید. برای مثال، عملگر cout به iostream نیاز دارد. خط با استفاده از namespace std. به کامپایلر می گوید که از گروهی از توابع که بخشی از کتابخانه استاندارد std هستند استفاده کند. این خط همچنین به برنامه اجازه می دهد تا از عملگرهایی مانند cout استفاده کند. نقطه ویرگول بخشی از نحو C++ است. به کامپایلر می گوید که این پایان دستور است. در یک لحظه خواهید دید که نقطه ویرگول برای پایان دادن به اکثر دستورات در ++C استفاده می شود. خط مهم بعدی برنامه int main () است. این خط به کامپایلر می گوید که تابعی به نام main وجود دارد و تابع یک عدد صحیح برمی گرداند. مهاربندهای فرفری ( و ) شروع (و پایان) یک تابع را علامت می دهند. بریس های فرفری در سایر بلوک های کد نیز استفاده می شوند، اما همیشه یک چیز را نشان می دهند - به ترتیب ابتدا و انتهای بلوک. در C++، شی cout برای نمایش متن (با تلفظ "C out") استفاده می شود. او از نمادها استفاده می کند<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++. دستور بعدی cin.get() است. این فراخوانی تابع دیگری است که داده ها را از جریان داده ورودی می خواند و منتظر می ماند تا کلید ENTER فشار داده شود. این دستور تا زمانی که کلید ENTER را فشار دهید پنجره کنسول بسته نمی شود. این به شما فرصت می دهد تا خروجی برنامه را ببینید. پس از رسیدن به انتهای تابع اصلی (بسته بند فرفری)، برنامه ما مقدار 0 را به سیستم عامل برمی گرداند. این مقدار بازگشتی مهم است زیرا با تجزیه و تحلیل آن، سیستم عامل می تواند قضاوت کند که آیا برنامه ما با موفقیت انجام شده است یا خیر. مقدار بازگشتی 0 به معنای موفقیت است و به طور خودکار برگردانده می شود (اما فقط برای نوع داده int؛ سایر توابع از شما می خواهند که مقدار را به صورت دستی برگردانید)، اما اگر می خواستیم چیز دیگری مانند 1 را برگردانیم، باید این کار را انجام دهیم. به صورت دستی #عبارتند از برای ادغام مطالب، کد برنامه را در IDE خود تایپ کرده و اجرا کنید. وقتی برنامه اجرا شد و خروجی را دیدید، کمی با عبارت cout آزمایش کنید. این به شما کمک می کند تا به زبان عادت کنید. حتما در مورد برنامه های خود نظر بدهید!نظرات را به کد خود اضافه کنید تا نه تنها برای خود بلکه برای دیگران نیز واضح تر شود. کامپایلر هنگام اجرای کد، نظرات را نادیده می گیرد و به شما این امکان را می دهد که از هر تعداد نظر برای توصیف کد واقعی استفاده کنید. برای ایجاد نظر، از یا // استفاده کنید که به کامپایلر می گوید که بقیه خط یک نظر است، یا /* و سپس */. هنگامی که در حال یادگیری برنامه نویسی هستید، مفید است که بتوانید در مورد بخش هایی از کد نظر دهید تا ببینید خروجی برنامه چگونه تغییر می کند. شما می توانید جزئیات مربوط به تکنیک نظر دادن را بخوانید. با همه این نوع متغیرها چه باید کرد؟گاهی اوقات داشتن چندین نوع متغیر ممکن است گیج کننده باشد، زمانی که برخی از انواع متغیرها زائد به نظر می رسند. استفاده از نوع متغیر صحیح بسیار مهم است، زیرا برخی از متغیرها به حافظه بیشتری نسبت به بقیه نیاز دارند. علاوه بر این، به دلیل نحوه ذخیره آنها در حافظه، اعداد ممیز شناور، انواع داده های شناور و دوگانه "نادقیق" هستند و زمانی که نیاز به ذخیره یک عدد صحیح دقیق است، نباید از آنها استفاده شود. اعلان متغیرها در C++برای تعریف یک متغیر، از نوع نحو استفاده کنید<имя>; . در اینجا چند نمونه از اعلان متغیرها آورده شده است: عدد داخلی شخصیت کاراکتر; float num_float; اعلام چند متغیر از یک نوع در یک خط مجاز است؛ برای انجام این کار، هر یک از آنها باید با کاما از هم جدا شوند. Int x, y, z, d; اگر دقت کرده باشید، ممکن است دیده باشید که یک اعلان متغیر همیشه با یک نقطه ویرگول دنبال می شود. میتوانید درباره کنوانسیون «نامگذاری متغیرها» بیشتر بدانید. اشتباهات رایج هنگام اعلان متغیرها در C++اگر سعی کنید از متغیری استفاده کنید که اعلان نشده است، برنامه شما کامپایل نمی شود و پیغام خطا دریافت می کنید. در C++، تمام کلمات کلیدی زبان، همه توابع و همه متغیرها به حروف بزرگ و کوچک حساس هستند. استفاده از متغیرهابنابراین اکنون می دانید که چگونه یک متغیر را تعریف کنید. در اینجا یک نمونه برنامه وجود دارد که استفاده از یک متغیر را نشان می دهد: #عبارتند از بیایید نگاهی به این برنامه بیندازیم و کد آن را خط به خط بررسی کنیم. کلمه کلیدی int نشان می دهد که عدد یک عدد صحیح است. تابع cin >> مقدار را به عدد می خواند، کاربر باید بعد از عدد وارد شده اینتر را فشار دهد. cin.ignore() تابعی است که یک کاراکتر را می خواند و آن را نادیده می گیرد. ما ورودی خود را در برنامه سازماندهی کرده ایم؛ پس از وارد کردن یک عدد، کلید ENTER را فشار می دهیم، نمادی که به جریان ورودی نیز منتقل می شود. ما به آن نیاز نداریم، پس آن را دور می اندازیم. در نظر داشته باشید که متغیر به عنوان یک نوع عدد صحیح اعلام شده است، اگر کاربر سعی کند یک عدد اعشاری را وارد کند، کوتاه می شود (یعنی قسمت اعشاری عدد نادیده گرفته می شود). سعی کنید یک عدد اعشاری یا دنباله ای از کاراکترها را وارد کنید، وقتی برنامه مثال را اجرا می کنید، پاسخ به مقدار ورودی بستگی دارد. توجه داشته باشید که هنگام چاپ از یک متغیر، از نقل قول استفاده نمی شود. عدم وجود نقل قول به کامپایلر می گوید که یک متغیر وجود دارد و بنابراین برنامه باید مقدار متغیر را بررسی کند تا نام متغیر را با مقدار آن در هنگام اجرا جایگزین کند. چند دستور شیفت در یک خط کاملاً قابل قبول است و خروجی به همان ترتیب انجام می شود. شما باید حرف های رشته ای (رشته های محصور شده در گیومه ها) و متغیرها را جدا کنید و به هر کدام عملگر شیفت خاص خود بدهید.<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу. تغییر و مقایسه ارزش هاالبته، مهم نیست که از چه نوع داده ای استفاده می کنید، متغیرها بدون توانایی تغییر مقدارشان خیلی جالب نیستند. موارد زیر برخی از عملگرهای مورد استفاده در ارتباط با متغیرها را نشان می دهد:
عملگرهایی که توابع ریاضی را انجام می دهند باید در سمت راست علامت تخصیص استفاده شوند تا نتیجه را به متغیر سمت چپ نسبت دهیم. در اینجا چند نمونه آورده شده است: A = 4 * 6; // از کامنت خط و نقطه ویرگول استفاده کنید، a برابر 24 a = a + 5 است. // برابر با مجموع مقدار اصلی و پنج a == 5 // پنج را اختصاص نمی دهد، بررسی می کند که آیا برابر با 5 است یا خیر شما اغلب از == در ساختارهایی مانند دستورات شرطی و حلقه ها استفاده می کنید. آ< 5 // Проверка, a менее пяти? a >5 // بررسی کنید، آیا بیشتر از پنج است؟ a == 5 // بررسی، آیا برابر با پنج است؟ a != 5 // بررسی کنید، آیا برابر با پنج نیست؟ a >= 5 // بررسی کنید که a بزرگتر یا مساوی پنج است؟ آ<= 5 // Проверка, a меньше или равно пяти? این مثالها استفاده از علائم مقایسه را خیلی واضح نشان نمیدهند، اما وقتی شروع به مطالعه عملگرهای انتخاب کنیم، متوجه خواهید شد که چرا این کار ضروری است. 1. معرفیبرنامهنویسی به مدلهای الگوریتمی جهانی جدید نیاز دارد و سختافزار الگوریتمها را نه تنها به شکلی متفاوت، بلکه بر اساس یک مدل الگوریتمی متفاوت - خودکار، پیادهسازی میکند. وام گرفتن فناوری از توسعه سخت افزار، ایده کلیدی پشت برنامه نویسی خودکار است. با این حال، سنتز دستگاه دیجیتال با برنامه نویسی متفاوت است. اما هنگام قرض گرفتن یک مدل، از یک سو، تغییر قابل توجه آن توصیه نمی شود، و از سوی دیگر، نمی توان تئوری و عمل برنامه نویسی موجود را نادیده گرفت.در ادامه به فناوری SWITCH برای طراحی برنامههای خودکار میپردازیم که در آن همیشه با فرآیندهای مشابهی روبرو میشوید. از یک طرف، مدل ماشین حالت محدود را چنان تغییر داد که در واقع آن را از محدوده تئوری اتوماتا خارج کرد. و از سوی دیگر، مفاهیمی را وارد برنامه نویسی می کند که درک آنها برای برنامه نویسان دشوار است و در برخی مواقع صرفاً اضافی هستند، زیرا آنالوگ های آشنای بیشتری از تئوری برنامه و عمل برنامه نویسی وجود دارد. به عنوان مبنایی برای بحث در مورد مشکلات برنامه نویسی خودکار، سخنرانی اخیر Shalyto A.A. و مقالات "برنامه نویسی" او در جهت تعریف پارادایم برنامه نویسی خودکار. یادگیری اصول و پیچیدگی های زبان برنامه نویسی C++. کتاب درسی با تکالیف و تست های عملی. آیا می خواهید برنامه نویسی را یاد بگیرید؟ سپس شما در جای مناسب هستید - در اینجا آموزش برنامه نویسی رایگان است. چه با تجربه باشید و چه نباشید، این درس های برنامه نویسی به شما کمک می کند تا شروع به ایجاد، کامپایل و اشکال زدایی برنامه های C++ در محیط های مختلف توسعه کنید: Visual Studio، Code::Blocks، Xcode یا Eclipse. مثال های فراوان و توضیحات مفصل. هم برای مبتدیان (قلمک ها) و هم برای افراد پیشرفته تر ایده آل است. همه چیز از ابتدا تا جزئیات توضیح داده شده است. این درس ها (200+) به شما پایه/پایه خوبی در درک برنامه نویسی نه تنها در C++، بلکه در سایر زبان های برنامه نویسی می دهد. و کاملا رایگان است! همچنین ایجاد گام به گام یک بازی در C++، کتابخانه گرافیکی SFML و بیش از 50 کار برای آزمایش مهارت ها و دانش شما در C++ شامل می شود. یک جایزه اضافی است. برای ارسال مجدد +20 به کارما و سپاسگزاری من! فصل شماره 0. معرفی. شروع کارفصل شماره 1. مبانی C++فصل شماره 2. متغیرها و انواع داده های پایه در C++فصل شماره 3. اپراتورها در C++فصل شماره 4. دامنه و انواع دیگر متغیرها در C++فصل شماره 5. ترتیبی که کد در یک برنامه اجرا می شود. حلقه ها و شاخه ها در C++ |
خواندن: |
---|
محبوب:
جدید
- قرار دادن یک قاب. ایجاد قاب ارائه یک نوفریم بازگشتی
- Windows System Restore آماده سازی بازیابی خودکار بی پایان
- تعمیر فلش مموری با استفاده از برنامه ها نحوه تعمیر پورت USB در لپ تاپ
- ساختار دیسک آسیب دیده است، خواندن غیرممکن است، چه باید بکنم؟
- حافظه کش هارد چیست و چرا به آن نیاز است؟
- کامپیوتر از چه چیزی تشکیل شده است؟
- ساختار واحد سیستم - کدام اجزا مسئول عملکرد رایانه هستند ویژگی های دستگاه های داخلی واحد سیستم
- نحوه تغییر هارد دیسک به SSD
- دستگاه های ورودی شامل
- زبان برنامه نویسی تایپ شده با همه این انواع متغیر چه باید کرد؟