版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块一认识C语言程序模块学习目标1.熟练掌握VisualC++2010的C语言程序开发流程;2.熟练掌握C语言的基本数据类型、常量和变量、运算符和表达式;3.理解输入/输出函数、顺序结构程序设计、选择结构程序设计和循环结构程序设计;4.初步掌握利用C语言进行软件开发的基本方法和步骤。程序与程序设计语言C语言程序设计的特点C语言程序的编辑、编辑、链接和运行第一个C语言程序--“Hello,World!”算法认识C语言程序1.1程序与程序设计语言程序是为实现特定目标或解决特定问题而用计算机语言(程序设计语言)编写的一系列语句和指令,程序的执行过程就是执行这些指令并实现其功能的过程。程序设计语言提供了数据表达与数据处理功能,编程人员必须按照程序设计语言的语法要求进行编程。程序具有以下特点:(1)可完成某一特定的任务;(2)应使用某种程序设计语言描述如何完成该任务;(3)存储在计算机中,并且被运行后才能起作用。1.1程序与程序设计语言一、程序设计语言的发展第一代计算机语言——机器语言机器语言是低级语言,是机器指令的集合。它由二进制0、1代码指令构成,特点是不需翻译即可由计算机直接识别和解读。用机器语言编写的程序称为目标程序(ObjectProgram)。机器语言的缺点为:难编写、难修改和难维护,需要用户直接对存储空间进行分配,编程效率极低。第二代计算机语言——汇编语言汇编语言是面向机器的程序设计语言。它用助记符代替机器指令,用地址符号或标号代替指令或操作数的地址。汇编语言的优点为:可直接访问系统接口,因此由汇编程序翻译成的机器语言程序的执行效率较高。1.1程序与程序设计语言一、程序设计语言的发展第三代计算机语言——高级语言(1)非结构化的语言。早期的Basic就属于非结构化的语言。(2)结构化的语言。1970年,出现了第一个结构化程序设计语言——Pascal语言。结构化程序设计采用自顶向下、逐步求精的设计方法,各个模块通过“顺序、选择和循环”的控制结构进行连接,并且只有一个入口和一个出口。QBasic、Pascal和C都属于结构化的语言。(3)面向对象的语言。自20世纪80年代开始,提出了面向对象(ObjectOriented)的程序设计思想。面向对象语言是一类以对象作为基本程序结构单位的程序设计语言,其描述的设计是以对象为核心的,而对象是程序运行时刻的基本成分。C++、C#和Java都属于面向对象的语言。1.1程序与程序设计语言二、程序设计语言的功能程序设计语言是人与计算机进行交流的桥梁,人要让计算机按照自己的意愿处理数据,就必须用程序设计语言表达所要处理的数据以及控制数据处理的流程。因此,程序设计语言必须具有数据表达(即定义变量)与数据处理(即流程控制)的能力。1.数据表达数据是计算机处理的对象,在解决实际问题时,通常会包含各种类型的数据,数据类型就是对某些具有相同性质的数据集的总称。数据类型具有两层含义,即该数据类型所能表示的数据(取值范围)和对该数据类型所能进行的操作(运算类型)。1.1程序与程序设计语言2.流程控制计算机对数据的处理是通过程序语言的一系列流程控制语句实现的。按照结构化程序设计的特征,任何程序的基本结构都可以通过3种基本的控制结构进行组合来实现。(1)顺序控制结构:一条语句执行后,按照自上而下的自然顺序执行下一条语句。(2)选择控制结构:计算机在执行程序时,常常需要根据不同的条件选择执行不同的语句。(3)循环控制结构:在满足条件的情况下,重复执行相同的语句。1.1程序与程序设计语言3.种基本控制结构的共同特点如下:
①只有单一的入口和单一的出口;
②结构中的每个部分都有被执行的可能;
③结构内不能出现永不终止的死循环。
1.2C语言程序设计的特点
一、C语言的发展历史1967年,剑桥大学的MartinRichards对CPL(CombinedProgrammingLanguage)语言进行了简化,于是产生了BCPL(BasicCombinedProgrammingLanguage)语言。1970年,KenThompson以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。他还用B语言写了第一个UNIX操作系统。
1.2C语言程序设计的特点
1971年,同样酷爱SpaceTravel游戏的美国贝尔实验室的DennisM.Ritchie为了能早点玩上游戏,加入了Thompson的开发项目,合作开发UNIX操作系统。1972年,DennisM.Ritchie在B语言的基础上最终设计出了一种新的语言,他取BCPL的第二个字母作为这种语言的名字,这就是C语言。1973年,C语言的主体部分被设计完成。紧接着,Thompson和Ritchie迫不及待地用C语言完全重写了UNIX操作系统。此时,编程的乐趣使他们完全忘记了SpaceTravel游戏,他们一门心思地投入到了UNIX和C语言的开发中。随着UNIX的发展,C语言自身也在不断地完善。直到2021年,各种版本的UNIX内核和周边工具仍然使用C语言作为最主要的开发语言,其中还有不少代码是继承Thompson和Ritchie的源代码。
1.2C语言程序设计的特点二、C语言的特点简洁的语言具有结构化的控制语句丰富的数据类型丰富的运算符可对物理地址进行直接操作代码具有较好的可移植性可生成高质量、目标代码执行效率高的程序1.3C语言程序的编辑、编译、链接和运行
一、程序设计的步骤使用计算机解决实际问题的过程,一般由以下几个步骤组成。1.分析问题2.设计算法3.程序设计4.运行并调试程序5.分析程序运行结果6.编写程序文档1.3C语言程序的编辑、编译、链接和运行二、运行C程序的步骤和方法使用C语言解决实际问题,从编写程序到上机运行,一般要经过编辑源程序→对源程序进行编译→与库函数链接→运行目标程序等步骤,如图1-3-1所示。
图1-3-1程序的编辑、编译和运行流程1.3C语言程序的编辑、编译、链接和运行1.编辑源文件首先将编写的C语言源程序输入到计算机中,并以文件的形式保存起来,C语言源程序的扩展名为.c,如hello.c。C语言源程序为文本文件,可以用文本编辑器(如记事本)编辑,也可以用C编译系统提供的集成开发系统进行编辑。2.编译C语言源程序编辑好后,接下来要做的是编译。编译程序所要做的工作就是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成二进制目标程序文件。文件扩展名为.obj,如hello.obj。1.3C语言程序的编辑、编译、链接和运行3.链接编译生成目标程序后,还要进行链接。链接就是将目标程序与系统提供的库函数或者其他目标程序进行链接,得到最终的二进制可执行文件。4.运行可执行文件运行后,结果会显示在屏幕上,这时要验证程序的运行结果,如果发现运行结果与设计目的不相符,说明程序在设计思路或算法上出现了问题,还需要重新检查源程序,找出问题并进行修改。
1.4第一个C语言程序——“Hello,World!”一、“Hello,World!”程序
1.4第一个C语言程序——“Hello,World!”二、C语言程序的基本组成部分预处理器指令、函数、变量、语句&表达式、注释。
1.4第一个C语言程序——“Hello,World!”1.#include称为文件包含命令#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。有两种方式可以指定插入头文件:第一种:#include<文件名>第二种:#include"文件名"如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:#include<math.h>如果需要包含针对程序所开发的源文件,则应该使用第二种格式。如下例所示:#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
1.4第一个C语言程序——“Hello,World!”2.main函数intmain()是C语言main函数的一种声明方式。其中int表示函数的返回值类型,表示该主函数的返回值是一个int类型的值;main表示主函数,是C语言约定的程序执行入口,其标准的定义格式为:intmain(intargc,char*argv[])在intmain()中,()中没有数值表示参数为空,等同于intmain(void)。
1.4第一个C语言程序——“Hello,World!”三、C语言程序的结构特点(1)一个C语言程序可以由一个或多个源文件组成,每个源文件可由一个或多个函数组成,函数是C语言程序的基本模块单元,每个函数完成相对独立的功能。(2)一个C语言程序不论由多少个源文件组成,都有一个且只能有一个main函数,即主函数,且程序的执行总是从主函数开始的。(3)源程序中可以有预处理命令,预处理命令通常应放在C语言程序或源文件的最前面。(4)每一个说明和每一个语句都必须以分号结尾。但预处理命令和函数头之后不能加分号。(5)标识符、关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可以不再加空格来表示间隔。
1.4第一个C语言程序——“Hello,World!”四、书写程序时应遵循的规则(1)一个说明或一个语句占一行。(2)用{}括起来的部分,通常表示程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。(3)低一层次的语句或说明应比高一层次的语句或说明缩进若干格,以便层次更加清晰,增加程序的可读性。(4)C语言严格区分大小写。一般用小写字母书写,只有符号常量或其他特殊用途的符号才使用大写字母,所有关键字必须小写,如if、else、int等。1.5算法
计算机要解决某个问题,首先必须针对该问题设计一个解题步骤,然后再据此编写出程序并交给计算机执行。这里所说的解题步骤就是“算法”,采用程序设计语言对问题的对象和解题步骤进行的描述就是程序。1.5算法一、算法的特性(1)有穷性(Finiteness):算法必须在执行有限个步骤之后终止。(2)确切性(Definiteness):算法的每一步骤必须有确切的定义。(3)输入项(Input):一个算法有0个或多个输入,以反映运算对象的初始情况。所谓0个输入,是指算法本身定义了初始条件。(4)输出项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。(5)可行性(Effectiveness):算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。1.5算法一、算法的描述算法的描述有多种形式:文字描述、流程图描述、伪代码描述和程序设计语言描述等。1.5算法1.用文字描述算法在日常生活中,人们通常采用自然语言的形式来描述一件事情的经过。实例1-5-1:有10个两位的正整数,找出其中最大的数,写出其算法。(1)输入第一个数,放入max中;(2)用i统计比较的次数,将其初值置为1;(3)若i≤9,转第(4)步,否则转第(8)步;(4)再输入一个数,放在x中;(5)比较x和max中的数,若x>max,则将x的值赋给max,否则max的值不变;(6)i增加1;(7)返回到第(3)步;(8)输出max中的数,此时max中的数即为10个数中最大的数。1.5算法1.用文字描述算法实例1-5-2:写出求两个自然数的最大公约数的算法。本实例采用古希腊数学家欧几里得提出的“欧几里得算法”。该算法描述如下:(1)输入两个自然数a、b;(2)求a除以b的余数r;(3)若r≠0,则执行步骤(4),否则转第(7)步;(4)使a=b,即用b代替a;(5)使b=r,即用r代替b;(6)返回到第(2)步;(7)输出b,b即为a和b的最大公约数。缺点:很难“系统”并“精确”地表达算法,且有时叙述冗长,不容易理解。1.5算法2.用流程图描述算法流程图也称框图,传统的流程图由几种基本图形符号组成。它是用一些几何框图、流程线和文字说明来表示各种类型的操作。一般用矩形框表示处理,有一个入口和一个出口;用菱形框表示判断,有一个入口和两个出口;用带箭头的流程线表示操作的走向。在矩形框或菱形框中的文字或符号表示具体的操作。基本图形符号如图下图所示。1.5算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏海事职业技术学院《茶叶审评与检验实验》2023-2024学年第一学期期末试卷
- 华南理工大学《金蝶云ERP供应链管理》2023-2024学年第一学期期末试卷
- 湖北交通职业技术学院《地质与地貌学》2023-2024学年第一学期期末试卷
- 遵义职业技术学院《工程软件与程序设计》2023-2024学年第一学期期末试卷
- 珠海艺术职业学院《建筑师业务基础与实践》2023-2024学年第一学期期末试卷
- 重庆青年职业技术学院《摄影报道》2023-2024学年第一学期期末试卷
- 浙江同济科技职业学院《舞台表演化妆与发型》2023-2024学年第一学期期末试卷
- 重庆安全技术职业学院《模拟电子技术实验B》2023-2024学年第一学期期末试卷
- 中南财经政法大学《融媒体与节目策划》2023-2024学年第一学期期末试卷
- 郑州亚欧交通职业学院《装配式建筑识图与实务》2023-2024学年第一学期期末试卷
- 中考英语688高频词大纲词频表
- GB/T 2315-2017电力金具标称破坏载荷系列及连接型式尺寸
- 标准工时基础知识及应用 课件
- 咽旁间隙肿瘤课件
- (完整版)中职数学习题及答案
- 高中语文 苏轼导读 课件
- 府谷县恒阳阳建材有限公司-15万立方米-年混凝土搅拌站项目报告书
- 水中钢管桩施工方案
- 上交所期权投资者综合试卷考试及答案
- 超市日常工作检查表
- 电缆热稳定校验计算书
评论
0/150
提交评论