c程序设计语言基础

c程序设计语言基础

ID:36199074

大小:551.55 KB

页数:37页

时间:2019-05-07

c程序设计语言基础_第1页
c程序设计语言基础_第2页
c程序设计语言基础_第3页
c程序设计语言基础_第4页
c程序设计语言基础_第5页
资源描述:

《c程序设计语言基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章C程序设计语言基础C程序设计语言作为本书中数据结构的算法描述语言,既具有高级语言的特点,又具有汇编语言的特点,被广泛应用于系统软件设计和应用软件设计,并且经久不衰。本章主要目的是复习C程序设计语言的一些重点和难点,为数据结构的学习扫清障碍。2.1开发环境介绍C程序设计语言(也常称为C语言)的开发环境有LCC、TurboC2.0、VisualC++、BorlandC++等多种,本节主要介绍常使用的TurboC2.0和VisualC++6.0开发环境。2.1.1TurboC2.0开发环境介绍1.运行Tu

2、rboC2.02.TurboC2.0环境设置3.Turboc2.0的使用2.1.2VisualC++6.0开发环境介绍用VisualC++6.0编写C语言程序,需要两个步骤:一是建立一个控制台项目;二是在该控制台项目中添加一个.C的文件。2.2递归与非递归一个较大的程序包含若干个具有独立的功能的模块,每一个模块实现一个特定的功能,这才是良好的程序设计风格。在C语言中,通过函数实现模块的功能,一个C语言程序由一个主函数和若干个函数组成。递归是C语言程序设计中常见的函数调用形式,也是学习C语言的一个重点和难点

3、。2.2.1函数的递归调用函数的递归调用指的是在调用一个函数的过程中,又出现了对函数自身的调用,这种函数称为递归函数。其中,递归调用分为直接递归调用和间接递归调用。一个函数在函数定义体内直接调用自己称为直接递归调用,一个函数在经过一系列的中间调用,通过其他函数调用自己的称为间接递归调用。2.2.2递归应用举例下面我们以一个例子讲解递归的调用。2.2.3一般递归转化为非递归通过分析递归实现求n个自然数的和,我们可以把它转化为非递归实现。迭代与递归:迭代和递归是程序设计中常用的两种结构。任何能使用递归解决的问

4、题都能使用迭代的方法解决。迭代和递归的区别是:迭代使用的是循环结构,递归使用的是选择结构。使用递归能够使程序的结构更清晰,设计出的程序更简洁、程序更容易让人理解。2.3指针指针是C语言中最难掌握的概念,但同时也是最重要的概念。指针常常用在函数的参数传递和动态分配内存中,在数据结构中,指针的使用也非常频繁。指针常常与地址、变量、数组和函数联系在一起。本节的主要学习内容是大家常常容易混淆的概念,包括指针变量、指针变量的引用、指针与数组、函数指针与指针函数。2.3.1指针变量指针是一种变量,也称指针变量,它的值

5、是内存地址。一般的变量通常直接包含一个具体的值,例如整数、浮点数和字符。指针包含的是变量的地址,而变量又拥有自己的具体值。变量名直接引用了一个值,指针是间接地引用了一个值。一个变量的地址称为该变量的“指针”。如果有一个变量用来存放另一个变量的地址,则称这个变量为指针变量。在C语言中,变量在使用前都需要提前声明。2.3.1指针变量intq=5,*qPtr;qPtr=&q;2.3.2指针变量的引用指针变量和变量一样,都可以对数据进行操作,指针变量的操作主要是通过取地址运算符&和指针运算符*进行实现的。例如,&

6、a指的是变量a的地址,*ptr表示变量ptr所指向的内存单元存放的内容。例2_3变量与指向该变量的指针演示程序。2.3.3指针与数组1.指向数组元素的指针inta[5]={10,20,30,40,50};int*aPtr;2.3.3指针与数组指针引用数组元素的应用举例。例2_4用指针引用数组元素并打印输出。2.3.3指针与数组2.数组指针int(*p)[4];inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};p=a;2.3.3指针与数组数组指针的应用举例。例2_5

7、用指针引用数组元素并打印输出。2.3.3指针与数组3.指针数组指针数组是一个数组,数组中的元素是指针类型的数据。也就是说,指针数组中的元素,每一个都是一个指针变量。指针数组的定义如下:int*p[4];2.3.3指针与数组指针数组的应用举例。例2_6用指针数组保存字符串并将字符元素并打印输出。2.3.4函数指针与指针函数函数指针与指针函数也是常常容易混淆的概念。与数组指针和指针数组类似,前者强调的指针,后者强调的是函数。1.函数指针2.指针函数2.3.4函数指针与指针函数函数指针应用举例。例2_7通过一个

8、函数求两个数的和,并通过函数指针调用该函数。voidmain(){inta=3,b=5;int(*fun)(int,int);printf("%d+%d=%d",a,b,Sum(a,b));/*通过函数名调用*/fun=Sum;/*函数指针指向求和函数*/printf("%d+%d=%d",a,b,(*fun)(a,b));/*函数指针调用函数*/}intSum(intm,intn){returnm+n;}2.3.4函

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。