《C语言程序设计》实验指导书答案要点Word下载.docx

上传人:b****5 文档编号:21145063 上传时间:2023-01-27 格式:DOCX 页数:63 大小:78.59KB
下载 相关 举报
《C语言程序设计》实验指导书答案要点Word下载.docx_第1页
第1页 / 共63页
《C语言程序设计》实验指导书答案要点Word下载.docx_第2页
第2页 / 共63页
《C语言程序设计》实验指导书答案要点Word下载.docx_第3页
第3页 / 共63页
《C语言程序设计》实验指导书答案要点Word下载.docx_第4页
第4页 / 共63页
《C语言程序设计》实验指导书答案要点Word下载.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

《C语言程序设计》实验指导书答案要点Word下载.docx

《《C语言程序设计》实验指导书答案要点Word下载.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验指导书答案要点Word下载.docx(63页珍藏版)》请在冰豆网上搜索。

《C语言程序设计》实验指导书答案要点Word下载.docx

%d+%d+%d=%d\n"

i,j,k,i+j+k);

system("

Pause"

}

2.

{inti,j;

inputi,j(not0):

//输入整数数据,以半角逗号间隔,j不为0,因为做除数

j);

%d+%d=%d\n"

i,j,i+j);

%d-%d=%d\n"

i,j,i-j);

%d*%d=%d\n"

i,j,i*j);

%d/%d=%d\n"

i,j,i/j);

3.#include<

//输入整数数据,以半角逗号间隔

if(i>

j)

{

if(j>

k)

max:

%d"

i);

elseif(i>

else

k);

}

else

if(j<

j);

4.#include<

#definepi3.14

{floatr;

inputr:

%f"

r);

circleareais:

%6.2f"

pi*r*r);

5.

{

helloworld!

6.略

实验二(第3章实验一)

理解C语言的类型系统。

写程序测试数据-2在类型char,int,unsignedint,longint,unsignedlongint中存储情况。

实验过程:

参见各种类型的存储实现描述。

string.h>

{charc='

-2'

;

//1

inti=-2;

//4

unsignedintui=-2;

longintli=-2;

unsignedlongintuli=-2;

%d\n"

sizeof(char));

sizeof(int));

sizeof(unsignedint));

sizeof(longint));

sizeof(unsignedlongint));

%c,%d,%u,%ld,%lu"

i,i,i,i,i);

实验二(第3章实验二)

了解混合类型计算中类型的转换规则。

写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。

注意unsignedint和int数据运算时类型转换的方向。

/*

*类型转换问题

*试问下面两个表达式等价吗?

*/

intmain(){

unsignedintui,uj;

ui=1;

uj=2;

if(ui<

uj)

\n%u<

%uistrue!

\n"

ui,uj);

%uisfalse!

if(ui-uj<

0)

\n%u-%u<

0istrue!

0isfalse!

pause"

return0;

}

 

不等价。

结果如下:

1<

2istrue!

1-2<

原因是1-2=-1,-1在unsignedint中的表示为

31

23

15

7

1

实验二(第3章实验三)

理解数据溢出现象。

写程序测试数据溢出,注意分别在16环境和32环境中测试。

参见【例3.3】。

实验三(第3章实验四)

char的符号问题。

写程序测试你所用的C语言编译器char符号问题的处理方案。

*这个程序验证编译器对char的解决方案,是有符号,还是无符号

intmain()

{

charc=-1;

intk;

k=c;

/*k=?

*/

if(k==255)

Thecharisunsignedchar.\n"

Thecharissignedchar.\n"

k=%d,%x"

k,k);

TC2.0和DevC++中char是有符号的

实验三(第3章实验五)

自增和自减运算符。

写程序测试++、--运算符。

main()

inti=3;

i=%d\n"

i++);

++i);

i=3

i=4

i=5

实验三(第3章实验六)

理解输入输出函数。

1.掌握输入输出函数的使用方法。

2.掌握格式字符的使用方法。

3.掌握不同数制间使用格式字符转换数据的方法。

用getchar、putchar、printf、scanf函数实现各种数据的输入和输出。

例如:

//用getchar、putchar、printf、scanf函数实现各种数据的输入和输出。

inputacharc:

charc=getchar();

putchar(c);

inti;

\ninputainteger:

i);

c=%c\n"

c);

typechar'

ssizeis%d\n"

typeint'

实验四(第4章实验)

1.学会使用逻辑运算符和逻辑表达式;

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

1.从键盘输入三个整数a,b,c,输出其中最大的数。

2.求方程ax2+bx+c=0的根,其中a,b,c由键盘输入。

有以下几种情况:

①a=0,不是二次方程;

②b2-4ac=0,有两个相等的实根;

③b2-4ac>

0,有两个不等的实根;

④b2-4ac<

0,有两个共轭复根。

3.

有一函数X(X<1)

Y=2X-1(1≤X<10)

3X-11(X>

≥10)

写一程序,输入整数X,输出Y的值。

4.给一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。

90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。

5.企业发放的奖金根据利润提成。

利润(B)低于或等于10万元时,奖金可提10%;

利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分可提成7.5%;

200000<B≤400000时,高于20万元的部分按5%提成;

400000<B≤600000时,高于40万元的部分按3%提成;

600000<B≤1000000时,高于60万元的部分按1.5%提成;

