北京科技大学《C语言》第1章.ppt

上传人:ni****g 文档编号:571130361 上传时间:2024-08-08 格式:PPT 页数:36 大小:862.51KB
返回 下载 相关 举报
北京科技大学《C语言》第1章.ppt_第1页
第1页 / 共36页
北京科技大学《C语言》第1章.ppt_第2页
第2页 / 共36页
北京科技大学《C语言》第1章.ppt_第3页
第3页 / 共36页
北京科技大学《C语言》第1章.ppt_第4页
第4页 / 共36页
北京科技大学《C语言》第1章.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《北京科技大学《C语言》第1章.ppt》由会员分享,可在线阅读,更多相关《北京科技大学《C语言》第1章.ppt(36页珍藏版)》请在金锄头文库上搜索。

1、第第1 1章章 预备知识预备知识北京科技大学北京科技大学 计算机系计算机系C C 语言程序设计语言程序设计2024/8/82本章主要内容本章主要内容l l程序程序设计与算法概述与算法概述l lC C语言概述言概述 l lC C程序的符号系程序的符号系统 2024/8/831.1 程序设计与算法概述程序设计与算法概述l l主要内容:主要内容:计算机语言与程序设计计算机语言与程序设计算法算法 结构化程序设计结构化程序设计 2024/8/841.1.1 计算机语言与程序设计计算机语言与程序设计 1. 计算机语言计算机语言 是人与计算机进行交流的工具是人与计算机进行交流的工具是人与计算机进行交流的工具

2、是人与计算机进行交流的工具 计算机语言分为:计算机语言分为:计算机语言分为:计算机语言分为:机器语言机器语言机器语言机器语言机器指令(由机器指令(由机器指令(由机器指令(由0 0 和和和和 1 1组成),可直接执行组成),可直接执行组成),可直接执行组成),可直接执行 难学、难记难学、难记难学、难记难学、难记依赖机器的类型依赖机器的类型依赖机器的类型依赖机器的类型汇编语言汇编语言汇编语言汇编语言用助记符代替机器指用助记符代替机器指用助记符代替机器指用助记符代替机器指令,用变量代替各类令,用变量代替各类令,用变量代替各类令,用变量代替各类地址。地址。地址。地址。克服记忆的难点克服记忆的难点克服记

3、忆的难点克服记忆的难点其他与机器语言类其他与机器语言类其他与机器语言类其他与机器语言类似似似似高级语言高级语言高级语言高级语言类似数学语言、接近自然语言、具有通用类似数学语言、接近自然语言、具有通用类似数学语言、接近自然语言、具有通用类似数学语言、接近自然语言、具有通用性和可移植性,不依赖具体的计算机类型。性和可移植性,不依赖具体的计算机类型。性和可移植性,不依赖具体的计算机类型。性和可移植性,不依赖具体的计算机类型。2024/8/85例如:例如:0 0 1 0 0 0 1 10 0 1 0 0 0 1 11 1 1 0 1 1 0 11 1 1 0 1 1 0 10 1 1 0 0 0 0

4、10 1 1 0 0 0 0 10 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 机器语言程序机器语言程序MOV AX,MOV AX, 300H300HADD BX, AXADD BX, AXMOV 2100H, BXMOV 2100H, BX HLTHLT汇编语言源程序汇编语言源程序main( ) int a, b, c; a=300; b=18; c=a+b; printf(“ a+b= %dn”, c);高级语言高级语言源程序源程序(C)源程序需要源程序需要翻译翻译2024/8/86汇编源程序的翻译:汇编源程序的翻译:l l将将汇编源程序翻源程序翻译为目目标程序的程序的过程

5、称程称为汇编l l汇编过程:程:图图1.1 汇编过程汇编过程汇编程序汇编程序连接程序连接程序汇汇编编连连接接汇编语言汇编语言源程序源程序机器语言机器语言目标程序目标程序可执行可执行程序程序(.ASM)(.OBJ)(.EXE)运运行行运行运行结果结果2024/8/87高级语言的翻译:高级语言的翻译:l l编译方法方法图图1. 2 编译过程编译过程(.C或或.PAS等等)编译程序编译程序连接程序连接程序编编译译连连接接高级语言高级语言源程序源程序机器语言机器语言目标程序目标程序可执行可执行程序程序(.OBJ)(.EXE)运运行行运行运行结果结果解释程序解释程序高级语言高级语言源程序源程序解释解释执

