网站大量收购独家精品文档,联系QQ:2885784924

第2章 C++简单程序设计精要.ppt

  1. 1、本文档共122页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章C简单程序设计精要

* * * * * * * * * * * * 任何数据在内存中都是用二进制串的形式表示的; 一串二进制数,只有确定了类型,才有真实的含义。 例1000000000000000 解释为int型:-1,082,130,432 解释为unsigned型:3,212,836,864 解释为float型:-1.0 * 2.6 深度探索 —— 2.6.1 变量的实现机制 类型的特性蕴含于操作之中; 对不同数据类型,源代码中形式上相同的操作,会被转化为目标代码中的不同操作。 * 2.6 深度探索 —— 2.6.1 变量的实现机制 int a; short b; char c;? int main() { a++; b++; c++; return 0; } incl 0x80495f8 incw 0x80495fc incb 0x80495fe 不同的操作 变量的声明 将一个标识符声明为变量,告诉编译器这个标识符表示变量,同时还指出了它的数据类型; 只有确定了一个变量的数据类型,变量参与的操作才具有完整的意义,编译器才能将该变量参与的表达式翻译为合适的操作。 变量的定义 不仅确定了一个标识符表示变量,以及该变量的类型,还确定了变量地址的分配位置。 * 2.6 深度探索 —— 2.6.1 变量的实现机制 什么是寄存器? CPU内部的存储单元 读写速度非常快 数量很少 IA-32有eax、ebx、ecx、edx、esp、ebp、esi、edi八个通用寄存器 大部分CPU指令都需要读写寄存器。 复杂的表达式,分步执行,每条指令只能做一次基本运算,中间结果暂存在寄存器中。 * 2.6 深度探索 int a, b, c, d; int e; int main() { a = 4; b = 2; c = 1; d = 10; e = (a + b) * (c - d); return 0; } * 2.6 深度探索 movl $0x4,0x80495d8 movl $0x2,0x80495dc movl $0x1,0x80495e0 movl $0xa,0x80495e4 把4存入地址0x80495d8中 0x80495d8:a变量 0x80495dc:b变量 0x80495e0:c变量 0x80495e4:d变量 0x80495e8:e变量 int a, b, c, d; int e; int main() { a = 4; b = 2; c = 1; d = 10; e = (a + b) * (c - d); return 0; } * 2.6 深度探索 mov 0x80495dc,%eax mov 0x80495d8,%ecx add %eax,%ecx mov 0x80495e4,%edx mov 0x80495e0,%eax sub %edx,%eax imul %ecx,%eax mov %eax,0x80495e8 把0x80495dc地址的值到eax寄存器中 0x80495d8:a变量 0x80495dc:b变量 0x80495e0:c变量 0x80495e4:d变量 0x80495e8:e变量 ecx?ecx + eax eax?eax - eax eax?(eax * eax)的低32位 主要内容 C++语言概述、基本数据类型和表达式、数据的输入与输出、算法的基本控制结构、自定义数据类型 达到的目标 掌握C++语言的基本概念和基本语句,能够编写简单的程序。 * * * * * * * * * * * * * * * * **********************2013/09/24 * * * * * * * * * * 操纵符名 含 义 dec 数值数据采用十进制表示 hex 数值数据采用十六进制表示 oct 数值数据采用八进制表示 ws 提取空白符 endl 插入换行符,并刷新流 ends 插入空字符 setsprecision(int) 设置浮点数的小数位数(包括小数点) setw(int) 设置域宽 * 2.3 数据的输入和输出 常用的I/O流类库操纵符 例:cout setw(5) setprecision(3) 3.1415; //2_2.cpp #include iostream using namespace std; int main() { int year; bool isLeapYear; cout Enter the year: ; cin year; isLeapYear = ((year % 4

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档