以下为《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语言实验报告》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。