文档详情

《C语言程序设计项目式教程》课件_CORE-05.ppt

发布:2025-03-15约3.39千字共23页下载文档
文本预览下载声明

3.03.03.0威迅教育开发部监制学习目标了解逗号运算的原理和应用。掌握指针的原理机制、定义和实现技巧。掌握下标法表示数组元素与指针法表示数组元素的区别和实现技巧。掌握枚举型数据的原理机制、定义和实现技巧。具有基本的程序测试与调试的能力学习路径任务一计算学生课程总评成绩逗号运算逗号运算是C语言提供的一种特殊运算符,用“,”将表达式连接起来的式子称为逗号表达式。逗号表达式的一般格式如下:表达式1,表达式2,……,表达式n;指针(1)指针的概念指针是一种专门用于存放数据内存地址的数据类型。计算机内存是由连续的存储单元(通常称为字节)组成,不同的数据类型所占用的存储单元数不同,例如整型数据占2个单元,字符型数据占1个单元等。每个存储单元有一个唯一的编号,这就是内存“地址”,指针可以根据一个存储单元的地址而准确地找到该内存单元。指针(2)“直接访问”方式“直接访问”是一种按变量地址存取变量值的访问方式。编译程序将存储单元地址与变量名联系起来,程序引用某个变量名时,也就访问相应的存储单元。如图5.2所示,使用“直接访问”方式访问数据。指针(3)“间接访问”方式“间接访问”是一种按存储单元中存放的数据地址间接读写数据的访问方式。如图5.2所示,访问变量i的数值时可通过变量i_ptr进行间接访问,编译程序为变量i_ptr分配了地址为2000开始的存储单元,存储内容为1000,也就是变量i占用存储单元的起始地址,通过这个地址就可以访问变量i的内容数值10指针(4)指针变量的使用指针变量和普通变量的使用方法相同,都需要先声明和初始化再引用,才能正确对数据进行访问,未经初始化的指针变量不能使用,否则程序会产生错误的结果。指针变量使用之前必须把它声明为指针。声明格式如下:数据类型*变量名;指针(5)指针变量的引用引用指针变量需要使用“运算符”和“*运算符”。“运算符”是取地址运算符,可以实现取出变量的地址,在scanf()函数中,已经了解并使用过“运算符”;“*运算符”是指针运算符,表示指针变量所指向的变量,需要注意指针运算符*和指针变量声明中的指针说明符*不同,表达式中运算符*表示指针变量所指的变量,指针变量声明中“*”是类型说明符,表示变量是指针类型指针与数组(1)指针与数组的关系假设已经声明整型数组a[10],数组名a表示该数组在内存的起始地址,也就是即第一个元素a[0]的地址a[0]。则声明一个指向数组元素的指针变量如图指针与数组(2)指针访问数组一维数组的存储结构是线性的,在内存中占用一片连续的存储单元。若声明了指向数组的指针,将该指针指向数组的第一个元素,通过移动指针可以存取数组的每一个元素。任务二计算班级课程及格率、最高分和最低分指针变量作为函数参数使用指针做函数参时需注意以下3点要求:指针变量,既可以作为函数的形参,也可以作实参。做形参时被调用函数的定义和声明必须指出参数类型是指针而不是数值;指针变量作实参时,与普通变量一样,也是“单向值传递”,即将指针变量的值(地址)传递给被调用函数的形参(一个指针变量);被调用函数不能改变实参指针变量的值,但可通过形参指针变量改变它们所指向的变量的值任务三统计平时成绩、期末成绩和总评成绩各分数段人数枚举类型在C语言中,枚举类型是一种构造数据类型,它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。例如人的性别只有两种取值,星期只有七种取值等。定义枚举类型的格式如下:enum枚举类型名{值列表};任务四按总评成绩为全班学生排序排序算法(1)插入排序插入排序就是假设已经有一个排好序的数字列,现在要把一个新数插入其中,使数列依然保持排序状态。具体算法可描述为以下6步:第一步:从第一个元素开始,该元素可以认为已经被排序;第二步:取出下一个元素,在已经排序的元素序列中从后向前扫描;第三步:如果该元素(已排序)大于新元素,将该元素移到下一位置;第四步:重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;第五步:将新元素插入到该位置后,第六步:重复步骤2~5。排序算法(2)插入排序

显示全部
相似文档