C语言概述(精品).ppt

上传人:hyn****60 文档编号:71636942 上传时间:2023-02-03 格式:PPT 页数:48 大小:418KB
返回 下载 相关 举报
C语言概述(精品).ppt_第1页
第1页 / 共48页
C语言概述(精品).ppt_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《C语言概述(精品).ppt》由会员分享,可在线阅读,更多相关《C语言概述(精品).ppt(48页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第一章第一章C语言概述语言概述彭彭金莲金莲交流和学习方式交流和学习方式u教学网站教学网站http:/59.49.232.150:8088/teach_homeuEmail:JL_u电话号码电话号码:66968895(H)66980709(O)程序语言的现在和未来三个关键元素三个关键元素扩展库扩展库语言语言IDE流行语言流行语言u应用编程语言应用编程语言u机器语言机器语言u汇编语言汇编语言uBasicuPascaluCuC+uJavauC#u专项编程语言专项编程语言uLotusNotesuPowerBuilderuWeb编程语言编程语言uHTMLuXMLuPHPuASPuJSPuJavaScri

2、ptuVBScriptu其他其他uperlupythonuVBABasicu过去的辉煌过去的辉煌uBASICA、GWBASIC、QBASICuBASIC语言语言谭浩强谭浩强u现在的辉煌现在的辉煌uVisualBasic1.0-.NETu控件繁多控件繁多uIDE很方便很方便u未来的未来的uVB.NET颠覆了以往的颠覆了以往的BASIC,使它更像,使它更像C+/Java/C#Pascalu过去的辉煌过去的辉煌u完美的结构化使其成为优秀的教学语言完美的结构化使其成为优秀的教学语言u现在的辉煌现在的辉煌uDelphi、Kylixu强大的扩展库强大的扩展库u一直在进步的一直在进步的IDEu未来未来uBo

3、rland公司的工作重心已经在公司的工作重心已经在JBuilder,甚至,甚至C#BuilderCu仍然是很多高素质程序员仍然是很多高素质程序员(黑客黑客)的最爱的最爱u良好设计的良好设计的C程序的重用性、扩展性等并不比程序的重用性、扩展性等并不比面向对象程序差面向对象程序差u几乎是各种平台必须首先支持的语言几乎是各种平台必须首先支持的语言C+u总被与总被与C相提并论相提并论u与与C一样被广泛地支持一样被广泛地支持uMFC仍然是仍然是Win32平台下最重要的类库平台下最重要的类库u自身仍在不断扩充、完善自身仍在不断扩充、完善JavauJava非常适合用来做面向对象教学非常适合用来做面向对象教学

4、uJava本身代表着一种先进,其众多的本身代表着一种先进,其众多的IDE也是也是u越来越多地被应用越来越多地被应用C#u一个与一个与Java不堪伯仲的语言不堪伯仲的语言u以微软的能力,前途可待以微软的能力,前途可待学学C语言的用处语言的用处u自自C语言出现后,以语言出现后,以C语言为根基的语言为根基的C+、Java和和C#等面向对象语言相继诞生,并在各等面向对象语言相继诞生,并在各自领域大获成功。但今天自领域大获成功。但今天C语言依旧在系统编语言依旧在系统编程、嵌入式编程等领域占据着统治地位。程、嵌入式编程等领域占据着统治地位。uC语言程序设计是一门专业基础课。这是入学语言程序设计是一门专业基

5、础课。这是入学后第一次接触到程序设计的概念、理论和语言,后第一次接触到程序设计的概念、理论和语言,了解到什么是程序设计,如何进行程序设计以了解到什么是程序设计,如何进行程序设计以及使用及使用C语言进行程序设计。是程序设计课程语言进行程序设计。是程序设计课程类的基础,因此,这门课非常重要,直接关系类的基础,因此,这门课非常重要,直接关系到以后专业课程的学习和发展。到以后专业课程的学习和发展。第一节第一节程序设计及其编程语言程序设计及其编程语言u一、程序设计一、程序设计u程序是可以被计算机处理的指令序列。通常,程序是程序是可以被计算机处理的指令序列。通常,程序是为完成一项任务由汇编语言或高级语言编

6、写的代码的为完成一项任务由汇编语言或高级语言编写的代码的集合。集合。u程序设计的过程一般包括以下步骤:程序设计的过程一般包括以下步骤:u问题定义问题定义u根据所要解决的问题,确定解决问题的方法,定义数据的根据所要解决的问题,确定解决问题的方法,定义数据的输入输出格式,用日常语言尽可能清晰、准确、完整地表输入输出格式,用日常语言尽可能清晰、准确、完整地表达解决问题的过程。达解决问题的过程。u算法设计算法设计u根据所确定解决问题的方法,建立相应的数学方法及数学根据所确定解决问题的方法,建立相应的数学方法及数学模型(公式),并考虑选取哪种方法更适合于计算机数据模型(公式),并考虑选取哪种方法更适合于

7、计算机数据处理。处理。程序设计的过程一般包括以下步骤程序设计的过程一般包括以下步骤u流程图设计流程图设计u根据用日常语言所描述的解决问题的过程,用计算机程序根据用日常语言所描述的解决问题的过程,用计算机程序设计语言所规定的流程图符号进行框图描述所要解决问题设计语言所规定的流程图符号进行框图描述所要解决问题的过程。的过程。u程序编制程序编制u用选定的程序设计语言并按流程图所提供的解决问题的步用选定的程序设计语言并按流程图所提供的解决问题的步骤写出源程序。骤写出源程序。u程序调试和运行程序调试和运行u对所编写的程序进行编译、运行。若发生错误,则需进行对所编写的程序进行编译、运行。若发生错误,则需进

8、行调试、排错处理,直到该程序能正确运行为止。调试、排错处理,直到该程序能正确运行为止。二、编程语言二、编程语言u编程语言即程序设计语言编程语言即程序设计语言uC,Fortran,Java,VisualBasic,u低级语言和高级语言。低级语言和高级语言。u机器语言完全由二进制数码的机器指令集合所构机器语言完全由二进制数码的机器指令集合所构成,具有难写,难记,难理解,不可移植等特点。成,具有难写,难记,难理解,不可移植等特点。u使用高级语言所编写的程序计算机不能直接运行。使用高级语言所编写的程序计算机不能直接运行。运行前需要进行编译连接等。不同的高级语言具运行前需要进行编译连接等。不同的高级语言

9、具有不同的编译系统,如有不同的编译系统,如C语言的编译环境有语言的编译环境有TurboC2.0编译系统。编译系统。第二节第二节C语言的发展及特点语言的发展及特点uC语言的发展语言的发展uC语言诞生于语言诞生于1972年,它是年,它是UNIX系统的主力语言。系统的主力语言。C语言语言由美国电话公司(由美国电话公司(AT&T)贝尔实验室的贝尔实验室的D.M.Ritchie(里里奇)和奇)和K.Thompson(汤普森)设计并首先在汤普森)设计并首先在UNIX操作系操作系统的统的DECPDP-11计算机上实现的。计算机上实现的。uC语言实际上是由语言实际上是由ALGOL60语言逐渐演变而来的。语言逐

