گزاره goto در ++C – به زبان ساده


در زبان برنامهنویسی ++C از گزاره goto برای ایجاد تغییر در ترتیب نرمال اجرای برنامه و انتقال کنترل از یک بخش به بخش دیگر برنامه استفاده میشود. در این نوشته به توضیح این ساختار میپردازیم. همچنین در بخش قبلی این سری مقالات آموزش برنامهنویسی ++C با گزاره سوئیچ آشنا شدیم. برای مطالعه بخش قبلی به لینک زیر مراجعه کنید:
ساختار گزاره goto
ساختار کلی این گزاره به صورت زیر است:
goto label; ... .. ... ... .. ... ... .. ... label: statement; ... .. ...
در ساختار فوق، abel یک شناسه است.
وقتی که برنامه با ;goto label مواجه میشود، کنترل برنامه به :label پرش یافته و ادامه کد از آنجا اجرا میشود.
مثال برای گزاره goto
1// This program calculates the average of numbers entered by user.
2// If user enters negative number, it ignores the number and
3// calculates the average of number entered before it.
4
5# include <iostream>
6using namespace std;
7
8int main()
9{
10 float num, average, sum = 0.0;
11 int i, n;
12
13 cout << "Maximum number of inputs: ";
14 cin >> n;
15
16 for(i = 1; i <= n; ++i)
17 {
18 cout << "Enter n" << i << ": ";
19 cin >> num;
20
21 if(num < 0.0)
22 {
23 // Control of the program move to jump:
24 goto jump;
25 }
26 sum += num;
27 }
28
29jump:
30 average = sum / (i - 1);
31 cout << "\nAverage = " << average;
32 return 0;
33}
خروجی
Maximum number of inputs: 10 Enter n1: 2.3 Enter n2: 5.6 Enter n3: -5.6 Average = 3.95
شما میتوانید هر برنامه ++C را بدون استفاده از گزاره goto بنویسید و عدم استفاده از این گزاره نیز عموماً ایده خوبی تلقی میشود.
چرا نباید از گزاره goto استفاده کنیم؟
گزاره goto قدرت پرش از هر نقطه برنامه به نقاط دیگر را در اختیار ما قرار میدهد، اما منطق چنین برنامهای پیچیده و تودرتو خواهد بود. در برنامهنویسی مدرن، گزاره goto یک سازه آسیبرسان نگریسته میشود و رویه برنامهنویسی بدی است. به جای گزاره goto میتوان از گزارههای break و continue در ++C استفاده کرد. برای مطالعه بخش بعدی این سری مقالات به لینک زیر مراجعه کنید:
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامه نویسی C++
- مجموعه آموزشهای دروس علوم و مهندسی کامپیوتر
- چند نخی (Multi-Threading) در ++C — به زبان ساده
- حلقه for در زبان برنامه نویسی ++C — به زبان ساده
- برنامه نویسی شی گرا در C++ — آموزش رایگان، به زبان ساده و جامع
==