实验2基本数据类型的使用.docx

上传人:b****8 文档编号:10256167 上传时间:2023-02-09 格式:DOCX 页数:8 大小:17.56KB
下载 相关 举报
实验2基本数据类型的使用.docx_第1页
第1页 / 共8页
实验2基本数据类型的使用.docx_第2页
第2页 / 共8页
实验2基本数据类型的使用.docx_第3页
第3页 / 共8页
实验2基本数据类型的使用.docx_第4页
第4页 / 共8页
实验2基本数据类型的使用.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

实验2基本数据类型的使用.docx

《实验2基本数据类型的使用.docx》由会员分享,可在线阅读,更多相关《实验2基本数据类型的使用.docx(8页珍藏版)》请在冰豆网上搜索。

实验2基本数据类型的使用.docx

实验2基本数据类型的使用

实验2:

基本数据类型的使用

实验名称:

基本数据类型的使用成绩:

实验日期:

年月日实验报告日期:

年月日

 

一、实验目的

1、掌握C语言基本数据类型(整型,实型,字符型)数据的常量表示、变量的定义和使用。

2、掌握常见格式控制字符对输出结果的控制作用。

3、了解数据溢出错误和舍入误差(以整型、实型数据为例)。

4、进一步熟悉C程序的实现过程。

二、实验内容

在TurboC下完成“源程序清单”中规定的程序题(4个)。

三、实验要求

1、实验前认真预习,自行分析4个程序题的结果,体会本次实验的目的并了解实验要求。

实验时仔细对比程序实际运行结果,认真思考并回答实验小结和思考中的问题。

2、在TurboC下完成“源程序清单”中规定的程序题。

编辑、编译、运行程序并获得程序结果;如果程序有错,记录编译、连接遇到的提示错误。

仔细思考出错原因,并更正之。

3、编制的程序必须保存在D:

\用户目录中。

注:

用户目录可以用学号或姓名拼音简写。

4、学生可以对实验程序进行修改、补充,以便上机完成自己需要的程序验证和测试。

在完成实验要求的工作外,要学会创造性的工作。

四、实验步骤、过程

1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。

(方法、命令与实验1相同)

2、启动TurboC集成开发环境。

(方法与实验1相同)

3、完成4个程序题。

(编辑、编译连接、运行程序,步骤与实验1相同)

注:

(1)仔细观察2_3,2_4两个程序的编译、连接、运行过程,系统提示错误吗?

程序运行结果有问题吗?

(2)经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。

4、退出TurboC集成开发环境,关机。

五、源程序清单、测试数据、结果。

(注释供阅读、理解程序,上机时不必输入)

1、写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。

(要求文件名:

2_1.c)

main()

{

intx=010,y=10,z=0x10;/*整型数据表示*/

charc1='M',c2='\x4d',c3='\115',c4=77,c;/*字符型数据表示*/

/*整型数据的输出*/

printf("x=%o,y=%d,z=%x\n",x,y,z);

/*数据以原进制输出,注意是否有前导0或0x*/

printf("x=%d,y=%d,z=%d\n",x,y,z);

/*数据以10进制输出,换算到10进制,结果对吗?

*/

/*字符型数据的输出*/

printf("c1=%c,c2=%x,c3=%o,c4=%d\n",c1,c2,c3,c4);

/*数据以原进制输出,注意是否有前导0或0x*/

printf("c1=%c,c2=%c,c3=%c,c4=%c\n",c1,c2,c3,c4);

/*结果都是什么字符?

,也就是说字符可以自由的表示成几种形式?

*/

printf("c1=%d,c2=%d,c3=%d,c4=%d\n",c1,c2,c3,c4);

/*看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符*/

/*字符型数据参与算术运算*/

c=c1+32;/*字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数

/*参与数学运算;结果还是一个整数-另外一个字符的ASCII码*/

printf("c=%c,c=%d\n",c,c);

/*看看这个字符是什么?

哇,'M'+32='m'了,看看ASCII码表,原来如此!

*/

}

参考结果:

x=10,y=10,z=10

x=8,y=10,z=16

c1=M,c2=4d,c3=115,c4=77

c1=M,c2=M,c3=M,c4=M

c1=77,c2=77,c3=77,c4=77

c=m,c=109

2、常见预定义的转义字符对输出的控制作用。

(要求文件名:

2_2.c)

main()

