版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 预备知识C 语言程序设计1本章主要内容程序设计与算法概述C语言概述 C程序的符号系统 2022/8/1421.1 程序设计与算法概述主要内容:计算机语言与程序设计算法 结构化程序设计 2022/8/1431.1.1 计算机语言与程序设计 1. 计算机语言是人与计算机进行交流的工具计算机语言分为:机器语言机器指令(由0 和 1组成),可直接执行 难学、难记依赖机器的类型汇编语言用助记符代替机器指令,用变量代替各类地址。克服记忆的难点其他与机器语言类似高级语言类似数学语言、接近自然语言、具有通用性和可移植性,不依赖具体的计算机类型。2022/8/144例如:0 0 1 0 0 0 1 11
2、 1 1 0 1 1 0 10 1 1 0 0 0 0 10 1 1 1 0 1 1 0 机器语言程序MOV AX, 300HADD BX, AXMOV 2100H, BX HLT汇编语言源程序main( ) int a, b, c; a=300; b=18; c=a+b; printf(“ a+b= %dn”, c);高级语言源程序(C)源程序需要翻译2022/8/145汇编源程序的翻译:将汇编源程序翻译为目标程序的过程称为汇编汇编过程:图1.1 汇编过程汇编程序连接程序汇编连接汇编语言源程序机器语言目标程序可执行程序(.ASM)(.OBJ)(.EXE)运行运行结果2022/8/146高级语
3、言的翻译:编译方法图1. 2 编译过程(.C或.PAS等)编译程序连接程序编译连接高级语言源程序机器语言目标程序可执行程序(.OBJ)(.EXE)运行运行结果解释程序高级语言源程序解释执行运行结果图1.3 解释过程(.BAS)解释方法2022/8/1472程序设计 用计算机解决一个实际应用问题时的整个处理过程称为程序设计 提出问题确定数据结构确定算法编写程序调试和运行程序输入程序翻译(编译或解释)得到运行结果2022/8/1481.1.2 算法什么是算法为解决某一应用问题而采用的解题步骤算法的描述方式 用自然语言描述算法 用流程图描述算法 用N-S结构图描述算法 例如:输出两个数中的最大数 2
4、022/8/149用自然语言描述算法第一步:输入x和y的值第二步:比较x和y的值,如果x大于y,则输出x的值,否则输出y的值。 易于理解,但冗长,不够精确,难于描述复杂算法。例如当描述“输出10个数中最大数”的算法时,会冗长、难于理解2022/8/1410用流程图描述算法基本框图符号:起止框处理框判断框输入/输出框流程线2022/8/1411图1.5 用流程图描述算法用流程图描述算法NYz= yz= xx y ?开始输入x和y结束输出z2022/8/1412用N-S结构图描述算法基本元素方框:2022/8/1413用N-S结构图描述算法输入x、y的值xy T F z = x z = y输出z的
5、值图1.7 用N-S结构图描述的算法2022/8/14141.1.3 结构化程序设计程序的三种基本结构顺序结构程序:按照书写顺序依次执行语句选择结构程序:按照条件判断选择执行语句循环结构程序:通过条件控制循环执行语句已经证明,任何复杂的问题都可以三种基本算法结构来描述:顺序、选择、循环。因此用计算机语句描述的程序也包含三种基本结构。 2022/8/14151.1.3 结构化程序设计BAABAP成立?BYNPT F A B顺序结构选择结构2022/8/14161.1.3 结构化程序设计当P成立时 ANYP成立?A A当P成立时NYAP成立?循环结构2022/8/14171.1.3 结构化程序设计
6、如果一个程序仅包含这三种基本结构(由这些基本结构顺序组成),则称为结构化程序。三种基本结构的共同点:都是只有一个入口和一个出口;结构内的每一个框都有机会被执行;结构内没有死循环。2022/8/1418结构化程序设计的基本原则:结构化程序设计的基本原则:采用自顶向下、逐步细化的方法进行设计;采用模块化原则和方法进行设计。即将大型任务从上向下划分为多个功能模块,每个模块又可以划分为若干子模块,然后分别进行模块程序的编写;每个模块都是用结构化程序实现,即都只能由三种基本结构组成,并通过计算机语言的结构化语句实现。 2022/8/14191.2 C语言概述主要内容:C语言的发展C语言的特点C程序的基本
7、结构C程序的执行过程2022/8/14201.2.1 C语言的发展 发展过程 B语言:Bell实验室,1970年 在PDP机器上用其编写UNIX系统CPL语言:剑桥大学,1963年BCPL语言:剑桥大学,1967年C语言:Bell实验室,19721973年用其改写UNIX系统经简化进一步简化保持精练、接近硬件的优点,克服数据类型过少的不足2022/8/14211.2.1 C语言的发展 C语言的标准化:K&R CANSI CISO CC99目前广泛流行的各种版本C语言编译系统:Turbo C、Visual C+、 Quick C、BORLAND C2022/8/14221.2.2 C语言的特点语
8、言简洁,表达能力强,易于理解只有32个关键字,9种控制语句数据构造能力强运算符丰富程序书写格式自由可直接访问物理地址,实现对硬件和低层系统软件的访问语言生成的代码质量高可移植性好增加学习难度2022/8/14231.2.3 C程序的基本结构 【例1.1】计算并输出一个数a的平方。 main( ) float a,b; a=5.2; b=a*a; printf(b=%fn,b); main 为函数名程序从这里开始运行函数体开始函数体结束函数体内定义 a, b 为 a 赋值计算并输出平方值 b执行程序的输出结果为: b=27.039997 2022/8/14241.2.3 C程序的基本结构【例1.
9、2】输入两个数,输出其中的大数。int max(int x, int y) /* max函数 */ int z ; if (xy) z = x; else z = y; return(z);main( ) /* 主函数 */ int a,b,c; scanf(%d, %d,&a,&b); c = max(a,b); /* 调用max函数,求a和b中大数 */ printf(max = %dn,c);2022/8/1425C程序结构C程序由函数构成必须有,且只能有一个main(主函数)总是从main函数开始执行两类函数: 系统定义的函数,即标准库函数 用户自定义的函数2022/8/1426C程序
10、结构函数由函数首部和函数体组成函数首部指定函数名、函数参数、类型函数体从 开始,到 结束函数内有语句2022/8/1427C程序结构(续)语句包括说明性语句、可执行语句以 ;表示语句结束注释可以出现在程序的任何位置 用 “/*”和 “*/”括起来,必须成对出现书写格式C语言没有行的概念,书写格式自由。习惯小写字母,缩进格式。2022/8/1428C程序的执行过程1源程序文件的建立和编辑 编写源程序,形成 .C文件需用编辑工具:tc.exe、记事本2编译 编译源程序,形成目标程序.Obj文件需用编译工具 :tcc.exe3连接 连接OBJ文件和调用的库函数,形成可执行文件.exe需用连接工具 :
11、tlink.exe4运行 .exe 文件集成化开发环境2022/8/14291.3 C程序的符号系统主要内容:基本字符标识符2022/8/14301.3.1 基本字符 大写英文字母:A B C X Y Z 小写英文字母:a b c x y z 数字:0 1 2 9 空白符:空格符、换行符、制表符 特殊字符:+ - * / ( ) _ = ! # % . , ; : “ | & ? $ 2022/8/14311.3.2 标识符 由字母、下划线和数字组成的字符序列用于程序中的变量、符号常量、数组、函数、数据类型等操作对象的名字1系统定义标识符具有固定名字和特定含义的标识符分为关键字和预定义标识符
12、2用户定义标识符 用于对用户使用的变量、数组、函数等操作对象进行命名 2022/8/1432关键字数据类型int, char, float, double, short, long, void, signed, unsigned, enum, struct, union, const, typedef, volatile存储类型auto, static, register, extern语句命令字break, case, continue, default, do, if, else, for, goto, return, switch, while运算符 sizeof小写!2022/8/1433预定义标识符系统标准库函数scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等编译预备处理命令include、define等2022/8/1434对标识符的规定 用户定义标识符必须以字母或下划线“_”开头不能含有除字母、数字和下划线“_”外的其他字符标识符中大小写字母含义不同关键字必须用小写字母。不允许使用关键字为变量、数组、函数等操作对象命名预定义标识符允许用户对它们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市张堰中学2025届物理高二第一学期期中预测试题含解析
- 2025届山西省临汾一中高三上物理期中经典试题含解析
- 山东省日照市(2024年-2025年小学五年级语文)统编版小升初模拟(下学期)试卷及答案
- 黑龙江佳木斯市(2024年-2025年小学五年级语文)统编版期中考试(上学期)试卷及答案
- 姜书艳数字逻辑设计及应用课件
- 急救学-心肺脑复苏护理课件
- 小学一年级下册数学提升练习题及答案
- 急性肺栓塞诊断预防与处理护理课件
- 2024年油漆工承包外墙合同范本
- 2024年银行专业类合同范本
- 2024年水电暖安装承包合同
- 缺乳(乳汁淤积)产妇的中医护理
- 机械工程导论-基于智能制造(第2版) 第四章 机械制造工艺技术
- 2024北师大版新教材初中数学七年级上册内容解读课件(深度)
- 2024年公共营养师三级考试试卷及答案
- 2024年上半年软考信息系统项目管理师真题
- 北京市西城区2023-2024学年高一下学期期末英语试题(解析版)
- 《乘法分配律》 (教案)2023-2024学年数学 四年级上册 北师大版
- 三位数乘两位数乘法竖式计算练习100道及答案
- 【金融模拟交易实践报告书3700字(论文)】
- 人教版美术六年级上册《第3课 远去的路》说课稿6
评论
0/150
提交评论