menusearch
javapro.ir

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

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

 

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

 

 

 

 

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

 

 

دستور شرطی if در زبان برنامه نویسی C :
ساختار if که نام دیگرش دستور انتقال کنترل شرطی است, شرطی را تست میکند و در صورتی که شرط دارای ارزش درستی باشد, مجموعه ای از دستورا ت را اجرا میکند. این دستور به صورت زیر به کار میرود.

 

if (شرط){
دستورات;
}
else {
دستورات;
}


  در هر یک از روش‌‌‌‌های کاربرد، چنانچه شرط مورد بررسی درست باشد، دستور یا دستورات بعد از if وگرنه دستور یا دستورات بعد از else اجرا می‌شوند. اگر بیش از یک دستور بعد از if یا else بیایند، آن دستورات باید در بین } و { قرار گیرند. دستور if می‌تواند فاقد قسمت else باشد. در این صورت، چنانچه شرط مورد بررسی، درست باشد، دستورات بعد از if اجرا می‌شوند وگرنه بدون اجرای این دستورات، کنترل اجرای برنامه از if خارج می‌شود.

 

مثال عدد بزرگتر :

 

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

int main(){

  int i;
  int sum = 0;
  int inx = 0;
  for(i = 1 ; i<=5 ; i++){
      printf("num %d : ",i);
      scanf("%d",&inx);
      if (inx > sum){
          sum = inx;
      }
  }
  printf("big num is %d : ",sum);
  getch();
  return 0;
}

 

خروجی :

 

num 1 : 10
num 2 : 67
num 3 : 23
num 4 : 98
num 5 : 0
big num is : 98

 

تحلیل :
   در مثال بالا در مرحله اول یک اندیس برای حلقه خود انتخاب کردیم و اسم آن را i نامیدیم سپس در هر مرحله به مدت 5 بار یک عدد از کاربر دریافت کردیم و گفتیم اگر عدد وارد شده ار قبلی بزرگتر بود, آن را در متغییر sum ذخیره کن و اگر این شرط برقرار نبود کاری انجام نده و شرط را تمام کن, سپس در مرحله آخر و بیرون از حلقه عدد بزرگتر یا همان متغییر sum را نمایش بده.

 

 

دستور شرطی else if در زبان برنامه نویسی C :
   اگر بخواهیم از دستور if برای تست شرط‌‌‌‌های متعددی استفاده کنیم باید آنها را به طور تو در تو به کار ببریم. کاربرد if به صورت تو در تو، نه تنها موجب طولانی شدن برنامه می‌شود، بلکه از خوانایی برنامه نیز می‌کاهد. ساختار else if می‌تواند به جای if‌‌‌‌های تو در تو به کار گرفته شود و میزان خوانایی برنامه را بالا ببرد. برای روشن شدن موضوع، به مثال زیر که یک مسئله را حل می‌کنند توجه کنید.

مثالی که یک عدد از کاربر دریافت کرده و چک کند این عدد چند رقمی است:

 

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

int main(){

  int x;
  printf("Enter the num: \n");
  scanf("%d",&x);
  if (x>0 && x<10){
      printf("ek raghami");
  }
  else if (x>10 && x<100){
      printf("do raghami");
  }
  else if (x>100 && x<1000){
      printf("se raghami");
  }

  getch();
  return 0;
}

 

خروجی :

 

Enter the num: 345
se raghami

 

تحلیل :
   در مرحله اول یک عدد صحیح از کاربر دریافت کرده و بازه آن عدد را بدست میآوریم و تعداد رقم آن را در خروجی نشان میدهیم, توجه کنید خوبی else if این است که اگر if قبلی درست باشد, else if بعدی چک نمیشود و به سرعت برنامه اضافه میکند. همانطور که میدانید دستور && به معنای < و > در برنامه نویسی است و در صورتی شرط مقدار true یا درست را برمیگرداند که هر دو شرط نوشته شده درست باشد. اگر به جای && عملگر || را میگذاشتیم اگر یکی از شرط ها درست بود مقدار true برگردانده میشود به دلیل اینکه این عملگر به معنای < یا > در برنامه نویسی زبان C و اکثر زبان ها است.

 

 

انتقال کنترل غیر شرطی زبان برنامه نویسی C:
   دستور if شرطی را بررسی کرده، بر اساس نتیجه شرط، دستورالعملهایی را انجام می‌دهد. در C دستورالعملهایی وجود دارند که بدون تست شرطی می‌توانند کنترل اجـرای برنامه را از نقطه ای به نقطه دیگر منتقل کنند. ایـن دستورات را انتقال کنترل غیر شرطی گویند

 


دستور break در زبان برنامه نویسی C :
این دستور موجب خروج از حلقه‌‌‌‌های تکرار می‌شود. نحوه کاربرد این دستور به صورت زیر است :

 

break;


اگر چند حلقه تو در تو وجود داشته باشد، این دستور موجب خروج از داخلی ترین حلقه تکرار می‌شود. کاربرد دیگر این دستور، خاتمه دادن به ساختار switch است که در ادامه بحث خواهد شد.


دستور continue در زبان برنامه نویسی C:
   این دستور در حلقه تکرار موجب انتقال کنترل به ابتدای حلقه می‌شود. پس از انتقال کنترل به ابتدای حلقه، شرط حلقه مورد بررسی قرار می‌گیرد، چنانچه شرط درست باشد، اجرای دستورات حلقه ادامه می‌یابد وگرنه حلقه تکرار خاتمه می‌یابد.

 

مثال 2-1 :

 

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

int main(){

  int d = 1;
  char ch;
  while (d){
      printf("\n enter the char :");
      scanf("%c",&ch);
      if (ch == 'e'){
          d = 0;
          continue;
      }
  }
  printf("\n ok bye");
  getch();
  return 0;
}

 

خروجی:

 

enter the char : q
enter the char : l
enter the char : m
enter the char : e
ok bye

 

تحلیل:
   در مرحله اول متغییر d را تعریف کردیم و مقدار آن را برابر با عدد 1 قرار دادیم زیرا در حلقه while عدد 1 نشان گر مقدار true است و حلقه تا زمانی که مقدار d برابر با عدد 1 باشد کار میکند و برنامه بسته نمیشود. ما در هر مرحله 1 کارکتر از کاربر دریافت کرده و چک میکنیم که اگر کارکتر برابر با e بود, مقدار متغییر d را به 0 تغییر بدهد زیرا اگر شرط حلقه while برابر با عدد 0 باشد این حلقه کار نمیکند و مقدار false را برمیگرداند. سپس اگر کاربر کارکتر e را وارد نکرد, شرط ما کاری را انجام نمیدهد و حلقه از اول یک کارکتر از کاربر دریافت میکند.

 


دستور switch در زبان برنامه نویسی C :
   ساختار switch یکی از ساختار‌‌‌‌های جالب و مهم در زبان C است. از این ساختار بـرای تصمیم گیری‌‌‌‌های چندگانه براساس مقادیر مختلف یک عبارت، استفاده می‌شود. به طور کلی، در تمام تصمیم گیریهایی که بیش از سه انتخاب وجود داشته باشد، بهتر است از ساختار switch استفاده شود. به عنوان مثال، فرض کنید، متغیری به نام دارید که این متغير مقادیر، ۱، ۷، ۹ و ۱۵ را می‌پذیرد و می‌خواهید براساس مقادير مختلف x، تصمیم گیری‌‌‌‌های متعددی انجام دهید. اگر x برابر با یک بود، « مجموعه دستورات ۱ >، اگر x برابر با ۷ بود، « مجموعه دستورات ۲ >، اگر x برابر با ۹ بود، « مجموعه دستورات ۳ > و اگر x برابر با ۱۵ بود، « مجموعه دستورات ۴ > اجرا شوند و اگر x با هیچکدام از اعداد برابر نبود مجموعه دستورات دیگری را انجام دهد.

 


ساختار اصلی switch در زبان برنامه نویسی C:

 

Switch(متغییر){
   caes شرط :
       دستورات ;
}


مثال 3-1 :

 

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

int main(){
  int x;
  printf("enter the num : ");
  scanf("%d", &x);
  switch(x){
      case 1:
          printf("\n heloo");
          break;
      case 2:
          printf("\n javapro");
          break;
      case 3:
          printf("\n Arvin");
          break;
      case 4:
          printf("\n zare");
          break;
      default:
          break;
  }
  getch();
  return 0;
}

 

خروجی:

 

enter the num : 2
javapro

 

تحلیل :
   در کد بالا یک متغییر از نوع اعداد صحیح دریافت کرده و چک میکنیم اگر این متغییر برابر با یکی از اعداد وارد شده باشد رشته مورد نظر چاپ شود در غیر این صورت که کد‌‌‌‌های این شرط در قسمت default نوشته میشود با یک دستور break شرط را خاتمه داده و به ادامه برنامه میپردازیم.


تمرینات:
1.    برنامه ای که 4 عدد را از ورودی دریافت کند و آن عددی که از همه کوچکتر بود را در خروجی نشان دهد
2.    برنامه ای که علامت $ را به صورت یک جدول 5 در 5 چاپ کند
3.    برنامه کی سری فیبوناتچی را تا شماره الگو 10 نشان دهد ( به کمک حلقه ها )
4.    برنامه ای که 20 عدد را از کاربر دریافت کرده و انها را جمع کرده و در خروجی نشان دهد
5.    برنامه که اعداد 1 تا 30 را در خروجی نمایش دهد
6.    برنامه ای که شکل زیر را در خروجی نشان دهد:

 

*
**
***
****
*****

 

7.    برنامه ای بنویسید که 5 عدد از ورودی دریافت کند و بگوید هر کدام از آنها چند رقمی است ( به کمک حلقه ها و عدد باید حداکثر 4 رقاست )

 

پیروز و موفق باشید


ادامه حیات سایت جاواپرو به حمایت مالی (دونیت) از طرف شما کاربر عزیز بستگی دارد....


 

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

 

فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)

 

 

لینک دانلود آموزش رایگان اندروید

لینک دانلود

 

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

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

0 نظر
هدر سایت
زودتر از دیگران از جدیدترین مطالب آموزشی برنامه نویسی جاواپرو اطلاع پیدا کن
 شاید برای شما کم اهمیت باشد; اما حمایت مالی به جاواپرو جان می‌دهد
سوالات متداول برنامه نویسی