c语言顺序结构作用是什么,顺序结构程序设计-C语言程序实验报告

第 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

void main ( )

{

float a, b, c;

printf("input a,b:");

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

c=a-b;

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

}

修改后:

#include

void main ( )

{

float a, b, c;

printf("input a,b:");

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

c=a-b;

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

}

或者

#include

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

#include

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

#include

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 →(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

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

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

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

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

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

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

#include

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 ;

.2f表示保留两位小数

教师签字: 批改日期:

说明:

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值