2011高级语言程序设计实验任务书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一顺序结构程序设计

一、实验目的

1. 掌握C语言中使用最多的一种语句——赋值语句的使用方法。

2. 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

二、实验的内容和步骤

1.以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。

#include

void main ( )

{ double a,b,c,s,v;

printf(input a,b,c:\n);

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

s=a*b;

v=a*b*c;

printf("%d %d %d",a,b,c);

printf("s=%f\n",s,"v=%d\n",v);

}

当程序执行时,屏幕的显示和要求输入形式如下:

input a,b,c:1.0 2.0 3.0 →此处的1.0 2.0 3.0是用户输入的数据

a=1.000000 b=2.000000,c=3.000000 →此处是要求的输出格式

s=2.000000,v=6.000000

相关知识:①检查程序错误时应注意几点:

a)有时程序中一个错误会引发一系列错误信息,工作中不应被这种情况所迷惑,改正了一些错误后应及时对源程序重新进行编译;

b)如果修改错误时增删了行,或是一个行里有多个错误,更正前面错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;

c)系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。对于警告信息同样要逐个仔细分析。除非明确认定不是问题,否则绝不能简单地认为不是错误而不予理睬。实际上,很多警告都是因为程序中确实有严重的隐含错误。

d) 在连接中发现新错误也需要仔细检查和修改程序。连接时发现的错误一般是由于函数名或外部变量名字写错,或者一些函数、外部变量没有定义引起的。系统不能对连接错误给以自动定位,只能提供有关的名字信息等。对于这类问题,可以借助编辑器的字符串查找命令进行定位。

②正确调用scanf函数和printf函数构成输入和输出语句。

2.有以下程序

#include

void main()

{ char c1,c2;

int n1,n2;

c1=getchar();

c2=getchar();

n1=c1-'0';n2= n1*10+(c2-'0');

printf("%d\n",n2);

}

程序运行时输入:12<回车>,执行后输出结果是什么?

相关知识:①getchar()函数用来输入两个字符分别赋给变量c1和c2;

②n1=c1-'0'相当于n1='1' -'0',字符1的ASCII码值比0大一,所以n1中的值为1,c2-'0'相当于'2' -'0';

③把字符串转换为多位数的算法。

3.若有以下程序

#include

void main()

{ int i,j;

int x,y;

scanf("i=%d,j=%d",&i,&j);

scanf("%d%d",&x,&y);

printf("i=%d,j=%d\n",i,j);

printf("%4d%4d\n",x,y);

}

要求给i赋值为10,j赋值为20,则应该怎样从键盘输入数字?

相关知识:①在调用scanf()函数时在格式串中若包含有格式描述符之外的字符时,则要求在输入数据时在对应的位置上输入完全匹配的字符;

②scanf()函数只包含格式描述符时可用跳格键Tab、空格和回车分隔数据;

③在调用printf ()函数时在格式串中若包含有格式描述符之外的字符时,则在输出数据时在对应的位置上输出完全匹配的字符,%d之类的格式符位置输出对应输出项的值;故输出时要注意插入适当的非格式符以便区分各个输出结果。

4. 若输入10,20,30则程序的执行结果是20,30,10 请填充程序。

# include “stdio.h”

void main( )

{ int a, b, c ; ______________;

_________________;

_________; a=b ; b=c ; __________;

printf ( "%d,%d,%d" ,a, b, c );

}

5. 计算定期存款本利之和

设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。

三:实验总结

实验二逻辑结构程序设计

一、实验目的

1. 了解C语言表示逻辑量的方法。

2. 学会正确使用逻辑运算符和逻辑表达式

3. 熟练掌握if 语句和switch语句。

4. 结合程序掌握一些简单的算法。

5. 学习调试程序。

二、实验内容和步骤

1. 源程序中包含有一些错误,调试下列程序,使之具有如下功能:输入a、b、c 三个整数,求最小值。

# include “stdio.h”

void main( )

{ int a,b,c;

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

if((a>b)&&(a>c))

if(b

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

else

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

if((a

printf("min=%d\n",a);

}

再次运行程序,输入为“2,1,3”,程序输出却是“min=2”。用单步执行的方法,马上发现变量a、b、c的值是不对的,原因是程序要求输入数据的分隔符是空格(还允许使用回车或键)。改正输入数据的分隔方式后,程序没有输出,还是用单步执行的方法,监视程序的执行过程,发现程序中条件设计有误,经过改正的程序如下:

# include “stdio.h”

void main()

{ int a,b,c;

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

if((a

printf("min=%d\n",a)

else if((b

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

else if((c

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

else

相关文档
最新文档