[理学]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. 标识符
序 设
定义:用来标识变量、常量、函数等的字符序列
C语言——第三章数据类型、运算符、表达式
C语言数据类型:整型:short int短整型int整型long int长整型字符:char字符型浮点型:float单精度double双精度long double长双精度其他:数组型struct结构体类型union共用体类型*指针类型void空类型常量:直接常量:如123、”abcda“符号常量:用一个符号(标识符)代表某一个常量,其优势在于1一改全改2含义清楚变量名称只能由字母、字符、下划线组成,且第一个字符必须为字母或下划线。
C语言区分变量名大小写,一般用小写字母代表变量名。
C语言中要求变量在使用前必须先声明以0开头的是八进制数,以0x开头的是十六进制数任何数据在内存中都已二进制存放,即以数值的补码形式表示。
正数的补码为其本身(二进制),负数的补码为:将该数的绝对值的二进制形式,按位取反再加1。
注:在存放整数的存储单元中,最左位表示符号,该位为0,表示正,该位为1,表示负。
整型变量分为基本整型、短整型、长整型。
(各个系统中的变量存储位数不相同,C++和Turbo C中整型及短整型为16位,长整型为32位,要求短整型不能长于长整型)整型范围为-2^15~2^15-1,即-32768~32767。
加上unsigned指定为无符号(仅正数),加上signed为有符号,默认为signed。
unsigned int范围为0~65535。
long int范围为-2^31~2^31-1。
当int达到最大值即32767时,若对其加1则会导致溢出,但编译系统不会报错,因此对数据类型的选择一定要谨慎。
浮点数即平时所说实数,一个浮点型变量一般在系统中占4个字节。
在系统中分为小数部分及指数部分来保存浮点数,如: 3.14159即小数部分为.314159,指数部分为1。
float有效数字6~7位,double有效数字15~16位,long double18~19位。
在进行浮点型运算时,系统按双精度型运算,按变量类型截取一定位数。
第三章 数据类型运算符与表达式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语言程序设计--数据类型与表达式(运算符)
c语言程序设计--数据类型与表达式(运算符)(一)程序的基本功能是完成数据处理,而数据处理的过程就是对数据各种运算操作。
(二)运算符是说明特定操作的符号。
(三)算术运算符、关系运算符与逻辑运算符是最常用的三种运算符,除此之外还有一些用于完成特殊任务的运算符,如位运算符。
(四)运算符分类:赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符(五)运算符分为双目运算符和单目运算符,双目运算符位于两个表达式之间,单目运算符的意思是运算符作用于单个表达式,大多数运算符都是双目运算符。
1.赋值运算符①赋值语句的作用是把某个常量或变量或表达式的值赋给另一个变量,符号为“=”②变量在声明的同时可以直接赋值③赋值语句左边的变量必须在赋值前的程序中声明④赋值语句具有方向性,是从右向左操作,即把“=”右边的值赋给等号左边的变量⑤未赋值的变量不可给其他变量赋值2.算术运算符①单目减运算符相当于取反值,若是正值就变成负值,若是负值就变成正值单目加运算符没有任何意义,只是为了和单目减运算符凑成一对②运算符的运算顺序:先乘除后加减,单目正和单目负最先运算③模运算(%)用于计算两个整数相除所得的余数3.数据类型强制转换例:a=(int )(7.0/4); //a=1a=(float)(7/4); //a=1a=(float)(7.0/4); //a=1.75//“()”的优先级最高4.逻辑运算符逻辑运算符是根据表达式的值来返回真值或假值。
规定:非零为真值,零为假值。
&&:逻辑与;真&&真=真;真&&假=假;假&&真=假;假&&假=假;||:逻辑或;真||真=真;真||假==真;假||真=真;假||假=假;!:逻辑非;!真=假;!假=真;5.关系运算符关系运算符是对两个表达式进行比较,返回一个真值或者假值6.自增自减运算符自增运算符和自减运算符对变量的操作结果是变量的值加一或者减一例:count++count--当变量单独存在时,自增或自减运算符在变量前或者变量后对于变量的影响是一样的。
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语言数据类型、运算符和表达式
逻辑运算符
总结词
用于组合或比较布尔值的运算符
详细描述
逻辑运算符包括逻辑与(&&)、逻 辑或(||)和逻辑非(!)。它们用于 组合或比较布尔值,并根据逻辑关系 返回真或假。
位运算符
总结词
对二进制位进行操作的运算符
VS
详细描述
位运算符包括位与(&)、位或(|)、位 异或(^)、位非(~)和位移运算符 (<<、>>)。它们对二进制位进行操作, 可以实现位级别的逻辑运算和位移操作。
例子
a = b、c += d、e -= f、 g *= h、i /= j、k %= l、 m &= n、o ^= p、q |= r、s <<= t、u >>= v
描述
用于给变量赋值或对变量 进行复合赋值操作。
THANKS
感谢观看
描述
用于进行数值计算,结果为算术类型。
关系表达式
关系运算符
、<、>=、<=、==、!=
例子
a > b、c < d、e >= f、g <= h、i == j、k != l
描述
用于比较两个值的大小关系,结果为整型,1表示关系成立,0表 示关系不成立。
逻辑表达式
逻辑运算符
01
&&、||、!
例子
02
a && b、c || d、!e
描述
03
用于进行逻辑运算,结果为整型,1表示逻辑成立,0表示逻辑
不成立。
位表达式
位运算符
&、|、^、~、<<、>>
例子
《C语言程序设计》数据类型、运算符和表达式 ppt课件
ppt课件
34
5.4 字符串常量
字符常量: 单引号括起来的一个字符。 字符串常量:双引号括起来的字符序列 (0~N个字符)。如: "How do you do.", "CHINA", "a", "$123.45" 字符串常量在内存中的存放: 每一个字符均以其ASCII码存放,且最后添加一
17
注意:
·可在整型常数后添加一个"L"或"l"字母表示该数为 长整型数,如22L, 0773L, 0Xae4l。
·另外, 所有整数的缺省类型是int,可在整型常数 后添加一个"L"或"l"字母表示该数为长整型数, 如 22L,0773L, 0Xae4l。
·若加上一个"u"或"U"字母表示该数为无符号整型数, 如27u, 0400u, 0xb8000000u。
ppt课件
36
5.5 字符与整型的相互转换
main( ) { char c1,c2;
c1=’a’; c2=’b’; printf (“c1=%c,c2=%c \n”,c1,c2); printf (“c1=%d,c2=%d \n”,c1,c2); } /*问题:结果如何*/
ppt课件
37
六、变量赋初值
ppt课件
14
三、整型数据
ppt课件
15
3.1.整型常量
整型常量即整常数按不同的进制区分, 整型常数 有三种表示方法:
十进制数: 以非0开始的数 如:220, -560, 45900 八进制数: 以0开始的数 如:06; 0106, 05788 十六进制数: 以0X或0x开始的数 如:0X0D, 0XFF, 0x4e
第三章 C语言数据类型 表达式
例2:float a; a=123456.711 float型变量只能接受7位 有效数字,最后两 位数字不起作用。 double 型变量能接受16位 有效数字。
§3.5 字符型数据
3.5.1 字符常量
字符常量:用单引号(撇号)括起来的一个字符。
如:‘a‟、‘x‟、‘?‟、‘$‟。
注意,‘a‟和‘A‟是不同的字符常量。
所以,该例的结果为实型。
例:
int i; float f; double d; long e; 10 + 'a' + i * f - d/e
整型 单精度 双精度 上述转换过程是由系统自动进行的。所以 结果为双精度double型。 高 double long unsigned 低 int char,short float
字符以 ASCII码存储,其存储 方式与整数类似。从而,C 语 言允许字符和整数之间进行运 算。
c1 a
c2 b
例3.7:大小写字母的转换:
main( ) { char c1,c2; c1=„a‟; c2=„b‟; c1=c1-32; c2=c2-32; printf (“%c,%c”,c1,c2); }
§3.6 变量赋初值
在定义变量的同时指定其初值。
例、 int a = 3; float f = 3.56; char c = 'a'; int a, b, c = 5;
int a; a=3;
注意:多个变量指定相同初值的方法: int a = b = c = 3 ; ╳ int a = 3, b = 3, c = 3;
1. 2. 3. 4. 5.
sum 7average × student_name _above lotus_1_2_3
C语言课件第三章 数据类型、运算符与表达式
数据类型 常量与变量 整型数据 实型数据 字符型数据 变量赋初值 各类数值型数据间的混合 运算 算术运算符和算术表达式 赋值运算符和赋值表达式 逗号运算符和逗号表达式
目标
理解变量和常量的含义 熟悉基本数据类型 - 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课件
表 达
式 <>
student_name #33 lotus_1_2_3 int a>b _above $123
C
语 言
常量
程
序
❖定义:程序运行时其值不能改变的量(即常数)
设 计
❖分类:
符号常量:用标识符代表常量
第 三
定义格式: #d例ef符in号e 常符量举号例常(c量h3_1常.c) 量
章 数
一如般用#大def写ine字母PRICE 30
型 运
{int z;
算 符
z=x+y;
函数体
与 表
return(z);
达 式
}
C
语
言
程
序
5、函数体包含哪几部分?
设
计
第 答案:包括:声明部分 执行部分
三
章 例如:int add(int x,int y)
数
据
类
{int z;
声明部分
型
运 算
z=x+y;
符
执行部分
与
return(z);
表
达
式
}
C
语
言
第
三 章
答案:编辑、编译、连接、执行
数
据
类
型
运
算
符
与
表
达
式
C
语
言
程
序
设 计
9、什么叫算法?算法有什么特性?
第 三
答案:算法就是解决问题的步骤;
章
数 据
有穷性、确定性、可以有输入、至少一个
类 输出、有效性。
型
运
算
C语言数据类型、运算符与表达式
大于等于运算符(>=):比较两个数 的大小,判断第一个数是否大于或等 于第二个数
小于等于运算符(<=):比较两个数 的大小,判断第一个数是否小于或等 于第二个数
等于运算符(==):判断两个值是否 相等
逻辑运算符
总结词
用于进行逻辑运算的符号
与运算符(&&)
判断两个条件是否同时为真, 返回真或假
或运算符(
逻辑表达式
总结词
逻辑表达式用于判断逻辑条件。
详细描述
逻辑表达式使用逻辑运算符(如“&&”、“||”、“!”)来组合或比较关系表达式,例如“a > b && c < d”表示a大于b且c小于d的逻辑条件。
位表达式
总结词
位表达式用于对二进制位进行操作。
详细描述
位表达式使用位运算符(如“&”、 “|”、“^”、“~”、“<<”、 “>>”)来对整数类型的变量进行位 运算,例如“a << 2”表示将a的二 进制表示向左移动两位。
THANKS
感谢观看
|):判断两个条件中至少有一个 为真,返回真或假
非运算符(!)
对一个条件取反,返回真或假
位运算符
):对两个数的二进制位 进行或操作
位或运算符(
对两个数的二进制位进行 与操作
位与运算符(&)
对二进制位进行操作的符 号
总结词
位运算符
位异或运算符(^)
对两个数的二进制位进行异或操作
右移运算符(>>)
将一个数的二进制位右移指定的位数
详细描述
算术表达式可以包含加法、减法、乘法、除法等基本数学运算,例如“a + b * c - d / e”。
《C程序设计》(第三版)第三章 数据类型运算符与表达式PPT课件
#define PRICE 30 main() { int num,total;
num=10; total=num* PRICE; printf(“total=%d”,total); }
Page 6
3.2.1 常量和符号常量
说明: (1)符号常量一般用大写,且习惯上“见名知意”; (2)符号常量的定义是在编译预处理语句里进行的,称为宏定义; (3)符号常量的值在其作用域内不能改变,也不能再被赋值,例
C语言程序设计
主讲人:杉杉 E-mail:@
第三章 数据类型、运算符与表达式
3.1 C语言的数据类型 3.2 常量和变量 3.3 整型数据 3.4 浮点型数据 3.5 字符型数据 3.6 变量赋初值 3.7 各类数值型数据间的混合运算 3.8 算术运算符和算术表达式 3.9 赋值运算符与赋值表达式 3.10 逗号运算符和逗号表达式
3.3.1 整数常量
1. 3种表示形式 2. 分类 3. 类型匹配规则
Page 13
1. 3种表示形式
(1)十进制。例如10、36。 (2)八进制(以数字0开头)。例如012。 (3)十六进制(以数字0+小写字母x开头)。例如
0x36。
Page 14
2. 分类
(1)基本整型。在16位机中,用2字节存储,其数据范围与int 型变量一样。
2.常量的分类 (1)整型常量 — 123,456 (2)实型常量 — 2.3,-1.23,2E+4,-2.3E(3)字符常量 4 (4)字符串常量 — ’a’,’A’,’b’,’1’,’0’ (5)符号常量 — “Com.1 常量和符号常量
符号常量的定义方式: #define 标识符 常量
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.符号常量 若程序多处使用某个常量,可将它定义为 符号常量。此时可用符号常量来替代该常量。
常量定 义 [例 ]符号常量的使用
1、符号常量的值不能 被改变,也不能被再次赋 #define PRICE 30 值。 void main() 2、符号常量名一般用 大写字母,以便和变量区 { 分开。
3.整型数据的溢出 *不同种类的整型数据可以进行运算。 *运算超出取值范围时,系统不报告错误,而 是采用类似钟表一样的循环计数。
例如:int a=32767,b; b=a+1; 结果为-32768,而不是+32768.
*为避免溢出,应掌握较小数据类型向较大数 据类型赋值的原则。
如,int a=32767; 注:long的格式输出符为 long b; %ld b=a+1L; Printf(“%d,%ld”,a,b);
取值范围: 二、整型变量 -32768~+32767 1.整型变量的分类 取值范围达±21亿 ⑴基本型:int ⑵短整型:short int/short 取值范围: 0~65535 ⑶长整型:long int/long ⑷无符号型: unsigned int unsigned short unsigned long
注:打印和显示的输出不同!
二、字符变量 字符变量用来存放字符常量。一个字符变量 在内存中占一个字节,只能存放一个字符。 例如: char c1,c2; c1 97 c1=‘a’; c2 98 c2=‘b’; 字符存放在字符变量中,实际上是将该字符 的ASCII代码放到存储单元中。因此,字符型数 据和整型数据之间可以通用。
a
12
变量名
变量值
存储单元
例]选出下面合法的变量名。 2.[ 标识符 sum 38abc _0123 P#d 标识符就是一个名字,它是用来标识变量 Sum Z.Wan month a>b 名、符号常量名、数组名等的有效字符序列。 C语言规定: 标识符只能由字母、数字和下划线三种字 符组成,且第一个字符必须为字母或下划线。 几点注意: 1、字符区分大小写 2、不同编译系统规定长度不同 3、变量必须先定义,后使用。
第三章 数据类型、运算符 与表达式
制作人:张丽涓
3.1 C的数据类型
数据结构是数据的组织形式,C语言的数 据结构是以数据类型形式出现的。
基本类型
整型 实型(浮点型) 字符型 枚举类型
数组类型 结构体类型 共用体类型
单精度型 双精度型
数据类型
构造类型 指针类型 空类型
3.2 常量与变量
一、常量和符号常量 1.常量的定义 常量是程序运行过程中其值不变的数据。 2.常量的类型
3.4 浮点型数据
一、浮点型常量 浮点型常量又称浮点数,就是通常带小数点 的实数。它只使用十进制数,其书写方法有两 种: ⑴十进制小数形式 由整数、小数点和小数三部分组成。 规范化的指 数形式 例如:12.345, -1.2345, 47.0 ⑵指数形式 由尾数、字母e或E和指数三部分组成 例如:12.345e-2, -1.2345E3, 0.1234E4
C要求:long不短于int; short不长于int 通常的做法:long定为32位;short 定为16位;int两者都可以。
2.整型变量的定义 强制类型定义,即在程序中所有用到的变量 必须在程序中先定义。 [例] 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
(12345678920)
3.5 字符型数据
一、字符常量 字符常量是用两个单引号括起来的单个字符 ,如 ‘a’、’A’、’1’、’%’等。 特殊形式的字符常量以一个“\”开头的字符 序列,也叫做转义字符。(P48表3-3) [例]转义字符的使用 void main() { printf(“□ab□c\t□de\rf\tg\n”); printf(“h\ti\b\bj□k”); }
二、浮点型变量 1.浮点型变量的分类 浮点型变量可分为单精度型(float)和双精度 型(double)两种,每个浮点型变量都应在使用 前加以定义。 float x,y double z
类型 字节数 有效数字 数值范围
float double
4 8
6~7 15~16
10-37~1038 10-307~10308
Байду номын сангаас
3.变量的定义 一般格式: 类型说明符 变量名,……,变量名 几点说明: 1、未定义而使用变量系统编译出错 2、指定变量的类型,以便系统为该变量 分配相应的存储空间。 每个变量都要占用内存中连续若干个字节, 所占用的字节数由变量类型确定。其中第一个 字节的地址称为变量的地址。 3、指定变量的类型,便于系统检查变量 间运算的合法性。
两点注意:
int num,total; 使用常量的好处: num=10; 1、含义清楚。 total=num*PRICE; 2、在需要改变常量时 能做到“一改全改”。 printf(“total=%d”,total);
} 运行结果:total=300
二、变量和标识符 1.什么是变量 变量是指在程序运行过程中其值可以发生变 化的量。 每个变量有一个名字(或叫做标识符),并 在内存中占据一定的存储单元。
2.浮点型数据的舍入误差 由于浮点型变量的有效位数有限,在有效位 数以外的数字被舍去,可能会产生误差。 [例]实型数据的舍入误差。
void main() { float a,b; a=123456.789e5; b=a+20; printf(“%f”,b); }
运行结果:12345678848.000000
3.3 整型数据
一、整型常量 整型常量是用来表示数学中整数,包括正整 数、0和负整数。 整型常量有三种表示方式: ⑴十进制整数: 21, 0, -111 ⑵八进制整数: 021, 00, -0111 ⑶十六进制整数:0x21, 0x0, -0x111 整型常量:如,21,234u,011,0x111 长整型常量:如,0L,-0111L,0x15L