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

第2章 c语言基本数据类型、运算符和表达式

第2章 c语言基本数据类型、运算符和表达式
负整数的补码是①将此数绝对值的二进制形式(原码);②除最高位符号位外其他数取反 (反码);③加1(补码)。 -5的补码:
1000000000000101
1111111111111010
1111111111111011
整型数据所分配的字节数及数的表示范围(16位系统)
整型数据类型
[signed ]int unsigned [int] [signed] short [int] unsigned short [int] [signed ]long [int] unsigned long [int]
制和十六进制只是整型数值的三种表现形式而已。 整型常量类型的确定:根据值大小默认类型。 整型常量后面加后缀1或L,则认为是long int型。 无符号数也可以用后缀表示,整型常数的无符号数的后缀为“U”或“u”。 注意:在程序中是根据前缀来区分各种进制数的。因此在书写时不要把前缀弄错造
成结果不正确。
缺省形式的 整型数据类型
int unsigned short int unsigned short int long int unsigned long
字节数
取值范围
2
-32768~32767(-215~215-1)
2
0~65535
2
-32768~32767(-215~215-1)
2
0~65535(0~216-1)
3.字符型常量
字符常量是用单引号括起来的一个字符。它有二种形式:可视字符常量、转义字符常量。 (1)可视字符常量:单引号括起来的单个可视字符。
大多数字符常量都可以通过加单引号的方式表示,但有些特殊字符,如单引号本身和有些不 可见的特殊字符,就无法通过这种方法表示,为了解决这一问题,C语言引入了“转义字符”。

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

数据类型、运算符与表达式
上一页 下一页 返回
6.1 一维数组
例6.4程序中第一个for语句逐个输入10个数到数组a中,然后把a[0]送 入max中。在第一个for语句中,a[1]到a[9]逐个与max中的内容比 较,若比max的值大,则把该下标变量送入max中,因此max在己 比较过的下标变量中总是为最大者。比较结束,输出的max值即 为10个整数的最大值。
2.5 字符型数据
2.5.1 字符常量
1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。例如,'
A','6','+'等。 2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠 “\”开头的转义字符,该形式将反斜杠后面的字符转变成另外的 意义,因而称为转义字符。
下一页 返回
第2章 数据类型、运算符与表达式
2.1 C语言的数据类型 2.2 标识符、常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 算术运算与算术表达式 2.7 赋值运算与赋值表达式 2.8 自增、自减与逗号运算
2.1 C语言的数据类型
C语言提供有丰富的数据类型。其数据类型及其分类关系如 图2-1所示。
int i,max,a【10」; printf(”input 10 numbers:\n");
上一页 下一页 返回
6.1 一维数组
for(1=0;1<10;1++) scanf(”%d”,&a[i]);
max=a[0]; for(i=1;i<10;i++)
if(a[i]>max) max=a[i]; printf("maxnum=%d\n",max);
形பைடு நூலகம்输出。

第3章数据类型与表达式

第3章数据类型与表达式

//结果i=2;
•赋值语句可以连续进行。 例:a=b=c=0,根据右结合性,该表达式等价于: a=(b=(c=0))
36
2、复合赋值运算
•算术运算符“+ — * / %”和赋值运算符“=”结 合起来,形成复合赋值运算符。
+= :加赋值运算符; 如a+=3,等价于 a=a+3 -= :减赋值运算符; 如a-= b+ 3,等价于 a=a- (b+3) *=、/=、%= 与此类似
20
2)字符变量:char,占1个字节空间,只能存放 一个字符。 例如:char c1,c2; c2=‟a‟; 定义了字符型变量c1,c2,把’a‟存放到c2中 •存储特点: 在字符变量中实际上存储的是字符的ASCII码, 其存储形式与整数的存储形式相同。 字符数据与整型数据可相互赋值,直接运算。 例如: char c; c=97;相当于c=„a‟;
26
“%”是求余运算。a%b计算a除以b后的余数,也 是a模b的值。它要求两个运算对象必须是整型,其 结果也是整型量。 例:5%2结果为1 2%5结果为2 10%3.0 语法错误
27
2.算术表达式
• 用算术运算符和括号将运算对象(操作 数)连接起来的、符合C语法规则的式子。 如:1+3.5*2-10 (x+y)*3-6+‟a‟ • 表达式的值
long [int]
unsigned [int]
unsigned short[int]
4
4 2 4
unsigned long[int]
说明:数据类型所占字节数编译系统的不同而不同,上表以 Visual C++6.0为例 12
整型变量举例:

