第二次实验报告

C程序设计实验报告

 

 

C程序设计实验报告 

实验项目: 

   1、if语句的应用  

   2、switch/case语句的应用   

   3、switch/case语句嵌套if语句的应用 

   4、switch/case语句的嵌套应用
   5、分析程序
   

姓名:伍臣林        实验地点:514教室          实验时间:4月3日  

一、实验目的与要求

      实验一:if语句的应用

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

    • 学会正确地使用关系表达式和逻辑表达掌握if-else语句的使用方法。

    •   实验二:switch/case语句的应用      

    •   掌握算术运算符和运算规则 ;

    • 掌握switch/case语句的使用方法      

    • 实验三:switch/case语句嵌套if语句的应用  

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

      • switch/case结构的嵌套使用。
      • break语句与continue语句的用法
    • 二、实验内容

         实验4.3.1:if语句的应用。

          1、 问题描述:读入3个分别表示箱子长、宽、高的整数值,并判断输出该箱子是正方体还是长方体。

          2、实验代码如下:

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

        3、问题分析:对于这个题目 由于一开始输入的是l=w=h;导致输出错误。其实我是漏掉了“与”的符号,应该写成l=w&&w=h;                       实验4.3.2:switch/case语句的应用  

    • 1、 问题描述:编一程序实现如下功能:商店有打印纸(18元/本)、墨盒(132元/盒)、光盘(4.5元/片)出售,商店进行优惠酬宾活动。

    •    具体做法如下:顾客购买商品的总额达到100元,优惠5%;达到200元     以上,优惠6%;达到300元以上,优惠7%;达到

         了400元以上,优惠8%;达到1000元以上,优惠10%。根据不同的购买量,打印应付款。

         2、实验代码如下:

    • #include<stdio.h>
      main()
      {
       int x,y,z,n;
       float sum;
       printf("请输入打印纸,墨盒,光盘的数量
      ");
       scanf("%d%d%d",&x,&y,&z);
       sum=18*x+132*y+4.5*z;
       n=sum/100;
       switch(n)
       {
       
        case 1:sum=0.95*sum;break;
        case 2:sum=0.94*sum;break;
        case 3:sum=0.93*sum;break;
        case 4:sum=0.92*sum;break; 
           default:sum=0.9*sum;break;
        
       }
        printf("sum=%.2f
      ",sum);
      }

      3、问题分析:一定要记得break!! 

    • 实验4.3.4:switch/case语句的嵌套应用

         1、问题描述:

              编写一个自动售货机的程序。该程序应具有以下功能:二级菜单,一级菜单是商品类型的选择;

              二级菜单是具体商品的选择(商品价格和品种可以自拟)。顾客选择商品类型,输入购买数量。

             自动售货机根据选择的商品类型与数量,计算并显示所选商品总金额。

        2、实验代码如下:

    • #include<stdio.h>
      int main()
      {
       int x,y,n;
       float sum=0.0;
       printf("请选择:1 日用品 2 文具 3 食品
      ");
       scanf("%d",&x);
       switch(x)
       {
        case 1:printf("请选择:1.牙刷 2.牙膏 ");
        printf("3.肥皂 4.毛巾");
        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.笔 2.笔记本 ");
        printf("3.文件夹 4.文具盒");
        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.白糖 2.盐 ");
        printf("3.餠 4.方便面");
        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); 
      }
      

        3、问题分析:这个问题相对复杂,自己在写的时候对于一级菜单和二级菜单下的变量选定比较模糊,思路模糊。在老师和同学们的梳理下我运行出来了!

      4.3.5     程序分析     

                 程序 <一>

              1、运行下列程序,分析输出结果

              2、实验代码:

       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);
           if (z==0) 
              printf("z==o.
      ");
           else 
               printf("z不等于0.
      ");
       }
      

        程序运行

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

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

        3、问题分析:该运行结果出错原因和我第一个实验原因一样,应将5<num<10改成5<num&&num<10;!

    • 三、实验总结     对于运行输入过程一定得小心,这节实验课遇见的问题还是“与”逻辑运算,应当注意,对于难以理解的可以养成注释的好习惯!自主解决问题有待提高!

原文地址:https://www.cnblogs.com/wu18151783/p/10673202.html