第二章数据类型.
- 格式:doc
- 大小:87.00 KB
- 文档页数:11
第二章 VFP的数据表达式一、数据类型1.字符型字符型(Character,C型)通常用于储存文本信息,由字母、汉字、空格、数字、符号和标点等字符组成,宽度不能超过254字节。
若超过254字节,则请改用备注型。
例如:“abc”,“计算机”,“123”,“ID18”等。
2.货币型货币型(Currency,Y型)这种类型是专为货币数据设计的数据类型,表示方法是在数字前加一个$符号。
最多只能保留到小数点后4位,超过四位则会自动四舍五入:少于四位则会自动补零。
占8个字节的空间。
例如:money=$980.45678。
3.数值型数值型(Numeric,N型)用于表示数量,由数字0~9、+或-,以及小数点组成。
数值型数据占8个字节,长度为1~20个字节。
VFP中文版采用十进制和十六进制两种格式。
例如:98.66,0xff(前面加0x表示十六进制)。
数值型数据可采用科学计数法,如“3E2”代表“3×102”,“10e-2”代表“10×10-2”。
4.整型整型(Integer,I型)用于存储不含小数部分的数值。
是一种较小的数据类型,整数型占有内存空间4个字节。
5.浮点型浮点型(Float,F型)等价于数值型类型。
VFP出于兼容性的考虑设置了这个数据类型。
6.日期型日期型(Date,D型)用于存储日期数据。
由年、月、日三部分组成,存储格式为“YYYYMMDD”。
表示范围为{^0001/01/01}到{^9999/12/31},即公元0001年1月1日到公元9999年12月31日。
其中“^”符号表示此日期格式严格遵循YMD(year,month,day)的格式,使用日期型数据时应用大括号{}括起来。
日期型数据存储长度为8个字节。
例如:mydate={^2006/10/12}表示日期是2006年10月12日,而不是2006年12月10日。
7.时间日期型时间日期型(Date Time,T型)用于记录日期时间的数据。
第一章 C语言概述【题1.1】一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束【题1.2】以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误【题1.3】以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面【题1.4】C语言规定:在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后【题1.5】一个C语言程序时由。
A)一个主程序和若干个子程序组成B)函数组成C)若干过程组成D)若干子程序组成填空题【题1.6】C源程序的基本单位是【】【题1.7】一个C源程序中至少应包括一个【】【题1.8】在一个C源程序中,注释部分两侧的分界符分别为【】和【】【题1.9】在C语言中,输入操作是由库函数【】完成的,输出操作是由库函数【】完成的。
第二章数据类型、运算符与表达式2.1 选择题【题2.1】在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为。
A) char<int<long int<=float<doubleB) char=int <long int<=float<doubleC) char<int<long int=float=doubleD)char=int=long int<=float<double【 2.3】假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。
第2章数据类型和运算符习题及解答一.选择题。
1.下列是用户自定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语言规定用户标识符由英文字母、数字和下划线组成,且第一个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语言不允许用户将关键字作为标识符,而选项C)选项项中的int 是C语言的关键字。
语言中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语言的数据类型。
在C语言中,没有专门的逻辑型数据类型,可以用0和1来表示逻辑值。
所以,在本题的选择答案中,不应该包括逻辑型。
3.假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表示只给前面的3个成员赋值,后7个元素的值为0,所以,一共有20个字节。
4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表示时字母E或e前必须有数字,其后数字必需为整数,故B错。
5.若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含一个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。
因此,正确答案是选项B),它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。
6.下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线,排除选项C)和D)。
第二章数据类型课后习题1.下列哪些是合法的变量名?如果合法,你认为它是一个好的助记符(能提醒你它的用途)吗?(a) stock_code 合法、好的助记符(b) money$ 非法,$为非法字符(c) Jan_Sales 合法、好的助记符(d) X-RAY 非法,–为非法字符(e) int 非法,int为关键字(f) xyz 合法、不是好的助记符(g) 1a 非法,变量名必须以字母或下划线打头(h) invoice_total合法、好的助记符(i) john's_exam_mark非法,’为非法字符(j) default 非法,default为关键字2.请确定下列常量的数据类型:(a) 'x' char(b) -39 int(c) 39.99 double(d) -39.0 double3.下列哪些是合法的变量定义?(a) integer account_code ; 非法,无integer类型(b) float balance ; 合法(c) decimal total ; 非法,无decimal类型(d) int age ; 合法(e) double int ; 非法,int为关键字,不能作为变量名(f) char c ; 合法4.写出下列各小题中的变量定义:(a) 整型变量number_of_transactions和age_in_yearsint number_of_transactions, age_in_years;(b) 单精度浮点型变量total_pay,tax_payment,distance和averagefloat total_pay, tax_payment, distance, average;(c) 字符型变量account_typechar account_type;(d) 双精度浮点型变量gross_paydouble gross_pay;5. 为下列各小题写出最合适的变量定义:(a) 班级中的学生人数int number_of_students;(b) 平均价格float average_price;(c) 自1900年1月1日以来的天数int days_since_1900;(d) 利率百分比float interest_rate;(e) 本页中最常出现的字符char most_common_char;(f) 中国的人口总数(在2010年11月大约为1,339,724,852)int population_of_china;6. 假定有如下定义:int i ;char c ;下面哪些是合法的C语句?c = 'A' ; 合法i = "1" ; 非法,字符串不能赋值给整型i = 1 ; 合法c = "A" ; 非法,”A”为字符串,存储为’A’和’\0’两个字符c = '1'; 合法7. 写一个C程序,给第4题中的变量各赋一个值,然后以每行一个变量的形式显示这些变量的值。
第二章 Java 中的数据类型 本章知识要点 标识符 Java 注释 Java 数据类型 2.1 使用规范的标识符为变量命名: 2.1.1标识符命名规则: 在 Java 中,标识符用来为程序中的常量、变量、方法、类、接口和包命名 . Java 中的标识符有以下四种命名规则 :
1. 标识符由字母、数字、下划线 (_或美元符号 ($组成 . 2. 标识符的首字母由字母、下划线 (_或美元符号 ($开头,不能以数字开头 . 3. 标识符的命名不能与关键字、布尔值(true,false 和 null 相同。 4. 标识符区分大小写,没有长度限制,坚持见名知义的原则 . 2.1.2 关键字 :
关键字是 Java 语言保留的,为其定义了固定含义的特殊标识符 . 注意 :关键字全部为小写字母,程序员不能将关键字定义为标识符,否则出现编译错误 . Java 中定义的 48个关键字如下表所示 :
提示 : 见名知义的原则 : 是指在使用标识符命名时,要使用能反映被定义者含义或作用的字符。这样,其他人在阅读代码 时通过名称就可以对程序有所理解。 驼峰命名法就是当使用标识符命名时,如果是由一个或多个单词连接在一起,第一个单词以小写 字母开始,第二个单词的首字母大写或每一个单词的首字母都采用大写字母,这样的变量名看上 去就像骆驼峰一样此起彼伏,故取名。如 fileName,username.
2.2 使用注释对代码进行解释说明 注释是程序开发人员和程序阅读者之间交流的重要手段,是对代码的解释和说明。好的注释可以 提高软件的可读性,减少软件的维护成本 .
在 Java 中,提供了 3种类型的注释 : 2.2.1 单行注释 单行注释指的是只能书写一行的注释,是最简单的注释类型,用于对代码进行简单的说明 .
当只有一行内容需要注释的时候,一般使用单行注释。在 Eclipse 中默认使用” Ctrl ” + “ /” , 可以快捷实现单行注释 .
单行注释的语法 : //单行注释 在语法中 单行注释使用“ //” 开头 . “ //”后面的内容都被认为是注释 . 注意:1. 单行注释不会被编译 2.“ //”不能放到被注释代码的前面,否则这行代码会被注释。 2.2.2 多行注释 当需要多行代码注释时使用多行注释符。 在 Eclipse 中,选中一行代码默认使用“ ctrl + shift + /”快捷键可以注释多行代码,多行注 释的语法 .
/** *多行注释 */ 在语法中: 1:多行注释使用” /*”开头,以” */”结尾 . 2:” /*和 */”之间的内容都被认为是注释。 例如下代码 : /* *HelloWorld.java *2017.2.15 *我的第一个 Java 程序 */ public class HelloWorld{ public static void main(String[] args{ } } 提示: 1. 注释简单来说就是一种说明,不被当成语句执行,可以增加代码的可读性 . 2. 单行注释添加方便、随处可以添加,只能作用于一行代码 . 2.2.3 文档注释 如果想为程序生成像 JDK 帮助文档一行的文件,可以在编写代码时是使用文档注释,使用 JDK 提 供的 javadoc 命令,将代码中的文档注释提取出来,自动生成一份 Html 格式的 api 帮助文档,其 风格与 Java 帮助文档完全一样,省去了枯燥、繁琐的手动编写帮助文档的工作。
在 Eclipse 中,输入” /**”,然后按 Enter 键, Eclipse 会自动显示文档注释格式 . 文档注释的语法 : /** *文档注释 */ 在语法中: 1. 文档注释使用“ /**”开头,以” */”结尾。 2. 每个注释包含一些描述性的文本及若干个文档注释标签。 3. 文档注释标签一般以” @”为前缀,常用的文档注释标签如下图所示 :
2.3 Java数据类型 2.3.1 了解 java 中的数据类型 Java 是强类型语言, 在定义变量前需要声明数据类型。 在 Java 中主要分为两种数据类型:基本数 据类型和引用数据类型 .
1. 基本数据类型如下图所示 : 基本数据类型 : 数值型: 整数类型 (byte,short,int,long 浮点类型 (float,double 字符型 :(char 布尔类型 (boolean
注意 : 1.char 类型占 2字节,采用 Unicode 码 . 2.byte 类型占 1字节,是整数类型的一种。 3. 所有的数据类型长度固定,不会因为硬件、软件系统不同而发生变化。 4.String 类型不是基本数据类型,而是引用数据类型,它是 Java 提供的一个类 . 2. 引用数据类型 Java 中的引用数据类型如下图所示 : 引用数据类型:类 (class 接口 (interface 数组 提示 :数组是最简单的一种引用数据类型,类和接口是面向对象语言提供的类型 .
2.3.2 常量 常量是在程序运行中,值不能给改变的量 . 1. 整型常量 整型常量有以下 3种表示方式 : (1十进制方式表示 (2八进制方式表示 (3十六进制方式表示 例如: 789 //十进制 077 //八进制 0X12 //十六进制 . 2. 浮点型常量 (1float(32bit 例如 : 3.4f -45.9F 注意:java 的浮点型默认是 double ,float需要在数字后面加大写的” F ”或小写的” f ” .
(2double(64bit 例如: 3.4 3.4d 3. 布尔常量 例如: true false 4. 字符常量 1 普通字符常量 例如 : „ A ‟ „ 8‟ 2 转移字符常量 例如 : „ \n‟ ://表示换行 „ \t‟ ://表示按 tab 键 „ \b‟ ://表示按退格键 3 特殊字符常量 例如 : „ \\‟ //反斜杠 „ \‟‟ //单引号 „ \”‟ //双引号 4 字符串常量 例如 : “我的中国” “ A ” 要注意字符串和字符的区别,字符用单引号,字符串用双引号。 5null 常量 例如 : null null 常量只有 null 一个值 , 可以把 null 常量赋给人以类型的引用类型变量 . 6 符号常量 final double PI = 3.14; final 取义为 finally, 含义是最终的,代表了不在改变 . 2.3.3 变量 变量是在程序运行中,值可以改变的量 . 变量的语法 : [修饰符 ] 变量类型 变量名 [=初始值 ]; 例如 : char ch =97; int nh=‟ A ‟ ; 2.5 基本数据类型之间的转换形式 为了适应开发的需要, 经常会出现不同的基本数据类型的数据, 相互转换的情况。 这种 转 换有精度不同带来的精度损失问题, 也有浮点数到整数转换带来的小数位丢失问题, 我们 现 在就来讨论一下基本数据类型的转换行为和其转换原理。 注意: boolean 是一种比较特殊的类型,这种类型不允许和其他数据类型进行相互转 换。 2.5.1 自动转换 类型转换示意图: byte short int long float double char 图2-2 在上图2-2 中简单描述了各基本数据类型的自动转换方向。 所谓的自动转换是指从相应 的一种类型值转换另一种类型值时,不需要开发人员进行特殊的设置。例如代码2-3 1 2 3 4 5 6 7 8 9 10 11 12 13 } public class TestConvert { public static void main(String[] args { byte b=10; //定义一个byte 类型的变量b short s=b; //将一个byte 类型的变量b 赋于short 变量s,自动转换 //将 short 类型的s 自动转换赋于int 类型的i 变量 int i=s; long l=i; //将int 类型的i 自动转换赋于long 类型的l 变量 float f=l; //将long 类型的l 自动转换赋于float 类型的f 变量 double d=f; //将float 类型f 自动转换赋于double 类型的d 变量 char c='a'; int ic=c; //将char 类型的c 自动转换赋于int 类型的ic 变量 } 代码2-3 注意:将 int 类型和 long 类型转换成 float 类型时可能出现精度损失,如代 码 2-4
1 2 3 4 5 6 7 public class TestConvert2{ public static void main(String[] args { int i=123456789; //定义一个int 类型变量i float f=I; //自动转换int 类型i 到float 类型变量f System.out.println(i+”:”+f; } } 代码 2-4 代码2-4 的输出结果:123456789 : 1.23456792E8。 2.5.2 强制转换 1自动类型转换 将低级别的类型赋值给高级别类型时,将进行自动类型的转换。 例如: byte b = 7; int i = b; //b 自动转换成 int 类型。 byte 级别比 int 低,所以进行自动类型转换,其转换过程如下所示: 2强制类型转换 将高级别的类型赋值给低级别类型时,必须进行强制类型转换。 eg: int num = 786; byte by = num; //错误 byte by = (bytenum; //正确为强制类型转换 short st = num; //错误
short st =(shortnum; //正确为强制类型转换 byte 和 short 级别比 int 低,所以必须进行强制类型转换. byte by=(byte num;强制类型转换过程如下所示: 注意:强制类型转换时,可能会丢失数据。Byte 强制类型转换为 int 时,int 的低位第一个字 节中的数据 0000 0011 在强制类型转换过程中会丢失。 提示:不经基本数据类型可以进行类型转换,存在继承关系的引用数据类型也可以进行自动或 强制类型转换. 小结 本章内容旨在初步了解 Java 的数据类型, 并分析了基本数据类型和引用数据类型的区 别。 在最后一个小结中提到的概念和知识点, 作者会在后续的章节进行再次详细的讨论和使 用相 应实例进行论证。