C语言程序设计 第2章 数据类型

C语言程序设计 第2章 数据类型

2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);

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

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

回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。

C语言第03章--数据类型和表达式

C语言第03章--数据类型和表达式
通常不被初始化的变量,其值为危险的随机数 通常不被初始化的变量,其值为危险的随机数
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数

C语言 数据类型、运算符与表达式

C语言  数据类型、运算符与表达式

C语言A
整型数据的溢出
#include <stdio.h> void main() { int a,b; a=32767; b=a+1; printf(“%d,%d\n”,a,b); } 运行结果:32767,-32768
说明:数值是以补码表 示的。一个整型变量 只能容纳-32768~ 32767范围内的数, 无法表示大于32767 或小于-32768的数。 遇此情况就发生‚溢 出‛。
运行结果:total=300
量赋值。 */
C语言A
a
变量名 变量值 存储单元
二、变量
3
变量代表内存中具有特定属性的一个存储单
元,它用来存放数据,这就是变量的值,在 程序运行期间,这些值是可以改变的。 变量名实际上是一个以一个名字对应代表一 个地址,在对程序编译连接时由编译系统给 每一个变量名分配对应的内存地址。从变量 中取值,实际上是通过变量名找到相应的内 存地址,从该存储单元中读取数据。
C语言A
标识符:用来标识变量名、符号常量名、函
数名、数组名、类型名、文件名的有效字符 序列。
符号常量:在C语言中,可以用一个标识符
来表示一个常量,称之为符号常量。
符号常量在使用之前必须先定义,其一
般形式为:
#define 标识符 常量
C语言A
习惯上符号常量的标识符用大写字母,
变量标识符用小写字母,以示区别。 符号常量与变量不同,它的值在其作用 域内不能改变,也不能再被赋值。 使用符号常量的好处是:

例如:求-10的补码。 15
10的原码: 取反:
0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0

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

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

例如
➢字符常量‘a’占一个字节 ➢字符串常量"a" 占2个字节
‘a’ → “a” →
0110 0001 ……
0110 0001 0000 0000
(97)10
(97)10 (0)10
7.变量赋初值
变量赋初值
C语言允许定义变量时赋予初值。
➢int i = 6;
也可对某个变量赋初值:
➢int a, b, c = 6;
如: 0x16, 0x28
4.整型数据
整型变量
分类:
➢基本型 用“ int ”定义; ➢短整型 用“ short int ”或 “ short ”定义; ➢长整型 用“ long ”或 “ long int ”定义; ➢无符号型 用“ unsigned ”定义,不存放符号;
整型变量定义方式
➢基本整型:int a, b, c; ➢短整型 : short int 或 short a, b, c; ➢长整型: long int 或 long a, b, c; ➢无符号型:unsigned a, b; unsigned short a, b
10+‘a’+1.5–8765.1234 ‘b’
8.各种数值型数据间的混合运算
转换方法(自动转换)
double float

long
unsigned
低 int char, short
图中“ ” 表示必定转换。如'a' +' b',先转换为int,结果为 int。
既使是同一种类型也按" "转换。
对于“++”和“--”的使用要避免二义性
10.赋值运算符和赋值表达式

C语言教程第2章数据类型、运算符与表达式

