menusearch
javapro.ir

جلسه سوم | حلقه ها و دستورات شرطی در زبان برنامه نویسی C

جستجو
پنج شنبه ۱ آذر ۱۴۰۳ | ۱۲:۵۶:۶
۱۴۰۰/۱۱/۱۸ دوشنبه
(2)
(0)
جلسه سوم | حلقه ها و دستورات شرطی در زبان برنامه نویسی C
جلسه سوم | حلقه ها و دستورات شرطی در زبان برنامه نویسی C

 

دوره صفر تا پیشرفته آموزش رایگان زبان برنامه نویسی C در سایت آموزشی جاواپرو

 

 

مدرس زبان برنامه نویسی C

 

 

 

 

سفارش انجام پروژه برنامه نویسی زبان C(سی) ...[کـــلیک کنید]

 

 

 

 

جلسه سوم | حلقه ها و دستورات شرطی در زبان برنامه نویسی C

 

 


ساختار های تکرار در زبان برنامه نویسی C:
ساختارهای تکرار، تحت شرایط خاصی، یک یا چند دستور را چندین بار اجرا می‌کنند. به عنوان مثال، اگر بخواهیم تعداد۱۰۰ عدد را از ورودی بخوانیم و آنها را با هم جمع کنیم. باید عمل خوانـدن عـدد را ۱۰۰ بـار تـکـرار کنیم. ساختارهای تکرار در زبانهای برنامه سازی مختلف به شکلهای گوناگونی مورد استفاده قرار می‌گیرند. این ساختارها را در زبان C مورد بررسی قرار می‌دهیم.

 

 

حلقه for در زبان برنامه نویسی C :
   ساختار تکرار for یکی از امکانات ایجاد حلقه است و معمولاً در حالتی که تعداد دفعات تـکـرار حلقه از قبل مشخص باشد، به کار می‌رود. در این ساختار، متغیری وجود دارد که تعداد دفعات تکرار حلقه را کنترل میکند. این متغیر را شمارنده یا اندیس حلقه تکرار می‌نامیم. اندیس حلقه دارای یک مقدار اولیه است و در هـر بـار اجـرای دستورات حلقه، مقداری به آن اضافه می‌شود. این مقدار را که پس از هر بار اجرای حلقه به شمارنده اضافه می‌شود، گام حرکت گویند. گام حرکت می‌تواند عددی صحیح و اعشاری، مثبت یا منفی و یا کاراکتری باشد. یکی دیگر از اجزای حلقه for، شرط حلقه است. شرط حلقه مشخص می‌کند که دستورات داخل حلقه تا چه زمانی باید اجرا شوند. اگر این شرط دارای ارزش درستی باشد، دستورات داخل حلقه اجرا می‌شوند وگرنه کنترل برنامه از حلقه تکرار خارج می‌شود. اندیس حلقه تکرار می‌تواند عددی منفی، مثبت، صحیح و یا اعشاری و کاراکتری باشد. دستور for را به شکل زیر می‌توان به کار برد :

 

For ( مقدار اولیه اندیس حلقه; شرط حلقه ; گام حرکت) {
   دستورات;
}



مثال 1-1 :

 

#include <stdio.h>
#include <conio.h>

int main(){

  int sum=0, num, i;
  float ave;
  int n = 2;
  for (i = 0; i<n; i++){
      printf("Adad shomare %d ra vared konid: ", n+i);
      scanf("%d",&num);
      sum += num;
      printf("\n");
  }
  ave = sum / n;
  printf("the ave is %f ", ave);

  getch();
  return 0;
}


خروجی :

 

Adad shomare 1 ra vared konid: 10
Adad shomare 2 ra vared konid: 20
the ave is 15

 

تحلیل :
   در برنامه بالا متغییر n را اساس حلقه for قرار دادیم و این حلقه را 2 بار اجرا کردیم
سپس 2 عدد را از کاربر دریافت کرده و آن را در متغییر sum ذخیره کردیم. توجه کنید که متغییر sum باید در اول مقداری را داشته باشد و اگرنه برنامه با مشکل مواجه میشود. سپس بعد از اتمام حلقه متغییر ave که مخفف شده عبارت میانگین است را با مجموع دو عدد وارد شده که همان sum است بر n که همان تعداد عدد است تقسیم کردیم تا میانگین را بدست آوریم. سپس به خط بعدی رفته و متغییر ave که از نوع float یا عدد اعشاری است چاپ کردیم.


حلقه های تودرتو در زبان برنامه نویسی C:
   وقتی حلقه تکراری در داخل حلقه تکرار دیگر قرار داشته باشد، می‌گوییم که حلقه های تودر تـو ایجاد شـده انـد. قانونی که بر حلقه های تکرار تو در تو حاکم است این است که، به ازای هر بار اجرای حلقه تکرار خـارجی، حلقه تکرار داخلی به طور کامل اجرا می‌شود. ضمناً، انتهای حلقه تکرار داخلی، زودتر از حلقه تکرار خارجی مشخص می‌شود. به عنوان مثال، در دستورات زیر، حلقه تکرار با اندیس i، حلقه خارجی و حلقه تکـرار بـانـديس j، حلقه تکرار داخلی است :

 

For (i = 0; i<10 ; i++){
   ….
   For (j = 0 ; j<10 ; j++){
       …..
}
….
}


مثال جدول ضرب با حلقه های تو در تو:

 

#include <stdio.h>
#include <conio.h>