6、行执行运行运行结果结果图图1.3 解释过程解释过程(.BAS)l l解释方法解释方法2024/8/882 2程序设计程序设计 l l用计算机解决一个实际应用问题时的整个处理过用计算机解决一个实际应用问题时的整个处理过用计算机解决一个实际应用问题时的整个处理过用计算机解决一个实际应用问题时的整个处理过程称为程序设计程称为程序设计程称为程序设计程称为程序设计 提出提出问题问题确定数据结构确定数据结构确定数据结构确定数据结构确定算法确定算法确定算法确定算法编写编写程序程序调试和运行调试和运行程序程序输入输入程序程序翻译翻译(编译或解释编译或解释)得到得到得到得到运行结果运行结果运行结果运行结果202

7、4/8/891.1.2 1.1.2 算法算法l l什么是算法什么是算法 为解决某一应用问题而采用的为解决某一应用问题而采用的解题步骤解题步骤l l算法的描述方式算法的描述方式 用自然语言描述算法用自然语言描述算法 用流程图描述算法用流程图描述算法 用用N-S结构图描述算法结构图描述算法 例如:输出两个数中的最大数例如:输出两个数中的最大数 2024/8/810用自然语言描述算法用自然语言描述算法第一步:输入第一步:输入x和和y的值的值第二步:比较第二步:比较x和和y的值,如果的值,如果x大于大于y,则则输出输出x的值,否则输出的值,否则输出y的值。的值。 易于理解,但易于理解,但易于理解,但易

8、于理解,但冗长,不够精冗长,不够精冗长,不够精冗长,不够精确,难于描述确,难于描述确,难于描述确,难于描述复杂算法。复杂算法。复杂算法。复杂算法。例如当描述例如当描述“输出输出10个个数中最大数数中最大数”的算法时,的算法时,会冗长、难于理解会冗长、难于理解用流程图描述算法用流程图描述算法基本框基本框图符号:符号:2024/8/811起止框起止框起止框起止框处理框处理框处理框处理框判断框判断框判断框判断框输入输入输入输入/ /输出输出输出输出框框框框流程线流程线流程线流程线2024/8/812图图1.5 用流程图描述算法用流程图描述算法用流程图描述算法用流程图描述算法NYz= yz= xx y

9、 ?开始开始输入输入x和和y结束结束输出输出z用用N-S结构图描述算法结构图描述算法基本元素方框:基本元素方框:2024/8/8132024/8/814用用N-S结构图描述算法结构图描述算法输入输入x、y的值的值xy T F z = x z = y输出输出z的值的值图图1.7 用用N-S结构图描述的算法结构图描述的算法1.1.3 1.1.3 结构化程序设计结构化程序设计l l程序的三种基本结构程序的三种基本结构程序的三种基本结构程序的三种基本结构顺序结构程序:顺序结构程序:顺序结构程序:顺序结构程序:按照书写顺序依次执行语句按照书写顺序依次执行语句按照书写顺序依次执行语句按照书写顺序依次执行语

10、句选择结构程序:选择结构程序:选择结构程序:选择结构程序:按照条件判断选择执行语句按照条件判断选择执行语句按照条件判断选择执行语句按照条件判断选择执行语句循环结构程序:循环结构程序:循环结构程序:循环结构程序:通过条件控制循环执行语句通过条件控制循环执行语句通过条件控制循环执行语句通过条件控制循环执行语句2024/8/815已经证明,任何复杂的问题都可以三种基本算已经证明,任何复杂的问题都可以三种基本算法结构来描述:法结构来描述:顺序、选择、循环。顺序、选择、循环。因此用计因此用计算机语句描述的算机语句描述的程序也包含三种基本结构。程序也包含三种基本结构。 1.1.3 1.1.3 结构化程序设

11、计结构化程序设计2024/8/816BAABAP成立?BYNPT F A B顺序结构顺序结构选择结构选择结构1.1.3 1.1.3 结构化程序设计结构化程序设计2024/8/817当当P成立时成立时 AN NY YP成立成立?A A当当P成立成立时NYAP成立?成立?循环结构循环结构1.1.3 1.1.3 结构化程序设计结构化程序设计l l如果一个程序如果一个程序仅包含包含这三种基本三种基本结构(由构(由这些基本些基本结构构顺序序组成),成),则称称为结构化构化程序。程序。2024/8/818三种基本结构的共同点:三种基本结构的共同点:都是只有一个入口和一个出口;都是只有一个入口和一个出口;结

