zoukankan      html  css  js  c++  java
  • 第四章 分支结构实验

    c语言程序报告

    一、if语句的应用

    1、掌握c语言逻辑运算和关系运算的规则;
    2、学会正确的使用关系表达式和逻辑表达式;
    3、掌握if_else语句的使用方法;

    二、switch/case语句的应用

    1、掌握算术运算符和运算规则;
    2、掌握switch/case语句的应用;

    三、switch/case语句嵌套if语句的使用方法;

    1、学会正确的使用关系表达式和逻辑表达式;
    2、switch/case语句嵌套if语句的使用方法。注意switch语句的控制流程,在switch语句中break语句的用法;
    3、switch/case结构与if/else嵌套结构之间的转换;

    四、switch/case结构的嵌套应用

    1、switch/case结构的嵌套应用;
    2、break语句与continue语句的用法;

    五、分析程序

    1、分析程序结构

    4.3.1实验练习:

    问题描述:读入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是正方体还是长方体。
    #include<stdio.h>
    int main()
    {  int l,w,h;
    printf("请输入箱子的长,宽,高:
    ");
    scanf("%d%d%d",&l,&w,&h);
    if(l=w=h)
    printf("该箱子是正方形。
    ");
    else
    printf("该箱子是长方形。
    ");
    return 0; 
    }

    4.3.2实验练习:

    #include<stdio.h>
    int main()
    {
        int x,y,z,d,m;
        float n,s;
        printf("请输入打印纸,墨盒,光盘的数量:
    ");
        scanf("%d,%d,%d",&x,&y,&z);
        n=18*x+132*y+4.5*z;
        if(n>=500)
        d=10;
        else
        {   m=n/100; 
            switch(m) {
            case 1:d=5; break;
            case 2:d=6; break;
            case 3:d=7; break;
            case 4:d=8; break;
            }
        }
        s=n*(100-d)/100;
        printf("应付款数:%.2f
    ",s);
    }
    问题分析:一开始不会用if语句和switch语句的嵌套结构,而且对switch语句的结构不够熟悉,将case和后面的数字写在一起了最后输出不出来

    4.3.3实验练习:

    #include<stdio.h>
    int main()
    { int year,month,days;
     printf("please enter year and month :
    ");
     scanf("%d%d",&year,&month);
     switch(month)
     {case 2:if (year%4==0&&year%100!=0||year%400==0)
         days=29;
    else
        days=28;break;
     case 1: 
     case 3:
     case 5:
     case 7:
     case 8:
     case 10:
         
     case 12:days=31;break;
     case 4:
     case 6:
     case 9:
     case 11:days=30;break;        
     }
    printf("%d年%d月有%d天
    ",year,month,days);
    return 0; }
    4.3.4实验练习:
    #include <stdio.h>
    int main()
    {
    int x,n,y;
    float sum;
    printf("请选择:1.日用品 2.文具 3.食品
    ");
    scanf("%d",&x);
    switch(x)
    {
    case 1:printf("请选择:1.牙刷(3.5支) 2.牙膏(6.2元支)
    ");
           printf("        3.肥皂(2元支)  4.毛巾(8.6元条)
    ");
           scanf("%d",&y);
           printf("数量?");
       scanf("%d",&n); 
           switch(y)
           {
               case 1:sum=3.5*n;break;
               case 2:sum=6.2*n;break;
               case 3:sum=2*n;break;
               case 4:sum=8.6*n;break;
       }
       break;
    case 2:printf("请选择:1.笔(3支) 2.笔记本(1.2元个)
    ");
           printf("        3.文件夹(12元个)  4.文具盒(8.6元个)
    ");
           scanf("%d",&y);
           printf("数量?"); 
           scanf("%d",&n);
           switch(y)
           {
               case 1:sum=3*n;break;
               case 2:sum=1.2*n;break;
               case 3:sum=12*n;break;
               case 4:sum=8.6*n;break;
       }
       break;
    case 3:printf("请选择:1.白糖(3.6包) 2.盐(1元包)
    ");
           printf("        3.饼(2元个)  4.方便面(3.6元包)
    ");
           scanf("%d",&y);
           printf("数量?"); 
           scanf("%d",&n);
           switch(y)
           {
               case 1:sum=3.6*n;break;
               case 2:sum=1*n;break;
               case 3:sum=2*n;break;
               case 4:sum=3.6*n;break;
       }
       break;              
    }
    printf("总计:%.2f元
    ",sum);
    
    }
    4.3.5实验练习:
    #include<stdio.h>
    #include<math.h>
    int main()
    {
    double x=1000/3.0;
    double y=x-333.0;
    double z=3*y-1.0;
    printf("x=%lf
    ",x);
    printf("y=%lf
    ",y);
    printf("z%lf
    ",z);
    if(z==0) printf("z==0.
    ");
    else printf("z不等于0.
    ");
    }
    #include<stdio.h>
    int main()
    {
        int num=20;
        if(5<num&&num<10)
        printf("%d in range (5,10)!
    ",num);
        else
        printf("%d out of range (5,10)!
    ",num);
     } 

    三、实验小结

    经过本次的五个实验操作后我发现自己对C语言的理解加深了,知道了if语句和switch语句的区别和使用方法的不同,if语句的条件后面不能加分号,同时也知道if语句和switch语句可以同时嵌套使用,也更加了解了计算机的思维方式,以后我要花更多的时间在对代码的理解上而不是一味的只针对一题而不去深入理解。

  • 相关阅读:
    Tomcat日志、项目中的log4j日志、e.printStackTrace()——我的日志最后到底跑哪去了?
    MySQL中有关TIMESTAMP和DATETIME的总结
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
    @RequestBody和@RequestParam区别
    Synchronized的jvm实现
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
  • 原文地址:https://www.cnblogs.com/q07925758237/p/10672373.html
Copyright © 2011-2022 走看看