第二章 基本数据类型(新)

合集下载

中职C语言教案:数据类型

中职C语言教案:数据类型
教学
环节
教学活动内容及组织过程
个案补充




一、复习引导
上次课我们已经学习了程序的一个方面算法,现在来学习另一方面数据结构。
二、内容设计
C有三种基本数据类型,分别是整型、浮点型、字符型
(一)、常量与变量
1、常量:在程序运行过程中,其值不能被改变的量。
两种形式:一般常量和符号常量
(1)常量(字面常量):
江苏省XY中等专业学校2022-2023-1教案编号:
备课
组别
计算机
上课
日期
主备
教师
授课
教师
课题
第二章数据类型
教学
目标
1、掌握C的数据类型
2、掌握整型、实型、字符型数据的常量及变量
重点
各种基本数据类型的常量和变量
难点
不同类型的数据在内存中的物理存储形式Leabharlann 教法讲授法、案例教学法、讨论法
教学设备
黑板 计算机网络机房
a=12; b=-24; u=10;
c=a+u; d=b+u;
printf(“a+u=%d, b+u=%d\n”,c,d); }
4)整型数据的溢出
一个int型变量的最大允许值为32767,如果再加1,其结果不是32768,而是-32768。即“溢出”。
(三)、浮点型数据
1、浮点型常量的表示方法
(1)十进制浮点数
3)转义字符:
以‘ \ ’开头,后跟一个约定的字符或所要表示字符的十六进制(或者八进制)的编码;
2、字符变量:字符变量用来存放字符常量,只能放一个字符。例:char c1=‘a’, c2=‘A’;一个字符变量在内存中占一个字节。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

C语言——第02章数据类型1

C语言——第02章数据类型1

例2.2 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d);
}
(4) 整型数据的溢出 例2.3 数据的溢出 #include <stdio.h> 2 void main() 3 { 4 short a,b; 5 a=32767; 6 b=a+1; 7 printf("%d,%d\n",a,b); 8 }
区分变量名和变量值是两个不同的概念
练习:为变量a和b分别赋一个实数,求
a-b
a+b
的结果.
#include<stdio.h> void main() { float a,b; scanf(“%f%f”,&a,&b); printf("%f\n",(a-b)/(a+b)); }
§2.4 整型数据
练习:
编写:定义2个单精度变量a和b,求其和存入变量sum中; 定义2个双精度变量c和d,求其积存入变量tim中,a、b、 c、d的值任意给。
#include <stdio.h> void main() { float a,b,sum; double c,d,tim; scanf(“%f%f%f%f”,&a,&b,&c,&d); sum=a-b; tim=c*d; printf(“sum=%f tim=%f\n”,sum,tim); }


“规范化的指数形式‛,即在字母e(或E)之前 的小数部分中,小数点左边应有一位(且只能有 一位)非零的数字。 一个实数在用指数形式输出时,是按规范化的指 数形式输出的。 例如: 123.456可以表示为: 123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e5 其中的1.23456e2称为“规范化的指数形式”。

VFP第二章数据及数据类型

VFP第二章数据及数据类型

3).逻辑型常量
逻辑型常量就是表示逻辑判断结果“真”或“假” 的逻辑值。逻辑常量只有真和假两种值,分别用(.t.或.y.) 和(.f.或.n.)表示真和假。一般应在表示逻辑常量的字母 左右加注圆点符“.”以示区别。
4).日期型常量 日期型常量是表示日期值的数据,其默认格式是 {mm/dd/[yy]yy}。如{10/01/02}和{10/01/2002}均表示 2002年10月1日这一日期常量值。 系统默认的“严格日期格式”以{^yyyy-mm-dd}的形式 来表示。 ∧指该日期是严格的,表达一个确切的日期,它不受日期 设置命令SET DATE TO 和SET CENTURY ON/OFF的影响。 其中“-”可用“/”来代替。 必须注意,执行命令时, VFP默认使用严格的日期或日期 时间格式,如果要使用通常的日期或日期时间格式,必 须先执行SET STRICTDATE TO 0命令,否则会引起出 错。如果要设置严格的日期或日期时间格式,可执行命 令SET STRICTDATE TO 1。
| |
最低
对于各种逻辑运算,其运算规则可由逻辑运算真值表确 定,表所示就是逻辑运算真值表。 表 逻辑运算真值表
A .T. .T. .F. .F.
B .T. .F. .T. .F.
A .AND.B
A .OR. B
.NOT A
.T. .F. .F. .F.
.T. .T. .T. .F.
.F. .F. .T. .T.
(3)汉字 系统默认按汉字的拼音排列汉字的顺序,也就是以汉 字的拼音顺序比较“大小”,因此,汉字比较实质上是以 字母的顺序进行比较;但 Visual FoxPro 系统可以设置汉 字按笔画排列顺序,因而,汉字的“大小”就决定其笔画 数的多少。 用菜单设置汉字排列顺序方式的操作步骤为:单击 【工具】 | 【选项】命令,将打开“选项”对话框中,在 “数据”选项卡的“排序序列”下拉列表框中选择 “Stroke”项并确定,系统将按汉字的笔画数进行汉字的 排序、比较运算。 "MACHINE"按ASCII码比较大小 ?"实际"<"实习"

