ایران سرفراز- نرم افزار وپروژهای دانشجویی


نرم افزار وپروژهای دانشجویی

دستورات کنترل روند برنامه -- تعریف متغیرها جلسة سوم درزبان C

<!-- /* Font Definitions */ @font-face {font-family:Mitra; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:3 0 0 0 1 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:180558564; mso-list-type:hybrid; mso-list-template-ids:-954011326 253412148 359712728 593281736 789632420 -1286557808 -906832270 1760879436 -1663293512 905498506;} @list l0:level1 {mso-level-number-format:bullet; mso-level-text:•; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Times New Roman";} @list l1 {mso-list-id:306857162; mso-list-type:hybrid; mso-list-template-ids:2147249884 1974647350 408446722 1410747568 1608011838 -964497820 164906938 546582144 1909743588 527313936;} @list l1:level1 {mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt;} @list l2 {mso-list-id:342244001; mso-list-type:hybrid; mso-list-template-ids:-466041956 -1016679150 -73105170 -1708392440 -1651739104 347775820 724573536 1177945504 868802740 -142336502;} @list l2:level1 {mso-level-start-at:2; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt;} @list l3 {mso-list-id:506755126; mso-list-type:hybrid; mso-list-template-ids:9882878 -700383378 -1297289966 -1819876418 -1270055380 -927795900 -636317808 749248888 146025854 -887863970;} @list l3:level1 {mso-level-number-format:bullet; mso-level-text:•; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Times New Roman";} @list l4 {mso-list-id:975910571; mso-list-type:hybrid; mso-list-template-ids:46583058 -1192361584 1909358846 541870346 1386914764 1204061134 192981458 1816447128 -118583422 -746021844;} @list l4:level1 {mso-level-number-format:bullet; mso-level-text:•; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Times New Roman";} @list l4:level2 {mso-level-start-at:171; mso-level-number-format:bullet; mso-level-text:•; mso-level-tab-stop:72.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Times New Roman";} @list l5 {mso-list-id:1727676153; mso-list-type:hybrid; mso-list-template-ids:1390550822 1845906952 509352382 -470112318 1418750978 -525547402 -740098984 2067462698 -1557988178 786628256;} @list l5:level1 {mso-level-number-format:bullet; mso-level-text:•; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Times New Roman";} @list l6 {mso-list-id:1765689978; mso-list-type:hybrid; mso-list-template-ids:-728366390 1535780016 -570649534 971027742 -843306034 -147956104 -1990931454 365972798 -611580008 -1523841262;} @list l6:level1 {mso-level-start-at:2; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt;} @list l7 {mso-list-id:1854177129; mso-list-type:hybrid; mso-list-template-ids:1288099174 1348376656 -1318175040 -1533088802 569257282 -1432037578 -272991576 389853700 -969105014 -929418410;} @list l7:level1 {mso-level-number-format:bullet; mso-level-text:•; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Times New Roman";} @list l8 {mso-list-id:1934707425; mso-list-type:hybrid; mso-list-template-ids:-1118035232 1574236070 1641308416 -817334084 1394090798 -462648560 1839657410 678091224 -468179360 -1287344150;} @list l8:level1 {mso-level-number-format:bullet; mso-level-text:•; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Times New Roman";} ol {margin-bottom:0cm;} ul {margin-bottom:0cm;} -->

 

C درزبان دستورات کنترل روند برنامه --  تعریف متغیرها   جلسة سوم

-

 

ساختار یک برنامة ساده

#include  < header file>

void    main()

{

            تعریف متغیرها

            دستورات اجرایی

}

 

توابع ورودی - خروجی C

 

تابع و نه دستور

مهمترین:   printf و scanf

<stdio.h>

 

تابع خروجی printf

 

printf (“  عبارت 1” , عبارت 2 )

 

عبارت 2 : اطلاعاتی که باید به خروجی منتقل شوند.

(اختیاری است)

 

 

printf (“  عبارت 1” , عبارت 2 )

 

عبارت 1 می‌تواند شامل:

         اطلاعاتی که باید عینا در خروجی چاپ شوند

         کاراکترهای تعیین کنندة فرمت خروجی

         کاراکترهای کنترلی

 

 

کاراکترهای تعیین کنندة فرمت خروجی

         مشخص کنندة نوع اطلاعات ذکر شده در عبارت 2

         با علامت % شروع می‌شوند. مانند:

%c (برای کاراکتر)

%d (برای عدد صحیح)

%f (برای عدد اعشاری)

کاراکترهای کنترلی

         تعیین شکل اطلاعات خروجی

         با علامت \ شروع می‌شوند. مانند:

\n  انتقال به سطر جدید

\f   انتقال به صفحة جدید

 

مثال

printf (“this is a test.”);

خروجی

this is a test.

مثال

int i =10 ;

char ch = ‘a’ ;

 

printf (“%d , %c” , i , ch);

خروجی

10 , a

مثال

int i =10 ;

char ch = ‘a’ ;

 

printf (“i = %d , ch = %c” , i , ch);

خروجی

i = 10 , ch = a

 

مثال

int i =10 ;

char ch = ‘a’ ;

printf (“i = %d\nch = %c” , i , ch);

خروجی

i = 10

ch = aاولین برنامه

 

#include  <stdio.h>

void  main()

{

            printf (“This is our first C program”) ;

}

تابع ورودی  scanf

 

scanf (“  عبارت 1” , عبارت 2 )

 

عبارت 2 : آدرس متغیرهایی که باید خوانده شوند

عبارت 1 : نوع متغیرها و نحوة خوانده شدن آنها

 

 

 

عبارت 1 شامل:

  1. کاراکترهای فرمت. مشخص‌کنندة نوع اطلاعات. مانند:

%c   (کاراکتر)

 %d  (عدد صحیح)

 

 

  1. کاراکتر فضای خالی

تاثیر: در نظر نگرفتن (رد کردن) فضای خالی در اطلاعات ورودی

  1. کاراکترهای دیگر

تاثیر: خواندن و صرفنظر کردن از کاراکتر فوق

 

 

 

 

مثال

int i , j ;

char ch ;

 

scanf (“%d %d %c” , &i , &j , &ch) ;

 

مثال برنامه‌نویسی

 

دریافت شعاع یک دایره از ورودی و چاپ مساحت آن در خروجی

 

#include  <stdio.h>

void  main()

{

            float r, area ;

 

            printf (“Enter the radius:”) ;

            scanf (“%f” , &r) ;

            area = 3.14 * r * r ;

            printf (“\n area = %f” , area) ;

}

 

 

 

جلسة چهارم

 

دستورات کنترل روند برنامه

 

ساختارهای تصمیم

و

حلقه‌های تکرار

ساختارهای تصمیم

if

if   else

switchif  (عبارت منطقی)

                        دستور ;

مثال:

if  (x > 10)

                        x ++ ;

 

 

if  (عبارت منطقی)

{

                        دستور 1 ;

                        دستور 2 ;

                        ...

                        nدستور  ;

}

 

 

مثال:

if  (x < y)

{

                        x = x + y ;

                        printf (“%d , %d”, x , y) ;

}

 

if  (عبارت منطقی)  {

                        دستور ;

                        ... ;

}

else  {

                        دستور ;

                        ... ;

}

if  ( (x > 10) && (x < 20) )  {

                        y = x * x ;

                        x ++ ;

}

else  {

                        x -- ;

                        y = x + y ;

}

 

مثال برنامه‌نویسی

 

برنامه‌ای بنویسید که عددی را از ورودی دریافت کرده و زوج یا فرد بودن آن را مشخص کند.

 

#include  <stdio.h>

void   main()  {

                        int i ;

                        scanf (“%d” , &i) ;

                        if  (i % 2 == 0)

                                     printf (“The number is even.”) ;

                        else   printf (“The number is odd.”) ;

}

 

دستورات شرطی متداخل

if  ...

                        ...

else   if  ...

                               ...

                           else   if ...

 

مثال:

if  (ch == ‘+’)

                        r = x + y ;

else  if (ch == ‘-’)

                                    r = x - y ;

                          else if (ch == ‘*’)

                                                r = x * y ;

 

 

دستور switch

 

برای تصمیم‌گیریهای چندگانه بر اساس

مقادیر مختلف یک عبارت

(به جای if های متداخل)

 

 

switch  (عبارت)  {

            case   مقدار 1 :

                                                دستورات 1

                                                break ;

            case   مقدار 2 :

                                                دستورات 2

                                                            .

                        .

                        .

            default :

                                                nدستورات

}

 

            break ;

 

 

 

مثال:

char  ch;

switch  (ch)  {

            case ‘+’ :

                                    r = x + y ;

                                    break ;

            case ‘-’ :

                                    r = x - y ;

                                    break ;

            case ‘*’ :

                                    r = x * y ;

                                    break ;

 

 

            case ‘/’ :

                                    r = x / y ;

                                    break ;

            default :

                                    r = 0 ;

                                    printf (“Invalid operator.”) ;

}

نکات:

 

         بخش default اختیاری است.

         مقادیر موجود در case ها نباید مساوی باشند.

 

 

         در switch فقط تساوی را می‌توان چک کرد.

 

         در صورت عدم استفاده از break دستورات case بعدی و تا آخر اجرا خواهد شد.

 

 

int grade ;

switch  ( grade )  {

                        case 18 :

                        case 19 :

                        case 20 :

                                                printf (“Good”) ;

                                                break ;

 

            case 10 :

                                                printf (“Acceptable”) ;

}

 

 

ساختارهای کنترل غیرشرطی

 

break

continue

goto

 

بدلیل پایین آوردن خوانایی

استفاده از آنها توصیه نمی‌شود.

 

 

 

 

 

 

جلسة پنجمساختارهای تکرار

 

for

while

do ... while

 

 

حلقة for

 

C یکی از قویترین و کاملترین دستورات

 

در تمامی کاربردهای حلقه می‌تواند بکار رود

 

for ( مقدار دهی اولیه ; شرط حلقه ; گام حرکت )

{

                        دستورات

                        ...

}

 

 

 

 

 

 

 

 

for الگوریتم اجرای

 

 

 

 

مثال:

for ( i = 1 ; i < 10 ; i ++ )

{

                        scanf (“%d” , &num) ;

                        sum = sum + num ;

}

 

نکات

هر یک از 3 قسمت فوق اختیاری هستند.

for ( ; ; )

{

                        ...

}

 

قسمتهای مقدار دهی اولیه و گام حرکت می‌توانند شامل چندین دستور باشند که با

,

از یکدیگر جدا می‌شوند.

مثال:

for ( i = 0 , sum = 0 ; i < 20 ; i ++ , j -- )

{

                        sum = sum + i + j ;

                        printf (“%d” , sum) ;

}

 

مثال:

for  ( i = 10 , j = 0 ;

                          (i > 0) && (j <=20) ;

                          i -- , j ++)

                                    printf (“%d , “ , i + j) ;

 

حلقة while

while  ( شرط حلقه )

{

                        دستورات

                        ...

}

 

مثال:

int  sum = 0 , i = 0 ;

while  ( i != -1 )

{

                        sum = sum + i ;

                        scanf (“%d” , &i) ;

}

حلقة   do ... while

do {

                        دستورات

                        ...

}  while  (شرط حلقه  )

 

مثال:

do {

                        sum = sum + n ;

                        scanf (“%d” , &n) ;

}  while (n != -1)

 

مثال:

تبدیل حلقة while به for

 

for ( ; while شرط حلقة ; )

{

                        whileبدنة حلقة   

}

for به while (روش دیگر) تبدیل حلقة

 

 

for ( ; while شرط حلقة ; whileبدنة حلقة ) ;

 

   + MOHSEN GHASEMI - ۱:۳٩ ‎ب.ظ ; ۱۳۸٩/٦/۱