C++指针函数习题.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C++指针函数习题.pdf》由会员分享,可在线阅读,更多相关《C++指针函数习题.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.C+C+指针函数习题指针函数习题一、选择题一、选择题1以下程序的运行结果是()。sub(int x,int y,int*z)*z=y-x;voidmain()int a,b;sub(10,5,&a);sub(7,a,&b);couta”,”b;A)5,2B)-5,-2C)-5,-12D)5,-22.函数调用过程中,如果函数funA 调用了函数 funB,函数 funB 又调用了函数 funA,则()。A)称为函数的直接递归调用B)称为函数的间接递归调用C)称为函数的循环调用D)C 语言中不允许这样的递归调用3变量的指针,其含义是指该变量的()。A)地址B)值C)名D)一个标志4.已有定义 i
2、nt k=2;int*ptr1,*ptr2;且 ptr1 和 ptr2 均已指向变量 k,下面不能正确执行的赋值语句是(A)k=*ptr1+*ptr2;B)ptr2=k;C)ptr1=ptr2;D)k=*ptr1*(*ptr2);5.(去掉)若有说明语句:double*p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是A)*p=&a;scanf(“%lf”,p);B)*p=&a;scanf(“%f”,p);C)p=&a;scanf(“%lf”,*p);D)p=&a;scanf(“%lf”,p);6.若有语句 int*point,a=4;和 point=&a;下面均代表地址的一组选
3、项是()。A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point7.设 char*s=ta103bc;则指针变量 s 指向的字符串所占的字节数是()。A)9B)5C)6D)78.下面程序段的运行结果是()。char*s=abcde;s+=2;couts;A)cdeB)字符cC)字符c的地址D)无确定的输出结果9.设有下面的程序段:则下列叙述正确的是()。char s=china;char*p;p=s;A)s 和 p 完全相同B)数组 s 中的容和指针变量 p 中的容相等C)*p 与 s0相等D)s 数组长度和 p 所指
4、向的字符串长度相等10.若有定义 int a5,*p=a;则对 a 数组元素的正确引用是()。A)*&a5B)a+2C)*(p+5)D)*(a+2)11.若已定义 char s10;则在下面表达式中不表示s1的地址的是()。A)s+1B)s+C)&s0+1D)&s112.下面程序的运行结果是()。#include.)。.#includeint main()char*s1=AbDeG;char*s2=Abdeg;s1+=2;s2+=2;coutstrcmp(s1,s2);A)负数B)正数C)零D)不确定的值13.若有定义:int*p4;则标识符 p()。A)是一个指向整型变量的指针B)是一个指针
5、数组名C)是一个指针,它指向一个含有四个整型元素的一维数组D)说明不合法14.若有 int a10,*p=a;则 p+5 表示()。A)元素 a5的地址B)元素 a5的值C)元素 a6的地址D)元素 a6的值15.设有以下定义:则正确的叙述是()。char*cc2=1234,5678;A)cc 数组的两个元素中各自存放了字符串1234和5678的首地址B)cc 数组的两个元素分别存放的是含有4 个字符的一维字符数组的首地址C)cc 是指针变量,它指向含有两个数组元素的字符型一维数组D)cc 数组元素的值分别是1234和567816.若有以下定义,则能够正确表示数组元素x12的表达式是()。in
6、t x43=1,2,3,4,5,6,7,8,9,10,11,12;int*p=&x00;A)p12B)(*p+1)+2C)p+5D)p517.语句 int(*ptr)();的含义是()。A)ptr 是指向一维数组的指针变量B)ptr 是指向 int 型数据的指针变量C)ptr 是指向函数的指针,该函数返回一个int 型数据D)ptr 是一个函数名,该函数的返回值是指向int 型数据的指针18已有函数 max(a,b),为了让函数指针变量 p 指向函数 max,正确的赋值方法是(A)p=max;B)*p=max;C)p=max(a,b);D)*p=max(a,b);19.下面程序段的运行结果是(
7、)。char a=language,*p;p=a;while(*p!=u)cout(*p-32);p+;A)LANGUAGEB)languageC)LANGD)language20.关于语句 int*ptr();以下说确的是()。A)ptr 是一个指针变量B)*ptr 是一个函数名C)这个语句是定义函数的语句D)ptr 是一个函数名,该函数的返回值是指向int 型数据的指针.)。.21.以下叙述中正确的是()。A)局部变量说明为 static 存储类,其生存期将得到延长B)全局变量说明为 static 存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的
8、存储类说明符与局部变量完全相同22.有以下程序,程序运行后的输出结果是()。A)64,28B)4,4C)4,3D)64,64#include#define f(x)(x*x)intmain()int i1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);couti1”,”i2;23.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定24.有以下程序,#includeint fun(int n)if(n=1)return 1;elsereturn(n+fun(n-1);intm
9、ain()int x;cinx;x=fun(x);coutx;程序执行时,给变量 x 输入 10,程序的输出结果是()A)55B)54C)65D)4525.已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是()。A)数组 a 和 b 的长度相同B)a 数组长度小于 b 数组长度C)a 数组长度大于 b 数组长度D)上述说法都不对26.以下程序的输出结果是()。#include#includemain()char st20=“hello0t”;coutstrlen(st)”,”sizeof(st);.)。.A)9 9B)5 20C)13 20D)20 2027.当说明一个结构体
10、变量时系统分配给它的存是()。A)各成员所需存量的总和B)结构中第一个成员所需存量C)成员中占存量最大者所需存D)结构中最后一个成员所需存量28.C 语言结构体类型变量在程序执行期间()。A)所有成员一直驻留在存中B)只有一个成员驻留在存中C)部分成员驻留在存中D)没有成员驻留在存中29.以下程序的结果是()。#includestructWWW int X;int Y;void main()struct WWWA3=7,8,9,10,12,13;int a;a=A1.X+A2.Y;couta;A)17B)22C)16D)2130.以下程序的输出结果是()。strucSTUchar name10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 指针 函数 习题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内