C语言程序设计 第2章 数据类型

C语言程序设计 第2章 数据类型

2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);

C语言第2章基本数据类型与表达式

C语言第2章基本数据类型与表达式

2.1.3 关键字
关键字(又称保留字)是一种语言中规定具有特定含义的标识符。 C语言可使用以下32个关键字:
auto
double int struct
break
else long switch
case
enum
char
extern
const
float short
continue default
for signed goto sizeof
例: main() { int x,y,z,w; /*定义x,y,z,w为整型变量*/ unsigned int k; /*定义k为无符号整型变量*/ x=10; y=-20; k=30; z=x+k;w=y+k; /*不同类型的整型变量x、y、k可运算*/ printf(″x+k=%d,y+k=%d\n″,z,w); } 程序运行结果为: x+k=40,y+k=10
3. 字符常量
C语言的字符常量是用单撇号括起来的一个字符。如 ′x′,′+′,′\n′,′\101′都是合法的字符常量。 字符数据在内存中是以ASCII码存储,它的存储形式与整数的存储 形式类似。因此可以通用。例如: #include <stdio.h> main() { char c1,c2; c1=97; c2=98; printf(″%c ,%c\n″c1,c2); printf(″%d, %d\n″c1,c2); } 在程序中我们将整数97和98分别赋给c1和c2,它的作用相当于以 下两个赋值语句: c1=′a′; c2=′b′; 运行时输出结果如下: a,b
4. 字符串常量
• C语言没有专门的字符串类型变量,但有字符串 常量。字符串常量是由一对双撇号括起来的字符 序列。 如:″changsha″, ″central south university″,″+++ \\?ab″都是合法的字符串常量。 • 不要将字符常量与字符串常量混淆。如: ′a′是字符常量, ″a″是字符串常量

第二章 C语言的基本数据类型及运算

