c语言实验报告Word格式.docx

上传人:b****2 文档编号:5187658 上传时间:2023-05-04 格式:DOCX 页数:38 大小:254.27KB
下载 相关 举报
c语言实验报告Word格式.docx_第1页
第1页 / 共38页
c语言实验报告Word格式.docx_第2页
第2页 / 共38页
c语言实验报告Word格式.docx_第3页
第3页 / 共38页
c语言实验报告Word格式.docx_第4页
第4页 / 共38页
c语言实验报告Word格式.docx_第5页
第5页 / 共38页
c语言实验报告Word格式.docx_第6页
第6页 / 共38页
c语言实验报告Word格式.docx_第7页
第7页 / 共38页
c语言实验报告Word格式.docx_第8页
第8页 / 共38页
c语言实验报告Word格式.docx_第9页
第9页 / 共38页
c语言实验报告Word格式.docx_第10页
第10页 / 共38页
c语言实验报告Word格式.docx_第11页
第11页 / 共38页
c语言实验报告Word格式.docx_第12页
第12页 / 共38页
c语言实验报告Word格式.docx_第13页
第13页 / 共38页
c语言实验报告Word格式.docx_第14页
第14页 / 共38页
c语言实验报告Word格式.docx_第15页
第15页 / 共38页
c语言实验报告Word格式.docx_第16页
第16页 / 共38页
c语言实验报告Word格式.docx_第17页
第17页 / 共38页
c语言实验报告Word格式.docx_第18页
第18页 / 共38页
c语言实验报告Word格式.docx_第19页
第19页 / 共38页
c语言实验报告Word格式.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言实验报告Word格式.docx

《c语言实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《c语言实验报告Word格式.docx(38页珍藏版)》请在冰点文库上搜索。

c语言实验报告Word格式.docx

f4));

运行结果:

③#include<

{floatf=13.8;

intn;

n=(int)f%3;

printf(“n=%d\n”,n);

运行结果:

3.输入并运行以下程序:

#include<

voidmain()

{inti=8,j=10,m,n;

m=++i;

n=j++;

printf(“%d,%d,%d,%d\n”,i,j,m,n);

}

分别作以下改动并运行:

①将程序改为:

{inti=8,j=10;

printf(“%d,%d\n”,i++,j++);

②在①的基础上,将printf语句改为:

printf(“%d,%d\n”,++i,++j);

③再将printf语句分别改为:

printf(“%d,%d,%d,%d\n”,i,j,i++,j++);

printf(“%d,%d,%d,%d\n”,++i,++j,i,j);

④程序改为:

main()

{inti=8,j=10,m=0,n=0;

m+=i++;

n-=--j;

printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);

4.请将下列给出的两个程序段分别输入计算机后,分析其运行结果:

①voidmain()

{intnum;

num=32767;

printf(“num=%d\n”,++num);

②voidmain()

{inta=-2;

printf(“%d,%d\n”,a,a--);

3、实验小结与体会

1.经过此次实验,基本掌握C语言数据类型以及变量的定义和赋值、掌握运算符的种类、运算优先级和结合性、掌握不同类型数据间的转换和运算及编辑、编译、连接和运行的过程。

2.在实验中常常因为符号的遗漏而导致程序执行不了,同时寻找错误也是一个极需耐心的过程。

3.制作C语言数据类型表,方便查询。

实验二、输入输出函数的使用

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

1.上机输入以下程序:

#include<

voidmain()

{

inta,b;

floatd,e;

charc1,c2;

doublef,g;

longm,n;

unsignedintp,q;

a=61;

b=62;

c1='

a'

;

c2='

b'

d=3.56;

e=-6.87;

f=3157.890121;

g=0.123456789;

m=50000;

n=-60000;

p=32768;

q=40000;

printf("

a=%db=%d\nc1=%cc2=%c\nd=%6.2fe=%6.2f\n"

a,b,c1,c2,d,e);

f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%x\n"

f,g,m,n,p,q);

}

运行此程序并分析结果。

2.键盘输入与屏幕输出练习

问题1:

要使下面程序的输出语句在屏幕上显示1,2,34,则从键盘输入的数据格式应为以下备选答案中的哪一个?

main()

{

chara,b;

intc;

scanf("

%c%c%d"

&

a,&

b,&

c);

printf("

%c,%c,%d\n"

a,b,c);

A)1234B)1,2,34

C)’1’,’2’,34D)1234

答案:

选D

问题2:

与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示1234,则应修改程序中的哪条语句?

怎样修改?

回答:

只需修改第7行的语句,修改后:

