• 心得体会
  • 办公文秘
  • 报告总结
  • 致辞讲话
  • 条据书信
  • 合同范本
  • 宣传用语
  • 导游词大全
  • 党团范文
  • 毕业大全
  • 个人写作
  • 其他范文
  • 工作总结
  • 工作计划
  • 党建材料
  • 发言稿
  • 讲话稿
  • 演讲稿
  • 述职报告
  • 脱贫攻坚
  • 谈话记录
  • 党课下载
  • 主题教育
  • 对照材料
  • 自查报告
  • 观后感
  • 读后感
  • 事迹材料
  • 策划方案
  • 当前位置: 工作范文网 > 范文 > 办公文秘 > 正文

    顺序结构程序设计-C语言程序实验报告

    时间:2020-10-23 09:01:18 来源:工作范文网 本文已影响 工作范文网手机站

    第 PAGE 1 页

    安 徽 工 程 大 学

    高级语言程序设计 实 验 报 告

    班级 姓名 同组者 / 成绩

    日期 2019.09.30 指导教师

    实验名称 顺序结构程序设计

    实验目的

    掌握数据的输入/输出方法,能正确使用有关格式转换符。

    掌握顺序结构程序中语句的执行过程。

    掌握顺序结构程序的设计方法。

    实验内容

    P47页第一个程序的作用是依次输入2个整数,计算并输出这2个整数之差。

    分析程序,若运行时输出:200,160<回车>,预期结果是多少?

    上机运行该程序,查看程序运行结果是否符合题目要求。如果不符合,请分析原因并修改程序,直至符合要求为止。

    P47页第二个程序用于实现按下列公式计算并输出s1和s2的值:s1=3/(a+b)2,s2=ab/(a+b)3,其中a,b为整型数据。

    根据题意修改上述程序,并进行调试,直到正确为止。

    在(1)的基础上,将“scanf("%d,%d",&a,&b);”改为“scanf("%d%d",&a,&b);”后再编译、连接、运行。

    分析P47页第三个程序,写出预期结果,然后输入调试,查看运行结果与预期结果是否一致,并分析其原因。

    编程实现下列功能并上机调试运行。

    设圆半径为r,求圆周长和面积。要求用scanf函数输入数据,输出时取小数点后两位。

    输入一个3位十进制整数,分别输出百位、十位以及个位上的数。

    从键盘输入一个带两位小数的实数,将其整数部分和小数部分分离后输出。

    用getchar函数读入两个字符,然后分别用putchar和printf函数输出这两个字符。

    *思考题:

    5. 若实验内容1的程序改为P48页第一个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。

    6.若实验内容1的程序改为P48页第二个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。

    7.在实验内容2的基础上若把程序第7行语句“s=3/(a+b)*(a+b)”改为“s=3.0/[(a+b)*(a+b)],”然后编译、连接和运行。查看会出现什么结果,并分析原因。

    算法流程图或实验步骤(可根据需要增删、修改)

    1.(1)算法流程图:

    原程序:

    #include <stdio.h>

    void main ( )

    {

    float a, b, c;

    printf("input a,b:");

    scanf("%d,%d",&a,&b);

    c=a-b;

    printf("c=%d\n",c);

    }

    修改后:

    #include <stdio.h>

    void main ( )

    {

    float a, b, c;

    printf("input a,b:");

    scanf("%f,%f",&a,&b);

    c=a-b;

    printf("c=%f\n",c);

    }

    或者

    #include <stdio.h>

    void main ( )

    {

    int a, b, c;

    printf("input a,b:");

    scanf("%d,%d",&a,&b);

    c=a-b;

    printf("c=%d\n",c);

    }

    (2)实验步骤:

    Files→New→Files→C++source File→文件名:program2011.c→位置:E:\123\→确定→输入代码→Buid→是→有错误→将float更换成int或者将所有的%d都更换成%f→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

    2.(1)算法流程图:

    修改后:

    #include <stdio.h>

    #include <math.h>

    void main ( )

    {

    int a, b;

    float s1,s2;

    scanf("%d,%d",&a,&b);

    s1=3/((a+b)*(a+b));

    s2=a*b/pow((a+b),3);

    printf("s1=%f,s2=%f\n",s1,s2);

    }

    替换后:

    #include <stdio.h>

    #include <math.h>

    void main ( )

    {

    int a, b;

    float s1,s2;

    scanf("%d%d",&a,&b);

    s1=3/((a+b)*(a+b));

    s2=a*b/pow((a+b),3);

    printf("s1=%f,s2=%f\n",s1,s2);

    }

    (2)实验步骤:

    Files→Close Workspace→Files→New→Files→C++source File→文件名:program2021.c→位置:E:\123\→确定→输入代码→Buid→是→有错误→添加#include <math.h>→(a+b)*(a+b)更换成((a+b)*(a+b))→将(a+b)^3改成pow((a+b),3)→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

    3.(1)算法流程图:

    #include "stdio.h"

    void main ( )

    {

    short a=-1;

    unsigned short b=65534;

    printf("%d,%o,%x,%u\n",a,a,a,a);

    printf("b=%d\n",b);

    }

    (2)实验步骤:

    Files→Close Workspace→Files→New→Files→C++source File→文件名:program2031.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

    4.(1.1)算法流程图:

    #include <stdio.h>

    void main ( )

    {

    int r;

    float s,c;

    scanf("%d",&r);

    s=3.14*r*r;

    c=2.0*3.14*r;

    printf("s=%.2f,c=%.2f",s,c);

    }

    (1.2)实验步骤:

    Files→Close Workspace→Files→New→Files→C++source File→文件名:program2041.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

    (2.1)算法流程图:

    #include <stdio.h>

    int main()

    {

    int a,b,c,S;

    printf("请输入一个三位数\n");

    scanf("%d",&S);

    a=S/100;

    b=(S/10)%10;

    c=S%10;

    printf("该三位数百位为%d,十位为%d,个位为%d\n",a,b,c);

    return 0;

    }

    (2.2)实验步骤:

    Files→Close Workspace→Files→New→Files→C++source File→文件名:program2042.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

    (3.1)算法流程图:

    #include <stdio.h>

    int main()

    {

    float s,b;

    int a;

    scanf("%f",&s);

    a=s;

    b=s-a;

    printf("%.2f=%d+%.2f",s,a,b);

    }

    (3.2)实验步骤:

    Files→Close Workspace→Files→New→Files→C++source File→文件名:program2043.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

    (4.1)算法流程图:

    #include <stdio.h>

    int main( )

    {

    char c1,c2;

    printf("请输入两个字符c1,c2:");

    c1=getchar( );

    c2=getchar( );

    printf("用putchar语句输出结果为:");

    putchar(c1);

    putchar(c2);

    printf("\n");

    printf("用printf语句输出结果为:");

    printf("%c %c\n",c1,c2);

    return 0;

    }

    (4.2)实验步骤:

    Files→Close Workspace→Files→New→Files→C++source File→文件名:program2044.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

    *思考题

    5.(1)算法流程图:

    #include <stdio.h>

    void main ( )

    {

    char a, b, c;

    printf("input a,b:");

    scanf("%c,%c",&a,&b);

    c=a-b;

    printf("c=%d\n",c);

    }

    (2)实验步骤:

    Files→Close Workspace→Files→New→Files→C++source File→文件名:program2051.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

    6.(1)算法流程图:

    #include <stdio.h>

    void main ( )

    {

    char a, b, c;

    printf("input a,b:");

    scanf("%c,%c",&a,&b);

    c=a+b;

    printf("c=%d\n",c);

    }

    (2)实验步骤:

    Files→Close Workspace→Files→New→Files→C++source File→文件名:program2061.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

    (1)算法流程图:

    #include <stdio.h>

    #include <math.h>

    void main ( )

    {

    int a, b;

    float s1,s2;

    scanf("%d%d",&a,&b);

    s1=3.0/[(a+b)*(a+b)];

    s2=a*b/pow((a+b),3);

    printf("s1=%f,s2=%f\n",s1,s2);

    }

    (2)实验步骤:

    Files→Close Workspace→Files→New→Files→C++source File→文件名:program2071.c→位置:E:\123\→确定→输入代码→Buid→是→查看编译结果

    实验结果及分析

    (1)c=0

    (2)修改后的程序见上一子目算法流程图

    2.(1)修改后的程序见上一子目算法流程图

    (2)修改后的程序见上一子目算法流程图 在输入a b的值时应该有空格

    3.结果是:-1,37777777777,ffffffff,4294967295

    b=65534

    分析:%d:带符号10进制 %o:无符号8进制 %x:无符号16进制 %u:无符号10进制整数

    4.程序见上一子目算法流程图

    c=2 一致

    c=104 不一致 原因:定义字符变量用的是char,则输入5和3时,参与计算的是其对应的十进制ASCⅡ码值。5对应的十进制ASCⅡ码是53,3对应的十进制ASCⅡ码是51,所以输出a+b就等于51+53=104

    编译时出现一个错误。原因:双括号应该用(( ))而不是用【( )】

    实验体会、问题讨论

    定义何种类型,最后输出时对应的格式说明应该一致。比如int型对应%d;

    使用pow函数表示平方时,最上方应该添加#include <math.h>;

    .2f表示保留两位小数

    教师签字: 批改日期:

    说明:

    1、对于每一个实验项目,实验报告(含预习)一般应包含以下内容:

    第一部分——预习后的书面汇报。其主要内容应包含:*一、实验目的;*二、实验内容;三、算法流程图或实验步骤。实验目的和实验内容参见实验教材或老师下发的内容。

    第二部分——实验结果的书面汇报。其主要内容应包含: *四、实验结果及分析(含实验测试输入数据,实验运行结果截图,用简洁的语言总结实验,汇报是否达到实验目的);*五、实验体会、问题讨论(谈体会或感想、提出建议或意见、讨论与实验有关的且自己感兴趣的问题、回答课后思考题)。

    第三部分——附录:实验源程序。提前编写好程序,实验时调试并完善。

    2、 实验报告写在教务处下发的实验报告纸上,每次实验完成后课代表收齐统一交给老师。

    实验源程序写在单独的一个本子上,实验课时带到机房,供上机调试使用,实验教师抽查完成情况。

    有关的专题