实验报告_实验2 数据类型与表达式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告_实验 2 数据类型与表达式(学生学号__姓名)

一、实验目的:

1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;

2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;

3、熟悉字符常量与一般常量的定义、使用;

4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果;

5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。

二、实验内容

1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。

回答下列问题:

(1)sizeof运算符如何使用?它的操作数可以是类型关键字吗?

答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。可以。

(2)整数的占用长度与其数值大小有关吗?

答:有。

(3)字符串中’\’’、’\n’、’\t’的功能各是什么?

答:单引号,换行,水平制表。

(4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字

符?

答:1个字节;4个字节;结束符‘\0’。

(5)整数的存储形式是什么?

答:二进制补码。

2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。

回答下列问题:

(1)字符数据在内存中是以什么方式存储的?

答: ASCII码。

(2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符”

方式输出字符?

答:能,整数:”%d”,字符:”%c”。

(3)大小写字母的ASCII有什么关系?(如:’G’与’g’)

答:ASCII码相差32。

(4)如何由’A’、’a’分别得到后续的大写字母、小写字母?

答:’A+1’,’a+1.’

(5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个

字符吗?若能,如何得到?

答:两个ASCII码绝对值相减,’a’-5,’a’+10.

(6)说明“C”与’c’的联系与区别,能否写成”dog”、’boy’?

答:”C”字符串,’c’字符,能.

3、(基础题)符号常量与常变量(即用const关键字定义)的使用:

回答问题:

(1)写出用符号常量定义PI的格式;

#define PI

(2)写出用“常变量”方式定义PI值的语句。

Const float PI=;

4、(基础题)运行下列程序,体会/、%运算符的用法:

回答下列问题:

(1)运算符/的操作数有什么要求?

答:被除数不能为0.

(2)如何利用%判定整数的奇偶性?

答:整数a,使a%2,若结果为0,则为偶数,反之则为奇数

5、(基础题)先分析下列代码,再运行,体会++、--运算符的用法。

并回答下列问题:

请比较++、--运算符的前缀式与后缀式的异同点。

答:相同点:运算后变量值都会发生改变。不同点:前缀是先加减后用算,

后缀是先取变量值进行运算,后对变量值进行加减。

6、(提高题)求出下列算术表达式的值,并上机验证结果:

⏹x+a%3*(int)(x+y)%2/4 设x=,y=,a=7

验证结果:

#include<>

#include< >

int main()

{

float x;

float y;

int a;

x=;

y=;

a=7;

printf ("x+a%3*(int)(x+y)%2的运算结果?%2f/n",x+a%3*(int)(x+y)%2/4) ;

return 0;

}

⏹(float)(a+b)/2-(int)x%(int)y 设a=2,b=3,x=,y=

验证结果:

#include<>

#include<>

int main()

{

float y=;

float x=;

int a=3;

int b=2;

printf("(float)(a+b)/2-(int)x%(int)y的运算结

果?%i2f\n",(float)(a+b)/2-(int)x%(int)y );

return 0;

}

'a'+x%3+5/2-'\24' 设x=8

验证结果:

#include

<>

#include

<>

int main()

{

int x=8;

printf("'a'+x%3+5/2-'\24'运算结果?%.2d\n",'a'+x%3+5/2-'\24'); system("pause");

return 0;

}

相关文档
最新文档