第三章 数据类型

合集下载

C语言第3章数据类型、运算符与表达式ppt课件

C语言第3章数据类型、运算符与表达式ppt课件
第三章
数据类型、运算符与表达式
1
主要内容
一、C的数据类型 二、常量与变量 三、基本数据类型 四、运算符与表达式
2
一、C的数据类型
(一) 什么是数据类型? (二) C语言的数据类型有哪些?
3
(一) 什么是数据类型?
对数据的描述
对操作的描述
数据结构+算法=程序
C语言中以 “数据类型”形式存在
4
所谓数据类型是按被定义变量的性质,表示形 式,占据存储空间的多少,构造特点来划分的。
int NUM=20; sum=PRICE*NUM;
11
符号常量优点
1、含义清楚。 2、在需要改变一个常量时,能够做到“一
改全改”
12
(二)变量
概念
变量代表内存中具有特定属性的一 个存储单元,它用来存放数据,也 就是变量的值。
13
(1)变量名。每个变量都有一个名字 ──变量名,代表一个地址。 (2)变量值。在程序运行过程中,变 量值存储在内存中。在程序中,通过 变量名来引用变量的值。
#include <stdio.h>
void main() {
int student,age; int if=adrress=1; float score=90;
stadent=2; Age=20; printf("%d %d %d %f",if,student,age,score); }
本程序中有 几处错误?
(5)标识符的有效长度随系统而异,如果超 长,则超长部分被舍弃。VC++6.0中规 定最大长度为247个字符。
23
请选出下列正确的标识符 M.D.John , 12%gf ,1add ,_ce36 ,age& 5thclass, lotus-1-2-3 , cd*ef , float,

3 数据类型、运算符和表达式

3 数据类型、运算符和表达式

三、整型数据
3.1.整型常量 整型常量即整常数按不同的进制区分, 整型常量即整常数按不同的进制区分 , 整型常数 有三种表示方法: 有三种表示方法:
十进制数: 以非0 220, 560, 十进制数: 以非0开始的数 如:220, -560, 45900 八进制数: 06; 0106, 八进制数: 以0开始的数 如:06; 0106, 十六进制数: 十六进制数: 以0X或0x开始的数 如:0X0D, 0XFF, 0x4e
一般情况下,符号常量名用大写、变量用小写。 一般情况下,符号常量名用大写、变量用小写。
3、符号常量的声明和使用 一般放在程序的前端, <…>在一块: 一般放在程序的前端,与#include < >在一块: #define 符号常量名 值 如:#define Zero 0 好处: 好处: 含义清楚 (#define Second 60) (#define (#define 一改全改 (#define PI 3.14)
3. 整型变量的溢出
main(){ i,j; int i,j; unsigned k,l,m; k,l,m; i=32767 32767; i=32767; j=i+1 j=i+1; l=65535 65535u l=65535u; m=l+2 m=l+2; printf("j=%d\n",j); printf("j=% n",j); printf("l=% n",l); printf("l=%u\n",l); printf("m=% n",m); printf("m=%u\n",m); }
3.2、整型变量 整型变量的分类:加上不同的修饰符 1 . 整型变量的分类 : 加上不同的修饰 符 , 整型变 量有以下几种类型; 量有以下几种类型; C 语言标准没有规定整型变量在计算机内存中所 占的字节数,它与具体的机器和操作系统有关: 占的字节数,它与具体的机器和操作系统有关:

第3章 数据类型 yw

第3章 数据类型 yw
68表38数字和字符之间的转换函数num2str将数字转变成为字符串int2str将整数转变成为字符串mat2str将矩阵转变成为可被eval函数使用的字符串str2double将字符串转变为双精度类型的数据str2num将字符串转变为数字sprintf格式化输出数据到命令行窗口sscanf读取格式化字符串69表39不同数值之间的转换函数hex2num将十六进制整数字符串转变成为双精度数据hex2dec将十六进制整数字符串转变成为十进制整数dec2hex将十进制整数转变成为十六进制整数字符串bin2dec将二进制整数字符串转变成为十进制整数dec2bin将十进制整数转变成为二进制整数字符串base2dec将指定数制类型的数字字符串转变成为十进制整数dec2base将十进制整数转变成为指定数制类型的数字字符串70例子322num2str函数和str2num函数的用法示例
一个正数的补码就是其原码,例如整数7在八位
计算机中的补码是0000 0111。 对于负数的补码是将数字的反码加上1,就得到 了这个数字的补码。例如-7在8位计算机中的补码是 1111 1001。
关于数字在计算机中二进制表示的详细解释请参
阅相应的计算机原理方面的书籍。
14
例子3-3(a) 数据位“与”操作。
计的一种数组。利用空数组可以修改数组的大小,但是不能 修改数组的维数。 下面通过具体的例子来说明空数组创建和使用的过程。 例子3-6 创建空数组。
和创建普通的数组(矩阵)一样,创建空数组也有不同的
方法,在MATLAB命令行窗口中键入下面的命令:
22
>> A = [] A= [] >> B = ones(2,3,0) B= Empty array: 2-by-3-by-0 >> C = randn(2,3,4,0) C= Empty array: 2-by-3-by-4-by-0 >> whos Name Size Bytes Class A 0x0 0 double array B 2x3x0 0 double array C 4-D 0 double array Grand total is 0 elements using 0 bytes

第三章 数据类型、常量、变量及表达式

第三章  数据类型、常量、变量及表达式
11
例如,要将文本框 的前景颜色设置为红色, 例如,要将文本框Text1的前景颜色设置为红色,可以 的前景颜色设置为红色 使用下面的语句: 使用下面的语句: Text1.ForeColor=vbRed 这里的vbRed就是系统常量。这比直接使用16进制数来 就是系统常量。这比直接使用 进制数来 这里的 就是系统常量 设置要直观得多。 设置要直观得多。 又如,窗口状态属性 可取0,1,2三个值,对应 三个值, 又如,窗口状态属性WindowsState可取 可取 三个值 三种不同状态。 三种不同状态。 在程序中使用语句 Myform.WindowsState=vbMaxmized, , 将窗口极大化,显然要比使用语句 将窗口极大化,显然要比使用语句Myform.WindowsState=2 易于阅读和理解。 易于阅读和理解。
9
5、日期常量 、
日期( 字节的浮点数来存储, 日期 ( Date) 型数据按 字节的浮点数来存储 , 表示日 ) 型数据按8字节的浮点数来存储 期范围从公元100年1月1日~9999年12月31日,而时间范围从 年 月 日 期范围从公元 年 月 日 0:00:00~23:59:59。 。 一种在字面上可被认作日期和时间的字符, 一种在字面上可被认作日期和时间的字符,只要用号码符 括起来, “#”括起来,都可以作为日期型数值常量。 括起来 都可以作为日期型数值常量。 例:#09/02/99#、#January 4,1989#,#2002-5-4 14:30:00 、 , PM#都是合法的日期型常量。 都是合法的日期型常量。 都是合法的日期型常量 说明:当以数值表示日期数据时,整数部分代表日期, 说明:当以数值表示日期数据时,整数部分代表日期, 而小数部分代表时间;例如 表示 表示1899年12月31日。大于 的 而小数部分代表时间;例如1表示 年 月 日 大于1的 整数表示该日期以后的日期, 和小于 和小于0的整数表示该日期以 整数表示该日期以后的日期,0和小于 的整数表示该日期以 前的日期。 前的日期。

C语言第3章数据类型

C语言第3章数据类型

序 设 计
C
6
§3.1 C语言的基本元素和数据类型
字符型 char 程序=算法+数据结构 基本类型 整型 int 单精度 float 实型(浮点型) 算法处理的对象是数据 双精度 double 数据结构是数据的组织形式 数组型 array 数据类型是指数据的内在表现形式 数据类型 结构体型 (含位段)struct (代码,存储,运算)。 构造类型 共用体型 union 枚举型 enum 自定义型 typedef 指针类型 (pointer) 空类型 void
内容提要:
C语言的基本元素和数据类型 常量与变量
各种数据类型的常量和变量
变量赋初值 各种类型的数据间的混合运算 几种基本运算符及其表达式
3
程 序 设 计
C
§3.1 C语言的基本元素和数据类型
一、符号集(字符集) C语言经常使用的基本符号共有以下五种: (1)大写字母:A~Z (2)小写字母:a~z (3)阿拉伯数字:0~9 (4)下划线:_ (5)标点符号和运算符
程 序 设 计
C
19
§3.4 实型数据
三、实型数据的舍入误差
虽然实型数据的表示形式有两种但在内存中均是以指 数形式存放 数 阶 若数据超过有效位,则被 小数 指数 符 符 舍去,故可能产生误差。 例3-4 #include <stdio.h> Void main( ) { float a, b; a=123456.789e5; b=a+20; printf(“a=%f, b=%f\n”, a,b); } a=12345678848.000000, b=12345678848.000000
C语言程序设计
C Programming Language

c语言第3章 数据类型及表达式

c语言第3章 数据类型及表达式

•除 当除号两边都是整型量时,叫做整除 整除, 当除号两边都是整型量时,叫做整除,运算结果只保 留整数部分。 留整数部分。 当除号任何一边有实型量时,运算结果是实数。 当除号任何一边有实型量时,运算结果是实数。 #include <stdio.h> main() main() { float div; div=1/2; printf( %f %f\ ,div); printf(“%f\n”,div); }
–规则: 规则: 规则
–见名知意 见名知意 –不宜混淆 不宜混淆
请指出下列标识符的正误: 请指出下列标识符的正误: main、count、!count、new、5abc、if、do、L_5、who、a123、 main、count、!count、new、5abc、if、do、L_5、who、a123、 _A、_123、c#、 _A、_123、c#、r-3、printf
h e l l o , w o r l d \0 • 注意: 注意: 字符常量和字符串常量是两个不同的概念 字符常量和字符串常量是两个不同的概念
char ch; ch=‘A ; ch= A’; char ch; ch=“A ;// ;//错误 ch= A”;//错误
A
\0
\0
3.7 字符型数据
3.7.3 字符型变量
3.3 常量
常量 • 定义:程序运行时值不能改变的量,即常数。 定义:程序运行时值不能改变的量,即常数。 • 分类: 分类: 符号常量: 符号常量:用标识符表示具体值 • 定义格式: 定义格式: • 一般用大写字母 直接常量: 直接常量:直接写出具体值 • 整型常量 • 实型常量 • 字符常量 • 字符串常量 常量值 #define 标识符 常量值

03数据类型和表达式

03数据类型和表达式

GDI+ Windows的应用程
序的丰富用户
数据库
的各种对象
26
3.2.3 不同数据类型的转换
隐式转换: 运算结果的数据类型向精度高的数据类型靠 Integer<Long<Single<Double<Currency
优先级
算术运算符>=字符运算符>关系运算符>逻辑运算
显式转换: Ctype(表达式,转换到类型名) 例如:Ctype(123,string)
程序设计与实践 VISUAL
上海理工大学 信息基础教研室
第三章 语言基础
1 2 3 4 5
变量、常量与数据类型 运算符和表达式 常用函数 程序结构和编码规则 综合应用
2
3.1 数据类型、变量和常量
整数 数值型 浮点数 货币型 字节型 字符型 逻辑型 日期型 对象型 短整型 长整型 整型 单精度型 双精度型
18
1. 算术运算符

5+10 mod 10 \ 9 / 3意
对算术运算符两边的操作数应是数 值型,若是数字字符或逻辑型,则自 动转换成数值类型后再运算。

30-True 结果是31,逻辑量True转为数值-1, False转为数值0 False + 10 + “4” 结果是: 14
注 意
字符和字符串都必须是用西文的双引号引起 ""表示空字符串,而" "表示有一个空格的字符; 若 字 符 串 中 有 双 引 号 , 例 如 , 要 表 示 字 符 串 : 123"abc , 则 用 连 续 两 个 双 引 号 表 示 , 即 : "123""abc"。

第三章 数据类型运算符与表达式

第三章 数据类型运算符与表达式

三、变量
3、变量值的存储 变量被定义以后,系统在运行时会为该变量分配一个相 应大小的存储空间,称为存储单元。 给变量赋值后,该变量对应的存储单元中会存放该值, 这个值称为变量的值。 那么变量的值在变量的存储单元中是如何表示的呢? (1)整数是以补码的形式存放的。 (正数的补码是其本身,负数的补码为原码按位取反加1) 如:int a=2, b; b= -2; a 00000000 00000010 b 11111111 11111110
(一)算术运算符和算术表达式
表达式的值: 表达式运算得到的最终结果为表达式的值。 也就是整个式子代表的值 如a=5,b=2; a+b 7
(二)赋值运算符和赋值表达式
赋值运算符:= 格式:变量=表达式 如:int a,b; 下面都是正确的赋值表达式 a=5; b=3; a=2+3; a=a+2; b=a*a; 赋值运算为“从右向左”结合的。 如x=y=z=3 它等价于:x=(y=(z=3))
第三章 数据类型运算符与表达式
信息管理系
3.0、C语言中标识符的概念
• 在程序中,由程序设计者使用的名字成为标 识符。标识符用以标志区分不同的东西。它 可以用作函数的名字、变量、常量的名字, 以及文件的名字等等。
一、C语言中的标识符分类
• 用户标识符 • 关键字(语句标识及类型标识)(P375附录II) 例如:real,main,char,int,float,double, long,if,for,switch,default,break等。 • 预定义标识符(函数名字等) 例如:define,include,printf,scanf,sin等。
2的原码表示:00000000 00000010 -2的补码表示:11111111 11111101+1=11111111 11111110
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.2.2 变量
一般规定不得使用系统的保留字作为变量或 其它标识符的名字。例如: 其它标识符的名字。例如: main,define,printf,for等均为保留字 等均为保留字。 main,define,printf,for等均为保留字。 保留字是系统做特定的函数名、定义(说明) 保留字是系统做特定的函数名、定义(说明) 语句命令字等使用的。 符、语句命令字等使用的。
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
如果将这个最大值加1 就变成: 如果将这个最大值加1,就变成:
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3.3.2
整型变量
按照有符号数的表示方法,最高位为“1”时 按照有符号数的表示方法,最高位为“1”时, 该数是负数。 该数是负数。而负数的机内表示为它的补码 形式, 32768, 形式,因此该数实际上为 -32768,这种情况 成为整型数据的溢出。 成为整型数据的溢出。此时一般应定义为长 整型(long)。 整型(long)。 *加2的情况
3.5 3.5.1
字符型数据 字符常量
字符常量用单引号括起来的一个字符。 字符常量用单引号括起来的一个字符。 如: ’a’,‘c’,‘?’,‘9’, ,c,?,9, 这里的字符主要指ASCII码表中, ASCII码表中 这里的字符主要指ASCII码表中,可以在键 盘上输入的部分字符。 盘上输入的部分字符。
3.3.3 整型常量的类型
(1)当一个整数的值在-32768~+32767范围内, 当一个整数的值在-32768~+32767范围内, 范围内 自动地作为int型或short int型常量 int型或 型常量。 自动地作为int型或short int型常量。 当一个整数的值在(2)当一个整数的值在-21473648~+21473647 范围内,自动地作为long int型常量 型常量。 范围内,自动地作为long int型常量。 整型常量无unsigned unsigned型 (3)整型常量无unsigned型。但允许将常量 赋值给一个unsigned型变量。 unsigned型变量 赋值给一个unsigned型变量。 (4)整型常量后面加一个字母“L”(或小写 整型常量后面加一个字母“L”( 的“l”),则认为是long int 型。 ) 则认为是long
3.5.1
字符常量
除了上述形式之外, 除了上述形式之外,还允许以 “\” 开头的 特殊字符序列,也称特殊字符常量。 特殊字符序列,也称特殊字符常量。 特殊字符序列用来做“控制字符” 特殊字符序列用来做“控制字符”,实现某 种特定的功能。 种特定的功能。这种形式用来表示非显示字 实现特殊功能。不显示在屏幕上, 符,实现特殊功能。不显示在屏幕上,也不 在打印机上打印。 在打印机上打印。 做回车换行符。这里字符“ 如用 “\n” 做回车换行符。这里字符“n” 的意义已经转变,因此又被称为转义字符。 的意义已经转变,因此又被称为转义字符。 开头的特殊字符见P.48 P.48表 常用的以 ‘\’ 开头的特殊字符见P.48表3.3
3.2.2 变量
其值可以改变的量,称为变量。 其值可以改变的量,称为变量。 变量在内存中占据一组连续的存储单元, 变量在内存中占据一组连续的存储单元,存 放变量的值。其值是变化的。 放变量的值。其值是变化的。 每个变量有一个变量名。 每个变量有一个变量名。
3.2.2 变量
标识符:用来表示变量名、符号常量名、 标识符:用来表示变量名、符号常量名、函 数名、数组名、类型名、 数名、数组名、类型名、文件名等的字符序 列。 标识符由字母、数字和下划线组成。 标识符由字母、数字和下划线组成。而且第 一个字符必须为字母或下划线。 一个字符必须为字母或下划线。 标识符中的字母区分大小写。 标识符中的字母区分大小写。 标识符的长度在不同的C 标识符的长度在不同的C语言版本中有不同 的规定, 中规定为不超过32 32个有效 的规定,Turbo C 中规定为不超过32个有效 字符。 字符。
3.3.2
整型变量
3.整型变量的定义 3.整型变量的定义 对于变量,必须先定义,后使用。 对于变量,必须先定义,后使用。 由于在实际的应用中存在各种不同的数据类 型。在定义变量时必须指定其所代表的数据 类型。变量的定义一般放在函数(程序) 类型。变量的定义一般放在函数(程序)开 始的声明部分, 始的声明部分,如:
3.4.2
实型变量
3. 实型数据的舍入误差 语言中规定了实型数据的有效位数, c语言中规定了实型数据的有效位数,在实 际运算时,如果超出了范围,不做溢出处理, 际运算时,如果超出了范围,不做溢出处理, 有效位以外的数字将被舍去。 有效位以外的数字将被舍去。并由此产生舍 入误差。 入误差。 例如: 的结果不一定等于1 例如:计算 1.0/3*3 的结果不一定等于1, 因此,编程时应考虑数据的范围,避免出错。 因此,编程时应考虑数据的范围,避免出错。
第三章
数据类型、 数据类型、 运算符与表达式
C的数据类型 3.1 C的数据类型
基本类型 数据类型 构造类型 指针类型 空类型 整型 字符型 单精度型 实型(浮点型) 实型(浮点型) 双精度型 枚举类型 数组类型 结构体类型 共用体类型
3.2
常量与变量
3.2.1 常量和符号常量
在程序运行过程中,其值不能被改变的量称为常量 在程序运行过程中, 12、12.34、 book” 如:12、12.34、‘a’、“This is a book 、 可以用一个名字表示一个常量, 可以用一个名字表示一个常量,此时称为符号常量 #define PRICE 30 main( ) 符号常量也 { int a=10,total; 不允许改变, 不允许改变, total=a*PRICE; 但可重新定 printf(“total=%d total=%d”,total); printf( total=%d ,total); 义。 }
3.4.2
实型变量
实型数据的舍入误差。 例3.4 实型数据的舍入误差。 main() { float a,b; a=1.23456789e10; b=a+20; printf(“%f ); %f\ printf( %f\n”); }
3.4.3 实数常量的类型
实型常量自动按双精度double型处理。 实型常量自动按双精度double型处理。 double型处理 一个实型常量可以赋给一个float float型或 一个实型常量可以赋给一个float型或 double型的变量 型的变量, double型的变量,根据变量的类型截取实型 常量中有效位数字。 常量中有效位数字。
3.4
实型数据
3.4.1 实型常量
实数( number)又称浮点数 floating又称浮点数( 实数(real number)又称浮点数(floatingnumber)。有两种表示形式: )。有两种表示形式 point number)。有两种表示形式: 十进制小数形式, 十进制小数形式, 如 0.34 , 45.0 指数形式: 指数形式:123.456E0 = 123.456 * 100 12.3456E1 = 12.3456 * 101 1.23456E2 = 1.23456 * 102 规定:整数部分保留1位的形式为标准形式, 规定:整数部分保留1位的形式为标准形式, 因此: 5.678E因此:0.05678 应写成 5.678E-02
3.3.2
整型变量
main( ) { int a,b,c,d; unsinged u; long int e,f; …… } 不同类型的整数之间可以进行运算, 不同类型的整数之间可以进行运算,但不能 超出其取值范围。 超出其取值范围。
3.3.2
整型变量
4.整型数据的溢出 4.整型数据的溢出 整型(int)变量的最大允许值为32767, 变量的最大允许值为32767 整型(int)变量的最大允许值为32767,用 16位二进制表示 位二进制表示: 16位二进制表示:
3.4.3 实数常量的类型
截取实型常量中有效位数字, 截取实型常量中有效位数字,如: main( ) a,b,c; { float a,b,c; a=111111.111; b=222222.222; c=a+b; printf(“c=%f ,c); c=%f\ printf( c=%f\n”,c); }
3.3.2
整型变量
2.整型变量的分类----三种类型 2.整型变量的分类----三种类型 整型变量的分类---基本型 (int) 短整型 (short int , short) 长整型 (long int , long) 按照数的表示方法,还可以分为: 按照数的表示方法,还可以分为: 有符号型( 有符号型(signed) 无符号型(unsigned) 无符号型(unsigned)
3.3 3.3.1
整型数据 整型常量
整型常量通常称为整数, 整型常量通常称为整数,可用以下三种类型 表示: 表示: 十进制整数(D) 123, (D): 1、十进制整数(D):123,-456, 0 八进制整数(O) O123—(123)8 (O): (123)8, 2、八进制整数(O):O123 (123)8, O11—( -O11 (-11)8 十六进制(Ox) (Ox): Ox123—(123)16 3、十六进制(Ox.2 变量
应注意:不同长度的标识符, 应注意:不同长度的标识符,即使前面的部 分全相同,也应视为不同。 分全相同,也应视为不同。 例如: 例如: 为两个不同的变量。 a1 和 a12 为两个不同的变量。 是不同的变量。 a,A 是不同的变量。 为合法的变量。 sum,average,_total 为合法的变量。 均为不合法的变量。 M1.2,#b1,123a,a>b 均为不合法的变量。
3.3.2
整型变量
使用整型常量或变量一定要注意数据的范围, 使用整型常量或变量一定要注意数据的范围, 使之不要越界,造成数据的溢出。例如: 使之不要越界,造成数据的溢出。例如: main( ) 执行该程序后, 执行该程序后,变量 { int a,b,c; 的值为-32739, c的值为-32739,数 a=32767; 据溢出。 据溢出。 b=30; c=a+b; printf(“c=%d c=%d\ ,c); printf( c=%d\n”,c); }
相关文档
最新文档