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语言程序设计第三章运算符与表达式

第三章运算符和表达式3.1 运算符和表达式概述使用运算符可以对运算对象(包括常量和变量)进行计算以得到计算结果。

用运算符将运算对象连接成一个符合C语言语法规则的式称为表达式。

另外,C语言中的表达式是可以嵌套的,即简单表达式经过运算符连接后还可以形成更为复杂的表达式。

根据运算符所连接的运算对象(操作数)的个数,可以将C语言中的运算符分为三类:(1) 单目(一元)运算符:只连接一个操作数的运算符。

(2) 双目(二元)运算符:带有两个操作数的运算符。

(3) 三目(三元)运算符:同时对三个操作数进行计算的运算符。

C语言中的表达式可以分为三类:(1) 单个常量或者单个变量是最简单的表达式。

(2) 带有运算符的表达式。

(3) 函数调用。

任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。

所以运算对象、运算符和运算结果是运算的三大要素。

3.2 算术运算符和算术表达式一、基本算术运算符和简单算术表达式1. 基本算术运算符C语言为用户提供的基本算术运算符包括:+(加)、-(减)、*(乘),/(除)、%(求余),这些运算符都是双目运算符,也即在生成算术表达式的时,基本算术运算符左右两侧都必须出现运算对象。

2. 简单算术表达式当用基本算术运算符去连接常量或者变量时,就形成简单算术表达式。

简单算术表达式的基本形式:data1 op data2。

data1和data2表示某个常量或者变量,op代表上述5个基本算术运算符之一。

假设有变量定义:int a=20,b=-5;则a+b、a-b、a*-2、20/-b、20%6、a%b等都是简单算术表达式。

3. 基本算术运算符使用说明(1) +、-、*,/既可以连接整型数据,也可以连接实型数据。

当参与这4个运算符的运算对象都是整型数据时,得到整型数据运算结果;否则表示浮点运算。

例如,int a=15,b=2;则a*b等于30,而a/b等于7;a*2.0等于30.0,而a/2.0等于7.5。

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 语言标准没有规定整型变量在计算机内存中所 占的字节数,它与具体的机器和操作系统有关: 占的字节数,它与具体的机器和操作系统有关:

C语言程序设计--第3章基本数据类型和表达式

C语言程序设计--第3章基本数据类型和表达式

2.实型变量
实型变量分为单精度(float型)和双精度(double型)。 如: float x,y; double z; / *定义x , y为单精度实数* / / *定义z为双精度实数* /
一个float型数据在内存中占4个字节(32位),提供7位有效数字 一个double型数据占8个字节(64位),双精度提供15 ~ 16位有 效数字 值得注意的是,实型常量是double型,当把一个实型常量赋给一 个float型变量时,系统会截取相应的有效位数。
§3.1 基本语法单位
任何一种语言都会根据自身的特点规定 它自己特定的一套基本符号。例如,英语的 基本符号是26个英文字母和一些标点符号。 C语言作为一种程序设计语言,也有它的基 本符号,程序就是由这些基本符号组成的。
§3.1.1 基本符号
程序中要对各种变量和各种函数起名,这些变量名、 函数名都是由语言的基本符号组成的。C的基本符号包 括: (1)数字10个(0~9); (2)英文字母大小写各26个(A~Z, a~z); (3)特殊符号,主要用来表示运算符,它通常是 由1~2个特殊符号组成。包括:
digits是一位或多位十进制数字(从0~9)。 1.575e9表示1.575×109
注意:
◆所有的实型常量均视为双精度类型。实型常量
的整数部分为0时可以省略,如下形式是允许的: .57,.0075e2,-.125,-.175E-2; 须为整数: 如e3,2.1e3.5,. e3,e等都是不合法的指数 形式。
不同的,而且取值范围与机器硬件有关,在 使用时请参阅有关手册。
◆需要指出的是:C语言没有提供布尔(逻辑)
类型,在逻辑运算中,它是以非零表示真 (TRUE),以数值0表示假(FALSE)。

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

3.4 浮点型数据
一、浮点型常量 浮点型常量又称浮点数, 浮点型常量又称浮点数,就是通常带小数 点的实数 它只使用十进制数, 实数。 点的实数。它只使用十进制数,其书写方法有 两种: 两种: ⑴十进制小数形式 由整数、小数点和小数三部分组成。 由整数、小数点和小数三部分组成。 规范化的指 例如: 例如:12.345, -1.2345, 47.0 数形式 ⑵指数形式 由尾数、字母e 由尾数、字母e或E和指数三部分组成 例如:12.345e例如:12.345e-2, -1.2345E3, 0.1234E4
2.浮点型数据的舍入误差 2.浮点型数据的舍入误差 由于浮点型变量的有效位数有限 有效位数有限, 由于浮点型变量的有效位数有限,在有效 位数以外的数字被舍去,可能会产生误差。 位数以外的数字被舍去,可能会产生误差。 实型数据的舍入误差。 [例]实型数据的舍入误差。
void main() { float a,b; a=123456.789e5; b=a+20; printf(“%f %f”,b); printf( %f ,b); } 运行结果: 运行结果:12345678848.000000 (12345678920)
数据类型
构造类型 指针类型 空类型
3.2 常量与变量
一、常量和符号常量 1.常量的定义 1.常量的定义 常量是程序运行过程中其值不变的数据。 值不变的数据 常量是程序运行过程中其值不变的数据。 2.常量的类型 2.常量的类型
⑴整型常量: 21, 0, -12 整型常量: ⑵实型常量: 1.2, -3.4 实型常量: 字符常量: a , Z ⑶字符常量: ‘a’, ’Z’ 字符串常量: Shen Zhen” ⑷字符串常量: “Shen Zhen
3.符号常量 3.符号常量 若程序多处使用某个常量, 若程序多处使替代该常量。 符号常量。此时可用符号常量来替代该常量。
常量定 义 [例]符号常量的使用
两点注意: 两点注意:
1、符号常量的值不 能被改变, #define PRICE 30 能被改变,也不能被再 次赋值。 次赋值。 void main() 2、符号常量名一般 用大写字母, 用大写字母,以便和变 { 量区分开。 量区分开。
%d
三、字符串常量 字符串常量是一对双引号 双引号括起来的字符序 字符串常量是一对双引号括起来的字符序 ab”、 China”、 中国” 列,如:“ab 、“China 、“中国”。 规定: C规定:在每一个字符串的结尾加一个字 在 , 符串结束标志“ C中, 没有专门的字符 符串结束标志“\0”,以便系统据此判断字符 串型变量, 串型变量,而是采用字符型 串是否结束。 串是否结束。因此每个字符串在内存中占用的 数组来实现。 数组来实现。 字节数=字符串长度+1 +1。 字节数=字符串长度+1。
3.5 字符型数据
一、字符常量 字符常量是用两个单引号括起来的单个字 符,如 ‘a’、’A’、’1’、’%’等。 、 、 、 等 特殊形式的字符常量以一个“ 开头的字 特殊形式的字符常量以一个“\”开头的字 符序列,也叫做转义字符 (P48表 转义字符。 符序列,也叫做转义字符。(P48表3-3) [例]转义字符的使用 void main() printf(“□ab□ de\ { printf( □ab□c\t□de\rf\tg\n”); ); printf(“h ti\ bj□ ); printf( h\ti\b\bj□k”); }
3.3 整型数据
一、整型常量 整型常量是用来表示数学中整数, 整型常量是用来表示数学中整数,包括正 整数、 和负整数。 整数、0和负整数。 整型常量有三种表示方式: 整型常量有三种表示方式: 十进制整数: ⑴十进制整数: 21, 0, -111 八进制整数: ⑵八进制整数: 021, 00, -0111 ⑶十六进制整数:0x21, 0x0, -0x111 十六进制整数: 整型常量: 21,234u 011, 整型常量:如,21,234u,011,0x111 长整型常量: 0111L,0x15L 长整型常量:如,0L,-0111L,0x15L
int num,total; 使用常量的好处: 使用常量的好处: num=10; 含义清楚。 1、含义清楚。 total=num*PRICE PRICE; total=num*PRICE; 2、在需要改变常量 时能做到“一改全改” 时能做到“一改全改” printf(“total=%d total=%d”,total); printf( total=%d ,total); 。
2.整型变量的定义 2.整型变量的定义 强制类型定义, 强制类型定义,即在程序中所有用到的变 量必须在程序中先定义。 量必须在程序中先定义。 [例] void main() { int a,b,c,d; /*无符号整型 无符号整型* unsigned u; /*无符号整型*/ a=12;b=a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d a+u=%d,b+u=%d\ ,c,d); printf( a+u=%d,b+u=%d\n”,c,d); } 运行结果:a+u=22,b+u=运行结果:a+u=22,b+u=-14
3.整型数据的溢出 3.整型数据的溢出 不同种类的整型数据可以进行运算。 *不同种类的整型数据可以进行运算。 *运算超出取值范围时,系统不报告错误, 运算超出取值范围时,系统不报告错误, 而是采用类似钟表一样的循环计数。 而是采用类似钟表一样的循环计数。
例如: a=32767, 例如:int a=32767,b; b=a+1; 结果为-32768,而不是+32768. 结果为-32768,而不是+32768.
[例]向字符变量赋以整数: 向字符变量赋以整数: c1=97 void main() 等效于 { char c1,c2; c1=‘a c1= a’ c1=97;c2=98; printf(“%c %c”,c1,c2); printf( %c %c ,c1,c2); } %c 效果不同于 运行结果: 运行结果:a b 字符变量以字符或整数两种形式输出: 字符变量以字符或整数两种形式输出: printf(“%c %d”,c1,c1,c2,c2); printf( %c %d %c %d ,c1,c1,c2,c2); 运行结果: 运行结果:a 97 b 98
a 中 b \0 国 \0 (占3个字节) 个字节) 个字节) (占5个字节)
[例]字符串和字符常量的使用
void main() printf(“字符串的输出 ); 字符串的输出: { printf( 字符串的输出:”); Computer”, 计算机 计算机” printf(“%s,%s %s,%s\ , Computer printf( %s,%s\n”,“Computer ,“计算机”); printf(“字符常量和字符串的输出 ); 字符常量和字符串的输出: printf( 字符常量和字符串的输出:”); printf(“%c %s\ , A , A ); %c, printf( %c,%s\n”,’A’,”A”); }
第三章 数据类型、运算符 与表达式
制作人:张丽涓
3.1 C的数据类型
数据结构是数据的组织形式,C语言的数 数据结构是数据的组织形式,C语言的数 ,C 据结构是以数据类型形式出现的。 据结构是以数据类型形式出现的。
基本类型 整型 实型(浮点型) 字符型 枚举类型 数组类型 结构体类型 共用体类型 单精度型 双精度型
二、浮点型变量 1.浮点型变量的分类 1.浮点型变量的分类 浮点型变量可分为单精度型(float) 浮点型变量可分为单精度型(float)和双精 度型(double)两种, 度型(double)两种,每个浮点型变量都应在使 用前加以定义。 用前加以定义。 float x,y double z
类型 float double 字节数 4 8 有效数字 6~ 7 15~ 15~16 数值范围 10-37~1038 10-307~10308
注:打印和显示的输出不同! 打印和显示的输出不同!
二、字符变量 字符变量用来存放字符常量。 字符变量用来存放字符常量。一个字符变 量在内存中占一个字节,只能存放一个字符。 量在内存中占一个字节,只能存放一个字符。 例如: 例如: char c1,c2; c1 97 c1=‘a’; c1=‘a’; c2 98 c2=‘b ; c2= b’; 字符存放在字符变量中,实际上是将该字 字符存放在字符变量中, 符的ASCII代码放到存储单元中。因此, ASCII代码放到存储单元中 符的ASCII代码放到存储单元中。因此,字符型 数据和整型数据之间可以通用。 数据和整型数据之间可以通用。
} 运行结果: 运行结果:total=300
二、变量和标识符 1.什么是变量 1.什么是变量 变量是指在程序运行过程中其值可以发生 变化的量。 变化的量。 每个变量有一个名字(或叫做标识符), 每个变量有一个名字(或叫做标识符), 并在内存中占据一定的存储单元 占据一定的存储单元。 并在内存中占据一定的存储单元。
*为避免溢出,应掌握较小数据类型向较大 为避免溢出, 数据类型赋值的原则。 数据类型赋值的原则。 如,int a=32767; 注:long的格式输出符为 long的格式输出符为 long b; %ld b=a+1L; Printf(“%d,%ld %d,%ld”,a,b); Printf( %d,%ld ,a,b);
取值范围: 取值范围: 二、整型变量 32768~ -32768~+32767 1.整型变量的分类 1.整型变量的分类 取值范围达±21亿 取值范围达±21亿 基本型: ⑴基本型:int 短整型: ⑵短整型:short int/short 取值范围: 取值范围: 0~65535 长整型: ⑶长整型:long int/long 无符号型: ⑷无符号型: unsigned int unsigned short unsigned long 要求:long不短于 不短于int; short不长于 不长于int C要求:long不短于int; short不长于int 通常的做法:long定为32位 定为32 通常的做法:long定为32位;short 定为16 16位 int两者都可以 两者都可以。 定为16位;int两者都可以。
相关文档
最新文档