实验报告二厦门理工学院C语言选修课上机实验-实验4-循环结构
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
20
积分
还剩页未读,继续阅读
关 键 词:实验
报告
厦门
理工学院
语言
选修课
上机
循环
结构
资源描述:
《高级语言程序设计》实验报告
实验序号:2 实验项目:数据类型、运算符和表达式
学 号
姓 名
叶志伟
专业、班级
09机制2
实验地点
1-511
指导教师
胡亮
实验时间
3.15
一、实验目的及要求
1. 掌握C基本数据类型的基本概念、基本属性。
2. 学会如何书写一个整型、字符型、实型常量。
3. 掌握C算术运算符的基本概念、基本属性、运算规则。
二、实验设备(环境)及要求
使用Visual C++ 6.0;windows系列操作系统的环境。
三、实验内容与步骤
1.输入下列源程序,进行修改、编译、连接和运行。
程序:main ( )
{ char c1,c2;
c1=97;
c2=98;
printf("%c,%c\n",c1,c2);
printf("%d,%d\n",c1,c2);
}
运行结果是:
两行结果的不同是由什么引起的:
程序定义了输出的类型,第一个输出字符型,另一个输出整型。
2.输入并运行下面的程序:
#includevoid main()
{
char c1,c2,c3;
c1=getchar();
c2=getchar();
c3=getchar();
putchar(c1);
putchar(c2);
putchar(c3);
}
观察以下不同输入时的输出,分析不同输出的原因。(↙ 表示回车)
(1)123↙
(2)12↙
(3)1↙
2↙
运行结果是:
分析运行结果:
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
3.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。
#includevoid main()
{
char c1,c2,c3;
c1=getchar();
putchar(c1);
c2=getchar();
putchar(c2);
c3=getchar();
putchar(c3);
}
运行结果是:
分析运行结果:
与上题不同的是程序输入字符后,立即输出。所以第三小题当输入1然后按Enter时就立即输出了。
4.输入并运行下面的程序,分析格式控制对输出的影响。
#includevoid main()
{
int a=-1,b=98;
double x=152.;
printf("a=%d,%ld,%u,%o,%x\n",a,a,a,a,a);
printf("b=%d,%5d,%-5d,%c,%5c,%-5c\\\n",b,b,b,b,b,b);
printf("x=%f,%e\n",x,x);
printf("x=%.2f,%15.2f,%-15.2f,%15.9f,%2f\n",x,x,x,x,x);
}
运行结果截图:
分析运行结果:
%d 取整型,%ld 取长整型,%u 取补码,%o 取八进制,%x 取16进制
%5d 取整型5位数补空格往右加,%-5d取整型5位数补空格往左加
%5c取字符型5位数补空格往右加,%-5c取字符型5位数补空格往左加
%f 取单精度6位小数,%e 取指数,%.2f 单精度小数取两位
%15.2f 单精度总长15位数,小数两位,%15.9f 单精度总长15位数,小数九位
%2f是把float的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,按照实际输出
5.输入并运行下面的程序:
#includevoid main()
{
int a,b;
double x;
float y;
scanf("%d,%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
}
观察以下不同输入时的输出,分析间隔符号对输入的影响。(↙ 表示回车)
(1)1,2↙
1,2↙
(2)1 2↙
1 2↙
(3)1↙
1↙
2↙
运行结果截图:
分析运行结果:
(1)1,2↙
1,2↙
通过
scanf("%d,%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
输出
(2)1 2↙
1 2↙
通过
scanf("%d,%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
输出
输入第一个1 2↙时经过scanf("%d,%d",&a,&b);printf("a=%d,b=%d\n",a,b);
输出,所以2无法识别,出现乱码。而输入第一个1 2↙时经过scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);输出。
(3)1↙
1↙
2↙
输入1↙经过scanf("%d,%d",&a,&b);printf("a=%d,b=%d\n",a,b);输出,所以b出现乱码。
6.转义字符的使用。
main()
{
int a,b,c;
a=5; b=6; c=7;
printf(“ ab c\tde\rf\n”);
printf(“hijk\tL\bM\n”);
}
运行结果截图:
7.大小写转换
main()
{
char a,b;
a=a;
b=b;
a=a-32;
b=b-32;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
运行结果截图:
【思考问题】
1、思考问题:数据类型、运算符、表达式等在C语句中充当什么成分?什么是标识符?整型、实型、字符型常量的书写法是怎样的?整型、实型、字符型变量怎样创建?(int,float,char)字符串怎样表示?如何求表达式的值?混合表达式的求值规则是怎样的?
四、分析与讨论
做完以后发现自己还是很多不会的,知识应该再巩固。
成 绩
教师签名:
日期:
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:实验报告二厦门理工学院C语言选修课上机实验-实验4-循环结构
链接地址:https://www.renrendoc.com/p-79445632.html