第二章 C语言的基本数据类型及运算
行绝对值相减
解决的方法是: 使用反码或补码的表示方法(按前述
表示的编码称为原码),即能将减法一律 转换为加法。
2020/12/11
原码、反码和补码
11
正数:原码、反码、补码相同
– 符号位为0,数值为对应的二进制数。 +109
[01101101]原 = [01101101]反 = [01101101]补
• 指数只能是整数,而尾数则可以是整数也可以是 小数 ,无论指数或尾数均不能省略 例如:1e、E.5、E-3 非法
• 实型常量的类型:默认为double型,后面加F (或f),则强调表示该数是float类型 例如:3.5f、1e2F
2020/12/11
3. 字符型常量
22
可视字符常量 – 单引号括起来的单个可视字符 例如:'a'、'A' 、'+' 、'3'、' ' 等
例如: #define LEN 2.5
定义符号常量
main( )
{ float a,b;
a= 2*3.14 *LEN;
使用符号常量
b=3.14*LEN*LEN;
printf("a=%f,b=%f\n",a,b);
}
编译前系统进行替换
2020/12/11
5. 符号常量
25
main( )
{ float a,b;
负数:
– 原码符号位为1,数值为绝对值的二进制
数。
-109 [11101101]原
– 反码符号位为1,数值为绝对值的二进制
数各位变反。 -109 [10010010]反
– 补码符号位为1,数值为绝对值的二进制

第2章基本数据类型、常量及变量

第2章基本数据类型、常量及变量

型必须有一个长度的限制
这个长度是指数据存储在计算机中需要占用多少个 字节数 不同类型的数据在内存中占用的字节数是不同的


溢出处理
不同的数据类型规定了不同的机内表示长度,
也决定了对应数据量的变化范围,当某一数据 超出该数据类型所规定的范围时,计算机会拒 绝接受,而将之转换成范围内的另外某个数, 这种情况称之为溢出处理。
6
3.常量

常量
在程序运行过程中其值不能被改变的量值

例1:
1,200 3.1,-4.0 „A‟,‘b‟ “abc”,“AB\n”

提示
在程序中使用常量时,一般不需要具体指出它属于 哪一种类型C语言编译系统会自动根据常量的数据 大小和直观形式来确定它的数据类型 例2:


3,3.0,‘3‟,“3”
提示

每个数据类型都有固定的表示方式
这个表示方式确定了可能表示的数据范围以及数据在内存中 的存放形式 C程序中所出现的所有数据都必须明确指定其数据类型


数据类型的体现
常量和变量是在计算机中数据类型的表现形式
不再是抽象的概念而是实在的数据,这些数据符合对 数据类型的规定(形式和运算规则两方面) 常量和变量之间的区别在于程序执行过程中的变化情 况
3.常量

整型常量
一个整数 常用的整数类型(IBM PC机及其兼容机上对C语言整型数的规定 )

整型

2字节: -32768~32767 4字节:-2147483648~2147483647 2字节: 0~65535 4字节 :0~4294967295

长整型

第2章 基本数据类型、常量和变量

第2章 基本数据类型、常量和变量

第2章 基本数据类型、常量和变量2.1 C 数据类型简介一个程序应该包括对数据的描述和对数据的处理。

但是程序要面临处理的数据有各种各样的类型,例如有一个用来处理学生基本信息的程序,所要处理的数据包括:学生的学号和姓名都是字符串,学生的年龄是整数,学生的成绩用浮点数表示等等。

而不同类型的数据不仅在机内的存储格式不同(例如整数用补码存放,而字符串是按串中每个字符的ASCII 码存放的),而且可以实现的运算也不同。

为了更好地对数据进行描述和处理,C 语言被设计成强类型语言(strongly typed language ),即C 语言程序中的每个数据必须具有明确的类型。

C 语言的数据类型可分为基本数据类型(整型、字符型和浮点型)、基于基本数据类型的构造数据类型(数组、struct 、union 、enum)、指针类型、空类型(void),见图2-1。

C 语言中数据分为常量和变量。

简单理解,在程序运行过程中其值不能改变的数据就是常量,而其值可以改变的数据称为变量。

下面分别介绍各种基本数据类型的常量和变量。

图2-1 C 语言中的数据类型数据类型2.2 基本数据类型——整数类型一、整型常量整数类型常量用于表示没有小数部分的数值,在C程序中整型常量可以表示成十进制、八进制或者十六进制形式,用不同的前缀来区分:(1) 十进制整型常量以非0(零)数字开头,例如237、-2009;(2) 八进制整型常量带有前缀0(零),例如027(等价的十进制数为23),-012(等价的十进制数为-10);(3) 十六进制整型常量带有前缀0x(X),例如0x2A(等价的十进制数为42),-0XA5b(等价的十进制数为-2651)。

【例2.1】下列哪些整型常量是合法的?012,oX7A,00,078,0x5Ac,-0xFFFF,0034,7B【例2.2】下面四个选项中,均是合法整型常量的选项是。

A) 160、-0xffff、011 B) –0xcdf、01a、0xeC) -01、986,012、0668 D) –0x48a、2e5、0x【例2.3】下面四个选项中,均是正确的八进制数或十六进制数的选项是。

c#2-基本数据类型

c#2-基本数据类型