12、构内的每一个框都有机会被执行;结构内的每一个框都有机会被执行;结构内没有死循环。结构内没有死循环。2024/8/8201.2 C语言概述语言概述l主要内容:主要内容: C语言的发展语言的发展 C语言的特点语言的特点 C程序的基本结构程序的基本结构 C程序的执行过程程序的执行过程2024/8/8211.2.1 C语言的发展语言的发展 l l发展过程发展过程 B B语言语言语言语言:Bell实验室,实验室,1970年年 在在PDP机器上用其编写机器上用其编写UNIX系统系统CPLCPL语言语言语言语言:剑桥大学,剑桥大学,1963年年BCPLBCPL语言语言语言语言:剑桥大学,剑桥大学,1967年

13、年C C语言语言语言语言:Bell实验室,实验室,19721973年用其改写年用其改写UNIX系统系统经简化经简化进一步简化进一步简化保持精练、接近硬件的优点,克服数据类型过少的不足保持精练、接近硬件的优点,克服数据类型过少的不足1.2.1 C语言的发展语言的发展 C语言的言的标准化:准化:l lK&R Cl lANSI Cl lISO Cl lC99目前广泛流行的各种版本目前广泛流行的各种版本C语言言编译系系统:Turbo CTurbo C、Visual C+Visual C+、 Quick CQuick C、BORLAND CBORLAND C2024/8/8222024/8/8231.2

14、.2 C语言的特点语言的特点l l语言简洁,表达能力强,易于理解语言简洁,表达能力强,易于理解只有只有3232个关键字,个关键字,9 9种控制语句种控制语句数据构造能力强数据构造能力强运算符丰富运算符丰富程序书写格式自由程序书写格式自由l l可直接访问物理地址可直接访问物理地址,实现对硬件和低层,实现对硬件和低层系统软件的访问系统软件的访问l l语言生成的代码质量高语言生成的代码质量高l l可移植性好可移植性好增加学习难度增加学习难度增加学习难度增加学习难度2024/8/8241.2.3 C程序的基本结构程序的基本结构 【例【例1.1】计算并输出一个数】计算并输出一个数a的平方。的平方。 ma

15、in( ) float a,b; a=5.2; b=a*a; printf(b=%fn,b); mainmain 为为为为函数名函数名函数名函数名程序从这里开始运行程序从这里开始运行程序从这里开始运行程序从这里开始运行函数体开始函数体开始函数体开始函数体开始函数体结束函数体结束函数体结束函数体结束函数体内定义函数体内定义函数体内定义函数体内定义 a, b a, b 为为为为 a a 赋值赋值赋值赋值计算并输出平方值计算并输出平方值计算并输出平方值计算并输出平方值 b b执行程序的输出结果为:执行程序的输出结果为: b=27.039997 2024/8/8251.2.3 C程序的基本结构程序的基

16、本结构【例【例1.2】输入两个数,输出其中的大数。】输入两个数,输出其中的大数。int max(int x, int y)int max(int x, int y) /* max/* max函数函数函数函数 */ */ int z ;int z ; if (xy) z = x; else z = y; if (xy) z = x; else z = y; return(z); return(z); main( )main( ) /* /* 主函数主函数主函数主函数 */ */ int a,b,c;int a,b,c; scanf(%d, %d,&a,&b); scanf(%d, %d,&a,&

17、b); c = c = max(a,b)max(a,b); ; /* /* 调用调用调用调用maxmax函数,求函数,求函数,求函数,求a a和和和和b b中大数中大数中大数中大数 */ */ printf(max = %dn,c);printf(max = %dn,c); 2024/8/826C程序结构程序结构l lC程序程序 由由函数函数构成构成必须有,且只能有一个必须有,且只能有一个main(主函数)主函数) 总是从总是从main函数开始执行函数开始执行 两类函数:两类函数:l l 系统定义的函数,即标准库函数系统定义的函数,即标准库函数系统定义的函数,即标准库函数系统定义的函数,即标准

18、库函数l l 用户自定义的函数用户自定义的函数用户自定义的函数用户自定义的函数C程序结构程序结构l l函数函数 由由函数首部函数首部和和函数体函数体组成组成 函数首部指定函数首部指定函数名、函数参数、类型函数名、函数参数、类型 函数体从函数体从 开始,到开始,到 结束结束 函数内有函数内有语句语句2024/8/8272024/8/828C程序结构(续)程序结构(续)l l语句句 包括包括说明性语句说明性语句、可执行语句可执行语句 以以 ;表示语句结束表示语句结束l l注注释可以出现在程序的任何位置可以出现在程序的任何位置 用用 “/*”和和 “*/”括起来,必须成对出现括起来,必须成对出现l