10、渐演变而来的。1963年英国剑桥大学推出一种近于硬件的语言年英国剑桥大学推出一种近于硬件的语言CPL,1967推出推出了了BCPL,1970年,美国贝尔实验室以年,美国贝尔实验室以BCPL语言为基础,语言为基础,设计出一种更为简单且接近于硬件的高级语言,并取设计出一种更为简单且接近于硬件的高级语言,并取BCPL第一个字母为其命名,称为第一个字母为其命名,称为B语言,并用语言,并用B语言写出语言写出了第一个了第一个UNIX操作系统。操作系统。u1972年,贝尔实验室在年,贝尔实验室在B语言的基础上,开发出了新的语语言的基础上,开发出了新的语言,并把它命名为言,并把它命名为C语言。语言。二、二、C

11、语言的特点语言的特点uC语言是一种结构化程序设计语言语言是一种结构化程序设计语言u模块化程序设计语言模块化程序设计语言u采用结构化的程序设计方法。采用结构化的程序设计方法。u在在C语言中,函数是结构化程序的最小模块。语言中,函数是结构化程序的最小模块。u每每个个函函数数实实现现一一个个功功能能,多多个个函函数数则则完完成成一一个个较较大的功能。大的功能。C语言运算符丰富语言运算符丰富uC语言提供了功能极强的运算符语言提供了功能极强的运算符u如:增(减)运算符()和()、取地如:增(减)运算符()和()、取地址运算符(址运算符(&)和间接运算符()和间接运算符(*)、赋值运算符)、赋值运算符(如

12、(如=、=、*=、/=)等)等.(三)三)C语言编程简洁语言编程简洁uC语语言言是是一一种种非非常常简简洁洁的的语语言言,用用C语语言言编编写写的程序简洁明了。的程序简洁明了。u由由于于C语语言言把把括括号号、赋赋值值、强强制制类类型型转转换换等等都都作作为为运运算算符符处处理理,并并用用一一对对花花括括号号“”表表示示复复合合语语句句的的开开始始和和结结束束,因因此此,用用C语语言言编编写写出出的的程程序序一一般来说相对小巧,简洁,紧凑。般来说相对小巧,简洁,紧凑。u(四)四)C语言具有良好的可移植性语言具有良好的可移植性u(五)五)C语言结构化强语言结构化强uC语言虽不是模块结构语言,但由

