欢迎来到天天文库
浏览记录
ID:24781266
大小:235.00 KB
页数:37页
时间:2018-11-16
《面向对象程序设计 第6讲指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章指针C++面向对象程序设计赵红1main(){inta,*p=&a;floatx,*q=&x;*p*q&a&x}2000200120022003200420052006200720082009apxq20048.2指针和指针变量8.2.2指针变量的定义2000main(){inta,*p;floatx,*q;p=&a;q=&x;…}指针变量定义的形式指针变量初始化2021/9/82主调函数与被调函数之间数据传递的方法:①实参与形参之间的数据传递;②被调函数通过return语句把函数值返回到主调函数;③通过全局变量交换数据;④利用指针型参数在主调函数和被调函数之
2、间传递数据。1.变量的指针作函数参数8.2.3指针变量作函数参数8.2指针和指针变量2021/9/83复习:voidswap(intx,inty){intz;z=x;x=y;y=z;}main(){inta=10,b=20;swap(a,b);cout<>a>>b;swap(&a,&b);cout<3、85第7章数组P146赵红C++面向对象程序设计6第7章数组一个班N个人的成绩怎样存储和处理?......这些数据的特点:具有相同的数据类型。为了方便地使用这些数据,C语言提供了一种构造数据类型:数组。2021/9/877.1一维数组例如:inta[10];floatscore[5];“数据类型”:是数组元素的数据类型。“数组名”:遵循C语言标识符规则。“常量表达式”:表示数组中有多少个元素,即数组的长度。它可以是整型常量、整型常量表达式或符号常量。7.1.1一维数组的定义数据类型数组名[常量表达式];2021/9/88以下数组定义是正确的:#defineN10……4、floatscore1[N],score2[N];intnum[10+N];charc[26];7.1.1一维数组的定义(续)声明变量的过程就是在内存开辟空间的过程2021/9/89数组在内存的存放P147floatscore[5];数组下标从0开始。一维数组的数组元素在内存里按顺序存放。数组名代表数组的首地址,即score的值与score[0]的地址值相同。score[0]score[1]score[2]score[3]score[4]低地址高地址score数组2021/9/8107.1.2数组元素的引用格式:例如:输出学生成绩cout<5、ore[1]<>a[10];/*下标越界*/P150编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。2021/9/8127.1.2数组元素的引用(续)②[]是下标运算符,引用数组元素时,根据数组的首地址和下标数,计算出该元素的实际地址,取出该地址的内容进行操作。fl6、oatscore[5];如引用score[2]:(1)计算2000+2*4=2008(2)取出2008的内容2000H2004H2008H200CH2010Hscore[0]score[1]score[2]score[3]score[4]91.534.567.572.084.02021/9/8137.1.3一维数组的初始化初始化:在定义数组时给数组元素赋初值。1.在定义数组时,对全部数组元素赋初值例如:inta[5]={7,9,2,4,4};此时可以省略数组长度,例如:inta[]={7,9,2,4,4};2.在定义数组时,对部分数组元素赋初值例如:inta[5]=7、{1,6,3};系统为其余元素赋0。3.当初值的个数多于数组元素的个数时,编译出错例如:inta[5]={7,9,2,4,4,6};2021/9/814练习0从键盘读入100个学生的成绩,并记录到一个数组中,然后输出学生的平均成绩。步骤:输入成绩求平均值输出成绩2021/9/815当函数之间需要传递数组时,可以通过传递数组的首地址(即通过指针参数指向域的扩展),完成存取主调函数中数组元素的操作。8.3指针与函数2.数组的指针作函数参数⑴一维数组的指针作函数参数例如被调函数abc的定义形式有以下三种:voidabc(intb[10]){……}voidabc(int
3、85第7章数组P146赵红C++面向对象程序设计6第7章数组一个班N个人的成绩怎样存储和处理?......这些数据的特点:具有相同的数据类型。为了方便地使用这些数据,C语言提供了一种构造数据类型:数组。2021/9/877.1一维数组例如:inta[10];floatscore[5];“数据类型”:是数组元素的数据类型。“数组名”:遵循C语言标识符规则。“常量表达式”:表示数组中有多少个元素,即数组的长度。它可以是整型常量、整型常量表达式或符号常量。7.1.1一维数组的定义数据类型数组名[常量表达式];2021/9/88以下数组定义是正确的:#defineN10……
4、floatscore1[N],score2[N];intnum[10+N];charc[26];7.1.1一维数组的定义(续)声明变量的过程就是在内存开辟空间的过程2021/9/89数组在内存的存放P147floatscore[5];数组下标从0开始。一维数组的数组元素在内存里按顺序存放。数组名代表数组的首地址,即score的值与score[0]的地址值相同。score[0]score[1]score[2]score[3]score[4]低地址高地址score数组2021/9/8107.1.2数组元素的引用格式:例如:输出学生成绩cout<5、ore[1]<>a[10];/*下标越界*/P150编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。2021/9/8127.1.2数组元素的引用(续)②[]是下标运算符,引用数组元素时,根据数组的首地址和下标数,计算出该元素的实际地址,取出该地址的内容进行操作。fl6、oatscore[5];如引用score[2]:(1)计算2000+2*4=2008(2)取出2008的内容2000H2004H2008H200CH2010Hscore[0]score[1]score[2]score[3]score[4]91.534.567.572.084.02021/9/8137.1.3一维数组的初始化初始化:在定义数组时给数组元素赋初值。1.在定义数组时,对全部数组元素赋初值例如:inta[5]={7,9,2,4,4};此时可以省略数组长度,例如:inta[]={7,9,2,4,4};2.在定义数组时,对部分数组元素赋初值例如:inta[5]=7、{1,6,3};系统为其余元素赋0。3.当初值的个数多于数组元素的个数时,编译出错例如:inta[5]={7,9,2,4,4,6};2021/9/814练习0从键盘读入100个学生的成绩,并记录到一个数组中,然后输出学生的平均成绩。步骤:输入成绩求平均值输出成绩2021/9/815当函数之间需要传递数组时,可以通过传递数组的首地址(即通过指针参数指向域的扩展),完成存取主调函数中数组元素的操作。8.3指针与函数2.数组的指针作函数参数⑴一维数组的指针作函数参数例如被调函数abc的定义形式有以下三种:voidabc(intb[10]){……}voidabc(int
5、ore[1]<>a[10];/*下标越界*/P150编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。2021/9/8127.1.2数组元素的引用(续)②[]是下标运算符,引用数组元素时,根据数组的首地址和下标数,计算出该元素的实际地址,取出该地址的内容进行操作。fl
6、oatscore[5];如引用score[2]:(1)计算2000+2*4=2008(2)取出2008的内容2000H2004H2008H200CH2010Hscore[0]score[1]score[2]score[3]score[4]91.534.567.572.084.02021/9/8137.1.3一维数组的初始化初始化:在定义数组时给数组元素赋初值。1.在定义数组时,对全部数组元素赋初值例如:inta[5]={7,9,2,4,4};此时可以省略数组长度,例如:inta[]={7,9,2,4,4};2.在定义数组时,对部分数组元素赋初值例如:inta[5]=
7、{1,6,3};系统为其余元素赋0。3.当初值的个数多于数组元素的个数时,编译出错例如:inta[5]={7,9,2,4,4,6};2021/9/814练习0从键盘读入100个学生的成绩,并记录到一个数组中,然后输出学生的平均成绩。步骤:输入成绩求平均值输出成绩2021/9/815当函数之间需要传递数组时,可以通过传递数组的首地址(即通过指针参数指向域的扩展),完成存取主调函数中数组元素的操作。8.3指针与函数2.数组的指针作函数参数⑴一维数组的指针作函数参数例如被调函数abc的定义形式有以下三种:voidabc(intb[10]){……}voidabc(int
此文档下载收益归作者所有