C语言教程第2章数据类型、运算符与表达式
const float pi = 3.1425926;
常量只能在定义时赋值,然后不能再改变 其值 常数、 const常量、宏常量和枚举常量, 都可以用来表示一个永远不会改变的数
前者不建议直接使用,而用后三者代替
C语言大学实用教程
2.5 变 量
变量是在程序执行过程中可以改变、可以赋 值的量。
在程序中每一个变量都有一个名子即变量名, 程序对该变量访问(存入、读取)都是通过变 量名进行的。
运行结果: 1234567936.000000
1234567890.000000
}
C语言大学实用教程
2.6 常用运算符及表达式
算术运算符
+,-,*,/,%
加、减、乘、除、求余运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
#include <math.h>
常用的标准数学函数
C语言大学实用教程
#include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); }
2.1 一个简单的C程序例子
/*主函数*/ ) { int x, y, sum = 0;
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见
以“0x”或者“0X”开始的整型常数是十六进 制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用,尤其在进行位一级的 控制的时候 0x12、-0x1F, -0x1f
C语言大学实用教程
2.4 常量
字符常量

C语言-数据类型运算符和表达式

C语言-数据类型运算符和表达式

3/86
C程序常见符号分类
关键字(Keyword) – 又称保留字( C Reserved Word )
A word that has special meaning in C
标识符(Identifier) – C Standard Identifier(系统预定义标
识符)
A word having special meaning but may be redefined (but is not recommended!!)
习题2.2(4)字符串"\t\"Name\\Address\n"的长度?
– 15
2020/5/7
11/86
变量(Variable )
A name associated with a memory cell whose value can change – 其值在程序执行过程中是可以改变的 Properties of a variable – Name 变量名 – Type 变量类型 – Value 变量的值 – Address 变量的存储单元——地址
第2章 数据类型、运算符与表达式
思考
C程序的框架是什么样的? 如何编写程序实现,计算两个整数x=2,y=3的和,然后 显示器输出两个数相加的结果?
如何编写程序实现从键盘输入两个整数,然后显示器 输出两个数相加的结果?
2020/5/7
2/86
一个简单的C程序例子
#include <stdio.h>
unsigned – 用来修饰char、int、short和long – 无符号整数(正整数和0)
2020/5/7
24/86
不同类型取值范围不同
C语言直接提供的任何类型都有取值范围。

c语言-数据类型、运算符与表达式

c语言-数据类型、运算符与表达式

c语⾔-数据类型、运算符与表达式⼀、数据类型1、概念(1)标识符1.定义:⽤来标记常量、变量、函数及⽂件名字的字符序列。

2.构成规则:只能由数字、字母、下划线三部分组成,且不能以数字开头,并且严格区别⼤⼩写,不能定义为系统中存在的关键字。

(2)关键字c语⾔中具有特定含义、专门⽤作语⾔特定成分的⼀类标识符注:在C语⾔中,所有的关键字都有固定的意义,不能⽤作其它,且所有的关键字都必须⼩写(3)c的数据类型数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算)(4)常量和变量1. 常量【1】常量:在程序运⾏过程中,其值不能被改变的量 常量区分为不同类型(表⽰形式),如:12、1.0、‘a’【2】符号常量:⽤⼀个标识符代表的⼀个常量定义⽅法:#define 标识符常量#define PRICE 30#include <stdio.h>void main(){int num,total;num = 10;total = num * PRICE;printf("total = %d",total);}2. 变量【1】变量:其值是可以改变的量,它⽤标识符(变量名)来表⽰,在内存中占据⼀定的存储单元变量的定义⽅法:类型符标识符注意事项:<1>见名知意 <2>先定义后使⽤ <3>习惯上,符号常量名⽤⼤写,变量名⽤⼩写,以⽰区别【2】变量赋初值变量先定义,后使⽤,⼀般放在函数开头变量初始化:可以在定义时赋初值2、整型数据(1)整型常量1. 各种进制的整数表⽰⽅法⼗进制整数:由数字0~9和正负号表⽰. 如 123,-456,0⼋进制整数:由数字0开头,后跟数字0~7表⽰. 如 0123,011⼗六进制整数:由0x开头,后跟0~9,a~f,A~F表⽰. 如 0x123,0xff2. 整型常量的类型【1】整型常量的值在-32768~+32767范围内,编译器认为是int类型【2】整型常量的值超过上述范围,⽽在-2147483648 ~ +2147483647范围内,编译器认为是long类型【3】当系统定义short int与int占内存长度相同,则两种类型常量均可以赋给 int和short int型变量【4】在整型常量后⾯加⼤写L或⼩写l,则告诉编译器,把该整型常量作为long类型处理。

