《c语言第三章》PPT课件
可执行文件 101110100110011110010000010010110010010010010010001100000010101110110110000
School of Information Science & Engineering , Lanzhou University
0x00000000
9-5=4 9+7=16=(4)12
School of Information Science & Engineering , Lanzhou University
3.1 C的数据类型
• C的数据类型如下:
整型
短整型short 整型int
长整型long
基本类型 实型
单精度型float 双精度型double
3.2 C语言的基本元素
• 符号集(字符集)
– C语言中使用的基本符号共有以下五种:
1. 大写字母:A~Z 2. 小写字母:a~z 3. 阿拉伯数字:0~9 4. 下划线:_ 5. 标点符号和运算符:算术、赋值、逗号等
School of Information Science & Engineering , Lanzhou University
-- 重点
运算符和表达式
•算术运算符与算术表达式 -- 重点 •赋值运算符与赋值表达式 -- 重点 •逗号运算符与逗号表达式
School of Information Science & Engineering , Lanzhou University
提出并分析问题
设计算法
建立表现模型 (流程图等)
编 译 器
Turboc等
目标文件2 001101000100010111101101000001101110010011
链 接 程 序
源文件2
int max(int a,int b) { if(a>b)return a; else return b; }
其他目标文件 10101110010110110000001101011100101001100011011100010001
张晓炜 zhangxw@
School of Information Science & Engineering , Lanzhou University
第三章 数据类型、运算符与表达式
常量与变量
C中的基本数据类型
•整型、浮点型、字符型 -- 重点
各种类型数据的混合运算
•类型转换规则
C 数 构造类型 据
类 型 指针类型
字符类型char 数组 结构体struct 共用体union 枚举类型enum
数据类型决定:
1.数据占内存字节数 2.数据取值范围 3.其上可进行的操作
C语言中的数据有常
空类型void
量和变量之分,它们
定义类型typedef
分属于以上各种类型
School of Information Science & Engineering , Lanzhou University
0x10001007 0x10001008
0x1000101F
0x3000FFFA 0x3000FFFB 0x3000FFFC 0x3000FFFD 0x3000FFFE 0x3000FFFF
0xFFFFFFFF
main(){ int x,y,z; x=10; y=20; z=max(x,y); printf("maxmum=%d",z); system(); return 0;}
输 入 源 程 序
C语言程序的开发过程目标文件1ຫໍສະໝຸດ 源文件10101100
int max(int a,int b);
1011101 0110101
main()
0001010 0010001
{
1001010
int x,y,z;
1111010 001
x=10;y=20; z=max(x,y); printf("maxmum= %d",z); }
0x10000000 0x10000001 0x10000002 0x10000003 0x10000004 0x10000005 0x10000006 0x10000007
0x10000100 0x10000101 0x10000102 0x10000103 0x10000104
0x10001000
3.2 C语言的基本元素
• 标识符
– 定义:用来标识变量、符号常量、函数、数组等的 字符序列
– 要求
• 以字母、数字、下划线三种字符组成,且第一个字符必须 是字母或下划线,不能是数字
• C中的标识符区分字母的大小写 • 不能是C中的关键字 • 不同的C语言版本对标识符长度有一定的限制,一般以长度
– 内存以字节为单元组成 – 每个字节有一个地址 – 一个字节一般由8个二进
制位组成
– 每个二进位的值是0或1
School of Information Science & Engineering , Lanzhou University
• 数值的表示方法——原码、反码和补码
– 原码:最高位为符号位,其余各位为数值本身的绝对值 – 反码:
• 字节和位
0x3000FFFB 0 0 0 1 0 1 0 0 0x3000FFFC 0 0 0 0 1 0 1 0 0x3000FFFD 0 0 0 1 0 1 0 0
0x3000FFFE 0 0 0 1 0 1 0 0 0x3000FFFF 0 0 0 0 1 0 1 0
b==y a==x z==max(x,y) y==20 x==10
• 正数:反码与原码相同 • 负数:符号位为1,其余位对原码取反
– 补码:
• 正数:原码、反码、补码相同 • 负数:最高位为1,其余位为原码取反,再对整个数加1
原码
反码
补码
+7
00000111
00000111
00000111
-7
10000111
11 12 1
10
2
9
3
8
4
765
11111000
11111001
程序读写头
主 函 数
PC
int max(int a,int b) { if(a>b)return a; else return b;} }
printf( ){
} system( ){
}
自
程
定
序
义 函
区
数
库
函
SP
数
数据读写头
b
堆
a
栈
z y
区
数
x
据
区
School of Information Science & Engineering , Lanzhou University