c语言实验报告

本文由用户“lijiangao”分享发布 更新时间:2021-10-20 07:58:52 举报文档

以下为《c语言实验报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

本科生实验报告

实验课程

学院名称

专业名称

学生姓名

学生学号

指导教师

实验地点

实验成绩

二0 年 月 二0 年 月

实验1数据类型、运算符和简单的输入输出

1.输入并运行教材第三章第四题给出的程序

#include??

int?main()

{

????char?c1,?c2;//定义c1,c2为char类型

????//给c1,c2赋值

????c1?=?97;

????c2?=?98;

????printf("%c?%c\n",?c1,c2);//输出c1,c2的ASCII码对应的字符

????printf("%d?%d\n",?c1,c2);//因为c1和c2小于125,不会溢出,直接打出对应数值

????return?0;

}

运行结果:



1.1为什么会输出这些信息?

c1和c2是有符号char类型,数值上不能超过为0~127,超过127后将会从-128~0打印,形成一个圆圈○式的循环。

第一个printf将会把c1,c2数值对应的ASCII打印出来,第二个则会因为没有溢出,直接打印出对应字符。

1.2修改4,5行后会输出什么信息,为什么?:

#include??

int?main()

{

????char?c1,?c2;//定义c1,c2为char类型

????//给c1,c2赋值

????c1?=?197;

????c2?=?198;

????printf("%c?%c\n",?c1,c2);//以字符打出

????printf("%d?%d\n",?c1,c2);//以数值打出

????return?0;

}

运行结果:



原因:由于197和198已经超出了char类型的最大值,超过127后将会从-128~0打印,形成一个圆圈○式的循环。产生溢出,于是第二个printf将会打印出负值。此外,经过本人编程验证,负数在以字符打印时也具有一定规律,但是本题的197和198对应的两个负数以字符形式都为?。

1.3修改c1,c2定义从char为int c1,c2会输出什么信息,为什么?

#include??

int?main(){

????int?c1,?c2;//定义c1,c2为char类型

????//给c1,c2赋值

????c1?=?197;

????c2?=?198;

????printf("%c?%c\n",?c1,c2);//输出c1,c2的ASCII码对应的字符

????printf("%d?%d\ 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 j++);

????return?0;

}

运行结果是8,10。

因为i++这种形式整体的值是i,但这一步执行完毕后副作用使得i++;

3.4 修改3.3中的i++和j++为++i和++j后,分析结果

运行结果为9,11。

因为++i这种形式整体的值是i+1,执行完成后使得i增加1.

3.5修改printf语句为“printf (" %d,%d,%d,%d\n",i,j,i++,j++);”的结果

运行结果为8,10,8,10,原因如上。

3.6程序改为如下后编译运行,分析结果

#include?

int?main()

{

????int?i,?j,?m?=?0,?n?=?0;

????i?=?8;

????j?=?10;

????m+=?i++?;

????n-=--j;

????printf("i=?%d,j=?%d,m=?%d,n=%d\n",?i,j,?m,?n);

????return?0;

}

结果:



在m+=i++中,相当于m=m+i;i+=1,因此m=8,i=9,同理可分析得到n和j的结果。

4.假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。编写程序。计算公式为:p=(1+r)n;r为年增长率,n为年数,p为与现在相比的倍数。

4.1编写程序,编译运行,分析结果

#include?

#include?

int?main()

{

????const?double?r=0.09;

????const?int?n=10;

????printf("p=%f",pow(1+r,n));

????return?0;

}

结果为:p=2.367364。

4.2年增长率不在程序中指定,改用scanf函数语句输人,分别输入7%,8%,10%。观察结果。

程序为:

#include?

#include?

int?main()

{

????double?r;

????scanf("%lf%",&r);

????const?int?n=10;

????r/=100;

????return?0;

}

分别输出结果如下:

输入

输出



7%

p=1.967151



8%

p=2.158925



9%

p=2.367364





4.3在程序中增加printf函数语句,用来提示输人什么数据,说明输出的是什么数据。

程序如下:

#include?

#include?

int?main()

{

????double?r;

????scanf("%lf%",&r);

????const?int?n=10;

????r/=100;

????printf("r=%f\n",r);

????printf("p=%f\n",pow(1+r,n));

????return?0;

}

实验3最简单的C程序设计——顺序程序设计

学生实验 心得



学生(签名):

年 月 日



指导

教师

评语



成绩评定:

指导教师(签名):

年 月 日





[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《c语言实验报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览