c语音基本数据类型、运算符和表达式

c语音基本数据类型、运算符和表达式


指数形式:(e或E之前必须有数字;指数必须为整

数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5


实型常量的类型

默认double型
运 算
在实型常量后加字母f或F,认为它是float 型





15
C
2.4 实型数据


第 实型变量(在VC 6.0中)
2 章

55..55%%22 ()

24
C

自增、自减运算符++ --

作用:使变量值加1或减1
第 2 章
种类: 前置 ++i, --i (先执行i+1或i-1,再使用i值)
后置 i++,i-- (先使用i值,再执行i+1或i-1)




例 j=3; k=++j;
//k=4,j=4

j=3; k=j++;
…...
int a=1, b=-3,c; 例:
int a=2,b,c=4;
型 运 算 符 及 表 达
例例12isnftlctao=daaset%tnm{uatbd=,ab;e1im{,innfa9cnl=t(;;ao/;t)/1iIainafl;altnle/=(o/,t)gUb1daa=;anatlt2,dbade;u;=afsit2nea;e;odf

2字节

…...
分p配ri指npt定fr(i字“nd节tfa(的t“a内d=a%存ta单f=\n元%”,fd\na”ta,d);ata);

C语言数据类型、运算符与表达式

C语言数据类型、运算符与表达式

整型数 1 1 1 1 1 1 1 1 无符号整型数 1 1 1 1 1 1 1 1
表示-1的补码 1 1 1 1 1 1 1 1 表示 的补码 1 1 1 1 1 1 1 1 表示数值 表示数值65535
6
整型数据
整型变量的定义 对变量的定义,一般是放在一个函数的开头部分的声明部分。 对变量的定义,一般是放在一个函数的开头部分的声明部分。 main( ) { int a, b, c, d; /* 定义整型变量 */ unsigned u; a = 12; b = -24; u = 10; c = a + u; d = b + u; printf( “a + u = %d \t b + u = %d \n”, c, d ); } 整型数据的溢出 如果一个整型变量存放的值,超出它所允许的范围,将会产生溢出, 如果一个整型变量存放的值,超出它所允许的范围,将会产生溢出, 例如一个into型变量,如果其值为 型变量, 就会产生溢出, 例如一个 型变量 如果其值为32767,再加 就会产生溢出, ,再加1就会产生溢出 变成-32768。但运行时并不报错。 变成 。但运行时并不报错。
• 字符数据的存放 以字符的ASCII码存放在存储单元中
97
C1
98
C2
01100001
C1
01100010
C2
13
字符型数据
• 例子 大小写字母的转换 main( ) {char c1,c2; c1=‘a’;c2=‘b’; c1=c1-32;c2=c2-32; printf(“%c %c”,c1,c2);} main() {into i; char c; i=‘a’;c=97; printf(“%c,%d\n”,c,c); printf(“%c,%d\n”,i,i);} 注意: 注意:1、字符型数据和整形数据是通用的。但字符数据只能 存放0~255范围内的整数。 2、字符数据与整数可以直接进行算术运算。 3、字符数据与整型数据可以相互赋值 4、Turbo C将字符数据处理成带符号的整数,如果不想 按有符号处理,可将字符变量定义为unsigned char类型。

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

C语言  数据类型、运算符和表达式
每一种数据类型都有其各自的有效范围,若超过该类型的范围 就会溢出,即显示的数据是错误的,但运行时并不报错。
【例2. 3】整型数据的溢出 #include <stdio.h> 运行结果: int main(void) 若用Turbo C2.0编译器,其结果为: { X=32767,y=-32767 int x,y; 若用Visual C++6.0编译器,其结果为: x=32767; X=32767,y=32769 y=x+2; printf("x=%d,y=%d\n",x,y); return 0; } 这是由于Turbo C2.0的整型数据占2个字 Company Logo 节, Visual C++6.0的整型数据占4个字节
第2章 数据类型、运算符和表达式
本章内容
1
2 3
C语言的标识符和关键字
C语言的基本数据类型
运算符和表达式
4
数据的输入输出
Company Logo
学习目标
1
2 3 4 5 5
掌握C语言的标识符和关键字 掌握C语言的基本数据类型 掌握不同数据类型的转换
掌握各种运算符的使用方法及其优先级和结合性
掌握字符数据输入输出函数getchar和putchar的用法 掌握字符数据输入输出函数getchar和putchar的用法
\r \f \\ \' \" \a 回车 走纸换页 反斜杠字符'\' 单撇号字符 双撇号字符 报警,相当于’\007‟ 字符形式 功 能
\ddd
\xhh
1~3位8进制数所代表的字符
1~2位16进制数所代表的字符
演示
Company Logo

C语言-数据类型运算符和表达式

C语言-数据类型运算符和表达式
换行符、制表符等统称为“空白字符”,它们在程 序中起分隔作用。使程序的外在形式更好地反映程 序的结构。
2020/4/25
2020/4/25
ASCII 码
【ASCII 码】 American Standard Code for Information Interchange 的首字母缩略词。
一种使用七个或八个数据位(比特)进行编码的编码方案, 最多可对 256 个字符分别分配一个数字值,这些字符包括 字母、数字、标点符号、控制字符、以及其他符号。
算法处理的对象是数据,数据是以特定的形式存在的。不 同的数据之间往往存在某些联系。
数据结构指的是数据的组织形式。 C 语言的数据结构是以数据类型形式出现的。
❖ 类型:具有同样性质的一个数据集合称为一个类型。 计算机硬件也把被处理的数据分为一些类型,例如整型数、 浮点数。 它们能够做同样的操作,它们都采用同样的编码方式。
❖ 变量值存放在变量名所对 应的内存储单元中。
a
3
变量名 变量的值
2020/4/25
存储单元
一个变量的意义包含四个方面的内容:
❖ 变量的名字:它提供了在程序里访问变量的途径。 ❖ 变量的类型:它规定了变量的可能使用方式,可能存储
的值,可能使用的各种操作。 ❖ 变量的存储位置:这是变量在计算机里的具体实现。 ❖ 变量的值:存储单元中的值
ASCII 码于 1968 年开发,目的是为了实现不同硬件和软 件系统之间数据传输的标准化,并且已内置于大多数小型 计算机和所有的个人计算机中。
2020/4/25
ASCII 字符集
ASCII 字符集:一种用七个数据位表示的标准代码,它用 二进制数值来代表 ASCII 字符;
代码值的范围在 0 到 127 之间。

第2章 数据类型、运算符、表达式

第2章 数据类型、运算符、表达式

第二章 数据类型、运算符、表达式一、数据类型C 语言中的数据类型比别的语言丰富。

基本类型的数据又可分为常量和变量,它们可与数据类型结合起来分类,即为整型常量、整型变量、实型(浮点型)常量、实型(浮点型)变量、字符常量、字符变量、枚举常量、枚举变量。

1、常量与符号常量常量:在程序执行过程中,其值不发生改变的量称为常量。

常量区分为不同的类型,如68、0、-12为整型常量,3.14,9.8为实型常量,‘a ’,‘b ’,‘c ’则为字符常量。

常量即为常数,一般从其字面即可判别。

符号常量:有时为了使程序更加清晰和便于修改,用一个标识符来代表常量,即给某个常量取个有意义的名字,这种常量称为符号常量。

如:#define PI 3.142、变量变量:程序执行过程中其值可以改变的量。

定义方法定义形式:数据类型 变量名1,变量名2,……变量名n ;整型(int )数据类型 基本类型 整型 单精度型(float )字符型(char )长整型(long )短整型(short )实型 双精度型(double )枚举类型(enum )共用体类型(union )构造类型结构体类型(struct )数组类型空类型(void )指针类型(*)如:char ch1, ch2; /* ch1,ch2为变量*/float x, y; /* x ,y 为实型变量*/int a, b, c; /* a,b,c 为整型变量*/在书写变量说明时,应注意以下几点:(1) 允许在一个类型说明符后,说明多个相同类型的变量。

各变量名之间用逗号间隔。

类型说明符与变量名之间至少用一个空格间隔。

(2) 最后一个变量名之后必须以“;”号结尾。

(3) 变量说明必须放在变量使用之前。

一般放在函数体的开头部分。

另外,也可在说明变量为整型的同时,给出变量的初值。

其格式为:类型说明符 变量名标识符1=初值1,变量名标识符2=初值2,...;3、数据在内存中的表示整型数据:以二进制的形式表示(1) int 类型正数: 如 123 (+123)用 16 位二进制(二个字节)表示原码 反码(原码同) 补码(原码同)最大正整数 215-1=214+213+212+211+210+29+2827+26+25+24+23+22+21+20=32767负数:如 –123原码补码(补码加 1)1取反加1 最大负整数-215=32768 因为 -215 < -(215-1) 所以用 -215 而不用 -(215-1)(2) unsigned (int) 类型称为无符号整数,它不是指不带“+ 或 -”号的整数,而是指内存表示这类数时没有符号位,16最大数215+214+213+2122+21+20=65535最小数 0 (3) long (int) 类型用 32 位二进制(四个字节)表示,其他同 int 型(4) short 类型有的计算机(小型、中型、大型机)int 即是 long ,而short 用16 位二进制(二个字节)表示。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/9/22
C 语言规定:标识符中区分大小写;同一个字母的大写与 小写看成是不同的字符。 如 A 和 a ,ABC、Abc、AbC 和 abc 是互不相同的标识符。
ANSI C 标准没有规定标识符的长度(字符个数)。但每个 C 编译系统都有自己的规定。 有的系统取 8 个字符,假如程序中出现的标识符长度大于 8 个字符,则只有前面 8 个字符有效,后面的不被识别。 Turbo C 则允许 32 个字符。但建议长度不要超过 8 个。
❖ C 语言的数据类型: 包括字符类型、整数类型、实数类型、枚举类型等。
2020/9/22
整型
字符类型
基本类型
单精度浮点数类型
实数类型(浮点型)双精度类型
枚举类型(enum) 长双精度类型
数据类型
构造类型 指针类型
数组类型 结构体类型(struct) 共用体类型(union)
空类型(void)
注意事项
num = 10;
total = num * PRICE;
printf(“total = %d”, total);
}
注意:符号常量不能在其作用域内改变,也不能被赋值。
PRICE = 40;
2020/9/22
错误
使用符号常量的好处
1) 含义清楚。 “见名知意”
2) 在需要时一个常量时能做到“一改全改”。 一处修改 = 多处修改。
❖ 变量值存放在变量名所对 应的内存储单元中。
a
3
变量名 变量的值
2020/9/22
存储单元
一个变量的意义包含四个方面的内容:
❖ 变量的名字:它提供了在程序里访问变量的途径。 ❖ 变量的类型:它规定了变量的可能使用方式,可能存储
的值,可能使用的各种操作。 ❖ 变量的存储位置:这是变量在计算机里的具体实现。 ❖ 变量的值:存储单元中的值
2020/9/22
计算机程序处理的对象是数据,写程序也就是描述对数 据的处理过程。在写程序的过程中必然要涉及数据本身 的描述问题。 - (3.24 * 5 + sin(2 , 3)) / 4 * 6.24
要理解这样的表达式,在写程序时知道如何写表达式, 必须知道:
C 语言对各种数据在写法上有什么规定?(数据描述) 数据在表达式中可以写什么,怎么写,表示什么意思? 表达式表示了一种什么计算过程?
如果在一个字符序列中出现非字母、非数字、也非下划线的 字符,那么这个字符序列就不是一个标识符。 标识符的长度因具体的C编译系统而异。
2020/9/22
关键字
关键字 C 语言预先定义好的有特殊意义的标识符,已经为 C
语言系统使用,程序员不得在程序中重新定义。
C 语言的关键字有32个:
auto const double float int short struct 202u0/n9/s22igned
2020/9/22
3.2.2
定义:在程序运行过程中其值可以改变的量称为变量。
➢ 程序中的变量可以看成是一个存储数据的容器,在内存 中占据一定的内存单元,它的功能就是可以存储数据。
➢ 变量具有名字和值。
程序变量(变量)是 C 中表述数据存储的概念。程序变量 与数学中的变量是不同的概念。 在硬件层,数据存储靠内存单元和地址实现,变量是这些 机制在高级语言中的反映。
换行符、制表符等统称为“空白字符”,它们在程 序中起分隔作用。使程序的外在形式更好地反映程 序的结构。
2020/9/22
2020/9/22
ASCII 码
【ASCII 码】 American Standard Code for Information Interchange 的首字母缩略词。
一种使用七个或八个数据位(比特)进行编码的编码方案, 最多可对 256 个字符分别分配一个数字值,这些字符包括 字母、数字、标点符号、控制字符、以及其他符号。
unsigned long 类型的取值范围为:0~4294967295(0~232-1)
2020/9/22
有符号数 signed
如果加上修饰符 signed,则指定是“有符号数”。
实际默认情况下就是有符号数。
大部分基于PC(个人计算机)的系统则使用八个数据位的
扩展 ASCII 代码,这样就可以使用额外的 128 个字符来
代表一些特殊符号、外语字符、和图形符号。
2020/9/22
‘0’,……,‘9’ ‘a’,……,’z’ ‘A’,……,’Z’
‘_’
48,……,57 97,……,122 65,……,90 95
第3
教学要求:
1. 掌握C语言数据类型分类。 2. 掌握整型数据、实型数据、字符数据使用规则。 3.掌握C语言常量、变量的使用。 4.掌握各种运算符的优先级、结合方向。 5.掌握各种数据运算的运算符的运算。 6.掌握混合运算时的类型转换规则。
2020/9/22
第3
3.0 基本字符、名字表示、标识符和关键字 3.1 C 的数据类型 3.2 常量与变量 3.3 整型数据 3.4 实型数据 3.5 字符型数据 3.6 变量赋初值 3.7 各类数值型数据间的混和运算 3.8 算术运算符和算术表达式 3.9 赋值运算符和赋值表达式 3.10 逗号运算符和逗号表达式
#define NULL 0 #define EOF -1 习惯上,符号常量名用大写,变量名用小写,以示区别。
2020/9/22
【例3.1】符号常量的使用
#define PRICE 30
定义PRICE代表常
main() {
int num, total;
量30,此后在本文 件中出现的PRICE
都代表30
程序中处理到的每个基本数据都属于一个确定的基本数 据类型;所有数据必须指定其数据类型;
类型确定了有关数据的表示范围。
在一个具体的 C 语言系统里,每个基本类型都有固定的 表示方式,这个编码方式实际上也确定了可能表示的数据 的范围。
例如:一个整数类型(能表示的所有整数)只能是数学的 整数的一个子集合,其中只能包含有限个整数值;
字符 :它是由两个单引号包围的一个单一字符; 字符串:它是由两个双引号包围的一串字符;
常量从其字面形式即可判断,也称为字面常量或直接常量
2020/9/22
符号常量
C 语言中的常量可以用符号来代替。代替常量用的符号称 为符号常量。 #define 注意:每个符号常量定义式只能定义一个符号常量,并且 占据一个书写行。 例:
名字(标识符)的构成
❖ 程序中有许多需要命名的对象,通过名字在程序中 1、建立定义和使用的关系, 2、建立不同使用之间的关系等等。,
❖ 程序语头的字母、数字字符的连续序列(不能有空白 字符夹杂在其中)。下划线字符“_”也被看作字母。
2020/9/22
变量名用标识符表示。
❖ 变量的取值范围由其类型来决定。 ❖ 类型决定了能施加的运算和内存中存放空间的大小。 ➢ C 语言规定:先定义,后使用。
任何变量在使用前必须定义(说明)其数据类型。 变量定义的一般形式: 类型标识符 变量名表; 其中变量名表可以包含若干个变量,每个变量之间用逗 号分隔,最后的分号不可缺少。
2020/9/22
变量定义可以出现的位置 变量定义可以出现在函数体内或者函数体外, 出现在函数体外的变量称为外部变量; 出现在函数体内的变量称为内部变量。
C 语言规定 1:在任何复合结构里都可以定义变量。在 一个复合结构里定义的变量可以在这个结构内部使用。
C 语言规定 2:变量定义必须出现在复合结构里所有语 句的前面,不能与语句交替出现。 {变量定义序列 语句序列}
算法处理的对象是数据,数据是以特定的形式存在的。不 同的数据之间往往存在某些联系。
数据结构指的是数据的组织形式。 C 语言的数据结构是以数据类型形式出现的。
❖ 类型:具有同样性质的一个数据集合称为一个类型。 计算机硬件也把被处理的数据分为一些类型,例如整型数、 浮点数。 它们能够做同样的操作,它们都采用同样的编码方式。
2020/9/22
无符号数 unsigned
上述整数类型均为有符号数,在整数类型的类型说明符前 加上 unsigned,可以定义无符号数。
无符号类型说明符相应的有: unsigned int unsigned long int 或unsigned long;
unsigned int 类型的取值范围为:0~65535(0~216-1)
变量具有保持值的性质。给一变量赋值后,每次使用该变 量时总得到这个值。这种情况一直延续到下次给该变量赋 值为止。 由于有赋值,在程序执行中,一个变量在各时刻所存的值 可能不同(与数学的变量不同)。
2020/9/22
C 语言基本类型与数据的表示
“类型名”:类型的称呼。 一个基本类型的名字由一个或几个标识符表示。 类型名也是一种标识符,属于 C 语言的关键字。
2020/9/22
3.0 基本字符、名字表示、标识符和关键字
一个 C 程序是 C 语言基本字符构成的一个序列。 语言中使用的基本字符包括:
1. 数字字符(0~9) 2. 大小写英文字母(a~z,A~Z) 3. 其他一些可显示的字符如各种标点符号等, 4. 特殊字符如空格符、换行符、制表符等。空格符、
break continue else for long signed switch void
case default enum goto register sizeof typedef volatile
char do extern if return static union while
3.1 C 语言的数据类型
补码表示的最高位的用途
整数的最左边(最高位)一位为符号位, ❖ 该位为 0 表示正数, ❖ 为 1 表示负数。
2020/9/22
相关文档
最新文档