printf("

%c%c%d\n"

问题3:

要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?

回答:

只需修改第6行语句,修改后:

%c,%c,%d"

问题4:

要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为’1’,’2’,34,则应修改程序中的哪条语句?

回答:

修改第7行语句,修改后:

'

%c'

'

%d\n"

3.编程:

由键盘输入学生三门课(英语、数学和程序设计)成绩,计算并输出总成绩、平均成绩。

【编程解析】

(1)程序的输入与输出:

输入三门课的成绩English、math、program,输出总成绩sum及平均成绩average。

(2)数据结构:

intEnglish,math,program,sum;

floataverage;

(3)

解决问题的关键算法:

求总成绩:

三门课成绩相加;

求平均成绩:

总成绩除以3。

{

intenglish,math,program,sum;

floataverage;

Enterthescoreofenglish,mathandprogram:

\n"

);

%d%d%d"

english,&

math,&

program);

sum=english+math+program;

average=sum/3.0;

sum=%d\t"

sum);

average=%5.1f\n"

average);

三、实验小结与体会

1.初步掌握数据基本的输入输出方法,认识几种基本常用的格式转换符。

2.初步学会将程序图转化为c语言程序。

实验三:

选择结构程序设计

【实验目的】

1.了解C语句表示逻辑量的方法,0代表假和1代表真;

2.正确使用关系表达式和逻辑表达式表达条件。

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

1.有一个函数,定义如下。

用分支结构编写一程序,根据用户输入的自变量

的值,计算函数值。

【参考源程序】

#include"

stdio.h"

{floatx;

pintf(“inputx:

\n”);

scanf(“%f”,&

x);

if(x<

0.0)

printf(“y=0\n”);

elseif(x>

=0.0&

x<

=50.0)

printf(“y=%f\n”,x);

else

printf(“y=%f\n”,x*x);

2.编写一个程序,要求输入一个字符并判断它是字母字符、数字字符、还是其他字符。

程序要求输入一个字符ch。

程序要求输出字符的类型,即字母(alpha)、数字(numeric)或其他字符。

charch

(3)解决问题的关键算法:

判断字符的类别:

若字符在’a’到’z’之间或者在’A’到’Z’之间,则字符为字母字符;

若字符在'

0'

到'

9'

之间,则为数字字符;

否则,为其他字符。

【算法流程图】如图2-3所示。

charch;

Enterancharacter:

"

%c"

ch);

if(ch>

='

ch<

z'

||ch>

A'

Z'

%cisanalpha\n"

ch);

else

if(ch>

%cisanumeric\n"

%cisothercharacter\n"

程序运行结果如下:

或者

3.用switch语句编写程序:

某托儿所收2岁到6岁的孩子,2岁、3岁孩子进小班(Lowerclass);

4岁孩子进中班(Middleclass);

5岁、6岁孩子进大班(Higherclass)。

编写程序(分别用switch语句和IF语句两种方式编程),输入孩子年龄,输出年龄及进入的班号。

如:

输入:

3,输出:

age:

3,enterLowerclass。

intage;

Entertheageofchild(2~6):

%d"

age);

switch(age)

case2:

case3:

printf(“age:

%d,enterlowerclass”,age);

break;

case4:

%d,entermiddleclass”,age);

case5:

case6:

printf(“age:

%d,enterhigherclass”,age);

default:

printf(“theageerror\n”);

4.设计作业

输入整数a和b,若a2+b2大于100,则输入a2+b2百位以上的数字,否则输出两数之和。

源代码如下:

inta,b;

%d%d"

b);

if(a*a+b*b>

100)

printf("

%d\n"

(a*a+b*b)/100);

elseprintf("

a+b=%d\n"

a+b);

或者:

1.基本掌握了关系表达式和逻辑表达式,。

2.掌握了if语句,学会使用if-else语句设计双分支和多分支结构程序;

掌握了switch语句的特点,学会使用switch语句设计多分支结构程序。

3.熟练掌握将流程图转化为C语言程序的思想,同时在写c语言的过程中犯错频率降低。

实验四 循环结构程序设计

  1.学习循环语句for、while和do-while语句的使用方法;

  2.学习用循环语句实现各种算法

  3.进一步熟悉TC集成环境的使用方法。

【实验内容】

1.使用while循环求两个正整数的最小公倍数。

