版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1讲 C+语言入门学习目标1、了解计算机语言发展的3个阶段。2、理解程序设计的一般步骤。3、掌握什么是算法。4、掌握对给定的问题进行算法描述。5、学会编写简单的程序。随着科技的发展和社会的进步,计算机已经走入寻常百姓家。人们可以使用同一台计算机做不同的事,我们可以看到其他机器或设备做不到这点。计算机之所以能执行不同的工作任务,是基于其硬件和软件协同工作的工作机制。要使计算机按人们指定的步骤有效地工作,必须事先编制好一组让计算机执行的指令,这就是程序。随着计算机软件技术的发展,人们可以使用不同的计算机语言来编写程序。一、计算机语言发展要使计算机按照人的规定完成一系列的工作,首先要解决一个 “语
2、言”沟通问题:在人和计算机之间找到一种两者都能识别的特定的语言,使计算机具备理解并执行人们给出的各种指令的能力。这种特定的语言称为计算机语言,也叫程序设计语言,它是人和计算机沟通的桥梁。随着计算机技术的迅速发展,程序设计语言经历了由低级向高级发展的多个阶段,程序设计方法也得到不断的发展和提高。计算机语言按其发展程度可以划分为:机器语言、汇编语言和高级语言。1、机器语言计算机并不能理解和执行人们使用的自然语言。计算机能够直接识别的指令时由一连串的0和1组合起来的二进制编码,称为机器指令。每一条指令规定计算机要完成的某个操作。机器语言是计算机能够直接识别的指令的集合,它是最早出现的计算机语言。例如
3、,下图所示的是某一种型号计算机的一组二进制编码机器指令,用来完成一个简单加法操作。 10110000 00001001 00000100 00001000 11110100 显然,用机器语言编写的程序“难学、难记、难写、难检查、难调试”,给使用者带来很大的不便。机器语言编写的程序另一个缺点是完全依赖于机器硬件,不同型号的机器语言指令不相同,程序的可移植性差。其优点是计算机能直接识别、执行效率高。2 、汇编语言20世纪50年代初,为了克服机器语言的缺点,人们对机器语言进行了改进,用一些容易记忆和辨别的有意义的符号代替机器指令。用这样一些符号代替机器指令所是产生的语言就称为汇编语言,也称为符号语言
4、。用汇编语言来实现9+8运算的由关指令如下图: MOV AL,9 ADD AL,83、高级语言汇编语言虽然较机器语言有所改善,但并未从根本上摆脱指令系统的束缚,它的符号与机器语言指令仍然是一一对应,而且与自然语言相距甚远。不符合人的表达习惯。为了从根本上改变语言体系,必须从两个方面下功夫:一是力求接近于自然语言;二是力求脱离具体机器,使语言与机器指令系统无关,达到程序通用的目的。于是,高级语言应运而生。第一个高级语言是在20世纪50年代出现的Fortran语言,随之相继出现了许多种高级语言。目前常用的高级语言有Basic 、Pascal、logo、 cobal、C、 C+等。高级语言描述计算公
5、式于数学上表示大体一致,例如,前面计算9+8的问题,若用C+语言编程,只要用S=9+8一个语句就可完成,十分简单,易于理解。显然,计算机不能直接执行高级语言程序,而必须先翻译转换成机器能够识别的“目标程序”才能够执行,这种翻译转换工作由被称为“翻译器”的专门软件来完成,每一种高级语言都有自己的编译器。所以,在一台计算机上运行某一种高级语言源程序的前提是:该计算机安装了该语言的编译程序。二、c+语言特点C+由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现(最初这种语言被称作“C with Classes”带类的C)。开始,C+是作为C语言的增
6、强版出现的,从给C语言增加类开始,不断的增加新特性。今天C+已成为世界主流编程语言之一。1、语言简洁紧凑,使用灵活方便C+语言一共只有32个关键字和9种控制语句,程序书写自由,主要用小写字母表示。2、运算符丰富C+语言的运算符包含的范围很广泛,共有34个运算符。3、数据结构丰富C+语言的数据类型有:整型、实型、字符型、数组类型等等4、结构化语言结构化语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。5、生成的代码质量高C+语言在代码效率方面可以和汇编语言相媲美。6、可移植性强C+语言编写的程序很容易进行移植,在一个环境下运行的程序不加修改或少许修改就可以在完全不
7、同的环境下运行。三、程序设计的基本方法学习计算机语言目的是利用该语言工具设计出可供计算机运行的程序。完整的程序设计应该是:数据结构+算法+程序设计方法+语言工具。一个程序应包括两方面的内容:1、对数据的描述:数据结构(data structure),简单说如何存储问题中的数据。2、对操作的描述:算法(algorithm),算法是指解决一个问题所采取的具体步骤和方法。也就是说给定初始状态或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态,输出结果数据。简单说就是解决问题的方法和步骤。在拿到一个需要解决的实际问题之后,怎样才能编写出程序呢?一般步骤如图:分析问 题确定数学模型与
8、数据结构设计算 法编写程 序程序编译调试并运行【实例1-1】已知圆半径为5,求圆面积。1、分析问题:根据半径求圆面积公式,可以借助数学公式完成。2、确定数据结构与数学模型:(1)数据结构:本问题可以设计一个变量空间r存储半径的值,一个变量空间S存储面积的值。(2)数学模型:使用求面积公式S=r2(3)设计算法:求圆面积算法描述如下:输入半径r;依据圆面积公式求圆面积S;输出圆面积S。(4)编写程序:用计算机语言描述算法的过程,这一步称为“编码”,程序的质量主要由算法决定。【程序设计】#include<cstdio> / cstdio是标准C+(STL),且cstdio中的函数都是定
9、义在一个名称空间std里面的#include<cstlib> /Dev C+使用system( )调用cstdlib库#include<iostream> /使用scanf,printf,须调用iostream 库,否则编译出错using namespace std; /有调用cstdio这个名字空间的函数,必须在文件中声明using namespace std。int main() /函数的入口 int r=5; /已知圆的半径,定义为整型数值int float S; /定义圆的面积S,定义为实型 S=3.14*r*r; /计算圆的面积公式 printf(“%fn”,
10、S); /输出圆面积S的值,并换行。 system(“pause”); /暂停作用,使用system("pause")调用cstdlib库 return 0; /结束整个程序(5)程序编译调试运行:通过编译调试和运行程序,获得正确的编码和正确的结果。任何程序设计语言都有一组自己的记号和规则,即语法。+语言同样必须采用其本身所规定的记号和规则来编写程序。现对上例程序语法进行分析:预处理:+语言中预处理都是以号开头的,它的作用是提供给编译器足够的信息以完成预编译和连接。+语言中最常用的预处理器指令是:include指令。include指令包含文件命令,用于在编译期间将指定文件的
11、内容包含进当前文件中。常用的头文件有cstdio、cstdlib、cmath等。编译期间,include后面的参数文件将作为程序文件的一部分。格式为: include头文件名 或include头文件名 【include<iostream>】告诉编译器的预处理将输入输出流的标准头文件(iostream)包括在本程序中。这个头文件包括了C+中定义的基本标准输入输出程序库的声明。【#include< cstdlib>】 使用system( ) 调用cstdlib。【#include< cstdio>】 标准输入输出的声明。【using namespace std】
12、使用std(标准)名字空间的意思。所谓的名字空间是标准C+中的一种机制,用来控制不同类库的冲突问题。使用它可以在不同的空间内使用相同名字的类或者函数。函数体:包含函数、变量、结构体等的声明及定义等等。+程序就是若干个函数的集合。其中最重要的函数就是函数, 是整个程序的入口,一个程序中只能有一个main函数,当程序成功结束时会返回一个值。 函数体以“”开始,以“”结束。大括号之间的语句都属于这个函数,并且每一个语句都以“;”结束。 每个函数都有自己的特定功能。范例完成了对于已知圆的半径,计算其对应圆面积, 输出结果的操作。 注释:除了上述基本组成部分, 程序中还可以添加注释,并且注释可以出现在程
13、序的任何置。虽然注释是不参与编译的,但是添加必要的程序注释,是一个非常重要的编程习惯。 在+程序中可以有两种方法添加注释: 第一种方法,在*和*之间写上要注释的内容。*必须以*结束,注释内容可以是多行。 第二种方法,以/引导的注释内容, 能写在一行里。 在信息学竞赛中,很多选手忽略注释的编写,这是一个很不好的习惯。编写注释不仅利于使别人读懂你的程序, 且也可以使程序结构清晰,尤其是在一些需要高级数据结构或者混合几种算法时,良好的注释有助于你保持清醒的头脑。三、利用Dev-C+编写程序安装完Dev-C+以后,双击Dev-C+.exe进入环境,如下图1-1所示的界面。1、窗口组成 在Dev-C+环
14、境窗口中,主要有以下几个组成部分。(1)代码窗口:用于输入和编写程序(2)工程窗口:在调试程序时,打开“调试”选项卡,添加监视,用于观察程序运行时各个变量的变化,便于查错。(3)报告窗口:打开“调试”选项卡,可以执行很多调试动作。工程窗口代码窗口报告窗口图1-1 Dev-C+界面2、新建源代码:单击“文件”“新建”“源代码”命令(Ctrl+N)(如下图1-2所示),这样就生成了一个空白的源文件。图 1-2 新建源文件3、保存文件 编写完一个程序后,单击“文件”“保存”(Ctrl+S)(如图1-3),可以选择文件路径,并对文件命名,达到保存文件的目的。 图1-3 保存文件4、打开源文件 单击“文
15、件”“打开工程或文件”(Ctrl+O),就可以选择已保存的文件。5、个性化界面 单击“工具”“编译器选项”,弹出“编译器属性”对话框(如图1-3),在“基本”选项卡里有各种编程风格的设置方案,可以选择喜欢的方式;在“语法”选项卡(如图1-4)可以设置不同数据类型、注释、调试信息等的字体大小和颜色。 图1-4 编译器属性图1-5 语法选项卡6、编译写完一个程序,要进行编译运行,以验证算法是否正确,程序能否正常运行。单击“运行”“编译”,如图16所示。图16 编译程序这时如果出现语法错误,将在窗口的下方显示错误(如图17)图17 编译错误7、运行在编译成功之后,单击“运行”“运行”命令,就可以运行
16、自己的程序了(如图18所示)图18 运行程序不过很多人会发现一个问题:程序运行界面一闪而过!对于DevC+来说,这里推荐给你两种方法解决:(1)在main()函数的return语句前加函数getchar();(2)在main()函数的return语句前加系统命令system(“pause”);注意:在使用第二种方法的时候,要在预处理中处理中加上#include<cstdlib>,另外,提交程序之前一定要把这条语句删除。8、调试DevC+提供了简单的调试功能,大体上能够满足各位信息学竞赛选手的要求,而且使用简单,上手迅速。需要注意的是,调试只有在编译之后才能执行。下面介绍一种简单的调
17、试方法。(1)断点调试:在出现问题的语句之前设置好断点(单击行号左边的空白),打开“报告窗口”的“调试”选项卡,单击“调试”,程序就爱那个一直运行断点的位置。(2)查看变量在程序的调试状态下打开“工程窗口”中的“调试”选项卡,然后单击鼠标右键,从快捷菜单中单击“添加查看”命令,弹出“新变量”对话框,输入要查看的变量名后,单击“OK”按钮后,要监视的变量就出现在了左侧的调试栏中。(3)跟踪观察单击“报告窗口”中的下一步按钮,则执行下一条语句。单击“单步进入”亦然,如遇到函数,则会进入到函数内部。单击“跳过”会越过当前语句执行下一语句,需要注意,这很有可能会造成程序的崩溃。在单步运行过程中,可以在
18、左侧调试栏中及时观察变量的变化,方便查错。拓展材料:计算机工作原理一、计算机基本组成计算机室电子计算机的简称。自1946年第一台电子计算机(ENIAC)诞生以来,计算机硬件技术与计算机应用技术飞速发展。计算机的速度、功能和用用范围都发生了巨大的变化。但是,计算机的基本组成却一直沿用着五大模块的结构(如图):1、运算器运算器主要完成各种算术运算和逻辑运算。运算器一次能运算多少位二进制及在单位时间内能做多少次运算是计算机工作速度的重要指标。2、控制器控制器的作用是分析程序指令,控制计算机各部件按程序指令协调地工作。当让计算机运行程序时,控制器自动从存储器中取出一条条指令,并控制各部件协调工作。3、
19、内存储器内存储器是计算机的记忆部件,用于存放程序指令和数据。计算机内存储器如同一个大仓库,包含许多存储单元,为了便于管理,每个存储单元都有一个编号,即地址。存储器有一个特点,从某一存储单元中“取”一个数据后,该单元中数据并不消失,除非向该单元送入一个新的数据后,此单元的内容才会改变,因此把数据的“存”和“取”成为“写入”和“读出”。【实例1-1】程序中:int r=5; /即在计算机存储器中开辟一个存储空间取名为r,并且r空间只能存放整数,这里将整数5存放入存储器r名字的空间中; float S; / 即在计算机存储器中开辟一个存储空间取名为S,并且S空间能够存放实型数。位(Bit)是计算机存
20、储器容量的最小单位,也是度量信息的最小单位。存储器容量单位有:字节(Byte)、千字节(KB)、兆字节(MB)、千兆字节(GB)、太字节(TB).他们之间的换算关系如下:1Byte=8Bit;1KB=1024Byte;1MB=1024KB;1GB=1024MB;1TB=1024GB。4、输入设备输入设备的作用是将信息输入计算机的内存储器,常见的输入设备有:键盘、鼠标、扫描仪等。5、输出设备输出设备是将计算机内的信息进行输出的设备。常见的输出设备有:显示器、打印机、音箱等。输入和输出设备是计算机与外界交换信息的设备,通过I/O接口与计算机的主板连接。硬盘、U盘、软盘等通常称为计算机的外存储器,属
21、于输入、输出设备。二、计算机工作原理计算机的基本原理是存储程序和程序控制。计算机工作流程为: 1、通过输入设备将原始数据和程序存入存储器中。2、控制器从存储器中获取程序指令,按照指令发出控制信息流,指挥计算机个部件协调工作。3、需要运算时,存储器将数据传输至运算器,运算器运算后将结果传回至存储器;4、需要输出时,存储器将结果数据传输至输出设备实现输出。程序与数据在计算机内部都是以二进制形式表示,这种“以二进制数的形式存储程序与数据,按顺序执行程序中的指令”的原理,是由匈牙利美籍科学家冯.诺依曼(VonNeumann,19031957年)提出来的,称之为冯.诺依曼原理,也是存储程序原理。三、计算
22、机软件根据计算机工作原理,要使计算机有条不紊地工作,光有计算机硬件还不够,还必须有计算机软件,两者配合共同完成信息处理的任务。计算机硬件本身只能完成一些很简单的基本操作,如加法、减法、传送数据、手发控制电压脉冲等,这些简单的基本操作有计算机指令完成。一台计算机不过几十条指令,它们的集合称为计算机的指令系统。计算机无论做多么复杂和高级的工作,都是逐条执行一个由指令序列,最后完成整个工作。这种排列成一定的执行顺序并能完成一定目标的指令序列,就叫做程序。软件就是一大段程序,具有专门而完善的功能。例如,word字处理软件有完善的文字编辑功能。软件开发疏远程序设计范畴。软件包括系统软件和应用软件。为了方便用户使用计算机,充分发挥计算机系统的效率,围绕计算机系统本身开发的程序系统叫做系统软件,例如,我们使用的操作系统(常用的有windows、unix等)、语言编译程序、数据库管理软件系统等。应用软件是专门为了某种使用目的而编写的程序系统,常用的有文字处理软件、办公软件、专用的财务软件、人事管理软件、计算机辅助软件、绘图软件、学校学生成绩管理软件等。【课堂练习】一、算法的描述,尝试在右边表格写出代码并计算机中进行编译运行调试。(第1、2题左侧表格为习题算法描述填空题,其他5题请按照第1题的格式完成)。1. 已经圆的半径为5,求圆面积、周长1、输入半径: 2、计算圆面积、周长(数学公式): 3、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 扬尘治理委托协议模板
- 2025年度文化创意产品开发合作协议范本3篇
- 2025版外债借款合同法律框架与政策背景分析3篇
- 2025年销售薪资与销售团队建设合同2篇
- 2025版押一付三车位租赁合同模板参考9篇
- 2025年高端住宅产权转让合同范本3篇
- 2025-2030全球熔盐储热设备行业调研及趋势分析报告
- 2025年全球及中国实验室涡旋混合器行业头部企业市场占有率及排名调研报告
- 2025版投票权委托合同:股东权益保护专项3篇
- 2025年度绿色有机农产品个人果园承包经营合同书4篇
- 2025年N1叉车司机考试试题(附答案)
- 《医院财务分析报告》课件
- 2025老年公寓合同管理制度
- 2024年考研政治试题及答案
- 2024-2025学年人教版数学六年级上册 期末综合卷(含答案)
- 2024中国汽车后市场年度发展报告
- 感染性腹泻的护理查房
- 天津市部分区2023-2024学年高二上学期期末考试 物理 含解析
- 2025年初级社会工作者综合能力全国考试题库(含答案)
- 《人工智能基础》全套英语教学课件(共7章)
- GB/T 35613-2024绿色产品评价纸和纸制品
评论
0/150
提交评论