13、于其具有的结构语言虽不是模块结构语言,但由于其具有的结构化特征,仍称其为结构化语言。化特征,仍称其为结构化语言。C语言的主要结构语言的主要结构成分是函数。成分是函数。第三节第三节简单的简单的C程序介绍程序介绍u例例1.1 编编程程输输出出文文字字信信息息“This is a C-Languageprogram.”u程序代码如下:程序代码如下:main()printf(This is a C-Language program.n);第六节第六节C语言程序的实现语言程序的实现u一、一、C语言程序的编辑语言程序的编辑u二、二、C语言程序的编译和连接语言程序的编译和连接u.c.obj.exe(一)编译

14、过程(一)编译过程u编译过程的功能是将源程序编译生成为目标文编译过程的功能是将源程序编译生成为目标文件。编译过程主要由两部分功能组成。件。编译过程主要由两部分功能组成。u一是将源程序先通过预处理器。将程序中出现的一是将源程序先通过预处理器。将程序中出现的预处理命令进行处理,预处理命令是以字符预处理命令进行处理,预处理命令是以字符#开始开始的命令。的命令。u二是通过编译器,将经过预处理后的源程序再经二是通过编译器,将经过预处理后的源程序再经过编译器进行处理。编译过程就是将词法分析和过编译器进行处理。编译过程就是将词法分析和语法分析的结果加上符号表中的信息一起用来生语法分析的结果加上符号表中的信息

15、一起用来生成程序的目标代码,该代码类似于汇编语言的代成程序的目标代码,该代码类似于汇编语言的代码,被存放在目标文件中,其扩展名为码,被存放在目标文件中,其扩展名为.obj。(二)连接过程(二)连接过程u经过编译过程后生成的目标代码虽然是由可执经过编译过程后生成的目标代码虽然是由可执行的机器指令组成的,但是并不能由机器直接行的机器指令组成的,但是并不能由机器直接执行。执行。u通过执行一个连接程序将不同的目标程序文件通过执行一个连接程序将不同的目标程序文件进行连接处理,这称为连接过程。进行连接处理,这称为连接过程。u连接处理后生成一个可执行的程序,存储这个连接处理后生成一个可执行的程序,存储这个可

16、执行程序的文件称为可执行文件,其扩展名可执行程序的文件称为可执行文件,其扩展名为为.exe,该文件名便是一个可执行的命令。该文件名便是一个可执行的命令。三、三、C语言程序的运行语言程序的运行u经经过过编编译译过过程程和和连连接接过过程程处处理理后后,将将生生成成可可执执行行文文件件,文文件件名名既既为为程程序序名名,扩扩展展名名为为.exe,直接执行该命令便可运行该程序。直接执行该命令便可运行该程序。第七节第七节C语言编译系统语言编译系统TurboC2.0简介简介例例1.2编写一个求出任意给定两整数之和的程序。编写一个求出任意给定两整数之和的程序。main()int a,b,sum;print

17、f(Input a,b=?n);scanf(%d,%d,&a,&b);sum=add(a,b);printf(sum=%d+%d=%dn,a,b,sum);add(int x,int y)return(x+y);上机验证第四节第四节C语言程序的书写格式语言程序的书写格式uC语言的书写格式比较自由,没有严格的位语言的书写格式比较自由,没有严格的位置格式要求置格式要求u为提高程序的可读性,需要养成良好的程序为提高程序的可读性,需要养成良好的程序书写习惯。书写习惯。uC语言程序中的每条语句以分号(;)结束。语言程序中的每条语句以分号(;)结束。uC语言程序根据语句格式的意义不同,往往语言程序根据语句