{intm,n,result;

printf(“inputtwointegers:

”);

scanf(“%d%d”,&

m,&

n);

result=m<

n?

n:

m;

while(!

(result%m==0&

result%n==0))

result++;

printf(“Theleastcommonmultipleofmandnis%d\n”,result);

2.打印500以内的“水仙花数”。

“水仙花数”是一个三位数,其各位数立方和等于该数本身。

inti,j,k,n;

for(n=100;

n<

=500;

n++)

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("

n);

3.编写一个程序,把用户输入的数据累加,直到输入零为止,输出累加的结果。

输入若干个数(正数或负数),以0结束输入。

输出输入数据的累加和。

  

floatsum,d。

(3)关键算法:

求累加和,先将sum初始化为0,每输入一个数d,判断它是否为0,若为0就跳出循环,否则将其累加到sum中。

【算法流程图】如图2-4所示。

floartsum=0,d;

Enteraserialofnumbersendedby0:

for(;

;

%f"

d);

if(d==0)break;

sum+=d;

sum=%g\n"

该程序实现了累加器的功能。

此思路可扩展到实现任意数的累加、连乘等功能。

4.编写一个程序,输入一个正整数n,求sum=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。

输入一个正整数n,输出1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。

inti,j,n,s1,sum

(3)解决问题关键算法:

求和。

采用两层循环求解,外层循环i从1到n,内层循环j从1到i。

【算法流程图】如图2-5所示。

inti,j,n,s,sum=0;

Enteraninteger:

for(i=1;

i<

=n;

i++)

s=0;

for(j=1;

j<

=i;

j++)

s+=j;

sum+=s;

print("

sum=%d\n"

【实验小结及体会】

1.基本掌握了循环语句for、while和do-while语句的使用方法,

2.能够使用循环语句进行各种算法。

3.常常遗漏表达式后面的分号,导致程序无法执行。

4.混淆continue和break语句。

实验五函数

  1.学习C语言中函数的定义和调用方法。

2.掌握通过参数在函数间传递数据的方法。

3.学习递归程序设计,掌握递归函数的编写规律。

4.熟悉包含函数调用的程序的调试方法。

5.实验目的:

掌握宏定义、宏调用,以及宏展的处理过程,掌握文件包含的概念和使用。

程序示例:

功能:

fun函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数的个数以及它们的平均值。

math.h"

{inta=0,k;

/*a保存素数之和*/

floatav;

/*av保存1000以内素数的平均值*/

for(k=2;

k<

=1000;

k++)

if(fun(k))/*判断k是否为素数*/

a+=k;

av=a/1000;

av=%f\n"

av);

fun(intn)/*判断输入的整数是否为素数*/

{inti,y=0;

for(i=2;

n;

if(n%i==0)y=1;

elsey=0;

returny;

1.编制求两数相乘的函数。

floatmul(intx,inty)

floatz;

z=x*y;

returnz;

floata,b,c;

%f%f"

c=mul(a,b);

%.2f\n"

c);

2.写两个函数,分别求两个正数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果。

两个正数由键盘输入。

inthcf(intu,intv)

inta,b,t,r;

if(u>

=v)

t=u;

u=v;

v=t;

a=u;

b=v;

while((r=b%a)!

=0)

b=a;

a=r;

returna;

intlcd(intu,intv,inth)

return(u*v/h);

intu,v,h,l;

u,&

v);

h=hcf(u,v);

hcf=%d\n"

h);

l=lcd(u,v,h);

lcd=%d\n"

l);

3.求x的n次方。

采用递归调用方法计算。

1当n=0时

xn=

x*xn-1当n>

0时

intpower(intx,intn)

if(n==0)

return

(1);

else

return(x*power(x,n-1));

intx,n;

x,&

%d**%d=%d\n"

x,n,power(x,n));

4.倒序输出26个英文大写字母。

printletter(charc)

if(c>

%c"

c--;

printletter(c);

charc='

printletter(c);

5.全局变量与局部变量,计算运行结果

inta,b=5;

inta=10,c;

c=a+b;

%d,%d,%d\n"

a,c,b);

6.定义一个带参数的宏,使两个参数的值互换。

设计主函数调用宏将a和b的值进行交换。

#defineexchange(a,b)t=a;

a=b;

b=t;

inta,b,t;

Inputtwonumbers:

exchange(a,b);

a=%d,b=%d\n"

a,b);

【实验小结和体会】

1.初步掌握C语言中函数的定义和调用方法。

2.初步掌握通过参数在函数间传递数据的方法与递归程序的设计方法,此外还学会了基本的宏定义以及其调用方法。

3.在犯被调函数处没有进行函数的原型声明、忽略参数的求值顺序等小错误后,体会到c语言的严谨,写程序时不能放松警惕。

实验六一维数组

1.掌握一维数组的定义、赋值和输入输出的方法;

2.掌握字符数组和字符串处理函数的使用;

3.学习用数组实现相关的算法(如排序、求最大和最小值、对有序数组的插入等);

1.调试程序实现功能:

青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。

inti,j,min,max;

floattemp,average=0;

floata[11];

for(i=1;

=10;

scanf("

a[i]);

=9;

min=i;

for(j=i+1;

if(a[min]>

a[j])

{

min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

}

for(i=2;

average+=a[i];

%6.2f\n"

average/8);

2.输入一串字符,计算其中空格的个数。

string.h"

charc[30];

inti,sum=0;

gets(c);

for(i=0;

strlen(c);

if(c[i]=='

sum+=1;

3.有一递推数列,满足:

f(0)=0,f

(1)=1,f

(2)=1,f(n)=f(n-1)+f(n-2)

使用数组编写程序,顺序打印

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2