第四章 分支结构实验

C程序设计实验报告

实验项目:分支结构实验

姓名:王承伟    实验地点:家    实验时间:2020.3.29

一、实验目的与要求

1. 掌握C语言逻辑值的表示方法(0代表“假”,1代表“真”)

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

3.掌握各种形式的if语句语法和使用方法。if语句中if和else的匹配关系,以及if语句的嵌套

4.熟练掌握switch语句的语法和使用方法,注意在switch语句中break语句的用法及switch语句的嵌套

二、实验内容

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

2实验代码:

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

 } 

3问题分析:无

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

2实验代码:

#include<stdio.h>main(){    int a,b,c,x;    float sum;    printf("打印纸 18 yuan/本  墨盒 132yuan/个   光盘 4.5yuan/张\n");    scanf("%d%d%d",&a,&b,&c);    sum=18*a+132*b+4.5*c;    x=sum/100;    switch(x)    {      case 0:printf("sum=%.2f\n",sum); break;            case 1:printf("sum=%.2f\n",sum*0.95); break;             case 2:printf("sum=%.2f\n",sum*0.94); break;              case 3:printf("sum=%.2f\n",sum*0.93); break;                  case 4:printf("sum=%.2f\n",sum*0.92); break;                  case 5:printf("sum=%.2f\n",sum*0.90); break;    } } 

3问题分析:

1.如何用上switch..case结构? 通过除以一百取整,可得到百位数,然后即可用case表示

3、实验练习:4.3.3、switch……case语句嵌套if语句的应用

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))||year%400==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",days);
}

3问题分析:无

4、实验练习:4.3.4、switch……case语句嵌套的应用

2实验代码:

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

3问题分析:无

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

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\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;
}
#include<stdio.h>
int main()
{
    int num=20;
    if(5<num&&num<10)
        printf("%d in range (5,10)!\n",num);
    else
    printf("%d out of range (5,10)!\n",num);
}

3问题分析:无

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

1、流程图

2、设计过程中遇到的问题及改进的方法

不能够实现重复的运算。。。。使用了 do...while 结构实现了循环

3、代码

#include<stdio.h>

main()
{
    int x,y,z,a,b,c,d,m;
 do{

    printf("选择计算类型:\n 1--------加法\n 2--------减法\n 3--------乘法\n 4--------除法\n");
    scanf("%d",&z);
    printf("z=%d\n",z);
    printf("请输入计算的两个数:");
    scanf("%d%d",&x,&y);
    a=x+y;
    b=x-y;
    c=x*y;
    d=x/y;
    switch(z)
    {
     case 1:printf("%d+%d=%d",x,y,a);
                break;
     case 2:printf("%d-%d=%d",x,y,b);
                break;
     case 3:printf("%d*%d=%d",x,y,c);
                break;
     case 4: printf("%d/%d=%d",x,y,d);
                break;
    default:printf("输出错误!");
    }
    printf("继续输入请按 1 \n");
    scanf("%d",&m);
  }  while(m==1);
}

四、实验小结

通过以上几个实验,让我对switch,,case结构的使用更加熟练,更加理解switch,,case结构的特点,在编写实验的过程中,也暴露出了自己一些常见的错误,打错没有,小错不断,这也说明了自身的编写习惯还有待进步,在最后的计算机的编写中,更是体现了这一点,在最开始的编写中,经过了很多遍的调试才成功,而且最初的计算器只有最基础的计算能力,经过不断的改写和自己找资料,使得计算器实现了重复的计算,在这个过程中,感觉收获了很多,这种类似的实验很有意义

原文地址:https://www.cnblogs.com/wace2020/p/12593615.html

时间: 2024-10-13 03:53:43

第四章 分支结构实验的相关文章

C语言 第四章 分支结构练习

目录 一.输入语文,数学成绩,根据平均分分3档 二.使用switch实现算术运算 三.使用多重if实现算术运算 四.for循环 五.while循环 六.do while循环 七.密码示例 八.多重if实现计算月份天数 九.switch实现计算月份天数 十.计算闰年 十一.判断素数 十二.100内所有素数 十三.switch实现输入数字与符号运算结果 十四.多重if实现输入数字与符号运算结果 一.输入语文,数学成绩,根据平均分分3档 #include "stdio.h" void mai