B>1000000时,高于100万元的部分按1%提成。

从键盘输入当月利润B,求应发放奖金总额。

6.从键盘任意输入一个不多于五位的正整数,

①求它是几位数;

②分别输出每一个数字;

③按逆序输出各位数字,例如原数为135,应输出531。

1.见第三版第五章作业5.4

2.见第三版教材108页

3.见第三版第五章作业5.5

4.见第三版第五章作业5.6

5.见第三版第五章作业5.8

6.见第三版第五章作业5.7

实验五(第5章实验一)

1.掌握循环的概念,学习用循环的思想来思考实际问题。

2.掌握单循环的使用方法。

1.计算

,输出其结果。

2.使用循环结构输出下列图形。

3.计算下列公式的和,要求最后一项小于10-5。

提示:

通项公式为:

4.输入30个字符,分别统计其中数字、字母及字符的个数。

5.求出Fibonacci(斐波那契)数列的前20项。

Fibonacci(斐波那契)数列的规律是:

前2项为0和1,其余各项为该项前2项之和,即0,1,1,2,3,5,8,13……。

1.

ints=0;

//试一下s不赋初值

//循环变量

for(i=1;

i<

=100;

i++)

s+=i;

1+2+...+100=%d\n"

s);

inti,j,k;

for(i=0;

=9;

for(j=0;

j<

=9-i;

j++)

"

//画空格

for(k=0;

k<

2*i+1;

k++)

//输出2i+1个数字

3.

math.h>

inti=0;

floatsum=0.0,t;

intf=1;

t=1.0/(i*i+1);

while(t>

=pow(10,-5))

{

sum=sum+f*t;

f=-f;

//符号

i++;

//项

sum=%9.6f\n"

sum);

4.

intnum=0;

intalph=0;

intch=0;

charc;

for(i=1;

=10;

c=getchar();

if(c>

='

0'

&

c<

9'

num++;

elseif(c>

a'

z'

||c>

A'

Z'

alph++;

ch++;

numberhas%d,alphhas%d,charhas%d"

num,alph,ch);

5.

longfib[20]={0,1};

for(i=2;

20;

fib[i]=fib[i-1]+fib[i-2];

F%d==%d\n"

i,fib[i]);

实验五(第5章实验二)

1.进一步学习循环的使用方法,用循环解决复杂问题。

2.掌握多重循环的使用方法及其他。

1.分别使用双循环和单循环结构计算

,并输出其结果。

2.编制程序,输出如下所示的九九乘法表。

3.输出下列所示菱形字符图形。

4.古代数学家在编写《算经》时,提出了一个不定方程问题,即著名的“百鸡问题”:

鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。

百钱买百鸡,问鸡翁、母、雏各几何?

5.求s=1+(1+2)+(1+2+3)+……,并输出其结果。

1.参见第三版第6章作业6.4

for(j=1;

=i;

%d*%d=%d"

j,i,i*j);

=8-i;

=2*i;

*"

for(j=0;

=16-2*i;

=14;

i+=4)

{j=(100-7*i)/4;

k=100-i-j;

printf("

%d,%d,%d\n"

i,j,k);

输出结果:

0,25,75

4,18,78

8,11,81

12,4,84

inti,j,t,s=0;

=5;

for(t=1;

t<

t++)

s=s+t;

s=%d"

实验六(第6章实验一)

1.掌握数组的定义方法。

2.掌握一维数组的使用方法。

1.用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行5个数。

2.求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。

3.使用数组,求出下列数列的前20项。

1,1,2,4,7,13,……

4.将一个一维数组反序放置。

a=(67,89,76,98,66),反序放置后,a=(66,98,76,89,67)

5.有10个学生一门课程成绩,使用选择排序法将成绩从高向低排序。

1.//用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行5个数。

time.h>

intmain(void)

time_tt;

inta[15];

srand((unsigned)time(&

t));

Tenrandomnumbersfrom0to99\n\n"

i<

=15;

i++)

a[i]=rand()%100;

%d,"

a[i]);

if(i%5==0)

2.求出n个学生一门课程中的最高成绩和最低成绩及高于平均成绩的人数。

#definen10//注意,宏定义define后不带分号结束符。

inta[n]={60,100,70,67,90,99,89,40,77,56};

intavg=0,num=0,sum=0,max,min;

10;

sum+=a[i];

avg=sum/n;

min=a[0];

max=a[0];

if(a[i]<

min)

min=a[i];

if(a[i]>

max)

max=a[i];

avg)

average=%d\n"

avg);

max=%d,min=%d,numberofmorethanavg=%d\n"

max,min,num);

3.//方法1:

使用数组,求出下列数列的前20项。

1,1,2,4,7,13,……

longa[20]={1,1};

longsum=0;

for(i=3;

a[i]=a[i-1]+a[i-2]+a[i-3];

1+1+2+4+7+13+......+=%d\n"

sum);

//方法2:

longsum=2;

sum+=a[i]

#definen6

inti,temp;

inta[n]={0,1,2,3,4,5};

=(n-1)/2;

temp=a[i];

a[i]=a[n-1-i];

a[n-1-i]=temp;

n;

%d"

5.//有10个学生一门课程成绩,使用选择排序法将成绩从高向低排序。

intm

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1