19、l书写格式写格式 C语言没有行的概念,书写格式自由。语言没有行的概念,书写格式自由。 习惯小写字母,缩进格式。习惯小写字母,缩进格式。C程序的执行过程程序的执行过程1 1源程序文件的建立和源程序文件的建立和源程序文件的建立和源程序文件的建立和编辑编辑 编写源程序,形成编写源程序,形成编写源程序,形成编写源程序,形成 . . . .C C文件文件文件文件 需用需用需用需用编辑工具编辑工具编辑工具编辑工具:tc.exetc.exe、记事本、记事本、记事本、记事本2 2编译编译 编译源程序,形成目标程序编译源程序,形成目标程序编译源程序,形成目标程序编译源程序,形成目标程序. .ObjObj文件文件

20、文件文件 需用需用需用需用编译工具编译工具编译工具编译工具 :tcc.exetcc.exe3 3连连接接接接 连接连接连接连接OBJOBJ文件和调用的库函数,形成可执行文件文件和调用的库函数,形成可执行文件文件和调用的库函数,形成可执行文件文件和调用的库函数,形成可执行文件. .exeexe 需用需用需用需用连接工具连接工具连接工具连接工具 :tlink.exetlink.exe4 4运行运行运行运行 . .exeexe 文件文件文件文件2024/8/829集成化开发环境集成化开发环境2024/8/8301.3 C程序的符号系统程序的符号系统l主要内容:主要内容:基本字符基本字符标识符标识符2

21、024/8/8311.3.1 基本字符基本字符 l l大写英文字母大写英文字母:A B C X Y Z l l小写英文字母小写英文字母:a b c x y z l l数字数字:0 1 2 9 l l空白符空白符:空格符、换行符、制表符:空格符、换行符、制表符 l l特殊字符特殊字符:+ - - * / ( ) _ = ! # % . , ; : “ | & ? $ 2024/8/8321.3.2 标识符标识符 l l由由字母字母、下划线下划线和和数字数字组成的字符序列组成的字符序列l l用于程序中的变量、符号常量、数组、函用于程序中的变量、符号常量、数组、函数、数据类型等操作对象的数、数据类型

22、等操作对象的名字名字1 1系统定义标识符系统定义标识符具有固定名字和特定含义的标识符具有固定名字和特定含义的标识符分为分为关键字关键字和和预定义标识符预定义标识符 2 2用户定义标识符用户定义标识符 用于对用户使用的变量、数组、函数用于对用户使用的变量、数组、函数等操作对象进行命名等操作对象进行命名 关键字关键字l l数据数据类型型int, char, float, double, short, long, void, signed, unsigned, enum, struct, union, const, typedef, volatilel l存存储类型型auto, static, re

23、gister, externl l语句命令字句命令字break, case, continue, default, do, if, else, for, goto, return, switch, whilel l运算符运算符 sizeof2024/8/833小写!小写!2024/8/834预定义标识符预定义标识符l l系系统标准准库函数函数scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等等l l编译预备处理命令理命令include、define等等2024/8/835对标识符的规定对标识符的规定 l l用户定义标识符用户定义标识符必须以必须以字

24、母字母或或下划线下划线“_ _”开头开头不能含有除字母、数字和下划线不能含有除字母、数字和下划线“_ _”外的其他字符外的其他字符标识符中大小写字母含义不同标识符中大小写字母含义不同l l关键字关键字必须用小写字母。不允许使用关键必须用小写字母。不允许使用关键字为变量、数组、函数等操作对象命名字为变量、数组、函数等操作对象命名l l预定义标识符预定义标识符允许用户对它们重新定义,允许用户对它们重新定义,当重新定义后将改变它们原来的含义当重新定义后将改变它们原来的含义2024/8/836正确区分标识符正确区分标识符l l正正确确区区分分哪哪些些是是合合法法标标识识符符,哪哪些些是是不不合合法法标标识识符符。其其中中合合法法标标识识符符中中哪哪些些是是关关键键字字,哪哪些些是是预预定定义义标标识识符符,哪哪些些是是用用户户定定义标识符。义标识符。Abc define 2x double studentm+y a# b-4 _1 Whileint let x%y name do w tm Ctrl swicth include

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号