《【教学课件】第一章C程序概述.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第一章C程序概述.ppt(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章第一章 C程序概述程序概述教材以及参考书目教材以及参考书目l教材:教材:lC语言程序言程序设计,张世禄、潘大志、世禄、潘大志、冯天敏,天敏,电子工子工业出版社出版社l参考参考书目:目:lC语言解析教程言解析教程,Al Kelley,Ira Pohl,麻志麻志毅翻毅翻译,机械工,机械工业出版社出版社lC语言程序言程序设计,谭浩浩强,清清华大学出版社大学出版社如何学好如何学好C语言语言l掌握算法是关掌握算法是关键。l注意注意编程程风格。格。l敢于敢于怀疑,疑,课本上有些是本上有些是错误的,自己在的,自己在计算机上算机上动手手调试可以可以证明一切。明一切。l多上机,可以加深多上机,可以加深对程
2、序的理解。程序的理解。l网上的网上的编程网站也比程网站也比较多。多。数据类型、运算符与表达式数据类型、运算符与表达式指针与数组指针与数组变量的存储类型及编译预处理变量的存储类型及编译预处理C C语言概述语言概述最简单的最简单的C C程序设计程序设计结构体与共用体结构体与共用体文件文件指针与函数指针与函数位运算位运算教学安排教学安排教学安排教学安排l学学时:51学学时l平平时:占:占30%。l教室:授教室:授课为主主l系机房上机:作系机房上机:作业以及一些以及一些练习l考考试:占:占70%。C C语言概述语言概述 语言出言出现的的历史史背景背景C语言的出言的出现以及相以及相继问世的世的UNIX操
3、作系操作系统,专家一家一致致认为具有划具有划时代意代意义。以前的系以前的系统软件大多使用件大多使用汇编语言言编写,但是写,但是汇编语言依言依赖于于计算机硬件,程序的可算机硬件,程序的可读性和可移植性都比性和可移植性都比较差差,因此采用高因此采用高级语言,但高言,但高级语言又缺少言又缺少汇编语言的某些功言的某些功能(如:无法直接能(如:无法直接对硬件硬件进行操作),于是就行操作),于是就产生了生了设计一种既具有一般高一种既具有一般高级语言特性,又具有低言特性,又具有低级语言特性的言特性的语言的言的设想。想。C C语言概述语言概述 语言出言出现的的历史史背景背景C 语言最早是由言最早是由贝尔实验室
4、的科学家在室的科学家在总结了了ALGOL 60、CPL、B等等语言言经验的基的基础上上设计出来的,是出来的,是为了描述和了描述和实现UNIX操作系操作系统而研制的。而研制的。C 语言于言于1972197319721973年年间问世,后来又世,后来又做了多次改做了多次改进与完善,但在最初几年一直未能推向社会,主要与完善,但在最初几年一直未能推向社会,主要还是在是在贝尔实验室内部使用,在某种意室内部使用,在某种意义上上说,直到,直到UNIX被社会真被社会真正接受后,正接受后,C 语言才真正引起了人言才真正引起了人们的注意。到的注意。到7070年代末,年代末,8080年年代初,代初,C 语言可以在大
5、、中、小型言可以在大、中、小型计算机及微机上使用,并能独算机及微机上使用,并能独立于立于UNIX而存在。而存在。C C语言概述语言概述 语言的特点言的特点优点点既有高既有高既有高既有高级语级语言的程序思想与方法,又有低言的程序思想与方法,又有低言的程序思想与方法,又有低言的程序思想与方法,又有低级语级语言的操作能力;言的操作能力;言的操作能力;言的操作能力;结结构化的体系构化的体系构化的体系构化的体系结结构,构,构,构,层层次清晰、易次清晰、易次清晰、易次清晰、易维护维护;处处理能力理能力理能力理能力强强,具有丰富的运算符和数据,具有丰富的运算符和数据,具有丰富的运算符和数据,具有丰富的运算符
6、和数据类类型,型,型,型,可直接可直接可直接可直接访问访问内存的物理地址;内存的物理地址;内存的物理地址;内存的物理地址;具有广泛的可移植性;具有广泛的可移植性;具有广泛的可移植性;具有广泛的可移植性;代代代代码码效率高。效率高。效率高。效率高。C C语言概述语言概述 语言的特点言的特点缺点缺点比比比比较较灵活,不易掌握,容易出灵活,不易掌握,容易出灵活,不易掌握,容易出灵活,不易掌握,容易出错错;运算符运算符运算符运算符优优先先先先级级太多;太多;太多;太多;类类型型型型转换转换限制少,限制少,限制少,限制少,检验较检验较弱,不弱,不弱,不弱,不够够安全。安全。安全。安全。第一个程序第一个程
7、序/*我们编的第一个程序*/#include int main(void)printf(”hello world”);return 0;C C语言概述语言概述 简单的程序介简单的程序介绍绍 例例1.1.#include#include main()main()printf(“This is a c program”);printf(“This is a c program”);例例1.1.#include#include main()/*main()/*求两个数之和求两个数之和*/int a,b,sum;int a,b,sum;a=123;b=456;sum=a+b;a=123;b=456;s
8、um=a+b;printf(“sum is%dn”,sum);printf(“sum is%dn”,sum);sum is 579sum is 579This is a programC语言概述语言概述 简单的程序简单的程序介绍介绍 例例1.1.#include#include main()main()int a,b,c;int a,b,c;scanf(“%d,%d”,&a,&b);scanf(“%d,%d”,&a,&b);c=max(a,b);c=max(a,b);printf(“max=%dn”,c);printf(“max=%dn”,c);int max(x,y)int max(x,y)
9、int x,y;int x,y;int z;int z;if(xy)z=x;if(xy)z=x;else z=y;else z=y;return(z);return(z);max=12max=1212,8 至于如何实现对函数的调用呢至于如何实现对函数的调用呢?请看下例请看下例(求两数的最大值求两数的最大值)main()int a,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);主主 函函 数数int max(x,y)int x,y;int z;if(xy)z=x;else z=y;return(z);执执 行行 语语 句句 部部 分
10、分 数数 据据 说说 明明部部 分分 函函 数数 调调 用用执行执行main()函数函数 中的中的max(a,b)函数函数时时,调用了下面调用了下面 的的 max(x,y)函函 数数,也就是说也就是说,所调用所调用 的函数的函数,必须先作必须先作定义定义.C C语言概述语言概述 简单的程序介绍简单的程序介绍#include 是是预处理理语句,后面不用分号一个。句,后面不用分号一个。main()是主函数,一个是主函数,一个C程序只有一个主函数。程序只有一个主函数。/*/是注是注释行,行,编译系系统不不对其其进行分析。行分析。int a,b,sum;在在C中,中,变量必量必须先定先定义,后使用。,
11、后使用。printf()也是一个函数,它被主函数也是一个函数,它被主函数调用,用,()中是参数。中是参数。printf(“sum is%dn”,sum);C语言是有格式言是有格式输出。出。C程序程序书写格式自由;每个写格式自由;每个语句和数据定句和数据定义的最后必的最后必须有有一个分号。一个分号。C程序由函数构成;程序由函数构成;输入入输出出实行行“函数化函数化”。C C语言概述语言概述 程序的上机步骤程序的上机步骤开始开始编辑编辑编译编译 有错?有错?连接连接执行执行 正确?正确?结束结束可执行可执行目标程序目标程序f.exe源程序源程序f.c目标程序目标程序f.obj库函数库函数和其他目和其他目标函数标函数有有不正确不正确无无正确正确作业作业l执行以下程序熟悉编译器产生的信息,有些信息是有用的,有些是无用的#include int main(void)int a=1,b=2,c=3;printf(“some output:%d%d%dn”,a,b,c,c);return 0;1、把声名变量第一个逗号改为分号。2、把printf()改为print3、去掉控制串中的第二个引号4、用a,b,c替代a,b,c,c5、去掉printf()语句后后面的分号。6、去掉结束的花括号
限制150内