泽强

导航

C 语言中的控制结构

C语言中的基本结构有三种:顺序结构,选择结构,循环结构。

顺序结构既按代码的顺序从上到下直接执行。

如:

#include<stdio.h>

void main()

{

       intia,ib,ic;

       ia=1;

       ib=2;

       ic=ia+ib;

       printf("和为%d\n",ic);

}

其执行的顺序就是按照从上到下一条一条的顺序执行。

其实现的功能是算出已定义的ia,ib两个变量的和。

 

选择结构是在执行到某一步的时候在判断一定的条件,然后在一定条件下有选择的执行下面的语句。

选择结构由以下语句实现:ifelse函数,Switch case函数。

如:

输入求两个数的四则运算,最后输出结果。用两个函数分别实现如下。

If else函数:

 

#include<stdio.h>

void main()

{

    floatfa,fb,fs;

       charcc;

       scanf("%f%c%f",&fa,&cc,&fb);

       if(cc=='+')

              fs=fa+fb;

       elseif(cc=='-')

              fs=fa-fb;

       elseif(cc=='*')

              fs=fa*fb;

       elseif(cc=='/')

              fs=fa/fb;

       else

              printf("inputerror\n");

       printf("%6.4f\n",fs);

}

 

 

Switch case函数:

 

 

#include<stdio.h>

void main()

{

   float fa,fb;

       charcc;

   printf("input expression:a,+(-,*,/),b:");

       scanf("%f%c%f",&fa,&cc,&fb);

       swtich(cc)

    {

              case'+':printf("%6.4f\n",fa+fb);break;

              case'-':printf("%6.4f\n",fa-fb);break;

              case'*':printf("%6.4f\n",fs*fb);break;

              case'/':printf("%6.4f\n",fs/fb);break;

       default:printf("input error\n");

       }

}

 

其中,if else函数中可以只有if,还可以多个if else套用。

而Switch case函数中要注意的是case中的判断条件不能为表达式,如(a+b>c),必须为确定的数值和符号。在本个功能中case每句后的break不能省略。但是在不同的条件下实现不同功能时可以按需求考虑添加和省略。

 

循环结构是不断执行某一个重复的动作,这在处理重复的语句时可以减少编写代码人员的工作量。

循环结构可以由如下的语句实现:for语句,while语句,do while语句,goto语句。

如:

计算由1加到100,并输出结果。由四种语句实现分别如下。

 

 

For语句

 

#include<stdio.h>

void main()

{

  int is,ii;

  is=0;

  for(ii=1;ii<=100;ii++)

          is=is+ii;

  printf("The sum is %d\n",is);

}

 

While语句

 

#include<stdio.h>

void main()

{

  int is,ii;

  is=0;

  ii=1;

  while(ii<=100)

   {

  is=is+ii;

  ii++;

   }

  printf("The sum is %d\n",is);

}

 

Do while语句

 

#include<stdio.h>

void main()

{

  int is,ii;

  is=0;

  ii=1;

   do

   {

  is=is+ii;

  ii++;

   }

  while(ii<=100);

  printf("The sum is %d\n",is);

}

注解:与while的区别,do..while在while的后面必须加分号。

 

Goto语句

#include<stdio.h>

void main()

{

     int is,ii;

     ii=1;

     is=0;

next:

{

     is=is+ii;

     ii++;

     if(ii>100)

          goto result;

     

     goto next;

}

result :

     

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

}

 

这里要注意的是goto语句是模拟循环,注意这不是真正的循环,只有在c语言的循环(while, for, do..while)中才能使用跳出指令break。

 

posted on 2012-05-04 17:16  泽强  阅读(376)  评论(0编辑  收藏  举报