1、XMUT厦门理工学院高级语言程序设计教学课件厦门理工学院高级语言程序设计教学课件 第第1章章 C语言程序设计概述语言程序设计概述厦门理工学院计算机科学与技术系厦门理工学院计算机科学与技术系2023-2-72023-2-7教师教师:庄蔚蔚庄蔚蔚E-Mail:E-Mail: 2学习要求及成绩构成学习要求及成绩构成成绩构成平时考勤:平时考勤:10%实验成绩:实验成绩:20%上机考试:上机考试:35%(期中期中10%、期末期末25%)期末考试:期末考试:35%3教材、参考书与课时安排教材、参考书与课时安排 教材教材C C语言程序设计语言程序设计 吴芸、翁伟吴芸、翁伟 厦门大学出版社厦门大学出版社 参考
2、参考C C程序设计程序设计 谭浩强谭浩强 清华大学清华大学出版社出版社4什么是程序什么是程序 q程序一词来自生活,通常指完成某些事务的一种既定方式和过程q在日常生活中,可以将程序看成对一系列动作的执行过程的描述 前言前言 5引入:智力题引入:智力题 100个硬币,其中99个真硬币,1个假硬币。真币和假币不一样重,如何使用天平判断出真币重还是假币重?6引入:智力题引入:智力题Setp 1.100Setp 1.100枚硬币分枚硬币分A A,B B两堆,各两堆,各5050枚一堆。枚一堆。Setp 2.Setp 2.将将A,BA,B两堆放天平上称第一次,设结果是两堆放天平上称第一次,设结果是A A堆重
3、,堆重,B B堆轻。堆轻。Setp 3.Setp 3.将重的将重的A A堆分堆分C C,D D两堆,各两堆,各2525枚一堆。枚一堆。Setp 4.Setp 4.将将C C,D D两堆放天平上称第二次。两堆放天平上称第二次。Setp 5.Setp 5.如果如果C C,D D两堆一样重,说明假币不在重的两堆一样重,说明假币不在重的A A堆中,而堆中,而 在轻的在轻的B B堆中,说明假币轻。堆中,说明假币轻。Setp 6.Setp 6.如果如果C C,D D两堆不一样重,说明假币在重的两堆不一样重,说明假币在重的A A堆中,说堆中,说 明假币重。明假币重。7银行1.带上存折去银行 3.将存折递给银
4、行职员 2.到相应窗口排队4.银行职员办理取款事宜 日常生活中的程序日常生活中的程序5.签名拿到钱并离开银行 81.做口述笔记2.键入信函的内容3.发送传真1.口述2.信函1._2._3._4._3.3.传真指令被逐条执行程序员老板秘书程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合要执行的一组指令计算机中的程序计算机中的程序9本章概要本章概要q1.1 程序设计基础q1.2 C语言程序简介q1.3 编程环境及C程序执行过程q1.4 编码规范及编程习惯XMUT程序设计语言:用于编写程序,实现人与计算机“对话”的语言。目前,人们使用的程序设计语言有上百种,常用的也有几十种,
5、如BASIC、FORTRAN、PASCAL,以及C语言等。这些语言的表达形式接近于人的自然语言,都是高级程序设计语言(简称“高级语言”)。1.1 程序设计基础程序设计基础XMUT程序设计语言 按照书写形式和思维方式的不同,可分为低级语言和高级语言两大类。低级语言包括机器语言和汇编语言。机器语言:以二进制代码的形式来表示这些基本指令集合。它是计算机系统唯一能够直接识别和执行的程序设计语言。它的优点是运算速度快,每条指令均为由0和1组合起来的代码串,由操作码和操作对象两部分组成。1011100000000001000000000000010100000001000000001.1 程序设计基础程序
6、设计基础XMUT汇编语言:由一组汇编指令构成的语言,与机器语言相比,它可以用指令英文名称的缩写字符串来表示其所代表的操作,用标号和符号来代表地址、常量和变量。高级语言:高级程序设计语言(简称高级语言)是指用于描述计算机程序的类自然语言。它是程序设计发展的产物,它屏蔽了机器的细节,提高了语言的抽象层次。高级语言采用接近自然语言和数学语言的语句,易学、易用、易维护,并且在一定程度上与机器无关,给编程带来了极大的方便。MOV AX,1ADD AX,1#include main()printf(%dn,1+1);1.1 程序设计基础程序设计基础131.1 程序设计基础程序设计基础程序设计程序设计 =数
7、据结构数据结构 +算法算法算法算法 q算法-解决问题的一种策略。q算法的常见表示方法 -自然语言 -传统流程图 -N-S流程图 14算法算法例例1-1 用自然语言描述求三个数中最大数的算法。q输入三个数num1、num2、num3之后,先求出三个数中两个数num1和num2的较大数max2,再把这个较大数max2与第三个数num3比较,求出最大数max3。15流程图流程图2例例1-2 用传统流程图描述求三个数中最大数的算法。Start/EndSymbol SemanticProcessInput/OutputTestConnectorFlow of activities16N-S流程图流程图例
8、例1-3 用N-S流程图描述求三个数中最大数的算法,如图1-4所示。17本章概要本章概要q1.1 程序设计基础q1.2 C语言程序简介q1.3 编程环境及C程序执行过程q1.4 编码规范及编程习惯XMUT1.2 C1.2 C语言程序简介语言程序简介1 C语言的产生和发展XMUTu一切从一个叫一切从一个叫“Space Travel”的电子游戏开始的电子游戏开始u为了让他的游戏能在为了让他的游戏能在PDP-7上运行,上运行,Ken Thompson用汇编语言给用汇编语言给PDP-7写了一个操作系统写了一个操作系统UNIXu汇编太不好用了,汇编太不好用了,Thompson需要高级语言需要高级语言u试
9、验了一些高级语言,包括试验了一些高级语言,包括Fortran,都不理想,都不理想u他在他在BCPL基础上,自己设计了一个基础上,自己设计了一个B语言语言uUNIX开始发展,开始发展,B也不够用了也不够用了uDennis Ritchie加入,把加入,把B改造成改造成Cu开始用开始用C重写重写UNIX1.2 C1.2 C语言语言程序程序简介简介XMUT 随着面向对象编程技术的出现,在进一步扩充和完善了语言基础上,又出现了C+。Java,C+等面向对象语言(第四代语言)是C语言的发展。但是,C是C+的基础,C+语言和语言在很多方面是兼容的。在掌握了语言后,再进一步学习C+,就能以一种熟悉的语法来学习
10、面向对象的语言,可达到事半功倍的目的。1.2 C1.2 C语言语言程序程序简介简介XMUTu是一种高级语言是一种高级语言高级语言并不是高级语言并不是“高级高级”,只是相对低级语言,在一,只是相对低级语言,在一个高的级别上进行编程个高的级别上进行编程u历史悠久,战勋卓著历史悠久,战勋卓著诞生于上世纪诞生于上世纪70年代初,成熟于年代初,成熟于80年代(年代(C89),修),修订与订与90年代(年代(C99)很多重量级软件都是用很多重量级软件都是用C写的写的u上天入地,无所不能上天入地,无所不能几乎没有不能用几乎没有不能用C写出来的软件,没有不支持写出来的软件,没有不支持C的系统的系统u很多流行语
11、言、新生语言都借鉴了它的思想、语法很多流行语言、新生语言都借鉴了它的思想、语法从从C+,到,到Java,再到,再到C#,还有,还有php等等1.2 C1.2 C语言语言程序程序简介简介22C 程序的基本结构程序的基本结构#include void main()printf(Hello Worldn);以#开始的语句称为预处理器指令#include#include语句不是必需的,但是,如果程序有该语句,就必须将它放在程序的开始处以.h为后缀的文件被称为头文件,可以是 C 程序中现成的标准库文件,也可以是自定义的库文件。stdio.h文件中包含了有关输入输出语句的函数 main()函数是 C 程序
12、处理的起点。main()函数可以返回一个值,也可以不返回值。如果某个函数没有返回值,那么在它的前面有一个关键字 void23C 程序的基本结构程序的基本结构#include void main()printf(Hello Worldn);在函数定义的后面有一个左大括号,即 它表示函数的开始,后面是函数的主体大括号也可以用于将语句块括起来在函数定义的结尾处有一个右大括号,即 在屏幕上产生一行输出“Hello world”,并换行(n)函数主体中的每个语句都以分号结束。C 程序中的一个语句可以跨越多行,并且用分号通知编译器该语句已结束。Hello World24C 程序中的注释程序中的注释#inc
13、lude void main()printf(Hello Worldn);/此程序用来打印此程序用来打印Hello World 单行注释单行注释C 程序可以包含注释,以便向读者作一般说明程序可以包含注释,以便向读者作一般说明编译器并不处理这些注释编译器并不处理这些注释/*此程序由此程序由 编写编写 用来打印输出用来打印输出“Hello World”*/多行注释多行注释25/*作者:作者:创建日期:创建日期:描述:描述:*/#include void main()在程序中添加注释是一个好的编程习惯,可以增强程序的可读性。/*”和和“*/”/”必须成对使用,且必须成对使用,且“/”/”和和“*”、
14、以及、以及“*”和和“/”/”之间不能有空格,否则都出错之间不能有空格,否则都出错26技巧技巧:为避免遗漏必须配对使用的符号,例如为避免遗漏必须配对使用的符号,例如注释符号、函数体的起止标识符(花括号)、注释符号、函数体的起止标识符(花括号)、圆括号等等,在输入时,可圆括号等等,在输入时,可连续成对地输入连续成对地输入这些起止标识符,然后这些起止标识符,然后再在其中进行插入来再在其中进行插入来完成内容的编辑完成内容的编辑。在起止标识符嵌套时,以。在起止标识符嵌套时,以及相距较远时,这样做更有必要。及相距较远时,这样做更有必要。XMUT 程序代码的录程序代码的录入,生成源程入,生成源程序序*.c
15、.c语法分析查错,语法分析查错,翻译生成目标程翻译生成目标程序序*.obj.obj与其它目标程与其它目标程序或库链接装序或库链接装配配,生成可执生成可执行程序行程序*.exe.exe开 始编 辑编 译有错?链 接执 行结果正确?结 束源程序file.c目标程序file.obj库函数和其它目标程序可执行程序file.exe不正确正确有无 编写编写C C程序的步骤程序的步骤 28本章概要本章概要q1.1 程序设计基础q1.2 C语言程序简介q1.3 编程环境及C程序执行过程q1.4 编码规范及编程习惯29本章概要本章概要q1.1 程序设计基础q1.2 C语言程序简介q1.3 编程环境及C程序执行过
16、程q1.4 编码规范及编程习惯XMUT编码规范及编程习惯(1)一行只放一条语句。(2)养成随时给程序加注释的习惯。(3)程序的书写要有层次感,该缩进的一定要缩进。(4)编写函数时,变量定义部分和函数的执行部分之间增加一空行,或者在程序的执行部分按照完成的功能块增加相应的空行,会增加程序的易读性。(5)为变量起有意义的名字,既可以帮助程序员读懂程序,也可以避免变量的重复乱用,导致程序的逻辑错误。(6)在运算符和赋值符的两边加上一个空格会增加程序的易读性。(7)以模块化方式考虑程序结构,以函数形式书写较复杂的程序。void main()int i,sum;sum=0;for(i=1;i=100;i
17、+)if(i%2=0)sum+=i;printf(sum=%d,sum);XMUT学好学好C 能做什么能做什么?系统软件:操作系统;应用软件:图像图形处理,数据库,嵌入式控制,参数采集,统计分析;适用平台:Windows,Linux,Unix,适用专业:计算机、通信、控制、自动化、材料、生物工程、应用数学、信息与计算科学,信息管理.-“学好数理化,走遍天下!”-“学好C语言,走遍天下!”Give me a computer,i will turn around the world,there logic lost,where i am the God.-wei2 (+_+)XMUTPS:学习方法学习方法1.听-听课2.说-思考,提出问题3.读-阅读程序4.写-作业、实践
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。