C程序设计实验报告(三)

♦实验项目:4.3.1 if语句的应用;4.3.2 switch...case语句的应用;4.3.3 switch...case语句嵌套if语句;4.3.4 switch...case结构嵌套;4.3.5 分析程序;4.3.5(1)分析程序并改错

♦姓名:游山

♦实验地点:家

♦实验时间:2020.03.28

一、实验目的与要求

1、掌握C语言逻辑值的表示方法(0代表“假” ,1代表“真”)。
2、学会正确使用关系表达式和逻辑表达式。
3、掌握各种形式的if语句语法和使用方法。注意if语句中if和else的匹配关系,以及if语句的嵌套。
4、掌握switch语句的语法和使用方法。注意在switch语句中break语句的用法及switch语句的嵌套。
5、能独立编写分支结构程序并调试通过。
6、用if语句、switch语句解决简单的应用问题并上机实现。

二、实验内容

1、实验练习:4.3.1 if语句的应用

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

2实验代码:

#include<stdio.h>
main()
{
    int a,b,c;
    printf("请输入箱子的长、宽、高:\n");
    scanf("%d%d%d",&a,&b,&c);
    if((a==b)&&(b==c)&&(a==c)) //如果长、宽、高都相等,则为正方体
        printf("该箱子是正方体\n");
    else
        printf("该箱子是长方体\n");
}

3问题分析: 注意 逻辑与 && 的表达。

2、实验练习:4.3.2 switch...case语句的应用

1问题的简单描述:编写程序实现如下功能:商店有打印纸( 18元/本)、墨盒( 132元/个)、光盘(4.5元/片)出售,商店进行优惠酬宾活动。具体规则如下:顾客购买商品的总额超过100元,优惠5%;超过200元,优惠6%;超过300元,优惠7%;超过400元,优惠8%;超过500元,优惠10%。根据不同的购买量,计算应付货款。

2实验代码:

#include<stdio.h>
main()
{
    int a,b,c,x,sum;
    //a、b、c分别代表打印纸、墨盒和光盘的数量,x用来判断优惠率
    float y,d;
    //sum代表购买商品总额,y代表优惠后应付款额 ,d代表优惠率
    printf("请输入打印纸、墨盒、光盘的数量:\n");
    scanf("%d%d%d",&a,&b,&c);
    sum=18*a+132*b+4.5*c;
    x=sum/100;//判断优惠率
    switch(x)
    {
        case 0:d=0;break;
        case 1:d=0.05;break;
        case 2:d=0.06;break;
        case 3:d=0.07;break;
        case 4:d=0.08;break;
        default:d=0.1;break;
    }
    y=sum*(1-d);//最终的应付款数
    printf("应付款数:%.2f 元\n",y);
}

3问题分析:d  代表优惠率,用 x=sum/100 来判断优惠率

3、实验练习:4.3.3 switch...case语句嵌套if语句

1问题的简单描述:输入某一年、月的数值,输出该月的天数。

2实验代码:

#include<stdio.h>
main()
{
    int year,month,days;
    printf("please enter year and month:\n");
    scanf("%d%d",&year,&month);
    switch(month)
    {
        case 2:
        if((year%4==0&&year%100!=0))//判断是否是闰年
        {
            days=29;
            printf("%d年%d月有%d天\n",year,month,days);break;
        }
        else
            days=28;
            printf("%d年%d月有%d天\n",year,month,days);break;
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:days=31; //以上月份的天数
        printf("%d年%d月有%d天\n",year,month,days);break;
        case 4:
        case 6:
        case 9:
        case 11:days=30;
        printf("%d年%d月有%d天\n",year,month,days);break;
    }

}

3问题分析:不清楚闰年的规则

4、实验练习:4.3.4 switch...case结构嵌套

1问题的简单描述:编写一个自动售货机的程序。该程序应具有如下功能:有两级菜单,一级菜单是商品类型的选择;二级菜单是具体商品的选择(商品价格和品种可以自拟)。顾客先选择商品类型,然后选择具体商品,输入购买数量。自动售货机根据选择的商品和输入的数量,计算并显示所选商品的总金额。

2实验代码:

#include<stdio.h>
main()
{
    int x,n,y;
    float sum;
    printf("请选择:1.日用品  2.文具  3.食品\n");
    scanf("%d",&x);
    switch(x)
    {
        case 1:printf("请选择:1.牙刷(3.5元/支) 2.牙膏(6.2元/支)\n");
               printf("        3.肥皂(2元/块)   4.毛巾(8.6元/条)\n");
               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元/本)\n");
               printf("       3.文件夹(12元/个) 4.文具盒(8.6元/个)\n");
               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元/包)\n");
               printf("       3.饼(2元/个)     4.方便面(3.6元/桶)\n");
               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 元\n",sum);
}

3问题分析:代码比较长,中文也比较多,注意中英文的切换。

5、实验练习:4.3.5 分析程序

1问题的简单描述:分析程序。

2实验代码:

#include<stdio.h>
main()
{
    double x=1000/3.0;
    double y=x-33.0;
    double z=3*y-1.0;
    printf("x=%lf\n",x);
    printf("y=%lf\n",y);
    printf("z=%lf\n",z);
    if(z==0)
        printf("z==0.\n");
    else
        printf("z不等于0.\n");
    return 0;
}

3问题分析:double定义的双精度实数型数据,字节长度为 8 。

6、实验练习:4.3.5(1)分析程序并改错

1问题的简单描述:条件表达式num大于等于5且小于等于10,表达错误。

2实验代码:

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

改错后的代码:
#include<stdio.h>
int main()
{
    int num=20;
    if(num>=5&&num<=10)
        printf("%d in range (5,10)!\n",num);
    else
        printf("%d out of range (5,10)!\n",num);
}

3问题分析:5<num>10,这是数学中的表达方式;在C语言中我们可以用逻辑表达式(逻辑与 && )来表达

三、项目实训:计算器的实现

1、设计思路:设计一个能循环多次计算两个数的加、减、乘、除的简单计算器。(只能进行两个数的四则运算)

首先,选择运算符号;其次,输入要计算的两个数;然后用switch...case结构判断、计算并输出相应的结果;最后,用while()语句实现多次循环计算,再用if语句结束循环。

特别注意:计算除法时,除数不能为零,要如何正确表达。

2、代码:

#include<stdio.h>
main()
{
int x,y,z;
char c;
printf("请输入算法:");
scanf("%d%c%d",&x,&c,&y);
switch(c)
{
case‘+‘:z=x+y;break;
case‘-‘:z=x-y;break;
case‘/‘:

if(y!=0)

z=x/y;break;

else

printf("输入错误”)

case‘*‘:z=x*y;break;

}

printf("计算结果为:%d",z);
}

四、实验小结

这次实验主要是第四章分支结构的实验,主要涉及 if 结构和 switch 结构。我对于switch...case语句不熟练,有时候会忘记 break 。前面的几个实验都没有太大的问题,但是设计一个计算器遇到了很多问题。实现多次计算要用到循环结构。我们要学习别人好的地方,真真实实地把它弄明白,创造出属于自己的东西。

原文地址:https://www.cnblogs.com/1738565653q/p/12589384.html

时间: 2024-11-10 01:23:20

C程序设计实验报告(三)的相关文章

C语言程序设计实验报告三

C程序设计实验报告 姓 名:赖瑾 实验地点:家 实验时间:2020年3月25日 实验项目:4.3.1 If语句的应用 4.3.2 switch-case的应用 4.3.3 switch-case嵌套if语句的应用 4.3.4 switch-case结构嵌套的应用 4.3.5 分析程序 计算器的实现 一.实验目的与要求 1.掌握C语言逻辑值的表示方法(0代表"假",1代表"真"). 2.学会正确地使用关系表达式和逻辑表达式. 3.掌握各种形式的if语句语法和使用方法,

Python 程序设计 实验报告三

安徽工程大学 Python程序设计 实验报告 班级   物流192   姓名  王跟运 学号3190505204 成绩 日期    2020.  3.30   指导老师       修宇 [实验名称]实验三 分支结构程序设计 [实验目的]   (1)学会正确使用比较运算符与比较表达式.逻辑运算符和逻辑表达式: (2)熟练用if语句设计选择结构程序 [实验条件] PC机或者远程编程环境 [实验内容] 1.完成三个编程题(python123) (1)设计一个货币转换程序 问题描述: 参考温度转换实例

Python程序设计实验报告三:分支结构程序设计

实验三   分支结构程序设计 班级:物流191             姓名:倪绍磊              学号:3190505131 指导老师:修宇           日期:2020.4.3          成绩: [实验名称]实验三  分支结构程序设计(设计性实验) [实验目的] (1)学会正确使用比较运算符与比较表达式.逻辑运算符和逻辑表达式 (2)熟练用if语句设计选择结构程序: [实验条件] PC机或者远程编程环境 [实验内容] 1.完成三个编程题.(python123) (1

汇编语言程序设计实验报告三

一.实验目的1. 掌握汇编语言源程序(8086 dos 汇编)编写→汇编→链接→调试的方法2. 加深对 1-4 章基础知识的理解二.实验准备1. 结合第 4 章课件和教材,学习/复习完整汇编源程序编写→汇编→连接→运行→调试的方法2. 复习第 1-3 章以下基础知识:(1)寄存器用法① 通用寄存器 AX, BX,CX, DX: ② 段寄存器 CS, DS, SS 和两个特殊寄存器 IP: (2)内存访问,特别是多字节数据的存.取:(3)汇编指令用法,注意其合法使用形式① 数据传送类指令:mov,

C语言程序设计实验报告(三)

C程序设计实验报告 实验项目:第四章实验 4.3.1箱子形状:4.3.2优惠政策:4.3.3计算月份天数:4.3.4自动售货机:4.3.5分析程序 姓名:彭佳乐 实验地点:家 实验时间:2020年3月25日 一.实验目的与要求 1.掌握C语言逻辑值的表示方法(0代表"假",1代表"真"). 2.学会正确的使用关系表达式和逻辑表达式. 3.掌握各种形式的if语句语法和使用方法,if语句if与else的匹配关系,以及if语句的嵌套. 4.熟练掌握switch语句的语法和

20145326《Java程序设计》实验二Java面向对象程序设计实验报告

20145326<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 一.单元测试 1. 三种代码·伪代码·产品代码·测试代码Example:需求:我们要在一个MyUtil类中解决一个百分制成绩转成“优.良.中.及格.不及格”五级制成绩的功能. 伪代码: 百分制转五分制: 如果成绩小于60,转成“不及格” 如果成绩在60与70之间,转成“

C程序设计实验报告

C程序设计实验报告 C程序设计实验报告  试验项目:基本的程序语句实验.程序的简单算法设计实验  姓名:陈建清   实验地点:物联网工程实验室   实验时间:2019.03.19 一.实验目的与要求   1.了解字符在计算机中以ASCII码方式表示,了解字符的类型.字长其数的表示范围.  2.掌握C语言数据类型,熟练掌握变量定义:  3.使用scanf()输入变量的值,使用printf()输出变量:  4.掌握运算符与表达式的使用方法及其优先级和结合性规律. 5.巩固对算法概念的理解,掌握运算符

C语言程序设计实验报告(二)

C程序设计实验报告 实验项目:2-3-3字符与ASCII码:2-3-4运算符与表达式的应用:2-3-5顺序结构应用程序:3-3-1数学函数的算法描述:3-3-2鸡兔同笼的算法描述:3-3-3确定坐标的算法描述 姓名:彭佳乐 实验地点:家 实验时间:2020.3.12 一.实验目的与要求 1.掌握自增++,自增--运算符的正确使用. 2.掌握基本的输入/输出函数的基本功能.调用方法.输入/输出格式控制规定等. 3.掌握结构化程序的算法描述方法. 4.熟练掌握C语言的运算符,即运算符的优先级和结核性

Python程序设计实验报告二

安徽工程大学 Python 程序设计 实验报告 班级:  物流192   姓名:刘晨晨     学号:3190505214 日期:  3.21    指导教师:修宇 实验二 顺序结构程序设计(验证性实验) [实验目的] (1)掌握数据的输入输出的方法: (2)熟悉顺序结构程序中语句的执行过程: (3)掌握顺序结构程序的设计方法. [实验条件] PC机或者远程编程环境 [实验内容] 1.完成三个编程题.( python123) (1)计算圆面积的计算 S 问题描述: 根据圆的半径计算圆面积,半径为

Python程序设计实验报告二:顺序结构程序设计(验证性实验)

安徽工程大学 Python程序设计 实验报告 班级   物流192   姓名  冯非凡  学号3190505208 成绩 日期     2020.3.22    指导老师       修宇 实验二 顺序结构程序设计(验证性实验) [实验目的] (1)掌握数据的输入输出的方法: (2)熟悉顺序结构程序中语句的执行过程: (3)掌握顺序结构程序的设计方法. [实验条件] PC机或者远程编程环境 [实验内容] 1.完成三个编程题.( python123) (1)计算圆面积的计算 S 问题描述: 根据圆