《C语言程序设计》实验报告实验112.docx

上传人:b****6 文档编号:5361302 上传时间:2022-12-15 格式:DOCX 页数:7 大小:19.51KB
下载 相关 举报
《C语言程序设计》实验报告实验112.docx_第1页
第1页 / 共7页
《C语言程序设计》实验报告实验112.docx_第2页
第2页 / 共7页
《C语言程序设计》实验报告实验112.docx_第3页
第3页 / 共7页
《C语言程序设计》实验报告实验112.docx_第4页
第4页 / 共7页
《C语言程序设计》实验报告实验112.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

《C语言程序设计》实验报告实验112.docx

《《C语言程序设计》实验报告实验112.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验报告实验112.docx(7页珍藏版)》请在冰豆网上搜索。

《C语言程序设计》实验报告实验112.docx

《C语言程序设计》实验报告实验112

《C语言程序设计》实验报告(实验1-12)

  《C语言程序设计》

  实验报告

  20XX~20XX学年第二学期  

  班  级姓  名学  号指导教师

  

  实验一

  实验项目名称:

C程序的运行环境和运行C程序的方法所使用的工具软件及环境:

VisualC++一、实验目的:

  1.了解在VisualC++环境下如何xx、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。

二、预习内容:

  教材《C语言程序设计教程》第1章。

三、实验内容:

  1.在VisualC++环境下输入并运行下面的程序:

#includeintmain(){

  printf("ThisisaCprogram.\\n");return0;}

  2.在VisualC++环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序

  无语法错误,然后运行程序,并观察分析运行结果。

#includeintmain(){

  inta,b,suma=3;b=4;sun=a+b;

  print(“%d+%d=%d\\n”,a,b,sum);return0;}

  四、实验结果:

  1.运行结果(或截图):

  ThisisaCprogram.

  Pressanykeytocontinue  

  -1-

  2.

(1)改正后的源程序:

  #includeintmain(){

  inta,b,sum;  a=3;  b=4;  sum=a+b;

  printf(\return0;}

  

(2)运行结果(或截图):

  3+4=7

  五、思考题:

  1.一个C程序上机的步骤有哪些?

  答:

上级输入与xx源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。

  2.组成C程序的基本单位是函数,一个函数包括哪几个部分?

  答:

一个函数包括两部分:

分别为函数头或函数首部和函数体。

  成绩  指导教师签名  

  实验二

  实验项目名称:

数据类型、运算符和表达式所使用的工具软件及环境:

VisualC++一、实验目的:

  1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;

  3.掌握基本算术运算符及其表达式的使用方法;

  4.掌握++、--运算符、赋值运算符及其表达式的使用方法。

二、预习内容:

  -2-

  教材《C语言程序设计教程》第2章。

三、实验内容:

  1.在VisualC++环境下输入下面的程序,编译、连接、调试该程序。

  main(){

  charm,n;m=280;n=320;

  printf(“%d\\t%d\\n”,m,n);printf(“%c\\t%c\\n”,m,n);}

  2.在VisualC++环境下输入并运行下面的程序,观察分析运行结果。

#includeintmain(){

  inta=3,b=4,c=8;floatd,e;d=a+b/c;

  e=a+(float)b/c;//请将此处d改为bprintf("d=%f,e=%f\\n",d,e);}

  3.在VisualC++环境下输入并运行下面的程序,观察分析运行结果。

#includemain(){

  inta,b,c,d,i,j,m,n;a=b=c=d=3;i=a++;j=++b;m=c--;n=--d;

  printf(\}4.在VisualC++环境下输入并运行下面的程序,观察分析运行结果。

#includemain(){

  inta=4;a+=a-=a*a+a;

  printf(\}

  -3-

  四、实验结果:

  1.运行结果(或截图):

  24  64  @

  2.运行结果(或截图):

  d=,e=

  d=,e=  

  3.运行结果(或截图):

  a=4,b=4,c=2,d=2,i=3,j=4,m=3,n=2  

  4.运行结果(或截图):

  a=-32

  五、思考题:

  1.给变量命名应该注意哪些问题?

  答:

每个变量必须进行数据类型说明;  

  2.程序2的运行结果中,d和e的值为什么不同?

  答:

d的赋值语句中,除法是两个整型数字的运算,其结果没有小数位;而e中对b进行了强

  制转换为实型,所以其除法运算结果有小数位。

  -4-

  3.程序3的运行结果中,i和j的值为什么不同?

m和n的值为什么不同?

//改为程序3

  答:

i是通过后自增实现的,而后自增是先参与其他运算,后对变

  量递增;

  而j是通过前自增实现的,其是先对变量递增,后再参与其他运算。

  

  4.请分析表达式a+=a-=a*a+a的运算过程(写出运算步骤)。

  

  答:

