欢迎来到天天文库
浏览记录
ID:39705689
大小:526.60 KB
页数:48页
时间:2019-07-09
《《西安交大》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机程序设计顾刚计算机教学实验中心第5-6章指针与函数动态存储分配指针作为函数参数指针作为函数返回值指向函数的指针递归函数函数重载带参数的main()函数程序中使用的变量、数组和函数必须先声明后使用,编译系统根据声明语句开辟内存空间,因此数据占用的存储空间是固定的。这种内存储器分配方法被称为静态存储分配动态存储分配(dynamicallocation)是在程序运行过程中随机获得内存存储空间的方法C++用运算符new和delete实现动态存储分配动态存储分配运算符new用来申请所需的内存<指针>=new<类型>(<初值>);例如:int*pw;pw=newint;*pw=100;合并成
2、一条语句:int*pw=newint(100);//动态、堆区等价于:inti=100;//静态分配,在函数区域也可为数组申请内存:<指针>=new<类型>[<元素数>];例如double*pk;pk=newdouble[50];合并成一条语句:double*pk=newdouble[50];等价于:doublea[50];new的使用运算符delete用于释放先前申请到的存储块delete<指针>;例如:int*pi=newint;……deletepw;若要释放数组的空间,必须放一个空的方括号[]在操作符delete和指向该类对象数组的指针之间例如:int*p=newint[size
3、];……delete[]p;delete的使用#includeusingnamespacestd;intmain(){intp[10000];intn;cout<<“输入项数(<10000):";cin>>n;p[0]=0;p[1]=1;cout<usingnamespacestd;intmain(){intn;cout<<“输入项数:";ci4、n>>n;int*p=newint[n];//申请数组空间if(p==05、6、n<=0){//如果没有申请到内存或数据输入有误,则返回cout<<"Error!"<7、序求该多项式的值和多项式导数的值这两个结果值的计算都必须采用函数求得,具体函数原型如下:doubledxs(doublea[],doublex,intn)doubledxsds(doublea[],doublex,intn)形式参数a[]用来存放多项式n+1个系数,x为多项式的变量,n为次方数。(提示:先输入某个多项式系数,然后输出该多项式及其导数多项式,再输入某个x的值,再输出多项式和导数的计算结果值)#include//没有动态存储分配的求解usingnamespacestd;voidprint(doublea[],intn){if(a[0]>0)cout<8、[0];if(a[0]<0)cout<<"("<0)cout<<"+"<0;i9、--)sum=(sum+a[i])*x;sum=sum+a[0];returnsum;}intmain(){doublea[100],a1[100];doublex;intn,k;cout<<“请输入多项式的次数(不能超过99):";cin>>n;cout<<"请依次输入"<>a[i];a1[i]=a[i];}cout<<"输入的
usingnamespacestd;intmain(){intn;cout<<“输入项数:";ci
4、n>>n;int*p=newint[n];//申请数组空间if(p==0
5、
6、n<=0){//如果没有申请到内存或数据输入有误,则返回cout<<"Error!"<7、序求该多项式的值和多项式导数的值这两个结果值的计算都必须采用函数求得,具体函数原型如下:doubledxs(doublea[],doublex,intn)doubledxsds(doublea[],doublex,intn)形式参数a[]用来存放多项式n+1个系数,x为多项式的变量,n为次方数。(提示:先输入某个多项式系数,然后输出该多项式及其导数多项式,再输入某个x的值,再输出多项式和导数的计算结果值)#include//没有动态存储分配的求解usingnamespacestd;voidprint(doublea[],intn){if(a[0]>0)cout<8、[0];if(a[0]<0)cout<<"("<0)cout<<"+"<0;i9、--)sum=(sum+a[i])*x;sum=sum+a[0];returnsum;}intmain(){doublea[100],a1[100];doublex;intn,k;cout<<“请输入多项式的次数(不能超过99):";cin>>n;cout<<"请依次输入"<>a[i];a1[i]=a[i];}cout<<"输入的
7、序求该多项式的值和多项式导数的值这两个结果值的计算都必须采用函数求得,具体函数原型如下:doubledxs(doublea[],doublex,intn)doubledxsds(doublea[],doublex,intn)形式参数a[]用来存放多项式n+1个系数,x为多项式的变量,n为次方数。(提示:先输入某个多项式系数,然后输出该多项式及其导数多项式,再输入某个x的值,再输出多项式和导数的计算结果值)#include//没有动态存储分配的求解usingnamespacestd;voidprint(doublea[],intn){if(a[0]>0)cout<8、[0];if(a[0]<0)cout<<"("<0)cout<<"+"<0;i9、--)sum=(sum+a[i])*x;sum=sum+a[0];returnsum;}intmain(){doublea[100],a1[100];doublex;intn,k;cout<<“请输入多项式的次数(不能超过99):";cin>>n;cout<<"请依次输入"<>a[i];a1[i]=a[i];}cout<<"输入的
8、[0];if(a[0]<0)cout<<"("<0)cout<<"+"<0;i
9、--)sum=(sum+a[i])*x;sum=sum+a[0];returnsum;}intmain(){doublea[100],a1[100];doublex;intn,k;cout<<“请输入多项式的次数(不能超过99):";cin>>n;cout<<"请依次输入"<>a[i];a1[i]=a[i];}cout<<"输入的
此文档下载收益归作者所有