• 第二次试验报告


    C程序设计实验报告

    实验项目:

    4.3.1 if语句的应用

    4.3.2 switch/case语句的应用

    4.3.3 switch/case语句嵌套结构if语句的应用

    4.3.4 switch/case结构的嵌套应用

    4.3.5 分析程序


    姓名:王煜        实验地点:514实验教室         实验时间:2019.04.03


    一、实验目的与要求

    4.3.1 if语句的应用

    1.掌握C语言逻辑运算和关系运算的规则;

    2.学会正确地使用关系式和逻辑表达式;

    3.学会正确地使用关系表达式和逻辑表达式;

    4.掌握if_else语句的使用方法。

    4.3.2 switch/case语句的应用

    1.掌握算术运算符和运算规则;

    2.掌握switch/case语句的使用方法。

    4.3.3 switch/case语句嵌套结构if语句的应用

    1.学会正确使用关系表达式和逻辑表达式。

    2.掌握switch/case语句语法和使用方法。注意switch语句的控制流程,在switch语句中break语句的用法

    switch/case结构与if/else嵌套结构之间的转换。

    4.3.4 switch/case结构的嵌套应用

    1.switch/case结构的嵌套使用。

    2.break语句与continue语句的用法。

    4.3.5 分析程序

    1.运行下列程序,分析输出的结果,并写入实验报告中。

    2.运行下列程序,分析错误的原因,请修改程序,使其输出正确的结果,并写入实验报告,掌握C语言表达式与数学表达式的区别。


    二、实验内容

    4.3.1 if语句的应用

    #include<stdio.h>
    main()
    {
        int l,w,h;
        printf("请输入箱子的长、宽、高: 
    ");
        scanf("%d%d%d",&l,&w,&h);
        if(l==w&&w==h&&l==h)
            printf("该箱子是正方体。 
    ");
        else
            printf("该箱子是长方体。 
    ");
        return 0; 
    }

    无问题

    4.3.2 switch/case语句的应用

    #include <stdio.h>
    main()
    {
        double sum;
        int a,b,c,s;
        printf("请输入打印纸、墨盒、光盘数量:
    ");
        scanf("%d%d%d",&a,&b,&c);
        sum=18*a+132*b+4.5*c;
        s=sum/100;
            switch(s)
            {
                case 0:
                    sum=sum;
                    printf("应付款为:%lf",sum);break;
                case 1:
                    sum=0.95*sum;
                    printf("应付款为:%lf",sum);break;
                case 2:
                    sum=0.94*sum;
                    printf("应付款为:%lf",sum);break;
                case 3:
                    sum=0.93*sum;
                    printf("应付款为:%lf",sum);break;
                case 4:
                    sum=0.92*sum;
                    printf("应付款为:%lf",sum);break;
                case 5:
                    sum=0.9*sum;
                    printf("应付款为:%lf",sum);break;
                default :
                    sum=0.9*sum;
                    printf("应付款为:%lf",sum);break;
                return 0;            
            }
    
    }

    无问题

    4.3.3 switch/case语句嵌套结构if语句的应用

    #include <stdio.h>
    #include <math.h>
    main()
    {
        int y,m,days;
        printf("plz enter year and month:
    ");
        scanf("%d%d",&y,&m);
        switch(m)
        {
            case 2:if(y%4==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天",y,m,days);
    }

    无问题

    4.3.4 switch/case结构的嵌套应用

    #include <stdio.h>
    main()
    {
        int x,y,n;
        float sum=0.0;
        printf("请选择:  1.日用品   2.文具    3.食品
    ");
        scanf("%d",&x);
        switch(x)
            {
                case 1: printf("请选择:1.牙刷(3.5元/支) 2.牙膏(6.2元/支)
            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元/本)
            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元/包)
            3.饼(2元/个)   4.方便面(3.6元/条)");
                        scanf("%d",&y);
                        printf("数量?");
                        scanf("%d",&n);
                        switch(y)
                            {
                                case 1:sum=3.6*n;break;
                                case 2:sum=n;break;
                                case 3:sum=2*n;break;
                                case 4:sum=3.6*n;break;
                            }
                        break;    
            }
            printf("总计:%.2f元
    ",sum);
            return 0;
    }

    无问题

    4.3.5 分析程序

     1.

    #include<stdio.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);
        printf("x=%lf
    ",x);
        if(z==0) printf("z==0.
    ");
           else printf("z不等于0.
    ");
           return 0;
        
    }

    运行结果:

    分析:double定义双精度小数,完全保的有效数字是十五位,z-1.0为一个无限接近于0的一个负值

    2.

    #include<stdio.h>
    int main ()
    {
        int num=20;
        if(5<num<10)
              printf("%d in range (5,10)!
    ",num);
          else
              printf("%d out of range(5,10)!
    ",num);
    }

    运行结果:

     分析:数学表达式  5<num<10  在C语言中的表达式为  5<num&&10>num

    改:

    #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);
    }

    运行结果:

     

  • 相关阅读:
    input,textarea限制字数,实时绑定
    rem布局和vw布局的理解
    HTML5+CSS3响应式垂直时间轴,高端,大气
    谈谈前端工程化是个啥?
    js动态添加html标签和属性_手动插入meta、script、div、img等标签
    textarea换行_在textarea中如何换行的实现总汇
    css常用的颜色单位表示法
    CSS3 2D转换
    为什么设置overflow为hidden可以清除浮动带来的影响
    什么是数据交互格式?xml和json优缺点
  • 原文地址:https://www.cnblogs.com/17370137371WY/p/10667312.html
Copyright © 2020-2023  润新知