18、格式的意义不同,往往采用缩进式书写方式,以区分不同程序片段采用缩进式书写方式,以区分不同程序片段或不同程序结构之间程序成分。或不同程序结构之间程序成分。u习惯上使用习惯上使用/*/的方式对程序进行注释的方式对程序进行注释说明。说明。第五节第五节C语言常用输入输出函数语言常用输入输出函数uC语言常用输入函数语言常用输入函数u输入函数又称为读函数,用来从标准输入设备输入函数又称为读函数,用来从标准输入设备读入数据。计算机的标准输入设备通常是键盘。读入数据。计算机的标准输入设备通常是键盘。故常用输入函数是从键盘获取输入信息。故常用输入函数是从键盘获取输入信息。(一)一)getchar()函数函数u该

19、该函函数数为为获获取取单单字字符符函函数数。其其功功能能是是从从键键盘盘上上获获取取一一个个字字符符,并并将将其其所所获获取取的的字字符符赋赋给给一一个个字符型变量。该函数的格式说明如下:字符型变量。该函数的格式说明如下:intgetchar();uC语语言言中中的的getchar()函函数数是是包包含含在在标标准准输输入入输输出出头头文文件件stdio.h中中的的,因因此此,若若在在C语语言言程程序序中中使使用用getchar()函函数数,需需在在程程序序中中调调用用相相应应的头文件的头文件例例1.3应用应用getchar()函数接收字符信息函数接收字符信息并输出其信息并输出其信息/*The

20、 program example of getchar()function*/#include main()char a;printf(Please input a character:);a=getchar();printf(n%cn,a);上机验证(二)(二)gets()函数函数u功能是从键盘上获取一串字符,并赋给相应的功能是从键盘上获取一串字符,并赋给相应的字符串变量。字符串变量。u该函数的格式说明如下:该函数的格式说明如下:char*gets(s);u其中,其中,char*是字符型指针类型说明符,是字符型指针类型说明符,gets是是函数名,函数名,()为语法括号。为语法括号。u该函数有

21、一个参数该函数有一个参数s,它是字符数组名或字符指针它是字符数组名或字符指针名,用来存放从键盘上读取的字符串。从键盘上名,用来存放从键盘上读取的字符串。从键盘上输入的字符串以换行符(即回车)作为结束符。输入的字符串以换行符(即回车)作为结束符。例例1.4应用应用gets()函数接收字符串数据并输函数接收字符串数据并输出其信息出其信息/*The program example of gets()function*/#include main()char abc20;printf(Please input a character string:);gets(abc);printf(%sn,abc)

22、;上机验证(三)三)scanf()函数函数u该函数为标准格式输入函数。功能是从键盘上按指定该函数为标准格式输入函数。功能是从键盘上按指定格式读取数据,赋给指定的变量。该函数格式如下:格式读取数据,赋给指定的变量。该函数格式如下:uscanf(“”,);u控制串中的格式符是由格式标识符(控制串中的格式符是由格式标识符(%)和格式说明)和格式说明符组成,用来指定某种输入格式。常用格式说明符有符组成,用来指定某种输入格式。常用格式说明符有如下几种:如下几种:ud十进制整型数十进制整型数uo八进制整型数八进制整型数ux十六进制整型数十六进制整型数uu无符号十进制整型数无符号十进制整型数uf小数型单精度

23、浮点数小数型单精度浮点数ue指数型单精度浮点数指数型单精度浮点数uc单个字符单个字符us字符串字符串例例1.5应用应用scanf()函数接收并处理数据。函数接收并处理数据。/*Program example of scanf()function*/#include main()int a,b,c,m;printf(input a,b,c=?);scanf(%d,%d,%d,&a,&b,&c);m=a+b-c;printf(m=%dn,m);上机验证二、二、C语言常用输出函数语言常用输出函数u输输出出函函数数又又称称为为写写函函数数,其其功功能能主主要要是是将将计计算算结果输出到计算机的屏幕上。

24、结果输出到计算机的屏幕上。u(一)(一)putchar()函数函数u该该函函数数是是一一个个输输出出单单字字符符函函数数,功功能能是是将将指指定定的的字字符符输输出出显显示示在在计计算算机机屏屏幕幕上上。所所输输出出的的字字符符可可以以是是字字符符常常量量,也也可可以以是是字字符符变变量量,函函数数格式说明如下:格式说明如下:intputchar(c);例例1.6应用应用putchar()函数输出字符信息函数输出字符信息/*The program of putchar()function*/#include main()char a,b,c;a=B;b=O;c=Y;putchar(a);put

