zoukankan      html  css  js  c++  java
  • c语言之选择

    1.流程控制的定义:程序执行的顺序

    2.流程控制的分类:顺序、选择、循环

    如何看懂一个程序?
      1. 流程

     2.每个语句的功能

     3.试数

    选择   if语句

             1 最简单的if应用 

                                       格式: if (表达式)

                                                 语句;

              2.if的作用范围    只能控制if之后的第一个语句,若想控制多个语句,需要将这些语句用花括号括起来

              3. if.....else.....的用法  

                                       格式:if (表达式)

                                                  语句1;

                                               else 语句2;

             4. if.....else if......if.....语句

                                             格式:if (表达式)

                                                      语句1;

                                                   else if 语句2;

                                                   ............

                                                   else  语句n;

                                              解释:因为语句只能执行一个,不可能同时执行,所以整体算一个语句

            5.用法举例(学生成绩分等级) if (90 <= score <= 100)-----数学表达式直接应用到c语言会出现错误(因为左边的结果为逻辑值0或者1,但不管结果为0 还是1,都小于100,所以表达式始终为真,无法判断学生的成绩是不是在90到100之间)----------应该改为  if ( score >= 90 && score <= 100)    .......

              三个数排序(程序)

    6.if常出现的问题  

                         1)空语句的问题

                            if (1>2);----------等价于 if (1>2)

                                                                      ;//相当于空语句

                         2)           if (表达式)

                                           语句1;

                                          else 语句2;//是正确的

                                             

                                               if (表达式);

                                                  语句1;

                                               else 语句2;//是错误的,以else语句开头

                          3)if.......else if.......else.....中把else删掉 语法不会出错,但逻辑上有漏洞。

                          4)if.......else if.......else.....中最后的  else(表达式n)这样写是不对的,因为有表达式的话就要判断真假,判断的话必须加if,若else(表达式);增加分号,语法上是正确的,它相当于把 (表达式);当成一个无任何意义的语句来执行。

                         5)if.......else if.......else.....中正确的程序是只有一个表达式是成立的,但是若多个表达式都同时成立,也只会执行第一个成立的语句的内容。

     switch语句

    switch(表达式)

    {

      case 常量表达式1: 语句1;

      case 常量表达式2: 语句2;

      case 常量表达式3: 语句3;

      default:              语句n

    }

     1 # include <stdio.h>
     2 
     3  int main (void)
     4 {
     5   int val;
     6   
     7  printf("请输入你要进入的楼层:");
     8  scanf("%d", &val);
     9 
    10  switch (val)
    11  {
    12   case 1:
    13            printf("1层开!
    ");
    14            break;
    15   case 2:
    16            printf("2层开!
    ");
    17            break;
    18    case 3:
    19            printf("3层开!
    ");
    20            break;
    21    case 4:
    22            printf("4层开!
    ");
    23            break;
    24    default:
    25            printf("没有盖到这一层!
    ");
    26            break;
    27   
    28    }
    29 
    30   return 0;
    31  }

    必须有break语句,否则情况可能会同时发生。case1  case2 case3 case4 default 是程序的入口,程序一旦进入,将会从上往下执行,不再进行判断,所以为了体现出选择,必须有break语句终止switch。

    在switch语句中的break只是让程序退出switch语句,继续执行下面的语句,在switch中出现continue是错误的,除非里边嵌套了循环。

       

    题外话 1.判断一个数字是否是素数

              2.判断一个数字是否是回文数

              3.编程实现求一个十进制数字的二进制形式

              4.求一个数字的每位是奇数的数字取出来组合形成的新数字

              5.求一个数字倒过来的数字

     

                                             

  • 相关阅读:
    JBPM 入门阅读
    Jquery ligerui下拉框复选,使下拉框中相应值对勾选中
    spring quartz 1.6配置方法
    断点续传的原理
    转:DWR详细应用介绍
    转:第一个DWR示例
    解决(CXF):SOAPFaultException: Fault occurred while processing
    s2sh保存错误: a different object with the same identifier value was already associated
    解决 java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lan
    转载:struts2重要标签学习
  • 原文地址:https://www.cnblogs.com/wanliqingkong/p/3750554.html
Copyright © 2011-2022 走看看