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

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
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 02 C语言简介.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 15 输入输出.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 14 内存检测、剖面分析.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 13 高级指针.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 12 结构、联合与枚举.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 11 字符串.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 10 C程序调试.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 01 课程简介及编程基础(绳伟光).pdf
- 机械工业出版社:计算机科学丛书《计算机组成与设计:硬件、软件接口》电子教材(中文第4版).pdf
- 《计算机系统结构》课程教学资源(电子书籍)《Computer Systems》A Programmer's Perspective(Randal E. Bryant、David R. O'Hallaron,THIRD EDITION).pdf
- 《计算机系统结构》课程教学资源(电子书籍)《Computer Organization and Design》THE HARDWARE / SOFTWARE INTERFACE(DAVID A. PATTERSON JOHN L. HENNESSY,Fourth Edtion,彩色版).pdf
- 《中文信息学报》:中文组织机构名称与简称的识别.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲义)方波生成器项目报告书.doc
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第8讲 Windows应用程序设计.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第7讲 C++类(2/2).pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第6讲 C++类(1/2).pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第5讲 指针与引用.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第4讲 数组与结构.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第3讲 函数与结构化程序设计.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第2讲 C++程序的流程控制.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 05 C语言语句.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 06 C语言数组.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 07 函数.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 08 指针.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 09 C程序组织.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 01 算法设计与分析基础.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 01 Greedy and Dynamic Programming.pptx
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 02 Divide and Conquer.pptx
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 04 C语言运算符与表达式.pdf
- 《C程序与算法设计》课程教学资源(学习资料)快乐的Linux命令行.pdf
- 上海交通大学:《ROS机器人操作系统基础与实战》课程教学资源(实验指导书)01 ROS系统安装.doc
- 上海交通大学:《ROS机器人操作系统基础与实战》课程教学资源(实验指导书)02 ROS基本元素实验(一).doc
- 上海交通大学:《ROS机器人操作系统基础与实战》课程教学资源(实验指导书)03 ROS基本元素实验(二).doc
- 上海交通大学:《ROS机器人操作系统基础与实战》课程教学资源(实验指导书)04 调试和可视化.doc
- 上海交通大学:《ROS机器人操作系统基础与实战》课程教学资源(实验指导书)05 外部设备的使用.doc
- 上海交通大学:《ROS机器人操作系统基础与实战》课程教学资源(实验指导书)06 机器视觉.doc
- 上海交通大学:《ROS机器人操作系统基础与实战》课程教学资源(实验指导书)07 机器人建模与仿真.doc
- 上海交通大学:《ROS机器人操作系统基础与实战》课程教学资源(实验指导书)08 机器人导航包.doc
- 上海交通大学:《ROS机器人操作系统基础与实战》课程教学资源(实验指导书)09 机械臂规划Moveit.doc
- 《并行与分布式程序设计》课程教学参考书:CUDA C PROGRAMMING(CUDA编程指南4.0中文版).pdf