先将a-赋值给a,再将a+a赋值给a。

  

  成绩  指导教师签名  

  -5-

  实验三

  实验项目名称:

简单的输入输出及顺序程序设计所使用的工具软件及环境:

VisualC++一、实验目的:

  1.掌握整型、实型与字符型数据的正确输入方法(scanf函数的使用);2.掌握整型、实型与字符型数据的正确输出方法(printf函数的使用);3.掌握编写顺序程序的方法。

二、预习内容:

  教材《C语言程序设计教程》第3章。

三、实验内容:

  1.编写C程序,按下列公式计算并输出S的值,其中a和b的值有键盘输入。

  smain{inta,b;floats;

  scanf(“%d,%d”,&a,&b);s=*a*b/(a+b)/(a+b);printf(“s=%f\\n”,s);}

  2ab2(ab)①输入并调试。

  ②将scanf函数改为scanf(“%d%d”,&a,&b);再编译,运行。

③观察结果。

  2.在VisualC++环境下输入并运行下面的程序,观察分析程序运行过程及结果。

#includeintmain(){

  inta,b,sum;

  printf(\请输入第一个整数:

\scanf(\

  printf(\请输入第二个整数:

\scanf(\sum=a+b;

  printf(\}

  3.设圆半径r=,编写程序求圆周长、圆面积和圆球的体积。

要求用scanf语句输入半径,输出时取小数点后两位。

  -6-

  四、实验结果:

  1.输入数据4,5输入修改后的数据运行结果45s=字符控制串中没有除说明符以外的其他字符,所以输入时可以通过空格分隔4↙5↙s=字符控制串中没有除说明符以外的其他字符,所以输入时可以通过回车分隔运行结果s=原因字符控制串中有“,”,所以输入时必须有原因“,”

  2.运行结果(或截图):

  请输入第一个整数:

1请输入第二个整数:

21+2=3

  

  3.

(1)程序中用到的变量(类型)

  单精度浮点数

  

(2)算法(用伪代码描述或自然语言)

  c=2*pi*r;s=pi*r*r;v=4*(pi*r*r*r)/3;  

  (3)源程序清单

  #includeintmain()#definepi{floatr,c,s,v;

  -7-

  }

  printf(\请输入圆的半径:

\scanf(\c=2*pi*r;s=pi*r*r;

  v=4*(pi*r*r*r)/;

  printf(\

  (4)运行结果(或截图)

  请输入圆的半径:

  c=,s=,v=

  五、思考题:

  scanf(“%d,%d”,&a,&b)与scanf(“%d%d”,&a,&b)输入数据的方式有什么不同?

从两种输入方式的对比中你得到什么启发?

  答:

第一种输入方式用户必须以“,”分隔,而第二者可用空格、回车分隔,用户在不知情的情况

  下,很难知道用“,”分隔输入的数据。

所以编程人员可以在scanf语句前用printf语句进行注释,让用户知道用什么来分隔输入的数据。

  成绩  指导教师签名  

  -8-

  实验四

  实验项目名称:

选择结构程序设计所使用的工具软件及环境:

VisualC++一、实验目的:

  1.正确使用关系运算符和关系表达式;2.正确使用逻辑运算符和逻辑表达式;3.熟练使用if语句实现选择结构程序;

  2.熟练使用switch语句实现多分支选择结构程序。

二、预习内容:

  教材《C语言程序设计教程》第4章。

三、实验内容:

  1.下面程序的功能是:

输入学生成绩,若成绩在90分以上,输出“Excellent!

”;若成绩在60—89分之间,输出“Pass!

”;若成绩在60分以下,输出“Fail!

”。

请将程序补充完整,并上机运行程序。

  #include  intmain()  {

  intscore;

  printf("请输入分数(0--100):

");  scanf("%d",&score);

  if(score>100||score=90  )printf("Excellent!

\\n");  elseif(  score>=60  )printf("Pass!

\\n");  elseprintf("Fail!

\\n");  }

  运行该程序4次,分别输入4个不同的数据,对应4种不同的情况,记录运行结果:

111输入数据206199

  Input运行结果Fail!

Pass!

Excellent!

Error!

  2.有如下分段函数:

  x1xy2x11x10

  3x11x10请输入x的值,求解对应的y值。

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

90-100

  -9-

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

用switch语句写。

  四、程序中所用的变量及其类型:

  2.

  变量:

x、y;

  数据类型:

都为单精度浮点数

  3.

  变量:

score数据类型:

整型

  五、算法(用伪代码或自然语言描述):

  2.if(x>=10)

  printf(\

  elseif(x>=1)

  printf(\

  else

  printf(\

  3.

  switch(score/10){case10:

  printf(\break;case9:

  printf(\break;case8:

  printf(\break;

  case7:

  -10-

  printf(\break;case6:

  printf(\break;default:

  printf(\

  }

  六、源程序清单:

  2.

  #includeintmain(void){floatx,y;

  printf(\请输入一个x:

\scanf(\if(x>=10)

  printf(\

  elseif(x>=1)

  printf(\

  else

  printf(\

  return0;

  }  3.

  #includeintmain(void){

  intscore;

  -11-

  printf(\请输入一个成绩:

\scanf(\

  switch(score/10){case10:

  printf(\break;case9:

  printf(\break;case8:

  printf(\break;case7:

  printf(\break;case6:

  printf(\break;default:

  printf(\

  }

  return0;

  }  

  -12-

  七、实验结果:

  2.运行结果(执行程序3次,分别输入不同的3个数,对应3种不同的情况):

  输入数据211-5运行结果

  -3.运行结果(执行程序5次,分别输入5组不同的数据,对应5种不同的情况):

  输入数据运行结果99A80B

  成绩  指导教师签名  

  70C62D59E

  -13-

  实验五

  实验项目名称:

简单循环程序设计所使用的工具软件及环境:

VisualC++一、实验目的:

  1.掌握循环程序的基本结构;

  2.熟练掌握while、do—while及for语句,并会用来编写循环结构程序。

二、预习内容:

  教材《C语言程序设计教程》第4章。

三、实验内容:

  1.编写一个程序,计算并输出数列:

1,3,5,,2n-1,的前几项之和,其中n键盘输入。

要求分别用3种循环语句实现。

方法1:

用for语句实现。

main

  {longs,n,k,i;

  scanf(“%ld  “,&n);k=2*n-1;s=0  ;

  for(i=1;i=1;j--)//此处for循环为求最大公约数{

  if(i%j==0)greatest=j;else  ;

  if(k%greatest==0){

  printf(\和%d的最大公约数为%d!

\\n\break;}else;}

  least=i*k/greatest;

  printf(\和%d最小公倍数为%d!

\\n\

  六、源程序清单:

  2.

  #includeintmain(void){

  inti,k,j,m,least,greatest;//i,k存储的是两个正整数,least为最小公倍数,greatest

  为最大公约数

  printf(\请输入两个正整数(中间以空格分隔):

\scanf(\

  for(j=i;j=1;j--)//此处for循环为求最大公约数{

  if(i%j==0)  greatest=j;else  ;

  -15-

  if(k%greatest==0){

  printf(\和%d的最大公约数为%d!

\\n\break;}else  ;}

  least=i*k/greatest;

  printf(\和%d最小公倍数为%d!

\\n\

  return0;}

  七、实验结果:

  1.在下表中写出输入的数据及其运行结果:

  输入数据运行结果方法1121+3++23=144方法2121+3++23=144方法3121+3++23=144

  2.运行结果(或截图):

  请输入两个正整数(中间以空格分隔):

3612

  36和12的最大公约数为12!

36和12最小公倍数为36!

  成绩  指导教师签名  

  -16-

  实验六

  实验项目名称:

多层循环程序设计及break、continue语句在循环程序中的应用所使用的工具软件及环境:

VisualC++一、实验目的:

  1.掌握多层循环程序的执行过程及设计方法;

  2.掌握break及continue语句在循环程序中的使用方法。

二、预习内容:

  教材《C语言程序设计教程》第4章。

  三、实验内容:

  1.百马百担问题。

有100匹马,驮100担。

大马驮3担,中马驮2担,两个小马驮1担。

问大、中、小马各多少?

  2.编程输出100以内的所有素数。

  3.编程输出所有水仙花数(所谓“水仙花数”,是指一个3位数,其各位数字的立方和等于该数本

  333

  身,例如,153=1+5+3,所以153是一个水仙花数)。

  四、程序中所用的变量(类型及其初值):

  1.变量x,y,z均为整型变量,均未赋予初值

  2.整型变量x,y,均未赋予初值

  3.整型变量i,m,n,

  n初值为0,m、n未赋予初值

  五、算法(用伪代码或自然语言描述):

1.for(x=0;xintmain(void)

  -18-

  {  }  2.

  #includeintmain(void){  

  inti,j;

  for(i=1;i<=100;i+=1){  

  for(j=2;j<=i;++j){

  if(i%j==0){  }}

  -19-

  intx,y,z;

  for(x=0;x<=20;x++){  }return0;

  for(y=0;y<=33;y++){

  z=100-x-y;

  if(z%2==0&&3*x+2*y+z/2==100)}

  printf(\大马有%d匹,中马有%d匹,小马有%d匹!

\\n\

  if(i==j)

  printf(\

  else

  break;

  

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

当前位置:首页 > 高等教育 > 其它

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

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