C语言实验报告答案Word文档下载推荐.docx

上传人:b****6 文档编号:19606807 上传时间:2023-01-08 格式:DOCX 页数:41 大小:100.32KB
下载 相关 举报
C语言实验报告答案Word文档下载推荐.docx_第1页
第1页 / 共41页
C语言实验报告答案Word文档下载推荐.docx_第2页
第2页 / 共41页
C语言实验报告答案Word文档下载推荐.docx_第3页
第3页 / 共41页
C语言实验报告答案Word文档下载推荐.docx_第4页
第4页 / 共41页
C语言实验报告答案Word文档下载推荐.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

C语言实验报告答案Word文档下载推荐.docx

《C语言实验报告答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言实验报告答案Word文档下载推荐.docx(41页珍藏版)》请在冰豆网上搜索。

C语言实验报告答案Word文档下载推荐.docx

若程序有错则找到出错行修改程序。

7.连接:

若程序没有语法错误,则可按功能键F7或执行“编译”菜单中的“构件”命令或通过工具栏中的相关工具(编译工具右边工具),进行连接生成可执行文件。

8.运行程序:

按组合键“Ctrl+F5”,或通过“编译”菜单中的执行命令,或通过工具栏中的“!

”工具运行程序。

1.3实验任务

1.输入下面的程序,注意区分大小写。

#include<

stdio.()

{

printf(“Iamastudent!

”);

}

2.预测结果并上机验证

人工分析结果

实验运行结果

printf(“************\n”);

\n”);

************

Iamastudent!

3.预测结果并上机验证

#include<

inta,b,sum;

scanf(“%d,%d”,&

a,&

b);

sum=a+abs(b);

printf(“aaddbis%d”,sum);

若输入为2,8则输出为:

aandbis10

4.预测结果并上机验证

(1)main()

inta,b;

a=b=3;

printf(“a=%d,b=%d”,a,b);

(2)若将以上程序进行改写,编辑如下:

main()

a=3;

b=3.1;

题号

(1)

a=3,b=3

(2)

由此知,若赋值号左右数据类型不一致时,c语言将按赋值号左边变量类型为准。

5.现有程序如下,分析填空:

1main()

2{

3inta=1,b=2;

4printf(“%d”,(a=a+b,b=b+a));

5}

5

若将以上程序第4行进行改写,编辑如下:

printf(“%d”,a=a+b,b=b+a);

4

对比以上两程序,结果不同的原因在于输出列表原程序为逗号表达式,所以输出b=b+a的值,而修改后的仅有一个格式控制符,只能对应输出第一个表达式a=a+b。

6.若有以下程序段,分析c2的值:

intc1=2,c2;

c2=1.0c1*c1;

1

若将程序段改为:

c2=1c1*c1;

分析c2所得结果,其中的关键在于除号两端如果都是整型数据,则所得结果截断取整

7.现有程序如下:

{inta=7,b=10;

a=a+b;

b=a-b;

a=a-b;

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

}

程序运行的功能是:

交换a、b两数的值

注:

可修改a、b两数的值仔细观察。

8.现有程序如下,分析填空:

{inta=0;

a+=(a=8);

printf("

%d\n"

a);

16

9.现有程序如下,分析填空:

{

inta=2,b=5;

intm=3,n;

doublec=2.1,d=4.5;

n=am+b*c-dm;

printf(“%d”,n);

9

10.现有程序如下,分析填空:

Main()

{intx=1,y=2;

printf(“%d%d\n”,++x,y++);

22

11.现有程序如下,分析填空:

{intx,y,z=0;

x=y=1;

z+=x+=y;

x=z++;

y=++x;

z=x+++y;

printf(“x=%d,y=%d,z=%d”,x,y,z);

x=4,y=3,z=6

12.思考题:

改错题(以下程序有多处错误,上机调试。

将正确的程序记录在下方。

要求不能删减已有内容。

源程序

正确的程序应改为:

math.()

{inta,b=3;

A=3*PI*SIN(b);

STA=3*STA;

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

printf(“%d”,b);

a=3*PI*sin(b);

b=3*STA;

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

实验2顺序结构程序设计与调试

2.1实验目的

1.熟悉C语言的表达式语句、空语句和复合语句。

2.熟悉函数调用语句,尤其是各输入输出函数的调用语句。

3.熟悉顺序结构程序中语句的执行过程。

4.熟悉程序的跟踪调试和变量值的监视。

5.能设计简单的顺序结构程序。

2.2实验预习

1.熟悉下列函数:

putchar、getchar、printf、scanf

2.了解顺序结构程序的执行过程。

3.了解程序的跟踪调试和变量值的监视并能够熟练操作。

单步跟踪调试(逐条语句跟踪调试):

(1)可按功能键F7进行,要监视某变量的值时,就按Ctrl+F7键,然后输入相应的

变量名,就可以在监视消息窗口中查看到该变量的值。

(2)也可逐段运行程序,即每次运行若干条语句。

首先利用Ctrl+F8键在各行光标

处设置若干断点,然后按Ctrl+F9键从程序的第一条语句运行到设置的第一个断

点,再按Ctrl+F9键从设置的第一个断点运行到设置的第二个断点。

4.了解顺序结构程序的一般构成。

2.3实验任务

1.若有程序

{inti,j;

scanf("

i=%d,j=%d"

&

i,&

j);

i=%d,j=%d\n"

i,j);

要求给i赋5,给j赋10,则应该从键盘输入i=5,j=10

2.华氏温度,要求输出摄氏温度,公式为:

C=。

要求输出结果保留到小数点后两位。

已知程序段中有三处错误,由注释语句**********found**********提示下一条语句有错误,请修改程序中的错误并记录程序运行结果。

错误原因是

正确语句是

{floatf,c;

clrscr();

**********found

(1)**********

scanf("

%d"

f);

**********found

(2)**********

c=59(f-32);

**********found(3)**********

printf("

f=%f,c=%f\n"

c,f);

Scanf语句中是地址列表

f);

缺少运算符

c=59*(f-32);

输出表列用英文逗号分隔

t=%.2f,f=%.2f\n"

3.已知程序功能是通过用户输入三角形三边,求取三角形面积。

填空,将程序补充完整。

求取公式为;

S=(a+b+c)2area=sqrt(s*(s-a)*(s-b)*(s-c))

人工填空

上机填空

{floata,b,c,s,area;

clrscr();

%f,%f,%f"

b,&

c);

(2);

area=sqrt(3);

*库函数sqrt的含义是开平方*

area=%f\n"

area);

math.h>

S=(a+b+c)2

(s*(s-a)*(s-b)*(s-c))

4.单步跟踪下面程序的执行,每执行一条语句就查看各变量的值。

运行时输入一个三位的整数。

单步跟踪程序时填写下表,同时分析程序的功能。

#include”stdio.()

{intn,x1,x2,x3,y;

printf(“pleaseinputnumbern”);

scanf(“%3d”,&

n);

x1=n100;

x2=n10%10;

x3=n%10;

y=x3*100+x2*10+x1;

printf(“y=%3d”,y);

n

X1

X2

X3

y

程序的功能是:

将输入的3位整数逆序排列

5.#include<

stdio.()

{charch;

  ch=getchar();

putchar(ch);

运行时如果从键盘输入数据98,你预测的输出结果是

实际的输出结果为9

原因在于getchar()只能接收单个字符,数字也当字符处理

6.#include<

{inta,b,c;

  scanf(“%d,%o”,&

c=a*b;

printf(“%d,%o\n”,c,c);

运行时如果输入数据:

12,12

你预测的结果是,实际的输出结果是。

7.#include<

{intx,n1,n2,n3,y;

%3d"

&

x);

n1=x100;

n2=x10%10;

n3=x%10;

y=n3*100+n2*10+n1;

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

上述程序在运行时如果从键盘输入数据8265,则x的值为_826_;

输出的结果为628,在变量n1、n2、n3中,_n1_是x的百位数,_n2_是x的十位数,__n3_是x的个位数。

8.#include<

{inta=123,b=-45;

floatx=2.54729;

printf(“a=%d,%2d,%5d,%-5d,%+5d\n”,a,a,a,a,a);

printf(“b=%d,%2d,%5d,%-5d,%+5d\n”,b,b,b,b,b);

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

printf(“x=%-7.3f,%2.2f,%.0f\n”,x,x,x);

在下面写出程序的运行结果,每个空格用一个|_|来表示

a=|_||_||_||_|,|_|+123

b=|_||_||_||_|,|_||_|-45

x=2.547290,|_|2.547290,|_||_||_||_||_|2.55

x=2.547|_||_|,2.55,3

9.编辑程序,输入学生语、数、英三门课程成绩(考虑数据类型,整型和实型),并输出其总分和平均分。

整型:

{intc,m,e,sum;

floatave;

%d,%d,%d"

c,&

m,&

e);

sum=c+m+e;

ave=sum3.0;

printf(“sum=%d\nave=%f”,sum,ave);

实型:

{floatc,m,e,sum,ave;

ave=sum3;

printf(“sum=%f\nave=%f”,sum,ave);

实验3选择结构程序设计与调试

3.1实验目的

1.理解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。

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

3.学会运用逻辑表达式或关系表达式等表达条件。

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

5.学习跟踪调试程序,针对具体程序组织输入测试数据,观察程序运行能否得到预期的输出结果。

6.熟悉选择结构程序段中语句的执行过程。

3.2实验预习

1.熟悉逻辑运算符和逻辑表达式、关系运算符和关系表达式。

2.熟悉下列语句:

if、if-else、switch、break。

3.3实验任务

1.阅读程序,上机调试并记录程序结果。

{intx=0;

if(x==0)printf("

x=%d\n"

x);

elseprintf("

x=%d\n,x+1);

x=0

clrscr();

if(x=0)printf("

x=1

以上两题告诉了你什么:

1)c中的赋值号与等于运算符应区分。

2)若判断表达式值为0,表示假,执行else分支

2.阅读程序,上机调试并记录程序结果。

实验告诉我们

inta=4,b=3,c=5,t=0;

if(a<

b)t=a;

a=b;

b=t;

c)t=a;

a=c;

c=t;

%d%d%d\n"

a,b,c);

503

分支语句只有1条内嵌语句,与书写方式无关

3.阅读程序,上机调试并记录程序结果。

inta=5,b=4,c=3,d;

d=(a>

b>

d);

关系运算符无论有多少,总是一个个运算得结果然后参与下一个运算的。

4.若从键盘输入58,判断以下程序输出的结果。

 {

inta;

 scanf("

a);

  if(a>

50)printf("

  if(a>

40)printf("

%d"

if(a>

30)printf("

585858

5.阅读程序,上机调试并记录程序结果。

{intx=1,a=0,b=0;

switch(x)

{case0:

b++;

 case1:

a++;

  case2:

b++;

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

a=2,b=1

6.阅读程序,上机调试并记录程序结果。

{inta=13,b=21,m=0;

switch(a%3)

m++;

break;

case1:

switch(b%2)

{default:

case0:

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

m=3

7.阅读程序,上机调试并记录程序结果。

{inti=1,j=1,k=2;

if((j++||k++)&

&

i++);

%d,%d,%d\n"

i,j,k);

2,2,2

逻辑运算符不是所有的符合都可以参与运算的

8.阅读程序,并回答问题

main()

{inta,b,max,min;

%d%d"

b)

max=a;

else

max=b;

max=%d\n"

max);

问题:

a、此程序的功能是输出两数中的最大数

b、请用条件表达式语句(?

:

)修改程序使之完成相同的功能,

其语句是printf(“max=%d\n”,a>

b?

a:

b);

9.有一函数

x-1(x<

1)

y=2(x-1)(1<

=x<

10)

3x-10(x>

=10)

编程求当分别输入x的值为0.3,3.9,11时,y的值。

{floatx,y;

%f"

if(x<

y=x-1;

elseif(x<

y=2*(x-1);

y=3*x-10;

x=%f,y=%f\n"

x,y);

x=0.3时y=-0.7;

x=3.9时y=5.8;

x=11时y=23

10.编辑程序,输入一个不多于3位的正整数,要求:

a)求出它是几位数;

分别打印出每一位数字;

b)按逆序打印出各位数字,例如原数为-321,应输出-123。

{intx,a,b,c,e=0;

a=x100;

*a、b、c用于求取各个数位*

b=x%10010;

c=x%10;

e=c*100+b*10+a;

*e存储x数值的逆序排列数*

if(a>

0)*if分支用于判断x的大小,并根*

x>

100"

);

*据位数决定逆序的最终值*

elseif(b>

0)

{printf("

10<

x<

e=e10;

10"

e=e100;

e);

11.随机输入3个整型数据作为学生的课程成绩,编程实现由小到大排序输出(对比第三章编程题,比较他们的优缺点)。

{inta,b,c,e=0;

{e=a;

b=e;

c)

c=e;

if(b>

{e=b;

b=c;

3.4思考

请思考如何通过改变分支条件将多if嵌套变成无套形式,提高计算机的运算效率。

请上网搜索答案,体会程序优化的思路方式。

无具体答案。

实验4循环结构程序设计

4.1实验目的

1.掌握用while语句、do-while语句和for语句实现循环的方法。

2.理解循环结构程序段中语句的执行过程,进一步练习程序的跟踪调试技术。

3.掌握在程序设计中用循环的方法实现各种算法(如穷举法、迭代等)。

4.理解break语句和continue语句的功能和执行过程。

4.2实验预习

1.熟悉语句:

while、do-while、for、break、continue。

2.熟悉三种循环语句之间的关系和区别。

4.3实验任务

(一)while循环

1.若输入的值是5,预测结果并上机验证

main()

inti,n;

 scanf("

i=1;

while(i<

=n)  

i++;

i=%.d\n"

i);

i=6

2.若输入的值是5,预测结果并上机验证,循环执行次数是__5____,考虑若x定义为整型,程序结果是否相同___不同_______,为什么_因为要考虑到c中除法的规则

doublex,s=0;

i=1;

x=1;

{i++;

x=x+1;

 

s+=1x;

}

s=%.2f\n"

s);

s=1.45

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

当前位置:首页 > 小学教育 > 小升初

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

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