《C语言程序设计》实验指导书答案要点Word下载.docx
- 文档编号:21145063
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:63
- 大小:78.59KB
《C语言程序设计》实验指导书答案要点Word下载.docx
《《C语言程序设计》实验指导书答案要点Word下载.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验指导书答案要点Word下载.docx(63页珍藏版)》请在冰豆网上搜索。
%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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 实验 指导书 答案 要点