- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级语言C的基础代码的编写高级语言C的基础代码的编写.doc
高级语言C++的基础代码的编写
通过上次课题的讲述,相信大家一定对什么是数据及数据的定义和使用方法有一定的了解了,在看本次课题之前希望大家能趁热打铁,再到网上下本C语言的教程,最好是买本数来巩固下变量相关的知识。
大家明白了怎么定义变量,怎么给变量赋值了,自然的就应该进一步了解一下一些详细的代码怎么编写了。
今天我们的任务比较简单,就讲一下如何编写代码及实现代码的流程控制。应该说这个是非常简单的东西了,本来我没打算讲它,可是本着一步一个脚印的原则,我还是简要的说一下。在本次课题之后,我会紧跟着出一个函数的专题,来作为代码篇的完善,至此大家应该能独立的写自己的程序了。
本次课题知识点不是很多(也不少,但是都很简单。),主要是在于多写,多练,知道自己能把一些现实的问题转换成代码来解决问题。
不多废话,先说下本次课题要写的主要内容:
程序的运算和逻辑判断
三种程序流程控制结构详解。
养成良好的代码编写风格。
结束语
下面开始进入正题。
程序的运算和逻辑判断。
说计算是电脑最基本的功能,相必没有人会反对的。做程序,自然最基础的就是这些运算了。
我知道,看这个破烂文章的朋友对数据应该都是不感冒的。不过大家放心,这里牵扯的运算都很简单,就是小学的加、减、成、除、取余数,是、非、与或和位移,没别的了。先让我们来了解下算术运算。
算术运算。
加减乘除相比大家都应该很了解的。这里我不想费太多的篇幅讲述这些大家都明白的知识,我把要说的知识列出来,大家自己了解就好。
用于算术运算的运算符有:
我想不用我说,加、减、成、除这些运算符大家都接触过的,关于“%”运算符,其实就是取余数;用这些运算符可以将一些数字,变量等连接起来,进行运算,这样的式子叫做表达式。例如:
int i =5;
i +7; // 这里就是一个表达式。
“=”这个运算符其实不属于算术运算,它也并非是我们数学课上讲的“等于”,而是一个“赋值”运算符,它用来将一个常量(数字、字母等)赋值给一个变量的赋值运算符,由于我们进行算术运算以后,通常都会将运算结果保存到一个变量中,所以,我把这个赋值运算符归类到这里。而我们日常的“等于”运算符是:“= =”,它属于逻辑运算符,我们将在下一节中讲到它。
关于“++ 、 — —”这两个运算符,上图中已经说明了,它是对变量的对自己的自加或者自减运算,等同于:变量 = 变量+1; 或者 变量 = 变量 — 1;
现在让我们来举几个例子,来说明下这些算术运算符的用法。
void main()
{
int x = 1;
int y = 2;
int z = 20;
x ++; // 等同于x = x + 1;
y --; // 等同于y = y - 1;
z /= x; // 等同于z = z / 1;
printf(%d, %d, %d\n, x, y, z); // 打印 x,y,z 的结果。
z %= x; // 计算得出 z / x 以后的余数
x = x+y;
z -= x;
printf(%d, %d, %d\n, x, y, z); // 打印 x,y,z 的结果。
}
请先不要看下面的截图,先看下这个程序,分析一下,这两次的输出结果会是多少,然后对比下图:
看下就算的是不是正确,如果正确了,那恭喜你,基础的算术运算就算通过了,接下来,我们需要调试这段代码,来熟悉一些相关的汇编命令,具体操作如下图所示:
在代码上右击鼠标,选择如下命令:
我们来详细分析一下我们现在看到的代码:
1: #include stdio.h
2:
3: void main()
4: {
push ebp
mov ebp,esp ;// 将现有的堆栈给了EBP寄存器。
sub esp,4Ch ;// 分配x4C大小的堆栈空间用来运算。
push ebx
push esi
push edi ;// 保存寄存器环境。
lea edi,[ebp-4Ch] ;// 这里用ebp寄存器减去一个偏移来定位我们定义的变量,
0040101C mov ecx,13h ;// 这里-4Ch是用来定位到堆栈头,把堆栈内容改成int3中断以免内存泄露。
mov eax,0CCCCCCCCh ;// 以上操作是保存堆栈环境,分配堆栈空间。
rep stos
您可能关注的文档
- 高等中学电能管理系统解决方案高等中学电能管理系统解决方案.doc
- 高等代数(II)期末考试试卷及答案(A卷)高等代数(II)期末考试试卷及答案(A卷).doc
- 高等代数的应用高等代数的应用.doc
- 高等土力学作业高等土力学作业.doc
- 高等土木工程试验高等土木工程试验.doc
- 高等学校“专业综合改革试点”项目任务书高等学校“专业综合改革试点”项目任务书.doc
- 高等学校专业新旧名称对照表高等学校专业新旧名称对照表.doc
- 高等学校科学技术学术规范指南高等学校科学技术学术规范指南.doc
- 高等工商企业管理人力资源管理方向岗位知识点高等工商企业管理人力资源管理方向岗位知识点.doc
- 高等教育出版社《企业财务会计》第四章经济业务核算分录结构高等教育出版社《企业财务会计》第四章经济业务核算分录结构.doc
- 高级语言程序设计实验(含解答)高级语言程序设计实验(含解答).doc
- 高级财务会计模拟试卷C卷高级财务会计模拟试卷C卷.doc
- 高级财务会计课程实践考核要求(10分)高级财务会计课程实践考核要求(10分).doc
- 高级财务管理~期末复习题高级财务管理~期末复习题.doc
- 高级财务管理习题高级财务管理习题.doc
- 高级财务管理复习重点高级财务管理复习重点.doc
- 高级通信工程师职称考试--交换技术考试大纲高级通信工程师职称考试--交换技术考试大纲.doc
- 高纯纳米二氧化硅制备与问题分析 刘晓辉高纯纳米二氧化硅制备与问题分析 刘晓辉.ppt
- 高老师的通识课.2014宇宙篇1高老师的通识课.2014宇宙篇1.doc
- 高考2009年试卷分析和2010年备考建议高考2009年试卷分析和2010年备考建议.doc
最近下载
- 咽喉用药市场白皮书.pdf VIP
- 临时用电施工方案.doc VIP
- 民族区域自治制度优秀教学课件.pptx VIP
- 人民大2024《人工智能与Python程序设计》课件(教材配套版)第10章-使用 Python 语言实现机器学习模型-回归分析.pdf VIP
- Lesson 3 at the seaside(课件)典范英语三年级上册.pptx VIP
- 人民大2024《人工智能与Python程序设计》课件(教材配套版)第9章-机器学习概述.pdf VIP
- 主体性概念的历史演变与理论探讨.docx VIP
- 普外科质量与安全管理小组活动记录.docx VIP
- 医院急性创伤患者救治流程.pdf VIP
- 讲义 16 分式讲 16 分式.doc VIP
文档评论(0)