当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 03 C语言数据类型

资源类别:文库,文档格式:PDF,文档页数:43,文件大小:2.63MB,团购合买
1 数据类型的概念 2 C 数据类型 3 C 常量/变量声明的语法
点击下载完整版文档(PDF)

Lecture3一C数据类型 绳伟光 微纳电子学系 上海交通大学 2017-02-28 2aC 1/43

Lecture 3 — C 数据类型 绳伟光 微纳电子学系 上海交通大学 2017-02-28 1 / 43

内容 数据类型的概念 C数据类型 3 C常量/变量声明的语法 口回之年三, 2/43

内容 1 数据类型的概念 2 C 数据类型 3 C 常量/变量声明的语法 2 / 43

内容 数据类型的概念 2 C数据类型 SC常量/变量声明的语法 口4之,年三,2 0a0 3/43

内容 1 数据类型的概念 2 C 数据类型 3 C 常量/变量声明的语法 3 / 43

数据类型概念的引入 硬件处理的只是逻辑信号0/1,并无数据类型的概念! 10...010 11...010 R=A+B R 11...111 引入数据类型是人的需求! 4/43

数据类型概念的引入 硬件处理的只是逻辑信号0/1 ,并无数据类型的概念! 引入数据类型是人的需求! 4 / 43

C运算与数学运算的对比 C语言 数学 int x,y; f=x+y int f; 令x=1, y=2 读多少个cel? f=1+2 f=x+yj =3 X memory 5/43

C 运算与数学运算的对比 5 / 43

内存(RAM) ·计算机的Memoryi可以理解为一个一定长度的线性数组 。bit:位,1bit可理解为处于0/1状态的一根信号线 。Byte:比特,1Byte=8bit,为了方便而设立 。内存大小:KB、MB、GB、TB 6/43

内存 (RAM) 计算机的Memory可以理解为一个一定长度的线性数组 bit:位,1 bit 可理解为处于 0/1 状态的一根信号线 Byte:比特,1 Byte = 8 bit,为了方便而设立 内存大小:KB、MB、GB、TB 6 / 43

数据类型与冯诺依曼模型关系 ●冯诺依曼模型以存储器为核心 ·计算过程中的所有数据,都要思考来自哪里,流向何处 。即使对RISC处理器,数据来自寄存器,但寄存器中数据依然 需考虑来源/去向 ·数据可能存在的位置 ●只读存储区:ROM/RAM的只读部分(C常量) ·可读写存储区:RAM的可读可写部分(C变量) ●指令内部:立即数(C常量) 31 0 INST. 操作码 结果寄存器 立即数:1 立即数:2 7/43

数据类型与冯诺依曼模型关系 冯诺依曼模型以存储器为核心 计算过程中的所有数据,都要思考来自哪里,流向何处 即使对RISC处理器,数据来自寄存器,但寄存器中数据依然 需考虑来源/去向 数据可能存在的位置 只读存储区:ROM/RAM 的只读部分 (C 常量) 可读写存储区:RAM 的可读可写部分 (C 变量) 指令内部:立即数 (C 常量) 7 / 43

数据类型的意义 数据类型是软件层次的概念,隐含了操作时的协议及约束! 相同美型 不同美型 美型转换 Bad sheep 2aC 8/43

数据类型的意义 数据类型是软件层次的概念,隐含了操作时的协议及约束! 8 / 43

变量的概念 ●表示RAM中某个位置数据的代号,可被赋值 ●使用前需要先声明 ·类型+名称:inta; 。类型+[名称+逗号]s:inta,b,c,pi; o 声明时初始化:int pis=3; 。混合:inta,b=1,pi=4,c; C99/C11要求编译器识别内部标识符长度63个字符,外部标识 符长度31个字符;以前的标准为31/6个字符!所以推荐用描述 性长变量名称! 9/43

变量的概念 表示 RAM 中某个位置数据的代号,可被赋值 使用前需要先声明 类型+名称:int a; 类型+[名称+逗号]s:int a, b, c, pi; 声明时初始化:int pi=3; 混合:int a, b=1, pi=4, c; C99/C11要求编译器识别内部标识符长度63个字符,外部标识 符长度31个字符;以前的标准为31/6个字符! 所以推荐用描述 性长变量名称! 9 / 43

C数据类型及变量声明示例 78 79 sys_call 6 81 PUBLIC int sys_call(call_nr,src_dst,m_ptr) int call_nr; /system call number and flags * 83 int src_dst; /src to receive from or dst to send to * 4 message *m_ptr; /pointer to message in the caller's space 85( 86 /System calls are done by trapping to the kernel with an INT instruction. 87 The trap is caught and sys_call()is called to send or receive a message 88 *(or both).The caller is always given by 'proc_ptr'. 89 98 register struct proc *caller_ptr proc_ptr;/get pointer to caiter * int function call_nr SYSCALL_FUNC;/get system call function 92 unsigned flags call_nr SYSCALL_FLAGS;/get flags 93 int mask_entry; /*bit to check in send mask 94 int result; /*the system call's result vir clicks vlo,vhi; /virtual clicks containing message to sond * 96 97 /*Check if the process has privileges for the requested call.Calls to the 98 kernel may only be SENDREC,because tasks always reply and may not block 99 if the caller doesn't do receive(). 100 / 101 if ((priv(caller_ptr)->s_trap_mask &(1 <function)) 10/43

C 数据类型及变量声明示例 10 / 43

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共43页,可试读15页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有