《第1章语言概述1优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第1章语言概述1优秀PPT.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第1章语言概述章语言概述1现在学习的是第1页,共35页教学要求教学要求重视上机实践学习方法学习方法掌握程序设计语言的基本知识常用算法初步的程序设计能力现在学习的是第2页,共35页第1章 C语言概述 1.1C语言的历史语言的历史1.2C语言的特点语言的特点1.3简单的简单的C程序介绍程序介绍1.4C程序的上机步骤程序的上机步骤1.5基本输入输出函数基本输入输出函数现在学习的是第3页,共35页1.1 C1.1 C语言的历史语言的历史 C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。C语言最初是用来编写Unix操作系统的。但由于C语言严格的设计,与具体硬件无关及其他
2、许多优点,使它的应用迅速地在全球传播。现在学习的是第4页,共35页 1963年,英国的剑桥大学推出了CPL(combined programming language)语言。1967年,英国剑桥大学的Matin Richards对CPL语言做了简化,推出了BCPL(basic combined programming language)语言。1970年,美国贝尔实验室的Ken Thompson 以BCPL语言为基础,又做了进一步简化,设计出了很简单的而且很接近硬件的B语言语言(取BCPL的第一个字母),并用B语言写了第一个UNIX操作系统。1.C语言出现的历史背景语言出现的历史背景现在学习的是
3、第5页,共35页 1972年1973年间,贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言语言(取BCPL的第二个字母)。1973年,K.Thompson和D.M.Ritchie两人合作把UNIX的90%以上用C改写,即UNIX第5版。随着UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成。1978年以后,C语言已先后移植到大、中、小、微型机上。现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。现在学习的是第6页,共35页1)语言简洁、紧凑,使用方便、灵活。C语言一共只有32个关键字,9种控制语句,程序书写
4、形式自由,主要用小写字母表示,压缩了一切不必要的成分。2)运算符丰富 C的运算符包含的范围很广泛,共有34种运算符。从而使C的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的复杂运算。1.2 C1.2 C语言的特点语言的特点现在学习的是第7页,共35页3)数据结构丰富,具有现代化语言的各种数据结构。C的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。4)具有结构化的控制语句 如ifelse语句、while语句、dowhile语句、switch语句、for语句。用函数作为程
5、序的模块单位,便于实现程序的模块化。C是良好的结构化语言,符合现代编程风格的要求。现在学习的是第8页,共35页5)语法限制不太严格,程序设计自由度大。对变量的类型使用比较灵活,例如整型数据与字符型数据可以通用。一般的高级语言语法检查比较严,能检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度,因此,放宽了语法检查。6)C语言能进行位(bit)操作,可以直接对硬件进行操作 因此C既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。现在学习的是第9页,共35页按此观点可将各语言分类如下:高级:BASI
6、C,FORTRAN,COBOL,PASCAL,中级:C,FORTH,宏汇编;低级:汇编语言 一般仍习惯将C语言称为高级语言,因为C程序也要通过编译、连接才能得到可执行的目标程序,这是和其他高级语言相同的。7)生成目标代码质量高,程序执行效率高。8)用C语言写的程序可移植性好。现在学习的是第10页,共35页1.3 1.3 简单的简单的C C程序介绍程序介绍 C语言所用的表述方式对没有编过计算机程序的人来说可能是陌生的,因此我们先通过简单的例子来初步认识C语言。然后从中分析C程序的特性。例:main()/*主函数主函数*/*函数体函数体*/现在学习的是第11页,共35页#include /*编译预
7、处理命令*/main()printf(This is a C program.n);/*printf是输出函数*/【例例1.1】打印一行文本。用到了控制字符“n”。“n”是一个不可显示的字符,输出时看不见,它用来控制换行。现在学习的是第12页,共35页#includemain()printf(ChinanBeijingnTiananmenn);return 0;屏幕上显式:ChinaBeijingTiananmen【例例1.2】打印多行文本。现在学习的是第13页,共35页#include main()int a,b,sum;/*声明语句,其作用是定义变量*/a=123;/*使用变量*/b=45
8、6;sum=a+b;printf(“The sum is%d n”,sum);/*“%d”是输入输出的“格式控制字符”,用来指定输入输出时的数据类型和格式*/【例例1.3】计算并显示2个数的和。现在学习的是第14页,共35页#include main()int a,b,sum;a=5;b=2;sum=a+b;printf(%d+%d=%d n,a,b,sum);【例例1.4】计算2个数的和,以算式的形式显示。现在学习的是第15页,共35页#include main()int a,b,sum;printf(“Input 2 numbers:n”);/*输入提示*/scanf(“%d%d”,&a,
9、&b);/*标准输入函数,根据格式控制说明的要求读入2个数,“&”称为地址运算符*/sum=a+b;printf(%d+%d=%d n,a,b,sum);【例例1.5】从键盘上输入2个数,求和。现在学习的是第16页,共35页includemain()int a,b,c;int max(int,int);/*函数声明*/printf(Input 2 integersn);/*输入提示*/scanf(“%d%d,&a,&b);c=max(a,b);/*调用max函数求最大值*/printf(“max=%dn”,c);/*main函数结束*/【例例1.6】用函数计算两个整数的最大值。现在学习的是第1
10、7页,共35页/*max为函数名,前面的int为函数返回值的类型。圆括号中的x,y称为参数,它们前面的int规定了参数的类型。*/int max(int x,int y)int z;/*临时工作变量*/if(xy)z=x;else z=y;/*一个完整的if语句*/return z;现在学习的是第18页,共35页includemain()int a,b,c;c=max(a,b);printf(“max=%dn”,c);int max(int x,int y)int z;if(xy)z=x;else z=y;return z;Main函数:a b cMax函数:x y z现在学习的是第19页,共
11、35页C程序结构小结程序结构小结(1)C程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位。被调用的函数可以是系统提供的库函数(例如printf和scanf函数),也可以是用户根据需要自己编制设计的函数。现在学习的是第20页,共35页(2)一个函数由两部分组成:函数的首部,即函数的第一行。包括函数名、函数类型、函数参数(形参)名、参数类型。一个函数名后面必须跟一对圆括弧,函数参数可以没有,如main()。函数体,即函数首部下面的大括弧内的部分。如果一个函数内有多个大括弧,则最外层的一对 为函数体的范围。函数体一般包
12、括:声明部分:在这部分中定义所用到的变量,执行部分:由若干个语句组成。现在学习的是第21页,共35页(3)一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,在另一些函数之后)。(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(5)每个语句和数据定义的最后必须有一个分号。分号是C语句的必要组成部分。(6)C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。现在学习的是第22页,共35页(7)可以用/*/对C程序中的任何部分作注释
13、。一个注解可以写多行,只要注意“/*”和“*/”前后配对即可,/*this is a comment */注解不能嵌套。下面的写法是错误的。/*this is/*a comment*/in function*/现在学习的是第23页,共35页1.4C程序的上机步骤程序的上机步骤所谓程序,就是一组计算机能识别和执行的指令。所谓程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作。每一条指令使计算机执行特定的操作。用高级语言编写的程序称为用高级语言编写的程序称为源程序源程序(sourceprogram)。从根本上说,计算机只能识别和执行由)。从根本上说,计算机只能识别和执行由0和
14、和1组成的二进制的指令,而不能识别和执行用高级语组成的二进制的指令,而不能识别和执行用高级语言写的指令。言写的指令。为了使计算机能执行高级语言源程序,必须先用为了使计算机能执行高级语言源程序,必须先用一种称为一种称为编译程序编译程序的软件,把源程序翻译成二进制形的软件,把源程序翻译成二进制形式的式的目标程序目标程序,然后将该目标程序与系统的函数库和然后将该目标程序与系统的函数库和其他目标程序连接起来,形成可执行的目标程序。其他目标程序连接起来,形成可执行的目标程序。现在学习的是第24页,共35页1、实现步骤、实现步骤第第1步:编辑源程序。步:编辑源程序。编辑是将编辑是将C语言的源程序输入计算机
15、语言的源程序输入计算机,并以文本文并以文本文件的形式存储在磁盘。源程序文件的扩展名为件的形式存储在磁盘。源程序文件的扩展名为.C或或.CPP。第第2步:编译。步:编译。C语言是以编译方式实现的高级语言语言是以编译方式实现的高级语言,C程序的实程序的实现必须经过编译,把用现必须经过编译,把用C语言描述的程序翻译成计算语言描述的程序翻译成计算机可以直接理解并执行的机器语言命令组成的程序。机可以直接理解并执行的机器语言命令组成的程序。程序对源程序进行编译程序对源程序进行编译,生成目标代码程序。目标代码生成目标代码程序。目标代码程序的扩展名为程序的扩展名为.OBJ。现在学习的是第25页,共35页第第3
16、步:链接。步:链接。编译形成的目标代码程序机器可以识别编译形成的目标代码程序机器可以识别,但还不能但还不能直接执行直接执行,还需要将目标代码程序与库文件(如前面使还需要将目标代码程序与库文件(如前面使用的用的printf)进行连接处理)进行连接处理,连接工作由连接程序完成。连接工作由连接程序完成。经过连接经过连接,生成可执行文件。生成可执行文件。可执行文件的扩展名为可执行文件的扩展名为.EXE。编 辑test.c编辑器预处理编 译test.obj编译器链 接链接器test.exe库函数和其他目标模块出错出错执 行结果现在学习的是第26页,共35页2、C语言程序开发环境语言程序开发环境目前常用的
17、目前常用的C语言的集成开发环境有语言的集成开发环境有TurboC2.0(DOS平台上的平台上的C编译器)、编译器)、gcc(GUNCCompile,UNIX以及以及Linux平台上平台上C/C+标准编译器)、标准编译器)、VisualC+(Windows平台上的平台上的C/C+编译器)。下面主要介编译器)。下面主要介绍绍TurboC2.0。现在学习的是第27页,共35页用用TurboC运行运行C程序的常用功能键程序的常用功能键调入程序调入程序F3保存文件保存文件F2在编辑窗口与信息窗口之间进行切换在编辑窗口与信息窗口之间进行切换F6从编辑窗口转到主菜单从编辑窗口转到主菜单F10 编译当前源程序
18、编译当前源程序 F9 编译编译+连接连接+执行执行CTRL+F9 查看运行结果查看运行结果 ALT+F5中断程序执行中断程序执行ctrl+Break或或ctrl+C菜单菜单Alt+字母字母退出退出Alt+X全屏切换全屏切换Alt+回车回车现在学习的是第28页,共35页块操作命令:块操作命令:CTRL+KB(CTRL+KB(块首定义块首定义)CTRL+KK(CTRL+KK(块尾定义块尾定义)CTRL+KC(CTRL+KC(块复制块复制)CTRL+KY(CTRL+KY(块删除块删除)CTRL+KV(CTRL+KV(块移动块移动)常用常用编辑命令:编辑命令:现在学习的是第29页,共35页1.5标准输
19、入输出函数:标准输入输出函数:printf和和scanf在在前前面面的的例例子子中中,我我们们已已经经用用scanf函函数数和和printf函函数数来来进进行行输输入入/输输出出。这这两两个个函函数数是是由由系系统统提提供供的的内内部部函函数数,scanf和和printf都都是是C系系统统提提供供的的标标准准输输入入输输出出函函数数,它它们们的的声声明明包包含含在在头头文文件件stdio.h中中,因因此此在在使使用用它它们们之之前前必必须须在在程程序首部增加序首部增加“#include”这条预处理命令。这条预处理命令。现在学习的是第30页,共35页1.输出函数输出函数printf函数函数pri
20、ntf函函数数的的功功能能是是按按照照指指定定的的格格式式控控制制把把相相应应的的参参数数值值在在标标准准输输出出设设备备上上(通通常常是是终终端端显显示示器器)显显示示出出来来。printf函函数的一般使用格式是:数的一般使用格式是:printf(格式控制说明,参数格式控制说明,参数1,参数,参数2,);例如:例如:printf(Hello World!n);printf(%d,%dn,resm,resn);printf(sum=%dn,sum);现在学习的是第31页,共35页格式控制格式控制格式控制说明格式控制说明%d:输出十进制整数:输出十进制整数f:输出十进制浮点数:输出十进制浮点数c
21、:输出单个字符:输出单个字符普通字符原样输出普通字符原样输出普通字母数字及符号普通字母数字及符号转义字符转义字符n现在学习的是第32页,共35页例如:x=34;y=3.14;printf(X=%d,Y=%f,x,y);屏幕上显示:屏幕上显示:X=34,Y=3.14现在学习的是第33页,共35页2.输入函数输入函数scanf()()scanf函函数数的的功功能能是是接接收收用用户户从从键键盘盘上上输输入入的的数数据据,按按照照格格式式控控制制符符的的要要求求进进行行转转换换,然然后后送送到到由由对对应应参参数数指指示示的变量单元中去。的变量单元中去。scanf函数一般的使用格式是:函数一般的使用
22、格式是:scanf(格式控制,参数格式控制,参数1,参数,参数2,);格式控制格式控制格式控制说明格式控制说明%普通字符原样输入普通字符原样输入每一个参数每一个参数i都必须是一般变量的都必须是一般变量的地址地址,也就是说其表示形式,也就是说其表示形式为一般变量名前面加上取地址运算符为一般变量名前面加上取地址运算符“&”。现在学习的是第34页,共35页例如:例如:scanf(%d%d,&m,&n);格式控制格式控制变量地址变量地址scanf(%d,%d,&m,&n);要求输入:要求输入:5,6scanf(m=%d,n=%d,&m,&n);要求输入:要求输入:m=5,n=6现在学习的是第35页,共35页