23
C#语言程序设计
河北理工大学 赵爽
2.3.1 算术运算符
算术运算符作用的操作数类型可以是整型也可以是浮 点型,运算符如表2.3所示。
表2.3 算术运算符
24
C#语言程序设计
河北理工大学 赵爽
2.3.1 算术运算符
应该注意一次算数运算的结果的类型要取决 于操作数的类型。 例如: 5.0/2.0的值为2.5(double) 5/2的值为2(int)( 向下取整) 5/2.0将自动转换为5.0/2.0结果为2.5
20
C#语言程序设计
河北理工大学 赵爽
5. 布尔常量值
它只有两个值:true和false。
21
C#语言程序设计
河北理工大学 赵爽
2.3 表达式
表达式是由操作数和运算符构成的。操作数 可以是常量、变量等;运算符指示对操作数进行 等 什么样的运算。因此也可以说表达式就是利用运 算符来执行某些计算并且产生计算结果的语句。
17
C#语言程序设计
河北理工大学 赵爽
表2.2 转义符 18
C#语言程序设计
河北理工大学 赵爽
4. 字符串常量值
字符串常量值是用双引号括起的零个或多个字符序列。 字符串常量值是用双引号括起的零个或多个字符序列。 C#支持两种形式的字符串常量值,一种常规字符串,另一 支持两种形式的字符串常量值, 支持两种形式的字符串常量值 一种常规字符串, 种逐字字符串。 种逐字字符串。 (1) 常规字符串 双引号括起的一串字符,可以包括转义字符。 双引号括起的一串字符,可以包括转义字符。 例如: 例如: "Hello, world\n" "C:\\windows\\Microsoft" // 表示字符串 C:\windows\Microsoft

第2章基本数据类型及运算符原始解读

第2章基本数据类型及运算符原始解读

在C语言中,大小写字母有不同的含义,例如:num, Num,NUM为三个不同的标识符。 在构造标识符时,应注意做到“见名知意”,即选择 有含义的英文单词(或汉语拼音)作标识符,以增加程 序的可读性。如表示年可以用year,表示长度可用 length,表示和可以用sum等。 C语言中有一些标识符被称为关键字,在系统中具有 特殊用途,不能作为一般标识符使用,如用于整型变量 定义的int关键字,就不能再用作变量名。 有些标识符虽不是关键字,但C语言总是以固定的形 式用于专门的地方,因此,用户也不要把它们当做一般 标识符使用,以免造成混乱。这些常用的标识符有: define,include,ifdef,ifndef,endif,elif。
2. 实型(浮点型)常量
实型常量是由整数部分和小数部分组成的,它只有十 进制的两种表示形式。 (1)定点数形式。它由数字和小数点组成。整数和小 数部分可以省去一个,但不可两者都省,而且小数点不 能省。如:1.234,.123,123.,0.0等。 (2)指数形式(或称科学表示法)。它是在定点数形 式表示法后加e(或E)和数字来表示指数。指数部分可 正可负,但须为整数,且应注意字母e(或E)之前必须 有数字。如:1.234e3,12.34e2均合法地代表了 1.234×103;而e3,1e2.3,.e3,e均不合法。 另外,实型常量的后缀用F(或f)表示单精度型,而 后缀用L(或l)表示长双精度型。如:0.5e2f表示单精 度数,3.6e5L表示长双精度数。
变量
在程序运行过程中,其值可以被改变的量称为变量。变量有两个要素: 变量名。每个变量都必须有一个名字,即变量名。变量命名应遵循标识符的命名规 则。 变量值。在程序运行过程中,变量值存储在内存中;不同类型的变量,占用的内存 单元(字节)数不同。在程序中,通过变量名来引用变量的值。 【程序2-3】用来输出两个整数相加、相减和相乘的结果,代码如下。 /* 文件名:chap02_3.cpp */ #include <stdio.h> void main(){ int x,y; printf("请输入两个整数,中间用空格隔开:"); scanf("%d%d",&x,&y); printf("%d+%d=%d\n",x,y,x+y); printf("%d-%d=%d\n",x,y,x-y); printf("%d*10%d=%d\n",x,y,x*y); } 程序运行结果: 请输入两个整数,中间用空格隔开:10 5↙ 10+5=15 10-5=5 10*5=50 本程序中,x和y定义成整型变量,用于接受用户输入的值。

c++第二章

c++第二章

