C语言第三节:数据类型

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

C
数组

结构体struct
据 类
构造类型 共用体union

枚举类型enum
数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作
指针类型
空类型void 定义类型typedef
返回
基本数据类型
类型 符号
关键字
(signed) int 有 (signed) short

(signed) long
见名知意,采用简洁有含义的英文单词(或缩写) 不宜混淆 如l与I, o与0
标识符命名实例 stu_name, sum, total, day, count, sort
常量
在程序运行过程中,其值不能改变的量称为常量 常量可为任意数据类型 字面常量(直接常量)
整型: 12、0、-3 实型: 4.6、-1.23 字符型:’a’、’d’ 字符串常量:”Hello”、”Good Morning!”
字符常量的值:该字符的ASCII码值 例m{ 转app\\iv转n义nrrii(nn义字)tt转 值ff符((字""如表义I\转符1s0a示字义举1y例‘:A‘‘‘\如\字\例符x"垂’36:4-H\701-符(2直换:6’-oc0含-’Chw制‘‘1-行及义--2反’\---表n_a-A0-’其-"r-\0’’-斜-1e-)——-0--;含0--y-1--1-线——o-.--义c’--u---,---64c?-后-’:--h’\580--"2-,’-\面-转‘n_,-A’"0’义\\’\)跟0‘‘tbx;\4字4‘‘n.a1一\\c’符x4’‘’)——\68-0-个13-—1—’’-2-字运 AI\T--1’Cs9--u-a0B--行-7rP-y6符-b,---C:5r结o”---oH---或g‘--果-C含o水--r-a-w-’-:-一义-(退平m--a’-(\格制r)a屏-个e-’’表幕y\no代显u’ ?码示” )
int a=1, b=-3,c;
…...
地址
a
地址
b
地址
编译程序根据变量定义为其 c
分配指定字节的内存单元
如果定义了变量,但是没有对它赋 初值,则它的值是一个不确定的数 值
…...
1 -3 内存
2字节 2字节 2字节
随机数
返回
运行结果:64,3129 例 main() {
int x,y; printf(“%d,%d”,x,y); }
目标
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 熟练掌握自增和自减运算 熟练掌握复合赋值表达式
3.1 C的数据类型
基本类型
整型 实型
短整型short 整型int 长整型long 单精度型float
双精度型double
字符类型char
{ x=‘A’+5; /* x=65+5;*/
s=c‘h!a’+r‘Gc’1, c2/;* s=33+71;*/
c1=97; c2=98;
printf(“%c %d”, c1, c2);
}
例子
/*ch2_003.c*/
#define PRICE 12.5
main()
{ int num=3; float total;
第3章 数据类型、运算符与表达式
数据类型 常量与变量 整型数据 实型数据 字符型数据
变量赋初值 各类数值型数据间的混合
运算 算术运算符和算术表达式 赋值运算符和赋值表达式 逗号运算符和逗号表达式
回顾
程序是为执行一项任务而编写的有序指令集 算法是解决问题的具体方法和步骤 流程图是算法的图形化表现形式 C语言的特点 C程序的编译和运行过程 编译器将源程序转换成机器能理解的程序 连接器用于连接相关的目标文件以生成可执行程序
变量定义
char ch1,ch2=‘D’;
宏定义
total=num*PRICE; ch1=ch2-‘A’+‘a’;
输出结果
printf(“total=%f,ch1=%c\n”,total,ch1); }
运行结果: total=37.500000, ch1=d
没有字符串变量,用字符数组存放
字符串常量
定义:用双引号(“”)括起来的字符序列
存储:每个字符串尾自动加一个 ‘\0’ 作为字 符串结束标志
例字例符字空常符串量串与““字h”el符lo\串0”常在内量存不中同 h e l l o \0
例 ‘a’a
“a”
例: char ch; ch=“A”;
a \0
例:
char ch; ch=‘A’;
3.6 变量赋初值
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);
}
3.4 实型数据
实型数据
实型常量
表示形式:
十进制数形式实型常量 0指.12数3, .形123式, 1实23型.0, 常0.0量, 123.
float a; a = 111111.111
double a; a = 111111.111
实型变量
float: 占4字节,提供7位有效数字 double:占8字节,提供15~16位有效数字
基本数据类型
数数据据类型
整1型23
数值 2.175
9/1非2/整2型003
非数值 Africa
char
int num,total; num=10; total=num*PRICE; printf("total=%d",total); }
符号常量的使用能给 程序员带来哪些好处?
运行结果:total=300
变量
其值可以改变的量称为变量 变量也可以为任意数据类型 变量定义的一般格式
数据类型 变量1[,变量2,…,变量n];
例 30000 65536
为int型 为long int型
例 12 与 12L
整型变量
整型变量在内存中以二进制的形式存放 根据占用的字节数不同,分为不同类别
整型变量的定义
例: Байду номын сангаасain() {
整型变量定义举例: int a,b; unsigned short c,d; l运on行g 结e, f果; :a+u = 22, b+u = -14
注意事项:
单撇号中的字符不能是’或者\ 一个字符占一个字节,存其对应的ASCII码 思考:’9’和9的区别 字符型数据可像证书一样在程序中参与相关的运算
‘a’ – 32 结果为65
字符变量
字符变量存放字符ASCII码 char与int数据间可进行算术运算
例2
例1 maian=(‘)D’;
/* a=68; */
变量有的效命名名称规则:
无效名称
变量名可以由字母、数字和 _(下划线)组合而成
princip变#al、量逗名la号不s、t能na空包m格含e等除
_
以外的任何特殊字符,如12:3r%at、e
zip code
cost_m变变为p量量空arirc名名白kes必不字_须能符3以包)字含c母空ity或白字_(符下(划换线行d)符is开、c头o空uc格nu和tr%r制en表c符y称$
3.7 各类数值型数据间的混合运算
隐式转换
什么情况下发生
‘aian’gcpt–ehriaa3n=grt2fe1(n“;1%a.1md\en=”,‘ana’;me);
运算转换------不同类型数据混合运算时
赋值转换------把一个值赋给与其类型不同的变量时
组讨成论::判断下列标识符号合法性
su•m只须能是S由字um字母或母M下、.D划数.J线字oh、n 下划d线ay组成D,ate且第3d一ay个s 字母必 stu•d大en小t_n写am敏e感#33 lotus_1_2_3 char a>b ab•ov不e 能使$1用23关_键toD字ay
返回
长度:Turbo C中最长32个字符 命名原则:
C 语言中的某些词(例如 int 和 float 等)称为保留字, 具有特殊意义,不能用作变量名
C 语言区分大小写,因此变量 price 与变量 PRICE 是 两个不同的变量
3.3 整型问题数: 据
整型数据
0123 = (
)10
0x123 = (
)10
整型常量
0Xff = (
)10
形式
表示方式
将值存储为Result
声明和使用变量
声明变量:
Datatype variablename;
定义时初始化变量:
Datatype variablename = value;
定义后初始化变量:
给变量赋值,除了给一个直接的值以外,还可以通过计算获得。
variablename = value;
变量命名
在 C 语言中,变量命名需要遵循一定的规则
}
pp\\arrriinn<ttff((""T\例\Cur{bPmoroa\ipg'nCrr回响(ia\)n'm"车铃t)f\;(\“\nY"\)b; =\n”);
\‘
} 单引号
\f \\ \“
运行结果:换页 屏幕显示:反=斜线 打印机输出双:引¥号
\ddd 3位8进制数代表的字符 \xhh
2位16进制数代表的字符
举例
十进制整数 由数字0~9和正负号表示 123,-456,0
八进制整数
由数字0开头,后跟数字0~7 表示
十六进制整数 由0x开头,后跟
0~9,a~f,A~F表示
0123,011 0x123,0Xff
返回
整型常量的类型
根据其值所在范围确定其数据类型 在整常量后加字母l或L,认为它是long int 型常量
-32768~32767
32
-2147483648~2147483647
16
0~65535
16
0~65535
32
0~4294967295
32
3.4e-38~3.4e38
64
1.7e-308~1.7e308
8
-128~127
8
0~255
3.2 常量与变量
标识符
定义:用来标识变量、常量、函数等的字符序 列
整i型nt
非整型 floatThe quick brown fox
shJoarctk数iie值ntChan double 非数值
long int
999
9数00据2属.1于2不同类别
TRUE
3.5 字符型数据
字符常量 字符变量 字符串常量
返回
字符常量
定义:用单引号括起来的单个普通字符或转义
字符。 如 ‘a’ ‘A’ ‘?’ ‘\n’ ‘\101’
0.123e-3
规范化的指数形式:
即在字母e(或E)之前的数据部分中,小数点左边有
且仅有一位非零的数字。
实型常量的类型 实型常量部分float和double型,一个实型常量可以 赋给一个float型或double型变量。根据变量的类型 截取实型常量中相应的有效数字。
问题:以下两段程序代码,是否有区别?

unsigned int
无 unsigned short
unsigned long
实 有 float 型 有 double
字有
符 型

char unsigned char
说明:数据类型 所占字节数随机 器硬件不同而不 同,上表以IBM 所占位P数C机为例 数的表示范围
16
-32768~32767
16
变量
内存
编中写,程方序 便时后,面9.5常使常用需这0要个.5将数数据据或1存者0储修在改内这存个 数据的值。
通常使用变量来存储数据。使用变量可以 引用存储在内存中的数据,并随时根据需 要显示数据或执行数据操纵。
程序 存储 Rate
Rate * 5% 将值存储为DiscAmt
Rate-DiscAmt
12.3e3 ,123E2, 1.23e4 , e-5 ,
1.2E-3.5 , .e3
十进制数形式:(必须有小数点)
指数形式:(e或E之前必须有数字;指数必须为整 数)
实型常量的整数部分为0时可以省略,且E或e后面指 数必须为整数。
返回
实型数据
指数形式实型常量
实型常量
12.3e3 ,123E2, 1.23e4 ,
决定分配字节数 和数的表示范围
变量定义举例: int a,b,c; float data;
变量的使用:作强制定义,也就是“先定义, 后使用”
例例1 2 inftloasttuad,ebn,ct;; stacd=ean%t=b1; 9;//Il/le/Ugnadl eufisneedofsfylomabtiongl ‘sptoaidnet nitn’ ifnunfucnticotniomn aminain
符号常量:标识符代表常量
• 定义格式: #define <符号常量名> <常量>
符号常量定义举例
#define PI 3.1415926
#define STAR ‘*’
说明:符号常量 一般使用大写英 文字母表示,以 区别一般用于小 写字母表示的变 量。
符号常量使用
#define PRICE 30 main() {
相关文档
最新文档