中华考试网·阅读新闻
编程开发 > C/C++ > 文章内容

C语言程序设计基础教程:选择结构

2015-4-21编辑:ljnbset

一、 选择结构

1、 简介:所解决的是判断问题,根据判断结果执行相应的操作,相当于汉语中

的“如果……,就……,否则……”

在C语言中,选择结构主要有两种:

if……else……

Switch

2、 if……else……结构

基本形式:if(exp1) 

          {……op1……}

          else

          {……op2……}

执行逻辑:如果exp1为真,则执行op1,否则执行op2

           exp1:可以是算术、关系、逻辑运算表达式;

           op1、op2:可以是多条语句,放在{}里

扩展形式:

(1) if(……) 

           { …… }

(2)  if(……)

            { …… }

           else if (……)

{ …… }

else if (……)

{ …… }

else

{……}

(3) if(……)

{ if(……)

    {……}

  else

     {……}

}

else

{

if(……)

    {……}

  else

     {……}

}

3、 Switch结构

 

4、 实例1——if……else结构练习

main()

{

char sex;      ----------------------------------声明字符型变量,用来接受输入的性别

printf(“Please input your sex(M or F):\n”);-------------------输入提示

scanf(“%c”,&sex);    ---------------------输入语句,将输入的字母赋给sex

if(sex = =’M’ || sex= =”m”)   -----------------判定sex是否等于M或m

{

  printf(“A boy!\n”);        ---------------如果sex等于M或m,就执行

}

else

{

 printf(“A girl!\n”);         ----------------如果sex不等于M或m,则执行本条

}

}

5、 实例2——if……else 扩展形式练习

要求:输入分数,输出等级

90-100 A ;80-89 B; 70-79 C;60-69 D;60以下 E

main()

{

  int score;

  char grade;

  printf (“Input score:\n”);

  scanf(“%d”,&score);

  if(score>=90)

   {grade=’A’;}

  else if(score<=89 && score>=80)

        {grade=’B’;}

else if(score<=79 && score>=70)

   {grade=’C’;}

    else if(score<=69 && score>=60)

       {grade=’D’;}

         else

           {grade=’E’;}

 printf(“score=%d,grade=%c”,score,grade);

}

6、 实例练习3——if……else 输入5个数字,找出最大值和最小值并输出

算法设计:

从以下5个数12,3,9,21,4中找出最大值max和最小值min

第一步:max=12 min=12

第二步:max、min和第二个数3作比较

     如果第二个数大于max,说明max应为第二个数,否则不变

     如果第二个数小于min,说明min应为第二个数,否则不变

     

     3和max、min(12,12)比较:max=12 min=3

第三步:max、min和第三个数9作比较

     如果第三个数大于max,说明max应为第三个数,否则不变

     如果第三个数小于min,说明min应为第三个数,否则不变

    

      9和max、min(12,3)比较:max=12 min=3

 

第四步:max、min和第四个数21作比较

     如果第四个数大于max,说明max应为第四个数,否则不变

     如果第四个数小于min,说明min应为第四个数,否则不变

  

     21和max、min(21,3)比较:max=21 min=3

第五步:max、min和第五个数4作比较

     如果第五个数大于max,说明max应为第五个数,否则不变

     如果第五个数小于min,说明min应为第五个数,否则不变

  

     4和max、min(21,3)比较:max=21 min=3

第六步:输出结果

      max=21 min=3

 

源代码:

main()

{

  int x1,x2,x3,x4,x5,min,max;

  printf("Number 1:\n");  /* 第一步 */

  scanf("%d",&x1);

  max=min=x1;

  printf("Number 2:\n");  /*第二步*/

  scanf("%d",&x2);

  if(x2>max)

  {max=x2;}

  if(x2

  {min=x2;}

  printf("Number 3:\n"); /*第三步*/

  scanf("%d",&x3);

  if(x3>max)

  {max=x3;}

  if(x3

  {min=x3;}

  printf("Number 4:\n"); /*第四步*/

  scanf("%d",&x4);

  if(x4>max)

  {max=x4;}

  if(x4

  {min=x4;}

  printf("Number 5:\n"); /*第五步*/

  scanf("%d",&x5);

  if(x5>max)

  {max=x5;}

  if(x5

  {min=x5;}

 

  printf("Max=%d\tMin=%d",max,min); /*第六步*/

  getch();

}

咨询热线:4000-525-585(免长途费)