25、char(b);putchar(c);putchar(n);putchar(m);上机验证puts()函数函数u该该函函数数是是输输出出字字符符串串函函数数。其其功功能能是是将将指指定定字字符符串串信信息息输输出出到到屏屏幕幕上上。该该函函数数的的格格式式说说明明如如下:下:intputs(s);u其中,其中,puts是函数名,括号()为函数的语法符是函数名,括号()为函数的语法符号,括号中的号,括号中的s为参数,该参数可能是数组名称,为参数,该参数可能是数组名称,也可能是字符指针名。也可能是字符指针名。例例1.7应用应用puts()函数输出信息。函数输出信息。/*Theexampleofpu

26、ts()function*/#includemain()charabc20,*p;printf(Pleaseinputacharacterstring:);p=gets(abc);printf(nTheoutputoftheinformationis:);puts(p);上机验证printf()函数函数u该函数是标准格式输出函数,其功能是按照指该函数是标准格式输出函数,其功能是按照指定格式和变量顺序输出信息到屏幕上。函数的定格式和变量顺序输出信息到屏幕上。函数的格式说明如下:格式说明如下:printf(,);控制串控制串u控控制制串串中中包包含含有有格格式式符符和和一一般般字字符符。格格式式符

27、符用用来来指指定定输输出出信信息息的的格格式式,它它由由格格式式标标识识符符%和和格格式式说说明明符符所所组组成成。如如%d表表示示输输出出信信息息为为十十进进制制整整型型数数据据。格格式式说说明符有如下几种:明符有如下几种:ud十进制整型数十进制整型数uo八进制整型数八进制整型数ux十六进制整型数十六进制整型数uu无符号十进制整型数无符号十进制整型数uc字符型数字符型数us字符串字符串uf小数型单精度浮点数小数型单精度浮点数ue指数型单精度浮点数指数型单精度浮点数ugf和和e中较短的一种中较短的一种常用的修饰符有如下几种:常用的修饰符有如下几种:u数数字字数数字字小小数数点点前前的的数数字字

28、用来表示输出数据项的最小宽度。用来表示输出数据项的最小宽度。ul:用用在在格格式式符符d,o和和x前前表表示示长长整整型型数数,用用在在e,f,g前面表示双精度浮点数。前面表示双精度浮点数。u-:负负号号用用来来表表示示输输出出数数据据在在域域宽宽中中左左对对齐齐。当不用负号时,则表示右对齐。当不用负号时,则表示右对齐。u0:用来表示在右对齐中替换输出数据项左边:用来表示在右对齐中替换输出数据项左边的空格符。的空格符。控制串控制串u中中出出现现的的一一般般字字符符为为字字符符原原样样照照样样输出,即将一般字符输出显示在屏幕上。输出,即将一般字符输出显示在屏幕上。u在在一一般般字字符符中中,对对

29、可可打打印印字字符符直直接接用用字字符符符符号号来表示,对来表示,对不可打印字符不可打印字符则用转义序列表示。则用转义序列表示。u转转义义序序列列是是表表示示字字符符的的一一种种方方法法,这这种种方方法法是是使使用用字字符符的的ASCII码码值值来来表表示示字字符符,其其格格式式有有如如下下两两种:种:0ddd或或xhh其其中中,0ddd格格式式是是在在0后后面面用用字字符符的的八八进进制制的的ASCII码码值值表表示示,最最多多为为3位位。xhh格格式式是是在在x后后面面用用字字符符的的十十六六进进制制的的ASCII码码值值表表示示,最最多多用用2位位。例例如如,字字符符Esc的转义序列表示

30、为的转义序列表示为033或或x1b。表表1-1转义字符转义字符 字符形式 含 义 n 换行,将当前位置移到下一行开头 t 水平制表(跳到下一个tab位置)b 退格,将当前位置移到前一列 r 回车,将当前位置移到本行开头 f 换页,将当前位置移到下页开头 反斜杠字符“”单引号字符 双引号字符 0ddd 1到3位8进制所代表的字符 xhh 1到2位16进制所代表的字符例例1.8常用读写函数应用实例常用读写函数应用实例1.#include2.main()3.inta;4.charb,*p,abc10,bbc5;5.printf(Pleaseinputintegerdata:);6.scanf(%d,

31、&a);/*a=21*/7.printf(nPleaseinputacharacter:);8.getchar();9.b=getchar();/*b=I*/10.printf(nPleaseinputacharacterstring:);11.getchar();12.gets(abc);/*abc=Hello*/13.printf(Pleaseinputanothercharacterstring:);14.p=gets(bbc);/*bbc=Wang*/15.printf(nTheoutputoftheprogramisasfollownn);16.printf(%s,abc);17.putchar(,);18.printf(mynameis);19.puts(p);20.printf(And%cam%dyearsold.n,b,a);21.getchar();22.例例1.9分析下列程序的输出结果分析下列程序的输出结果umain()uuintx;ufloaty,z;ux=5,y=16.2,z=27.5678;uprintf(x=%d,y=%.2f,z=%8.3lfn,x,y,z);u上机题上机题u1.3分析下列程序的输出结果,并上机验证。分析下列程序的输出结果,并上机验证。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com