zoukankan      html  css  js  c++  java
  • 第二次试验报告

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

    运行结果:

     

  • 相关阅读:
    weakself的另一种写法
    SDWebImage的使用说明
    关于AVPlayerItem对象的属性duration返回播放总时长的坑
    Xcode 问题
    循环引用问题
    使用Spring Animation的API创建动画
    iOS触摸事件处理
    OS开发中的事件处理(二)-事件传递,响应者链条
    python实现简单的百度云自动下载
    我眼中的K-近邻算法
  • 原文地址:https://www.cnblogs.com/17370137371WY/p/10667312.html
Copyright © 2011-2022 走看看