{

inta,b,c;

a=5,b=6,c=7;

printf("12345678123456781234567812345678\n");/*打印一个标尺以便检查输出结果*/

printf("%d\n\t%d%d\n%d%d\t\b%d\n",a,b,c,a,b,c);/*打印1个字符串*/

printf("c:

\\a.txt");/*打印一个文件名*/

printf("\n");

}

参考结果:

12345678123456781234567812345678

5

67

567

c:

\a.txt

3、整型数据的溢出错误。

(要求文件名:

2-3.c)

整型(int型)数据的表达范围是-32768~32767,如果最大允许值32767+1,最小允许值-32768-1,会出现什么情况?

main()

{

inta,b;

a=32767;

b=a+1;

printf("a=%d,a+1=%d\n",a,b);

a=-32768;

b=a-1;

printf("a=%d,a-1=%d\n",a,b);

getch();//获得键盘击键,起到暂停程序运行作用,目的是保留用户屏幕,便于查看结果。

}

参考结果:

a=32767,a+1=-32768

a=-32768,a-1=32767

4、实型数据的舍入误差。

(要求文件名:

2_4.c)

实型变量只能保证7位有效数字,后面的数字无意义

main()

{

floata,b;

a=123456.789e5;

b=a+20;

printf("a=%f,b=%f\n",a,b);

printf("a=%e,b=%e\n",a,b);

}

参考结果:

a=12345678848.000000,b=12345678848.000000

a=1.23457e+10,b=1.23457e+10

 

六、实验出现的问题、实验结果分析(语法错英语提示,中文翻译,原因,您的理解?

1、

2、

3、

七、实验小结和思考

(1)C语言中整型数据、一般的字符型数据分别可以以什么形式表示?

答:

整型数据可以用:

10进制、8进制、16进制表示;

一般字符型数据可以用:

字符本身(例‘M’)或转义表示。

转义表示可以用字符的8进制或16进制ASCII码值表示(例‘\115’、‘\x4d’)。

(2)程序1_1.c中c4=77,c=c4+32说明什么问题?

答:

C语言中字符型数据存储的是字符的ASCII码值(1个字节的整数),所以可以将一个整数(看作字符的ASCII码)赋值给字符变量。

本实验即允许:

c4=77。

同时,C语言字符数据可以参与算术运算,其本质是字符数据的ASCII码值(整数)参与算术运算。

本实验即允许c4+32,其结果仍然是一个整数。

再将结果看作是一个字符的ASCII码值,赋值给字符变量c,即本实验中的c=c4+32。

另外,从1_1.c可以看出小写字母ASCII码>大写字母ASCII码,同一字母小写大写相值32。

(3)程序1_1.c中c=77是否还可以写成c=0x4d,c=0115?

答:

可以,整数可以直接赋值给字符变量,即10、8、16进制形式的整数都可以赋值给字符变量。

(4)简述转义字符:

‘\n’,‘\t’,‘\b’的功能?

答:

(略,学生补充,不要也给我写略哦,^_^)

(5)可以用一个字符串表示文件的路径,请问路径的连接符‘\’在C语言中如何表示?

若要表示D:

\wubin\stu.dat这个文件,C语言如何表示?

答:

‘\’在C语言中如何表示‘\\’;C语言要表示D:

\wubin\stu.dat这个文件,应当表示为“D:

\\wubin\\stu.dat”。

(6)观察2_3,2_4两个程序的编译、连接、运行过程,系统提示错误吗?

程序运行结果有问题吗?

思考如何解决?

答:

系统不提示错误,但运行结果不是我们希望的或者说是错误的。

对2_3可以使用长整型数据类型,对2_4可以使用双精度数据类型解决。

(7)使用计算机处理数据可能出现溢出错误和舍入误差,这对我们编制程序有什么要求?

答:

要求我们根据实际对数据的需求(范围、精度)正确选择合适的数据类型。

另外,由于实数存在舍入误差,使用时要注意:

●不要试图用一个实数精确表示一个大整数,记住:

浮点数是不精确的。

●实数一般不判断“相等”,而是判断接近或近似。

●避免直接将一个很大的实数与一个很小的实数相加、相减,否则会“丢失”小的数。

●根据要求选择单精度、双精度。

(8)写出一个演示字符型数据溢出的程序。

(提示:

参考2_3.c)

答:

参考程序如下:

main()

{

chara,b;

a=127;

b=a+1;

printf("a=%d,a+1=%d\n",a,b);

a=-128;

b=a-1;

printf("a=%d,a-1=%d\n",a,b);

getch();

}

参考结果:

a=127,a+1=-128

a=-128,a-1=127

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

当前位置:首页 > 高等教育 > 文学

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

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