好文档 - 专业文书写作范文服务资料分享网站

实验2 数据类型与表达式

天下 分享 时间: 加入收藏 我要投稿 点赞

实验2 数据类型与表达式

一、实验目的:

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

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

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

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

二、实验内容

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

#include #include using namespace std;

int main( ) {

cout<<\型数据所占字节数: \

cout<<\整数23、4567890所占字节数分别为: \、\

cout<<\型数据所占字节数: \ cout<<\字符\\'s\\'所占字节数: \ cout<<\字符串\\\所占字节数: \

cout<<\字符串\\\即中央电视台\\\所占字节数: \即中央

电视台\

int n1=13;

cout<

cout<

(项目名称为lab_2_1,下同,不一一说明)

问题:

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

sizeof运算符可以获取某数据占用的空间大小,使用格式是sizeof(),, 括号中就是该运算符的操作数,既可以是数据类型关键字,也可以是数据本身 (2) 整数的占用长度与其数值大小有关吗? 答:

整数占用的长度与其值大小无关,只要是int型整数占用空间大小就是4个字节

字符串中’\\’’、’\\”’、’\\n’、’\\t’的功能各是什么? 答:

‘\\’’是一个转义字符常量,如果要在字符串中加一个 ‘ 号 ,不可以直接加‘ 号,而需要加‘ 号对应的转移字符\\’

’\\”’是一个转义字符常量,如果要在字符串中加一个” 号 ,不可以直接加” 号,而需要加” 号对应的转移字符’\\”’

’\\n’是一个转义字符常量,用于换行

’\\t’是一个转义字符常量,用于调整格式---制表,如果在两个内容之间加上一个’\\t’,两内容间会空出四个空格,代表一个制表位

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

英文字母4个字节 汉字两个字节 尾部用转义’\\0’ 字符作为字符串结束标记

课外操作:请修改上述程序,使之能输出float、double、void类型所占用字节数。有兴趣的同学,还可以阅读大课课件的“数据在计算机中的表示及运算.pdf”文档和float_unsigned项目,了解浮点数的存储形式。

2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。运行下列程序,回答相关问题: #include #include using namespace std; int main() {

char ch1,ch2; ch1='A'; ch2=ch1+32;

cout<<\的ASCII:\的ASCII:\对应的字母:

\ int i1,i2;

cout<<\字母:\后续字符=首字符+n cout<<\数字:\后续字符=首字符+n cout<<\字符间距离:\字符间距离=较大字i1='n'; i2=i1-32;

cout<<\的值:\的值:\对应的字母:\

//将字符数据赋值给整型变量

符-较小字符 }

return 0;

问题:

(1) 熟悉大小写字母、数字字符、空格等字符在ASCII表中的排列规律,它们的ASCII有什么特点? 是顺序的 A-Z 65---90 a-z 97---102 0-9 48---57

(2) 字符数据在内存中是以什么方式存储的? 用一个字节的地址空间存储

(3) 字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符”方式输出字符? 可以,用强制类型转换 如:int('A')以“整数”方式输出 char(65)“字符”方式输出 (4) 大小写字母的ASCII有什么关系?(如:’G’与’g’) ASCII码值相差32

(5) 如何由’A’、’a’分别得到后续的大写字母、小写字母? 如果想得到后续5格字符可以计算’A’+5得到

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

字符间距离可以通过计算ASCII值相减的结果得到 可以分别是该字符+5,该字符-10

(7) 说明“C”与’c’的联系与区别,能否写成”dog”、’boy’? “C”是一个字符串 ’c’是一个字符

可以写成”dog”、但不能写成’boy’,因为‘’内只能容纳一个字符 课外操作:请模仿上述程序,编程实现如下功能:

① 由’N’、’B’、’A’三个字符得到’n’、’b’、’a’三个字符?

② 将’N’、’B’、’A’三个字符后移3个位置后得到什么字符?请予输出。

参考教材p84 第6题说明,“将字符按某一规律平移”可实现字符的简单加密功能。

3、(基础题)符号常量与常变量(即用const关键字定义)的使用:请输入下列代码,然后运行程序,再按要求修改、运行程序:

要求:

(1)请将PI值修改为3.14,体会“一改全改”功能;

(2)请用“常变量”方式定义PI的值,这种方式有什么优点? 声明时可说明类型,计算结果精确

(3)请将变量area、volume的类型修改为int,程序运行结果有什么变化? 计算的面积和体积的值为整数,无小数部分,不够精确 4、(基础题)运行下列程序,体会/、%运算符的用法:

#include using namespace std; int main( ) {

int n1=7,n2=2; float f1=7.0,f2=2.0;

cout<<\整数相除,得到商数:\cout<<\整数求余,得到余数:\cout<<\正负整数相除,得到商数:\cout<<\正负整数求余,得到余数:\cout<<\两个浮点数相除,得到商数:\cout<<\浮点数除以整数,得到商数:\cout<<\整数除以浮点数,得到商数:\return 0; }

实验2 数据类型与表达式

实验2数据类型与表达式一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;3、熟悉字符常量与一般常量的定义、
推荐度:
点击下载文档文档为doc格式
5teyb11axl371qz5cno6
领取福利

微信扫码领取福利

微信扫码分享