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

    运行结果:

     

  • 相关阅读:
    Microsoft Enterprise Library 5.0 系列(二) Cryptography Application Block (初级)
    Microsoft Enterprise Library 5.0 系列(五) Data Access Application Block
    Microsoft Enterprise Library 5.0 系列(八) Unity Dependency Injection and Interception
    Microsoft Enterprise Library 5.0 系列(九) Policy Injection Application Block
    Microsoft Enterprise Library 5.0 系列(三) Validation Application Block (高级)
    软件研发打油诗祝大家节日快乐
    从挖井的故事中想到开发管理中最容易忽视的几个简单道理
    ITIL管理思想的执行工具发布
    管理类软件设计“渔”之演化
    20070926日下午工作流与ITILQQ群 事件管理 讨论聊天记录
  • 原文地址:https://www.cnblogs.com/17370137371WY/p/10667312.html
Copyright © 2011-2022 走看看