int main(){
  int i,j;
  for(i = 1 ; i<=4 ; i++){
      for (j = 1 ; j<=4 ; j++){
          printf("%3d", i*j);
      }
      printf("\n");
  }
  getch();
  return 0;
}


خروجی:

 

1  2  3  4
2  4  6  8
3  6  9  12
4  8  12 16

 

تحلیل:
   اول از همه اندیس های حلقه های خود را انتخاب کرده که همان متغییر های i و j هستند را از نوع عدد صحیح یا همان int تعریف کردیم و اساس هر دو حلقه را عدد 4 در نظر گرفتیم و سپس در حلقه دوم یا حلقه داخلی خود مقدار i*j را به صورت %3d که همان عدد صحیح مرتب شده است قرار دادیم تا جدول در خروجی منظم و زیبا نشان داده شود.

 

ساختار while در زبان برنامه نویسی C :


   ساختار while یکی دیگر از ساختار حلقه ها است و روش استفاده از ان به صورت زیر است :

 

while (شرط) {
   دستورات 1
   دستورات 2
   .
   n دستورات
}

 

مثال حلقه while :

 

#include <stdio.h>
#include <conio.h>

int main(){

  int x = 1;
  printf("adad zoj 1 ta 20 : ");
  while (x < 21){
      if (x%2 == 0){
          printf("%d ",x);
      }
  }

  getch();
  return 0;
}


خروجی:

 

adad zoj 1 ta 20 : 2 4 6 8 10 12 14 16 18 20

 

تحلیل:
   در حلقه بالا شرط ما این است تا زمانی که متغییر x کوچکتر از عدد 21 بود حلقه اجرا میشود و در صورت درست نبودن این عبارت حلقه اجرا نمیشود. سپس درون دستورات گفتیم اگر متغییر x ما عددی زوج بود ان را نشان بده. زوج بودن متغییر را از این روش متوجه شدیم که گفتیم اگر باقیمانده تقسیم متغییر x بر 2 برابر با 0 بود دستور را انجام بدهد ( علامت باقیمانده تقسیم % است ).

 


ساختار do while در زبان برنامه نویسی C :
   ساختار تکرار do ... while مانند ساختار تکرار while است ؛ با این تفاوت که در ساختار while، شرط حلقه در ابتدای حلقه تست می‌شود، در حالی که در do … while شرط حلقه در انتهای حلقه تست می‌گردد. بنابراین دستورات موجود در حلقه do ... while، در هر حال، حداقل یک بار اجرا می‌شوند. این ساختار به صورت زیر به کار می‌رود.

 

do {
   دستورات 1
   دستورات 2
   .
   n دستورات
} while (شرط);


مثال عدد شانسی با do while :

 

#include <stdio.h>
#include <conio.h>

int main(){

  int x = 37;
  int y = 1;
  int z;
  do {
      printf("Enter 1 num : ");
      scanf("%d",&z);
      if (z != x){
          printf("\n enter 1 more num : ");
          scanf("%d", &z);
      }
      else {
          printf("\n great");
          y = 0;
      }
  } while (y == 1);

  getch();
  return 0;
}

 

خروجی:

 

Enter 1 num : 28
Enter 1 num : 4
enter 1 more num : 37
great

 

تحلیل :
   در مرحله اول یک متغییر از کاربر دریافت کرده و چک می‌کنیم اگر متغییر با متغییر x که همان عدد 37 است برابر بود عبارتی را نشان داده و متغییر y را با عدد 0 قرار داده و شرط حلقه برقرار نباشد و حلقه تمام شود. و اگر عدد وارد شده با 37 برابر نباشد دوباره حلقه اجرا میشود زیرا به متغییر y دست نزدیم و مقدار ان را تغییر نداده به همین دلیل شرط حلقه درست است و دستورات دوباره اجرا میشوند.

 

 

از کدام حلقه استفاده کنیم؟
   زمانی که تعداد دفعات اجرای برنامه مشخص باشد بهتر است از حلقه for استفاده کنیم و در شریاطی که هر بار باید یک شرطی بخصوص چک شود بهتر است از حلقه while و حلقه do … while برای راحتی کار استفاده کنیم. در غیر این صورت زبان c زبانی بی حد و مرز است و در هر شرایطی میتوان از هر حلقه ای استفاده کرد ولی مشخصا کاری آسان نیست.

 

 

ساختار های شرطی در زبان برنامه نویسی C:
   همانطور که دیدید، ساختارهای تکرار، برای تکرار اجرای دستورات مورد استفاده قرار می‌گیرند. اما اگر بخواهیم، تحت شرایطی، تعدادی از دستورات اجرا شوند و یا تعدادی دیگر از دستورات اجـرا نـشـود، باید از ساختارهای تصمیم استفاده کنیم. این ساختارها شرطی را تست کرده در صورت درست بودن شرط، مجموعه ای از دستورات را انجام می‌دهند. در زبان C چندین ساختار تصمیم وجود دارد که آنها را در این بخش بررسی میکنیم.

 

 

جهت مشاهده ادامه جلسه سوم | حلقه ها و دستورات شرطی در زبان برنامه نویسی C اینجا کلیک کنید.

 

 

 

تدریس خصوصی آنلاین و از راه دور برنامه نویسی زبان C(سی)...[کــــــلیک کنید]

 

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
بلک فرایدی آکادمی جاواپرو،50% تخفیف روی تمامی دوره های جاوا تا 10 آذر 1403
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی