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

合集下载

03数据类型、运算符与表达式

03数据类型、运算符与表达式
运行结果:
x=3.600000,i=3
自增、自减运算符
+ + 自增1 – – 自减1 ❖ ++i(--i)在使用i之前,先使i的值加(减)1 ❖ i++(i--)在使用i之后,使i的值加(减)1
举例
❖ 如: int i = 3; ❖ 若: j= ++i; ❖ 若: j=i++;
则: j=4,i=4(i=i+1;j=i) 则: j=3,i=4(j=i;i=i+1)
\ddd • 表示ASCII码字符 三位八进制
如 \ 101 –– 表示字母A \ x hh 十六进制ASCII 字符 \ x 41–– 表示字母A
举例5
❖ #include <stdio.h> ❖ void main() ❖ { printf(“ ab c\t de\rf\tg\n”); ❖ printf(“h\ti\b\bj k”); ❖}
– 指数形式:对于较大或较小的数,可用指数形 式
– 如:123e3或123E3都表示123×103 ,‘ E ’, ‘e ’ 均可.
• E前必须有数字,后面的指数为整数 • e9,3.5e2.1,e,.e3:非法 • 规范化的指数表示方法
(2)浮点型变量
❖ 浮点型数据在内存中的存放形式:指数
❖ ?整型数据在内存中的存放形式?
❖ 如:10+'a'+1.5–8765.1234 'b‘

——允许的。
❖ 但有一个规则:先转换成同一类型,再计算。
转换规则
转换规则: double float

long
unsigned

《C语言程序设计课件》 第三章 数据类型、运算符与表达式

《C语言程序设计课件》 第三章 数据类型、运算符与表达式

言 定义:程序运行时其值不能改变的量(即常数)
程 序
分类:符号常量和直接常量
设 计
•符号常量:用标识符代表常量
定义格式: #define 符号常量 常量
如 #define PRICE 30
例 符号常量举例(ch3_1.c) #define PRICE 30 main()
一般用大写字母 是宏定义预处理命令, 不是C语句
第 三 章 数 据 描 述
字符型: signed char
unsigned char
-128~127 0~255
#include <stdio.h>
main()
ห้องสมุดไป่ตู้
{
unsigned char c1;
signed char c2;
char c3;
输出:
c1=130;
c1=130
c2=130;
c2=-126
转义字符:反斜线后面跟一个字符或一个代码值表示
<
转义字符及其含义
每个输出区8列
转义字符
\n
\v
\r
<
\a \„
含义 换行 垂直制表 回车(不换行) 响铃 单引号
转义字符 \t \b \f \\ \“
\ddd 1~3位8进制数代表的字符 \xhh
含义 水平制表(跳到下一个输出区)
退格 换页 反斜线 双引号
c3=130;
C3=-126
printf("c1=%d\nc2=%d\nc3=%d\n",c1,c2,c3);
}
5
C
语 二、 常量与变量
言 程
1. 标识符
序 设
定义:用来标识变量、常量、函数等的字符序列

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

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

二、常量
• 定义: 程序运行时其值不能改变的量(即常数)
• 分类: 直接常量 符号常量
直接常量
• 整型常量(整常数)
– 例: 100,125,-100,0
• 实型常量(实数或浮点数)
– 例: 3.14 ,0.125,-3.789
• 字符常量
– 用单引号括起来的单个字符 – 例: ‘a’, ‘b’,‘2’
– 整型变量的分类
• 基本整型 int
2个字节
• 短整型 short int或short 2个字节
• 长整型 long int或long 4个字节
• signed和unsigned:有符号和无符号,缺省为有符号
signed int类型变量的取值范围: -215~(215-1) unsigned int类型变量的取值范围: 0~(216-1)
• 位,字节和地址
– 位:又称“比特”(bit)。是存储信息的最小单 位。它的值是“1”或“0”。
– 字节:又称“拜特”(byte)。一般将8个“二进 制位”组织成一组,称为“字节”。
– 地址:计算机的存储器包含许多存储单元,操 作系统把所有存储单元以字节为单位编号 。
五、 整型数据的运算与分析
• 字符串常量
– 用双引号(“”)括起来的字符序列 – 例:“a”, “ab”,“1232”
符号常量
– 符号常量:用标识符代表常量
• 定义格式: #define 符号常量 常量 • 一般用大写字母
如 #define PRICE 30
如再用赋值语句给PRICE赋值是错的 PRICE=40; /* 错误,不能给符号常量赋值
• 整型常量
– 三种形式:
• 十进制整数:由数字0~9和正负号表示.如 123,456,0

C语言程序设计03章数据类型运算符与表达式精品PPT课件

C语言程序设计03章数据类型运算符与表达式精品PPT课件

二、整型变量
1. 定义
变量定义的一般格式: 存储类别 如: int x ;
数据类型 变量名 int a , b ;
2. 分类
基本型 短整型 长整型
int short long
int 或 int 或
short ng
copyright
Monday, February 01, 2021
四川理工学院计算机科学系 《C语言程序设计》 第 8页
copyright
Monday, February 01, 2021
Monday, February 01, 2021
四川理工学院计算机科学系 《C语言程序设计》 第 1页
§3.2 常量与变量
一、 标识符
用来表示变量名,函数名,数组名,文件名,类型名的有效字符序列。 C 语言的标识符分三类:保留关键字、预定义标识符、用户标识符。
1. 保留关键字 均用小写字母表示,如:char int auto break long等。保留关键字 不能作用户标识符使用。 (见p375,附录II) 2. 预定义标识符 通常供C的库函数名或预编译处理中的专用命名使用。如: NULL = 0 等。 3. 用户标识符 C 程序中用户用于表示变量名,函数名,数组名,文件名,类型名的 有效字符序列。
例 2.1 #define PRICE 30 main ( ) {
int num , total ; num = 10 ; total = num * PRICE ; printf ( “ total = %d ” , total ) ; }
copyright
Monday, February 01, 2021
PRICE = 40 ;
/* ╳ */

C语言 第3章 2类型、运算符与表达式PPT课件

C语言 第3章 2类型、运算符与表达式PPT课件
例: 8%5 的运算结果:3 8/5 的运算结果:1 5.6/2 :2.800000 8.43/5:1.686000
18
算术表达式:
算术表达式:用算术运算符和括号将运算对象连接起 来的式子称为算术表达式。 运算符有优先级和结合性: • 计算表达式的值时,按照优先级的高低依次计算; • 如果运算符优先级相同,则按规定的结合方向进行。
➢ 变量名: 字母开头,后跟字母、数字和下划线组成。 C语言中的关键字不能作为变量名。
3
3.4.1 变量和内存的概念
#include<stdio.h> #define PI 3.1415926 void main( ) { float r, s, ar;
scanf(“%f”, &r); s = 2 * PI * r; ar = PI * r * r; printf("s=%7.2f, " , s ); printf(" ar=%7.2f “ , ar ) ; }
代数表达式: s=2πr
算术表达式:s=2*3.14159*r
20
练习:
1.下列运算符的操作数不能是float型的运算符是()。
A. * B. % C. ―― D. /
答案: B
2.执行以下程序段,c的值是( )。 int a=1,b=2,c;
答案: A
c=a/b;
A. 0 B. 1/2 C. 0.5 D. 1
分量运算符: . ->
下标运算符: [ ]
其它 : ( ) -
13
➢学习运算符应注意:
运算符功能 与运算量关系
要求运算量个数 要求运算量类型
运算符优先级别 结合方向 结果的类型
14

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

C语言课件-3数据类型、运算符与表达式
在程序中,常量是可以不 经说明而直接引用的, 而变量则必须先定义后 使用。
3.3.1 常量
直接常量(字面常量): n 整型常量:12、0、-3; n 实型常量:4.6、-1.23; n 字符常量:‘a’、‘b’。 n 字符串常量:“ABC”、“123”。 标识符:用来标识变量名、符号常量名、函数名、
数据类型
其值不可以再分解为其它类型。
3基 .2本
构造
类C型 语言的数据类型
整型
根据已定义的一个或多
字符型
个数据类型用构造的方
实 型 (浮 点 型 )
法来定义的。构造类型
的值可以分解成若干个
单精度型
“成员”或“元素”。
双精度型
每个“成员”都是一个
枚举类型
基本数据类型或又是一
类型
个构造类型。
数组类型 结构体类型 共用体类型 指针类型 空类型
2)可以把一个字符常量赋予一个字符变量, 不能把一个字符串常量赋予一个字符变量。
3)字符常量占一个字节的内存空间。字符串 常量占的内存字节数等于字符串中字节数加 1 。 增 加 的 一 个 字 节 中 存 放 字 符 "\0" (ASCII码为0)。这是字符串结束的标志。
076转换成十进制:7*8+6
3.十六制整数:0xa 、0x20 、0xf4
0xf4转换成十进制:15*16+4
标识符号
整型数据在内存中的存放形式:
如果定义了一个整型变量i: int i; i=10; 十进制数10是以二进制形式表示的:1010,每一
个整形变量在内存中占内2字节,存放示意图为:
0000000000001010 事实上,数值是以补码表示的: n 正数的补码和原码相同; n 负数的补码:将该数的绝对值的二进制形式

第3章基本数据类型运算符和表达式PPT教学课件

第3章基本数据类型运算符和表达式PPT教学课件

2020/12/10
第3章 基本数据类型、运算符和表达式
10
3.2.6 宏定义命令
示例: #define R 2 #define D R+R #define D (R+R)
#include <stdio.h> #define PI 3.14159 #define R 5.3 main() {
printf("area = %f\n", PI * R * R); printf("circumference = %f\n", 2 * PI * R); }
int sum=0, fac=1; long g1=12345600; unsigned us=12; float f1=2.3,f2=4.3e-6 double d1=7.778; d2=0.34e2 char c1=‘a’, c2=50;
2020/12/10
第3章 基本数据类型、运算符和表达式
8
3.2.4 字符串常量
用双引号括住的由0个或多个字符组成的字符序列 "I am a string" ""表示空字符串 转义字符也可以在字符串中使用 引号只作为字符串开始和结束的标志 C语言内部用’\0’表示字符串的结束 除注释外,是唯一可以出现中文的地方
第3章基本数据类型、运算符和表达式
3.1 C语言的数据类型 3.2 3.3 变量 3.4 运算符 3.5 表达式 3.6 数据类型转换规则
3.1 C语言பைடு நூலகம்数据类型
数据类型指数据的内在表现形式。
数据在加工计算中的特征就是数据的
类型。
整型
基本整型 长整型 短整型
基本类型

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

C语言课件第三章 数据类型、运算符与表达式
第3章 数据类型、运算符与表达式
数据类型 常量与变量 整型数据 实型数据 字符型数据 变量赋初值 各类数值型数据间的混合 运算 算术运算符和算术表达式 赋值运算符和赋值表达式 逗号运算符和逗号表达式
目标
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 熟练掌握自增和自减运算 熟练掌握复合赋值表达式
3.2 常量与变量
标识符
p 定义:用来标识变量、常量、函数等的字符序

p 组成:
讨论:判断下列标识符号合法性 • 只能由字母、数字、下划线组成,且第一个字母必 sum Sum M.D.John day Date 3days 须是字母或下划线 student_name #33 lotus_1_2_3 char a>b • 大小写敏感 above $123 _toDay • 不能使用关键字
p 整型: p 实型:
12、0、-3 4.6、-1.23 Morning!”
p 字符型:’a’、’d’ p 字符串常量:”Hello”、”Good
p 符号常量:标识符代表常量

定义格式: #define <符号常量名> <常量> 符号常量定义举例 #define PI 3.1415926 #define STAR ‘*’
有效名称 变量的命名规则:
p 变量名可以由字母、数字和
无效名称
_(下划线)组合而成 principal 123rate p 变量名不能包含除 _ 以外的任何特殊字符,如: %、# 、 lastname zip code 逗号、空格等 p 变量名必须以字母或 _(下划线)开头 cost_price currency$ city p marks_3 变量名不能包含空白字符(换行符、空格和制表符称 discount% 为空白字符) p C 语言中的某些词(例如 int 和 float 等)称为保留字, 具有特殊意义,不能用作变量名 p C 语言区分大小写,因此变量 price 与变量 PRICE 是 两个不同的变量

C语言程序设计--数据类型、运算符与表达式 ppt课件

C语言程序设计--数据类型、运算符与表达式  ppt课件
②必须以字母或下划线开头,由字母、数 字或下划线组成的长度为8的字符串。 (Turbo C允许有32个字符)
③应本着见名知义的原则。常见初学者有 起a1,b,a2等等。名字虽不影响程序的运 行,但可读性不好,或起成app_num, 可以猜到是表示苹果数。
ppt课件
8
④大写字母与小写字母意义不同, 被认为是两个不同的字符。一般变 量名用小写字母表示。
ppt课件
2
ppt课件
3
§3.2 常量与变量
一、常量和符号常量:
常量:在程序运行的过程中,不能被改变 的量称为常量。
整型常量:12、0、-8
实型常量:4.6、1.23、-0.9
字符型常量:‘a’、‘B’、‘ ’其中‘’ 为定界符,而不是字符型常量的一部分。
ppt课件
4
符号常量:#define PRICE 30
main( ) {float x; x=7.1234567890; printf(“x=%20.18f”,x);}
结果为:x=7.123456954956054690
结果为:b=12345678848。000000
ppt课件
27
三、实型常量的类型
没有必要区分其类型,但事实上是有 区别的。
例如:
ppt课件
11
§3.3 整型数据
一、整型常量的表示方法
1、十进制整数:234、-123等。每个数位 都可以是0---9。
2、八进制整数:以0开头,
(128)10 =0200 。即(200)8每数位都可 以是0-7。 -011表示十进制-9。
3、十六进制整数:以0x开头,
(291)10=(123)16 。每数位都可以是0-9、 A-F。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章
数据类型、运算符与表达式

本章要点


数据的描述规则
数据的操作规则

主要内容

C的数据类型 (3.1)
常量与变量 (3.2)
整型数据 (3.3) 浮点型数据 (3.4) 字符型数据 (3.5) 变量赋初值 (3.6)
各类数值型数据间的混合运算 (3.7)
实型常量也称实数或浮点数。 实型常量的表示形式

十进制数形式:(必须有小数点) 如 0.123, .123, -123.0, 0.0, 123. 指数形式:(aEn,e或E之前必须有十进制数字;指数n 必须为十进制整数,a、n都不能省略,e后必须整数) 如 12.3e3, 123E2, 1.23e-4, -1e10
取值范围 -215~215-1 -215~215-1 -231~231-1 0~216-1 -32768~32767 -32768~32767 -2147483648~2147483647 0~65535
无符号短整型 unsigned short
无符号长整型 unsigned long 以上数据根据Turbo C

计算机中数的表示及进制

字节和位

每个二进位的值是0或1 一个字节由8个二进制位组成 内存以字节为单元组成 一般每个字节有一个地址

数据在计算机中以二进制形式存储

数值以补码表示
正数的原码、反码和补码形式相同,即最高位为0,表示正数,其 余位表示数值的大小; 负数的原码:最高位为1,表示负数,其余位表示数值的大小; 负数的反码:对其原码逐位取反(符号位除外); 负数的补码:在其反码的末位加1。 负数原码的绝对值=负数的补码全部取反(包括符号位)+1
输出结果: a+u=22, b+u=-14 说明:可以看到不同种类的整型数据可以进行算术运算。

整型变量 整型数据的溢出 一个整型变量的值若超出其数据类型的取值范围,则 出现溢出,此时将得到不正确的值。 为何会溢出? 例3.3 整型数据的溢出(修改后的例子) #include <stdio.h> void main() { short a,b; a=32767; b=a+1; printf ("%d, %d\n",a,b); }
无符号整型
unsigned int
4字节
2字节 4字节
0~232-1
0~ 216-1 0~ 232-1
无符号短整型 unsigned short 无符号长整型 unsigned long 以上数据根据VC++ 6.0

整型变量

整型变量的定义

一般格式:
整数类型 变量1[,变量2,…,变量n]; 例: int a,b; (定义整型变量a、b) unsigned short c,d;(定义无符号短整型变量c、d) long e, f ; (定义长整型变量e、f)


赋值运算符:=
赋值的一般形式:变量=表达式

例如: a=100;
x=3.5;
i=i+1;

计算机中数的表示及进制

数码、基与权
数码:表示数的符号 基:数码的个数 权:每一位所具有的值


数制
数制
数码
十进制数
0~9
二进制数
0~1
八进制数
0~7
十六进制数 0~9,A~F,a~f

权 表示 特点

根据是否有符号,分6种:


整数类型的长度和取值范围


长度: short≤int≤long (具体长度依计算机系统而异) 取值范围依长度而定
类型 基本整型 短整型 长整型 无符号整型
类型说明符 int short long unsigned int
长度 2字节(16位) 2字节(16位) 4字节(32位) 2字节
长整型long
单精度型float
双精度型double 字符类型char
数组 结构体struct C数据类型 构造类型 共用体union 枚举类型enum
指针类型
空类型void

标识符
标识符(identifier):标识变量、常量、函数、数 组、类型等的有效字符序列。 作用:用来为变量、常量、函数、数组、类型 等命名。 组成规则:只能由字母、数字和下划线组成, 且第一个字符必须是字母或下划线。 长度限制:依不同的编译系统而异。一般不超 过8位。 注意:

实型变量

浮点型数据在内存中的存放形式

浮点型数据是按照指数形式存储的。系统把一个浮 点型数据分成小数部分和指数部分,分别存放。指 数部分采用规范化的指数形式。
小数部分所占位数越多,数据的精度越高,指数部 分所占的位数越多,数据的取值范围越大。

实型变量 实型变量的分类 分3类 单精度:float 双精度:double 长双精度:long double 实型数据的长度、精度和取值范围 实型常量的类型 C编译系统将实型常量作为双精度来处理。 后面加f或F则作为单精度处理。如 2.45F
2字节
4字节
0~ 216-1
0~ 232-1
0~65535
0~4294967295
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
类型
类型说型
短整型 长整型
int
short long
4字节(32位)
2字节(16位) 4字节(32位)
-231~231-1
-215~215-1 -231~231-1
10
2
8
8º ,8² ,8¹ ,…
16
16º ,16¹ ,16² ,…
10º ,10¹ ,10² ,… 2º ,2² ,2¹ ,…
十进制:4956= 410³ +910²+510¹ +610º 逢十进一 逢二进一 逢八进一 逢十六进一
二进制:1011=12³ +02²+12¹ +12º 八进制:4275=48³ +28²+78¹ +58º 十六进制:81AE=816³ +116²+1016¹ +1516º
注意:C语言编译时不检查溢出,程序设计时要 注意避免数据溢出。 任何数在内存中以补码的形式存在!
32767的二进制为 0111 1111 1111 1111 +1 1000 0000 0000 0000 ~补码为负,原数也是负,为-32768

输出结果: 32767, -32768

实型常量


整型变量

整型变量的定义

例3.2 整型变量的定义与使用 #include <stdio.h> void main( ) { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12; b=-24; u=10; c=a+u; d=b+u; printf("a+u=%d, b+u=%d\n", c, d); }



判别合法的指数形式的浮点数: 0E1 -0.1234e12 e-5 1e-10 1.2E-3.5 1.2e 规范化的指数形式:小数点左边有且仅有一位非零数字。 例:5689.65用指数形式:5.68965e+003,0.568965e004, 56.8965e+002

一个浮点数在用指数形式输出时,是按规范化的指数形 式输出。

数据:程序处理的对象。 数据类型:用以描述数据,每种数据类型决 定:

该类型数据的存储方式:


所占用的存储空间长度(字节数)
在内存中的表示方式。

该类型数据的取值范围 对该类型数据所允许的操作

在程序中数据为各种数据类型的常量和变量。

C语言的数据类型:
整 型 基本类型 实型
短整型short 整型int


整型常量的类型
根据其值所在范围确定其数据类型 在整常量后加限定词l或L、U或UL,认为它是long int 型或无符号整型、无符号长整型常量


整型变量

整型变量的分类

分3类:

基本整型:int 短整型: short [int] 长整型: long [int] 有符号基本整型: [signed] int 无符号基本整型: unsigned int 有符号短整型: [signed] short [int] 无符号短整型: unsigned short [int] 有符号长整型: [signed] long [int] 无符号长整型: unsigned long [int]

void main ( ) { 符号常量的值不可改变 int num, total; 符号常量的标识符习惯上用大写 num=10; 关于编译预处理命令 total=num * PRICE; printf(″total=%d\n″,total); 使用符号常量的好处:含义清楚,修改方便。 }

标识符区分大小写字母 不能使用关键字作标识符(关键字见附录B) 不宜混淆: 如l与I, o与0 注意长度限制


命名原则:见名知意

标识符 例:判断下列标识符号合法性
sum Sum D.John day Date 3days book_price -123 list_1_2 $123 colum-total char a=b _above x1 x1 n1+n2 float
相关文档
最新文档