第3章 C语言数据类型、运算符和表达式

合集下载

c语言的数据类型、运算符和表达式

c语言的数据类型、运算符和表达式

数据类型、运算符和表达式一、C 语言的基本数据类型数据是程序处理的对象。

C 中将数据分为不同的数据类型,任何数据都属于某一种特定的数据类型。

数据类型的作用有两个:一是指明为数据分配多大的存储空间和规定了数据的存储结构,进而规定了数据的取值范围;二是规定了数据所能进行的操作。

C 的数据类型分为基本数据类型和构造类型。

基本数据类型是系统定义的,用户可以直接使用。

构造类型由用户自行定义。

C 的数据类型如图所示。

C 标准没有规定各类数据所占用内存位数。

所以不同c 编译系统的各类数据所占用内存位数是不一样的。

上机使用时,应注意使用的c 编译系统的具体规定。

Turbo C 基本类型 所占位数 数的范围 [signed] char 8 -128~127 unsigned char 8 0~255 [signed]int 16 -32768~32767 short [int] 16 -32768~32767long [int] 32 -2147483648~2147483647 unsigned [int] 16 0~65535 unsigned short [int] 16 0~65535 unsigned long [int]320~4294967295C++数据类型基本类型字符型(char) 空类型(void)整型短整型(short int) 无符号整型(unsigned int)长整型(long int)基本整型(int) 实型(浮点型) 双精度型(double)单精度型(float) 指针构造类型枚举(enum) 联合(union)结构体(struct)数组float 32 约6位有效数字double 64 约12位有效数字在Visual C++中:char:1 Byteint:4 Byteshort:2 Bytelong:4 Bytefloat:4 Bytedouble:8 Byte二、常量常量:整型常量、实型常量、字符常量、字符串常量、符号常量1.整型常量C语言程序中可以使用十进制、八进制和十六进制来表示整型常量。

C语言程序设计教案第3讲 数据类型、运算符与表达式

C语言程序设计教案第3讲 数据类型、运算符与表达式
12
<
>
2,实型变量的分类
说明: C并没有具体规定每种类型的长度 并没有具体规定每种类型的长度, 说明:ANSI C并没有具体规定每种类型的长度,精度和数值 范围.下面是常用的C 范围.下面是常用的C编译系统的情况 类 型 字节数 有效数字 最小取值范围 float 4 6~7 -3.4*10-38~ 3.4*1038 double 8 15~16 -1.7*10-308~ 1.7*10308 long double 16 18~19 -1.2*10-4932~1.2*104932
8
取反
<
>
2.
整型变量分类
基本类型: 基本类型:int 根据数值的范围分为: , 根据数值的范围分为:int,short,long , 根据有无符号(singed/unsigned)及范围可分: 及范围可分: 根据有无符号 及范围可分
类 型 举例: 举例: [signed] int unsigned [int] [signed] short [int] unsigned short [int] [signed] long [int] unsinged long [int]
C 数 据 类 型
构造类型 指针类型 空类型 void
定义类型 typedef
<
>
2
2.2 常量与变量
一,标识符
定义:用来标识变量名,符号常量名, 定义:用来标识变量名,符号常量名,函数 数组名,类型名, 名,数组名,类型名,文件名的有效字符序 列称为标识符.(即一个名字) .(即一个名字 列称为标识符.(即一个名字) 使用规则
32767,32767,-32768,8
<

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,

C语言课件第三章

C语言课件第三章

三、 自增、自减运算符 ++ --
++、- -运算符的作用是使变量的值加1或减1
1)该运算符为单目运算符,其运算对象只能是 变量,不能为常量或者表达式。 例如: i++ 、x- - 都是正确的 5++ 、(x+y)++ 都是错误的
2)该运算符作前缀、后缀都可以 例如 i++、++i、i- - 、- -i 都是正确的
3)对变量而言 i++ 或者++i都相当于i=i+1 i- -或者- -i都相当于i=i-1
例如: main( ) { int i=3 , j=3; +i+++i; j---j;; printf (“%d, %d\n”, i, j ); }
运行结果:4,2
4)但如果作为表达式,前缀和后缀则不同: 后缀:先取值再运算(i++,先取i值,i再自加) 前缀:先运算再取值(++i,i先自加,再取i值)
2)强制类型转换运算符优先级高于算术运算符
float x=3.6; int y; y=(int)x%3+2;
x = ?3.6 y=?2
计算下列表达式的值 设 x=2.5, a=7,y=4.7
x+a%3 * (int)(7x7+.2y ) % 2 / 4
设 a=2,b=3,x=3.5,y=2.5
(float5).(0a+b )/2+(int3)(x)%(int2)(y)
例如: main() { int i=3; printf(“%d\n”+, +i+i+ ); printf(“%d”, i ); }

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 数据类型.运算符与表达式

3 数据类型.运算符与表达式
THE C PROGRAMMING LANGUAGE
C语言程序设计
第6页
符号常量
一般来说,下列两种情况用符号常量比较方便。 1)当某一常数在程序中多处出现时,可事先定义一个符 号常量。 2)有时,程序中的常数是有意义的,但写一个具体数字,程 序的阅读者则很难明白该常数的意义,此时可定义一个符 号常量。 例如: # define PI 3.1415926 注意:1)表示常量的标识符一般用大写 2)不能给符号常量赋值 PI=6; 错误 思考题:使用符号常量的好处? 含义清晰;一改全改
C语言程序设计
第14页
3.4 实型数据 3.4.1 实型常量
注意:1)没有unsigned和signed 之分。 2)实型常量没有单、双精度数之分;但可以赋给 一个float型或double型变量。赋值时要注意有效 数字位数。 float a; a=12345.6789 (只能接受前7位) 3)C编译系统将浮点型常量作为双精度来处理
C语言程序设计
第11页
3.3.2 整型变量
有三种整型变量(int、short int、long int): 但也可以将变量的类型定义为无符号(unsigned int) 1)有符号基本整型:signed int signed int 2)无符号基本整型:unsigned int 3)有符号短整型: signed short int signed int 4)无符号短整型: unsigned short int unsigned short 5)有符号长整型: signed long int signed long long 6)无符号长整型: unsigned long int unsigned long
THE C PROGRAMMING LANGUAGE

C语言第3章(谭浩强)

C语言第3章(谭浩强)
17





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); } 运行结果:a+u=22,b+u=-14 结论:不同类型的整型数据可以进行算 术运算。
位数 16
取值范围 -215-(215-1) -32768—+32767 -32768—+32767
Short [int] Long [int]
短整型 长整型
16 32
16 16 32
Unsinged int 无符号整型 Unsinged short [int] Unsinged long [int] 无符号短整 型 无符号长整 型
8


④大写字母与小写字母意义不同, 被认为是两个不同的字符。一般变 量名用小写字母表示。 注意:常量名常用大写、变量名常 用小写!
year Day a_12 _abcdef #123 .com $100 1999Y a=b 1_2_3 +abcedfghi ∏ -5 等
9

3、变量要先定义后使用


可以改为double型) void main( ) {float x;double y; x=123456.789;y=123456.789; printf(“%f, %f”,x,y);} 结果为: 123456.789062, 123456.789000
29
§3.5
字符型数据
一、字符常量 1、在C语言中字符型常量是用单引号括 起来的一个字符。 如:’a‟、’A‟、’3‟、’?‟、’ ’、 ’$‟等。 2、以‚\”开头的转义字符,如\n不代表 字母n,而是代表换行。

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 标识符 常量值
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 C语言数据类型、 运算符和表达式
本章要点:

数据的描述规则 数据的操作规则
教学要求:
1.掌握C语言数据类型分类。 2.掌握整型数据、实型数据、字符数据使用规则。 3.掌握C语言常量、变量的使用。
内容提要:

3.1 基本字符、标识符和关键字


3.2 基本数据类型
3.3 常量与变量 3.4 整型数据 3.5 实型数据 3.6 字符型数据
变量的定义和使用
注意: (1) 允许在一个类型说明符后,定义多个相同类 型的变量。各变量名之间用逗号隔开;类型说明
符与变量名之间至少用一个空格间隔。
(2) 最后一个变量名之后必须以“;”号结尾。 (3) 变量定义必须放在变量使用之前。
3.4 整型数据(续)
【例】整型变量的定义与使用。 #include <stdio.h> void main( ) { int a,b,c; printf(”Please input two numbers:”); scanf(”%d,%d”,&a,&b); if(a>b) c=a; else c=b; printf(“The max number is:%d\n”,c); }
3.4 整型数据(续)
(3)十六进制整数。以0x(0X)开头的数是16进制数。
如:0x123,代表16进制数123,等于十进制数 291。 -0x12等于十进制数-10。
二、整型变量 (1)整型数据在内存中的存放形式 数据在内存中是以二进制形式存放的。 如: int i; /* 定义为整型变量 */ i=10; /* 给i赋以整数10 */
实型变量的分类 实型变量分为单精度(float型)、双精度 (double型)和长双精度型(long double)三类形式。
数据类型 单精度 类型符 占内存 占内存 (字节) (位) 4 32 数值范围 10-37~1038 有效 数字 7
float
双精度 长双精度
double long double
内容提要:

3.7 变量赋初值


3.8 各类数值型数据间的混合运算
3.9 运算符和算术表达式
3.1 基本字符、标识符和关键字
一、符号集(字符集) C语言的基本符号共有以下五种: (1) 大写字母 A~Z (2) 小写字母 a~z (3) 阿拉伯数字 0~9 (4) 下划线 _ (5) 标点符号和运算符
变量命名的规定:C语言规定标识符只能由字母、 数字和下划线三种字符组成,且第一个字符必须为 字母或下划线。 例: sum,_total, month, Student_name, lotus_1_2_3,BASIC, li_ling

M.D.John, ¥123,3D64,a>b

3.3 常量与变量(续)
二、标识符
标识符号常量、变量、函数、类型名、文件等的 有效字符序列。 标识符构成规则: (1) 标识符只能由字母、数字和下划线三种字符组 成,且第一个字符必须为字母或下划线。

例:x y3 _imax ECSE 7x int #No bad one
X A_to_B (合法) reg-input (不合法)
3.5.1实型常量的表示方法 小数 指数 0.123 3e-3
两种 表示形式
注意:字母e(或E)之前必须有数字,且e后面的 指数必须为整数


1e3、1.8e-3、-123e-6、-.1e-3 e3、2.1e3.5、.e3、e
实型二种表现形式: 十进制形式:由数字和小数点组成; 例如: 3.4 4. .3
指数形式:由‚十进制小数‛ + “ e(或E)” + “十进制数整数‛ 三部分组成。 例如: 12.5e-6 表示12.5×10-6
十进制小数
e(或E)
十进制整数
注意: 小数点不能单独出现;
如:0.、 .0 应为: . e或E的两边必须有数,且其后面必须为整数; 如: 6E0.2 e5 6E
3.5.2 实型变量
运行结果: 2 area=12.566360
说明: 程序中用#define命令行定义PI代表常量 符号常量: 用一个标识符代表一个常量。符号常量的 3.14,此后凡在本文件中出现的PI都代表3.14159, 值在其作用域内不能改变,也不能再被赋值。 可以和常量一样进行运算。
3.3 常量与变量
3.3.2

变量


概念:在程序运行期间,其值是可以改变的量。 用标识符(变量名)来表示。 变量代表内存中具有特定属性的一个存储单元,它用来存放 数据,这就是变量的值。 从变量中取值,实际上是通过变量名找到相应的内存地址, 从该存储单元中读取数据。 变量的定义方法: 类型符 标识符
3.3 常量与变量(续)
8 16
64 128
10-307~10308 10-4931~104932
16 19
说明:
(1)
(2)
(3)
C编译系统通常把所有实型常数都被默认为 double型。 绝对值小于1的浮点数,其小数点前面的零 可以省略。 Turbo C默认格式输出浮点数,最多只保留 小数点后6位。
3.5.3 实型数据在内存中的存放形式
无符号短整型 unsigned short 2字节 无符号长整型 unsigned long
3.4 整型数据 (续)
例如:整数13在内存中实际存放的情况:
3.4 整型数据(续)
(3)整型变量的定义和使用 C规定在程序中所有用到的变量都必须在程序 中定义,即‚强制类型定义‛。 定义的一般形式: 类型说明符 变量名1,变量名2,· · · ; ··· 例如: int a,b; /*指定变量a、b为整型*/ unsigned short c,d;/*指定变量c、d为无符号短整型*/ long e,f; /*指定变量e、f为长整型*/
(2) 在C语言中,大小写字母不等效。
a和A,I和i,Sum和sum,分别是两个不同的标识符。
(3) 用户自定义的标识符不能与保留字(关键字)同名。
三、关键字(保留字)
概念:就是具有特定含义的标识符,用户不能用 来作自定义标识符。 C语言中的关键字较少,由ANSI标准推荐的关键 字有32个。 (1)与数据类型有关的(14个): char int float double signed unsigned short long void struct union typedef enum sizeof (2)与存储类别有关的:
注意:括号表示其中的内容是可选的.
3.4 整型数据(续)

整数类型的有关数据:
类型
基本型 短整型 长整型 无符号整型
类型说明符
int short long unsigned
长度
2字节 2字节 4字节 2字节 4字节
数的范围
-32768~32767 -215~215-1 -231~231-1 0~65535 0~65535 0~(232-1)

auto extern register static
三、关键字(续)
(3) 与程序控制结构有关的(12): do while for if else switch case default goto continue break return
注意: (1) 所有的关键字都有固定的意义,不能用作其它 (2) 所有关键字都必须小写。 如else 与 ELSE表示不同的含义
3.4 整型数据(续)
(3) 如果所用的C版本(如Turbo C)分配给short int与int型数据在内存中占据的长度相同,则它 的表数范围与int型相同。因此一个int型的常量 同时也是一个short int型常量,可以赋给int型 或short int型变量。
3.4 整型数据(续)
(4) 一个整常量后面加一个字母u或U,认为是 unsigned int型。
3.4 整型数据(续)
(2)整型变量的分类
共六种
有符号基本整型 有符号短整型 有符号长整型 无符号基本整型 无符号短整型 无符号长整型
(signed)int (signed)short (int ) (signed) long (int) unsigned int unsigned short (int) unsigned long (int)
注意:




编译系统将大写字母和小写字母认为是两个不同 的字符。 建议变量名的长度最好不要超过8个字符。 见名知意。 先定义,后使用。 习惯上,符号常量用名用大写,变量名用小写, 以示区别。
3.4 整型数据
一、整型常量的表示方法 整型常量即整常数。在C语言中,整常数可用以 下三种形式表示: (1) 十进制整数。 如:123, -456, 4。 (2) 八进制整数。最高位必须用0作引导符。 如:0123表示八进制数123,等于十进制数83, -011表示八进制数-11,即十进制数-9。
如12345u,在内存中按unsigned int规定的方式存放 (存储单元中最高位不作为符号位,而用来存储数据)。如 果写成-12345u,则先将-12345转换成其补码53191,然后 按无符号数存储。
(5) 在一个整常量后面加一个字母l或L,则认为是 long int型常量。
3.5 浮点型数据 (实型数据)
3.4 整型数据 (续)
三、 整型常量的类型 (1) 一个整数,如果其值在-32768~+32767范围内, 认为它是int型,它可以赋值给int型和long int型 变量。 (2) 一个整数,如果其值超过了上述范围,而在2147483637~+2147483647范围内,则认为它是为长 整型。可以将它赋值给一个long int型变量。
相关文档
最新文档