int a, b;
float x,y ;
(定义变量a和b为整型) (定义变量x和y为单精度实型)
• 变量的赋值和初始化
变量必须先有确定的值后才能参与各种相应的操作,变
量获取值的方法有三种:输入、赋值、初始化 • 赋值语句 例如: int a; a = 3;
// 使整型变量a的值为3
又如: int a, b, c; a = b = c = 0;//允许在一条赋值语句中为多个变量同时赋值 • 初始化:在定义变量的同时对变量赋初值。 例如: int a=3; 或 int a(3); // 使整型变量a的值为3
在c++中,int型占4个字节。
八进制形式 以数字0开头,由0~7之间的数字组成的数 据,如: 056。
十六进制数
以0x或0X开头,由数字0~9和字母A、B、C、 D、 E、F组成的数据。如: 0X5A、0x39、0x5b。
• 实型常量
实型常量有两种表示方式:
1)十进制小数形式 由正负号、数字和小数点组成,其中小数点不能缺 少,正数符号可省略。如1.25、-1.25、17.和.1。 2)指数形式 由尾数开头,加上指数部分共同构成,其中指数部 分由指数符号e(或E),正负号及整数组成。如1.25e-5、 +1e10、-1.25e5、1e-6、3e2。 注意:e前面不能没有数字,e后面的数字必须为整数,也 不能加园括号。如1E(-3)、E-5、1e2.1都是错误的。
在逻辑运算中,逻辑运算符两端的操作数如为“非0”, 就当作“真”来处理,如果是“0”,便当作“假”来 处理。 例如: 5>3 && a<b的结果为1 !12+3<6的结果为1。
说明:

《新概念C语言能力教程》第2章基本数据类型

《新概念C语言能力教程》第2章基本数据类型
• int型用d,short型用hd,long型用ld,unsigned int型用u,unsigned short型 用hu,unsigned long型用lu。
• 其中的l(long)和h(short)称为长度修饰符,是附加的格式说明符。
格式字符串与数据类型
• unsigned short a = -1u; • 语句printf("%hu", a);中格式字符串hu(无符号短整型)准确地匹配了变量a
printf函数的输出结果不会是22亿。这条语句有逻辑错误。
分析下面语句的输出结果。
• printf("%lu", 2200000000); • printf("%ld", -1); • printf("%lu", -1u); • printf("%hd", -1); • printf("%hu", -1u); • printf("%hu", -2);
编码和解码
• 现实世界中的数据转换成由0和1组成的二进制串,计算机才能存储和处理。 由数据得到01串称为编码;由01串得到数据称为解码。
• 每类数据都各有特点,只用一种编码规则统一编码是不现实的。不同类型的 数据如整数和小数,采用了不同的编码规则。
• 多种编码规则导致不同数据的编码结果可能相同,因此,只有确定了编码规 则,才能正确解码。
功的识别的16。 • 当用户输入32789↙时,全部识别成功,但短整型变量m的实际值不会是
的类型,printf函数正确地输出变量a的实际值65535。 • 语句printf("%hd", a);中格式字符串hd(短整型)与变量a的类型不匹配,

第二章 C语言的基本数据类型

第二章 C语言的基本数据类型

