Control structures in c
Download
1 / 29

Control Structures in C - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

Control Structures in C. Risanuri Hidayat, Ir., M.Sc. Condition. Control Structures in C. These include ifelse , while , do-while , for , and a selection statement called switch. if-else. The if-else statement can exist in two forms: with or without the else . The two forms are:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Control Structures in C' - acacia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Control structures in c

Control Structures in C

Risanuri Hidayat, Ir., M.Sc.



Control structures in c1
Control Structures in C

  • These include

    • ifelse,

    • while,

    • do-while,

    • for, and a selection statement called

    • switch.


If else
if-else

  • The if-else statement can exist in two forms: with or without the else. The two forms are:

    if(expression)

    statement

  • or

    if(expression)

    statement1

    else

    statement2


If else1
if-else

  • If

    if (condition)

    statement1;

    else

    statement2;

    int a, b;

    // ...

    if(a < b) a = 0;

    else b = 0;


Nested if
Nested if

  • nested if adalahstatement if yang targetnya adalahjuga if atau else.

    if (i == 10) {

    if (j < 20) a = b;

    if (k > 100) c = d; // this if is

    else a = c; // associated with this else

    }

    else a = d; // this else refers to if(i == 10)


If else if ladder
if-else-if Ladder

  • Bentuknya:

    if(condition)

    statement;

    else if(condition)

    statement;

    else if(condition)

    statement;

    .

    .

    .

    else

    statement;


If else if ladder1
if-else-if Ladder

// Demonstrate if-else-if statements (IfElse.c).

#include <stdio.h>

main () {

int bulan = 4; // April

char season[10];

if(bulan == 12 || bulan == 1 || bulan == 2)

strcpy(season,"Salak");

else if(bulan == 3 || bulan == 4 || bulan == 5)

strcpy(season,"Durian");

else if(bulan == 6 || bulan == 7 || bulan == 8)

strcpy(season,"Mangga");

else if(bulan == 9 || bulan == 10 || bulan == 11)

strcpy(season,"Jeruk");

else

strcpy(season,"Mbuh");

printf("April adalah musim %s\n ",season);

}


Switch
switch

  • switch merupakan statement percabangan dengan banyak cabang. Bentuknya seperti berikut:

    switch (expression) {

    case value1:

    // statement sequence

    break;

    case value2:

    // statement sequence

    break;

    .

    .

    .

    case valueN:

    // statement sequence

    break;

    default:

    // default statement sequence

    }


Switch1
switch

  • expression harus bertype byte, short, int, or char;

    // A simple example of the switch(switch.c)

    #include <stdio.h>

    main() {

    int i;

    for(i=0; i<6; i++)

    switch(i) {

    case 0:

    printf("i is zero.\n");

    break;

    case 1:

    printf("i is one.\n");

    break;

    case 2:

    printf("i is two.\n");

    break;

    case 3:

    printf("i is three.\n");

    break;

    default:

    printf("i is greater than 3.\n");

    } // switch

    } // main


Nested switch
Nested switch

  • Kita dapat juga membuat statement switch di dalam switch yang lain

    switch(count) {

    case 1:

    switch(target) { // nested switch

    case 0:

    printf("target is zero");

    break;

    case 1: // no conflicts with outer switch

    printf("target is one");

    break;

    } // switch(target)

    break;

    case 2: // ...


Iteration
Iteration

  • while

  • while loop merupakan dasar looping di C. While akan mengulang statement jika kondisi yang disyaratkan benar. Bentuk statement while adalah:

    while(condition) {

    // body of loop

    }


While
while

// Demonstrate the while loop (while.c).

#include <stdio.h>

main() {

int n = 10;

while(n > 0) {

printf("tick %d \n",n);

n--;

} // while

} // main


Do while
do-while

  • Sering kali dalam program kita membuat instruksi terlebih dahulu baru kemudian di-test hasilnya. Hal ini juga sering terjadi dalam looping. C mm-fasilitasi hal ini dengan do-while.

  • Bentuknya sebagai berikut:

    do {

    // body of loop

    } while (condition);


Do while1
do-while

// Demonstrate the do-while loop (dowhile.c).

#include <stdio.h>

main() {

int n = 10;

do {

printf("tick %d \n",n);

n--;

} while(n > 0);

} // main


for

  • For merupakan statement loop yang paling sering digunakan dalam berbagai bahasa, termasuk C.

  • Berikut ini bentuk umumnya:

    for(initialization; condition; iteration) {

    // body

    }


for

// Demonstrate the for loop (loop.c).

#include <stdio.h>

main() {

int n;

for(n=10; n>0; n--)

printf("tick %d \n",n);

}


for

// Using the comma (comma.c)

#include <stdio.h>

main() {

int a, b;

for(a=1, b=4; a<b; a++, b--) {

printf("a = %d \n", a);

printf("b = %d \n", b);

}

}


Nested loops
Nested Loops

  • Like all other programming languages, C allows loops to be nested. That is, one loop may be inside another. For example, here is a program that nests for loops:

    // Loops may be nested (nestedfor.c).

    #include <stdio.h>

    main() {

    int i, j;

    for(i=0; i<10; i++) {

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

    printf(".");

    printf("\n");

    }

    }


Jump

  • C supports four jump statements:

    • break,

    • continue,

    • return

    • goto.

  • These statements transfer control to another part of your program.


  • Break
    break

    • In C, the break statement has two uses.

      • First, as you have seen, it terminates a statement sequence in a switch statement.

      • Second, it can be used to exit a loop.


    Break1
    break

    // Using break to exit a loop (break.c).

    #include <stdio.h>

    main() {

    int i;

    for(i=0; i<100; i++) {

    if(i == 10) break; // terminate loop if i is 10

    printf("i: %d \n", i);

    }

    printf("Loop complete.");

    }


    Break2
    break

    // Using break to exit a while loop (break2.c).

    #include <stdio.h>

    main() {

    int i = 0;

    while(i < 100) {

    if(i == 10) break; // terminate loop if i is 10

    printf("i: %d \n", i);

    i++;

    }

    printf("Loop complete.");

    }


    Continue
    continue

    • continue go immediately to next iteration of loop

    • In while and do-while loops, a continue statement causes control to be transferred directly to the conditional expression that controls the loop.

    • In a for loop, control goes first to the iteration portion of the for statement and then to the conditional expression.


    Continue1
    continue

    // Demonstrate continue (continue.c).

    #include <stdio.h>

    main() {

    int i;

    for(i=0; i<10; i++) {

    printf("%d ", i);

    if (i%2 == 0) continue;

    printf("\n");

    }

    }


    Return
    return

    • The return statement is used to explicitly return from a method. That is, it causes program control to transfer back to the caller of the method.

    • The following example illustrates this point. Here, return causes execution to return to the C, since it is the run-time system that calls main( ).


    Return1
    return

    // Demonstrate return (return.c).

    #include <stdio.h>

    main() {

    int t = 1;

    printf("Before the return.");

    if(t==1) return; // return to caller

    printf("This won't execute.");

    }


    goto

    • It is possible to jump to any statement within the same function using goto.

    • A label is used to mark the destination of the jump.

      goto label1;

      :

      :

      label1:


    goto

    // Using continue with a label (goto.c).

    #include <stdio.h>

    main() {

    int i,j;

    for (i=0; i<10; i++) {

    for(j=0; j<10; j++) {

    if(j > i) {

    printf("\n");

    goto outer;

    }

    printf(" %d", (i * j));

    }

    outer: printf(".. outer ..\n");

    }

    }


    ad