分支结构实验

第四章 分支结构实验 C程序设计实验报告 实验项目: 1.if语句的应用 2.switch/case语句的应用 3.switch/case语句嵌套if语句的应用 4.switch/case结构的嵌套应用 5.分析程序 姓名:陈建清     实验地点:  教学楼514实验室     实验时间:  2019.04.03 一.实验目的与要求 1.if语句的应用 目的: 1.掌握C语言逻辑运算和关系运算的规则 2.学会正确地使用关系表达式和逻辑表达掌握if-else语句的使用方法 3.掌握if_else

MiS603开发板 第四章 流水灯实验

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ MiS603开发板 第四章 流水灯实验 关于流水灯,网上有太多的例子了.其实只要掌握上面分频计数的技巧,设计流水灯是件极其简单的事情.从

实验四—多分支结构及本章总结

一. 本次课学习到的知识点 1.字符型变量类型名char及字符型变量oP 2..字符输入函数getchar()功能为将输入的一个字符,赋值给字符型变量 3..逻辑运算符:逻辑非!,逻辑与&&,逻辑或|| 4..字符型数据的输入和输出:字符型数据的输入输出可以调用函数scanf().printf()和getchar().putchar() 函数getchar()和putchar()只能处理单个字符的输入和输出 5.switch语句:可以处理多分支选择问题.break语句的三种使用方法 6.要

实验四:分支结构

一.实验内容 1. 本题要求编写程序,输入10个字符,统计英文字母.空格或回车.数字字符和其他字符的个数. 2. 有3个整数a.b.c,由键盘输入,输出其中最大的数. 3. 输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计各等级成绩的个数.成绩等级分为五级,分别为A(90~100).B(80~89).C(70~79).D(60~69)和E(0~59).试编写相应程序. 4. 输入五级制成绩(A~E),输出相应的百分制成绩(0~100)区间,要求使用switch语句.例如,输入A,输出9

Delphi基本之pascal语法(第四章.循环结构程序设计)

第四章.循环结构程序设计 一.FOR语句格式:1.FOR <循环变量>:=<初值> TO <终值> DO <语句>: 2.FOR<循环变量>:=<终值> DOWNTO <初值> DO <语句>.[例1]:输入10个数,求最大值.最小值.和.及平均值. PROGRAM ten(input,output);VAR a,s,max,min,avg:real; i:integer;BEGIN write('please

实验四——多分支结构及本章总结

1.  本次课学习到的知识点: !:非 &&:与 ||:或 (1)!a:如果a为“真”,则结果为“假”:如果a为“假”,则a为“真”. (2)a&&b:当a和b都为“真”时,则结果为“真”:否则为“假”. (3)a||b:当a和b都为“假”时,结果是“假”:否则为“真”. 2. 实验过程中遇到的问题及解决方法: (1)写代码时经常会忘记一些代码的组合需要查书或上网查才可以完成. (2)有一些细小的错误会导致代码无法正常运行,写代码的时候需要仔细. 3. 实验心得体会及本章学

第四章 选择结构(二)

一.本章目标 掌握switch选择结构 能够综合运用if选择结构和switch选择结构解决问题 二.内容 1 swith 选择结构 1.1 为什么使用switch选择结构 问题: 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部 如果获得第三名,将奖励移动硬盘一个 否则,不给任何奖励 public class Compete { public static void main(String[] args) { int ming

Java基础第四章(选择结构二)

一.switch选择结构 1.switch 语法 switch(表达式){ case 常量1: //代码块1 break; case 常量2: //代码块2 break; default: //代码块n break;} 二.结构选择总结: 1.if: if(条件) {代码块 //条件成立时需要执行的代码} 2.if-else选择结构 if(条件){代码块}else{代码块] 3.多重if选择结构 if(条件){代码}else if(条件2){代码2}else{代码3} 4.嵌套if选择结构 if