标识符的有关规定:只能由字母、数字和下划线 组成,且第一个字符必须是字母或下划线;字母区分 大小写;不同的C编译系统规定标识符长度不同(如 IBM PC的MS C取8个字符,而Turbo C则允许32个字 符),考虑到程序的可移植性及阅读程序的方便,标 识符的长度一般不要超过8个字符,且应注意做到“见 名知意”
2、十六进制整常数:十六进制整常数的前缀为0X或0x。 其数码取值为0~9,A~F或a~f。 以下各数是合法的十六进制整常数: 0X2A(十进制为42)、 0XA0 (十进制为160)、 0XFFFF (十进制为65535) 以下各数是不合法的十六进制整常数: 5A (无前缀0X)、 0X3H (含有非十六进制数码) 3、十进制整常数: 十进制整常数没有前缀。其数码为0~9。 以下各数是合法的十进制整常数: 237、 -568、 65535、 1627 以下各数是不合法的十进制整常数: 023 (不能有前导0)、23D (含有非十进制数码)
各种无符号类型量所占的内存空间字节数与相应的有符号 类型量相同。但由于省去了符号位, 故不能表示负数
Turbo C中各类整型量所分配的内存字节数及数的表示范围。 类型名称 (中文) 类型名称 (英文) 占用的 字节数 2 2 2 2 4 4 取值范围 -32768~32767 0~65535 -32768~32767 0~65535 -2147483648 ~2147483647 0~4294967295
第二章 C语言的基本数据类型
教学内容: 1 C语言的数据类型 C语言的数据类型 2 常量与变量 3 整型数据 4 实型数据 5 字符型数据 6 变量赋初值 7 变量数据类型转换 基本要求: (1) 掌握基本数据类型及其常量的表示方法; (2) 掌握变量的定义及初始化方法; (3) 掌握变量数据类型的转换法 重点: C的数据类型、常量与变量、变量定义、变量赋初 始化、变量数据类型的转换 难点: 难点: 变量数据类型的转换
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3、数组元素的使用
数组可以通过下标访问自己的元素: int a[ ]=new int[10]; for(int i=0;i<a.length;i++) { a[i]=i; System.out.print(a[i]+""); }
2.4.2 多维数组的应用
在Java中,多维数组(multidimensional arrays)是由若 干行和若干列组成数组。在人们工作生活与学习中, 要使用二维表格、矩阵、行列式等,都可以表示成 多维数组。例如: int D[ ][ ] = new int[3][4];
2.4.5 数组的初始化
创建数组后,系统会给每个数组元素一个默认的值,如,
float型是0.0。
在声明数组时同时也可以给数组的元素一个初始值,如:
float boy[] = { 21.3f,23.89f,2.0f,23f,778.98f};
也可以直接用若干个一维数组初始化一个二维数组。
该语句声明并创建了一个3行4列的数组D。这个数组 在逻辑上可以表示成一个int类型的矩阵。
也就是说,这个数组在逻辑上可以表示为: D[0][0] D[0][1] D[0][2] D[0][3] D[1][0] D[1][1] D[1][2] D[1][3] D[2][0] D[2][1] D[2][2] D[2][3]
2.4.1 创建和使用数组
2.创建数组
◆为数组分配内存空间的格式如下: 数组名字 = new 数组元素的类型[数组元素的个数]; 例如: boy= new float[4]; ◆数组变量boy中存放着这些内存单元的首地址,该地址称作数组的引用,这样数组 就可以通过索引操作这些内存单元 。
◆声明数组和创建数组可以一起完成,例如: float boy[]=new float[4];





我们可以将运算符分成以下几类: 算术运算符; 关系和条件运算符; 移位和逻辑运算符; 赋值运算符; 其他的运算符。
2.2.2 算术运算符
Java 语言支持所有的浮点型和整型数进行各种算术
运算。这些运算符为+(加)、-(减)、*(乘)、 /(除)以及%(取模)。 算术运算符的使用基本上与加减乘除一样,也是 先乘除后加减,必要时加上括号表示运算的先后顺 序。例如这个程序代码会在命令行模式下显示: System.out.println(1 + 2 * 3);
2.4.5 数组的初始化
创建数组后,系统会给每个数组元素一个默认的值,
如,float型是0.0。
在声明数组时同时也可以给数组的元素一个初始值,
如:
float boy[] = { 21.3f,23.89f,2.0f,23f,778.98f};
也可以直接用若干个一维数组初始化一个二维数组。
从命令行输入与输出
输入基本型数据
Scanner 类
Scanner reader=new Scanner(System.in); Scanner类的方法:nextBoolean()、nextByte()、nextShort()、 nextInt()、nextLong()、nextFloat()、nextDouble() 实例 Example2_3.java

public static double[] copyOf(double[] original,int newLength) public static double[] copyOfRange(double[] original,int from,int to)

