版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第第第第第1 1 1 1 1 1章章章章章章 预备知识预备知识预备知识预备知识预备知识预备知识华北电力大学华北电力大学 计算机系计算机系2l程序设计与算法概述程序设计与算法概述lC C语言概述语言概述 lC C程序的符号系统程序的符号系统 3l主要内容:主要内容:计算机语言与程序设计计算机语言与程序设计算法算法 结构化程序设计结构化程序设计 41. 计算机语言计算机语言是人与计算机进行交流的工具是人与计算机进行交流的工具计算机语言分为:计算机语言分为:机器语言机器语言机器指令(由机器指令(由0 和和 1组组成),可直接执行成),可直接执行 难学、难记难学、难记依赖机器的类型依赖机器的类型汇编
2、语言汇编语言用助记符代替机器指用助记符代替机器指令,用变量代替各类令,用变量代替各类地址。地址。克服记忆的难点克服记忆的难点其他与机器语言类其他与机器语言类似似高级语言高级语言类似数学语言、接近自然语言、具有通用类似数学语言、接近自然语言、具有通用性和可移植性,不依赖具体的计算机类型。性和可移植性,不依赖具体的计算机类型。50 0 1 0 0 0 1 11 1 1 0 1 1 0 10 1 1 0 0 0 0 10 1 1 1 0 1 1 0 void main( ) int a, b, c; a=300; b=18; c=a+b; printf(“ a+b= %dn”, c);6l编译方法编
3、译方法 编译过程编译过程(.C)编译程序编译程序连接程序连接程序编编译译连连接接高级语言高级语言源程序源程序机器语言机器语言目标程序目标程序可执行可执行程序程序(.OBJ)(.EXE)运运行行运行运行结果结果解释程序解释程序高级语言高级语言源程序源程序解释解释执行执行运行运行结果结果 解释过程解释过程(.BAS)7l用计算机解决一个实际应用问题时的整个用计算机解决一个实际应用问题时的整个处理过程称为处理过程称为程序设计程序设计 编写编写程序程序提出提出问题问题调试和运行调试和运行程序程序输入输入程序程序翻译翻译(编译或解释编译或解释)8l什么是算法什么是算法为解决某一应用问题而采用的为解决某一
4、应用问题而采用的解题步骤解题步骤l算法的描述方式算法的描述方式 用自然语言描述算法用自然语言描述算法 用流程图描述算法用流程图描述算法 用用N-S结构图描述算法结构图描述算法 例如:输出两个数中的最大数例如:输出两个数中的最大数9第一步:输入第一步:输入x和和y的值的值第二步:比较第二步:比较x和和y的值,如果的值,如果x大于大于y,则则输出输出x的值,否则输出的值,否则输出y的值。的值。 例如当描述例如当描述“输出输出10个个数中最大数数中最大数”的算法时,的算法时,会冗长、难于理解会冗长、难于理解10 用流程图描述算法用流程图描述算法NYz= yz= xx y ?开始开始输入输入x和和y结
5、束结束输出输出z11输入输入x、y的值的值xy T F z = x z = y输出输出z的值的值 用用N-S结构图描述的算法结构图描述的算法12l程序的三种基本结构程序的三种基本结构顺序结构程序:顺序结构程序:按照书写顺序按照书写顺序依次执行依次执行语句语句选择结构程序:选择结构程序:按照条件判断按照条件判断选择执行选择执行语句语句循环结构程序:循环结构程序:通过条件控制通过条件控制循环执行循环执行语句语句三种基本结构的共同点:三种基本结构的共同点: 都是只有一个入口和一个出口;都是只有一个入口和一个出口; 结构内的每一个框都有机会被执行;结构内的每一个框都有机会被执行; 结构内没有死循环。结
6、构内没有死循环。13l如果一个程序仅包含这三种基本结构(由如果一个程序仅包含这三种基本结构(由这些基本结构顺序组成),则称为结构化这些基本结构顺序组成),则称为结构化程序。程序。l结构化程序设计的基本原则:结构化程序设计的基本原则:采用采用自顶向下、逐步细化自顶向下、逐步细化的方法进行设计;的方法进行设计;采用采用模块化原则和方法模块化原则和方法进行设计。进行设计。即将大型即将大型任务从上向下划分为多个功能模块任务从上向下划分为多个功能模块,每个模,每个模块又可以划分为若干子模块,然后分别进行块又可以划分为若干子模块,然后分别进行模块程序的编写;模块程序的编写;每个模块都是用结构化程序实现每个
7、模块都是用结构化程序实现,即都只能,即都只能由三种基本结构组成,并通过计算机语言的由三种基本结构组成,并通过计算机语言的结构化语句实现。结构化语句实现。 14l主要内容:主要内容:C语言的发展语言的发展C语言的特点语言的特点C程序的基本结构程序的基本结构C程序的执行过程程序的执行过程15l发展过程发展过程 :Bell实验室,实验室,1970年年 在在PDP机器上用其编写机器上用其编写UNIX系统系统:剑桥大学,剑桥大学,1963年年:剑桥大学,剑桥大学,1967年年:Bell实验室,实验室,19721973年用其改写年用其改写UNIX系统系统经简化经简化进一步简化进一步简化保持精练、接近硬件的
8、优点,克服数据类型过少的不足保持精练、接近硬件的优点,克服数据类型过少的不足1617l语言简洁,表达能力强,易于理解语言简洁,表达能力强,易于理解只有只有3232个关键字,个关键字,9 9种控制语句种控制语句数据构造能力强数据构造能力强运算符丰富运算符丰富程序书写格式自由程序书写格式自由l可直接访问物理地址可直接访问物理地址,实现对硬件和底层,实现对硬件和底层系统软件的访问系统软件的访问l语言生成的代码质量高语言生成的代码质量高l可移植性好可移植性好增加学习难度增加学习难度18【例【例1.1】计算并输出一个数】计算并输出一个数a的平方。的平方。 #include void main( ) fl
9、oat a,b; a=5.2; b=a*a; printf(b=%fn,b); 执行程序的输出结果为:执行程序的输出结果为: b=27.039997 该程序只有一个该程序只有一个主函数主函数19【例【例1.2】输入两个数,输出其中的大数。】输入两个数,输出其中的大数。#include int max(int x, int y) /* 辅函数辅函数max */ int z ; if (xy) z = x; else z = y; return(z);void main( ) /* 主函数主函数 */ int a,b,c; scanf(“%d, %d”,&a,&b); /*从键盘上
10、读两个整数从键盘上读两个整数*/ c = max(a,b); /* 调用函数调用函数max,求,求a和和b中大数中大数 */ printf(max = %dn,c);该程序由两个函数组成该程序由两个函数组成运行结果:运行结果:5,7 回车回车max=7C程序的一般组成形式程序的一般组成形式 预处理命令(预处理命令(#define #define 或或 #include #include )函数类型函数类型 main(main(参数说明参数说明) /) /* *主函数头主函数头* */ / 变量定义变量定义 / /* *主函数体主函数体* */ / 执行语句组执行语句组 函数类型函数类型 辅函数
11、名辅函数名1 1(参数说明)(参数说明) / /* *辅函数头辅函数头* */ / 变量定义变量定义 / /* *辅函数体辅函数体* */ / 执行语句组执行语句组 函数类型函数类型 辅函数名辅函数名N N(参数说明)(参数说明) / /* *辅函数头辅函数头* */ / 变量定义变量定义 / /* *辅函数体辅函数体* */ / 执行语句组执行语句组 C程序由一个主函数程序由一个主函数和零个或多个辅函数和零个或多个辅函数组成组成21lC程序程序由一个或多个由一个或多个函数函数构成构成必须有,且只能有一个必须有,且只能有一个main(主函数)函数主函数)函数程序总是从程序总是从main开始执行
12、,直到开始执行,直到main结束结束l函数函数由由函数首部函数首部和和函数体函数体两部分组成两部分组成函数首部函数首部依序指定依序指定函数类型、函数名、函数参数函数类型、函数名、函数参数函数体函数体从从 开始,到开始,到 结束结束函数体内有函数体内有语句语句(说明语句在前和执行语句在后)(说明语句在前和执行语句在后)函数之间的关系为函数之间的关系为调用与被调用关系调用与被调用关系22l语句语句包括包括说明语句、可执行语句说明语句、可执行语句以以 ;表示语句结束表示语句结束l注释注释可以出现在程序的任何位置可以出现在程序的任何位置 用用 /* 和和 */ 括起来注释一段,必须成对出现括起来注释一
13、段,必须成对出现用用/注释一行注释一行l书写格式书写格式C语言没有行的概念,书写格式自由,但也不语言没有行的概念,书写格式自由,但也不能随意断行能随意断行习惯小写字母,缩进格式习惯小写字母,缩进格式231源程序文件的建立和编辑源程序文件的建立和编辑 编写源程序,编写源程序,. .cpp文件文件需用需用编辑工具编辑工具2编译编译 编译源程序,形成目标程序编译源程序,形成目标程序 . Obj文件文件需用需用编译工具编译工具 3连接连接 连接连接obj文件和调用的库函数,形成运行程文件和调用的库函数,形成运行程序序 .exe 文件文件需用需用连接工具连接工具4运行运行 .exe 文件文件 C C程序
14、的上机执行过程程序的上机执行过程执执行行编编辑辑编编译译连连接接编辑编辑程序程序C源源程序程序. .cpp编译编译程序程序连接连接程序程序目标目标程序程序. .objobj可执行可执行程序程序. .exe用用户户结结果果C编译编译集成环境集成环境其它目其它目标文件标文件C语言语言函数库函数库如:如:test.cpp编译成功后得到编译成功后得到test.obj连接成功后得到连接成功后得到test.exe25l主要内容:主要内容:基本字符基本字符标识符标识符26l大写英文字母大写英文字母:A B C X Y Z l小写英文字母小写英文字母:a b c x y z l数字数字:0 1 2 9 l空白
15、符空白符:空格符、换行符、制表符(:空格符、换行符、制表符(TabTab) l特殊字符特殊字符:+ - - * / ( ) _ = ! # % . , ; : “ | & ? $ 27l由由字母字母、下划线下划线和和数字数字组成的字符序列组成的字符序列l用于程序中的变量、符号常量、数组、函用于程序中的变量、符号常量、数组、函数、数据类型等的数、数据类型等的名字名字1 1系统定义标识符系统定义标识符具有固定名字和特定含义的标识符具有固定名字和特定含义的标识符分为分为关键字关键字和和预定义标识符预定义标识符 2 2用户定义标识符用户定义标识符 用于对用户使用的变量、数组、函数等用于对用户使
16、用的变量、数组、函数等进行命名进行命名 28l数据类型:数据类型: int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile l存储类别:存储类别:auto、static、register、extern l语句命令字:语句命令字:break、case、continue、default、do、else、for、goto、if、return、switch、while l运算符:运算符:sizeof 29l系统标准库函数系统标准库函数scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等等l编译预处理命令编译预处理命令include、define等等30l用户定义标识符用户定义标识符必须以字母或下划线必须以字母或下划线“_”“_”开头开头不能含有除字母、数字和下划线不能含有除字母、数字和下划线“_”“_”外的其他字符外的其他字符标识符中大小写字母含义不同标识符中大小写字母含义不同l关键字关键字必须用小写字母。不允许使用关键必须用小写字母。不允许使用关键字为变量、数组、函数等操作对象命名字为变量、数组、函数等操作对象命名l预定义标识符预定义标识符允许用户对它们重新定义,允许
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九鼎奖金制度
- 仓库领料人员奖惩制度范本
- 医疗废物检查奖惩制度
- 人社所工作奖惩制度范本
- 养老院服务考核奖惩制度
- 班级班规小学奖惩制度
- 专职教师奖惩制度规定
- 办公室每周总结奖惩制度
- 检测公司绩效奖惩制度
- 深化落实安全奖惩制度
- 安全环境职业健康法律法规文件清单(2025年12月版)
- 中华财险2026秋季校园招聘备考题库及答案详解1套
- 《房屋构造(第2版)》教学课件01初识建筑构造
- 2025小红书医美行业精准获客与营销增长白皮书
- 急诊护理安全管理课件
- 国际金融(江西财经大学)学习通测试及答案
- 2025广西投资集团有限公司招聘4人笔试历年备考题库附带答案详解试卷3套
- 2026年湖南生物机电职业技术学院单招职业倾向性考试必刷测试卷必考题
- 2025年驻马店辅警招聘考试真题附答案详解(完整版)
- 化学试题卷答案【中国第一高中】【湖北卷】湖北省2025年华中师大一附中2025年高考学科核心素养卷暨考前测试卷(最后一卷)(5.31-6.1)
- 祖国不会忘记二声部合唱简谱
评论
0/150
提交评论