例2-6
2.4.9 排序与二分查找
0x785BA
boy[0] boy[1] boy[2] boy[3]
◆二维数组和一维数组一样,在声明之后必须用new 运算符分配内存空间,例如: int mytwo[][]; mytwo=new int [3][4]; 或 int mytwo[][]=new int[3][4];
boy
图2.4 数组的内存模型
2.2.1 表达式与运算符
只有一个运算对象的运算符称为一元运算符。例如++x
是一个一元运算符,它是对运算对象x自增加1。 ++x,--x: 使用X之前,先使X的值加1(或减1); X++,X--:使用X之后,再使X的值加1(或减1) 设X=5 则 Y=++X Y的值为6; Y=X++ Y的值为5,而X为6。
2.4.8 复制数组(Arrays类的方法)
1.arraycopy方法
public static void arraycopy( sourceArray, int index1, copyArray,int index2, int length)
例2-5
2.copyOf和copyOfRange()方法
向量的常用方法
方 法 说 明
addElement(Object obj)
capacity() copyInto(Object
在向量尾部添加指定组件,并 且长度加一。 返回该向量的当前容量。
anArray[]) 把该向量的元素复制到指定数 组中。 elementAt(int index) 返回指定下标处的组件。 firstElement() 返回该向量的第一个元素。 lastElement() 返回向量的最后一个元素。
第二章 基本数据类型
Java的基本数据类型
【例2-1】计算二个整数的和:
class Example2_1 { public static void main(String args[]) { int x,y,sum ; //变量声明 x=3; y=5; sum =x+y ; //求和 System.out.println("二数之和为:" + sum) ; } } 在Java中,使用变量要遵守“先声明后使用”的原则。
如:
int a[][]={{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1}}
2.4.6 数组的引用
数组属于引用型变量,因此两个相同类型的数组如果
具有相同的引用,它们就有完全相同的元素。例如, 对于 int a[]={1,2,3},b[ ]={4,5}; 如果使用了下列赋值语句(a和b的类型必须相同): a=b; 那么a中存放的引用和b的相同。 例2-4
|
^ ~
x|y
x^y ~x
将x,y按位或操作
将x,y按位异或操作 将x各比特位按位取反
11011111
10001111 00101001
异或
位反
右移运算符“>>”将一个数的二进制位序列右移若干 位,移出右端的低位被舍弃,最高位则移入原来高 位的值。 例如: a=00110111,则 a>>2 = 00001101 b=11010011,则 b>>2 = 11110100 左移运算符“<<”将一个数的二进制位序列左移若干 位,高位左移后溢出舍弃,不起作用。
移位和逻辑运算符
运算符 >> << >>> & 运算 右移 左移 无符号右 移 与 或 用法 x >> n x << n x >>> n x&y 运算规则 (设x=11010110,y=01011001,n=2) 运算结果 将x各位右移n位,左边按符号补0或 11110101 补1 将x各比特位左移n位,右边补0 将x右移n位(无符号的) ,左边补0 将x,y按位与操作 01011000 00110101 01010000
size()
insertElementAt(Object obj,int index)
返回该向量的元素数。
在指定的 index 处插入作为 该向量元素的指定对象。
2.2 表达式和运算符
表达式是由运算符、操作数和方法调用按照语
言的语法构造而成的符号序列。表达式可用于 计算一个公式,为变量赋值以及帮助控制程序 执行流程。
2.2.3 关系与逻辑运算符
运算符 > >= < <= == != 运算 大于 不小 于 用法 x1 > x2 返回true的情况 x1大于x2 x1 大于或等于x2 x1小于 x2 x1小于或等于 x2 x1 等于 x2 x1不等于 x2
x1 > = x2 x1 < x2
小于
不大 于 等于
x1 <= x2 x1 == x2 x1 != x2
不等 于
条件运算符
运算符
&& 运算
用法
x && y
返回true的情况
x和 y都是true
条件与
条件或 条件非 条件异或

! ^
x ‖ y
!x x ^ y
x或者 y是true
x为 false x和 y逻辑值不相同
2.2.4 位运算符
位运算符是对操作数以二进制位为单位进行的操作
和运算,其结果均为整型量。
2.4.1 创建和使用数组
构成二维数组的一维数组不必有相同的长度,在创建
二维数组时可以分别制定构成该二维数组的一维数组 的长度。如: int a[][]=new int[3][ ]; a[0]=new int[6]; a[1]=new int[12]; a[2]=new int[8]; Java允许使用int型变量的值制定数组元素的个数。如: int size=30; double num[ ]=new double[size];
类型转换
基本数据类型按精度从“低”到“高”的顺序为: byte short int long float double
相关文档
最新文档