欢迎来到天天文库
浏览记录
ID:50468917
大小:87.18 KB
页数:10页
时间:2020-03-06
《C++指针函数习题.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C++指针函数习题一、选择题1.以下程序的运行结果是()。sub(intx,inty,int*z){*z=y-x;}voidmain(){inta,b;sub(10,5,&a);sub(7,a,&b);cout<2、是指该变量的()。A)地址B)值C)名D)一个标志4.已有定义intk=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(“%lf3、”,*p); D)p=&a;scanf(“%lf”,p);6.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。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;cout<4、'的地址D)无确定的输出结果9.设有下面的程序段:则下列叙述正确的是()。chars[]="china";char*p;p=s;A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)*p与s[0]相等D)s数组长度和p所指向的字符串长度相等10.若有定义inta[5],*p=a;则对a数组元素的正确引用是()。A)*&a[5]B)a+2C)*(p+5)D)*(a+2)11.若已定义chars[10];则在下面表达式中不表示s[1]的地址的是()。A)s+1B)s++C)&s[0]+1D)&s[1]125、.下面程序的运行结果是()。#include10#includeintmain(){char*s1="AbDeG";char*s2="Abdeg";s1+=2;s2+=2;cout<6、)元素a[5]的地址B)元素a[5]的值C)元素a[6]的地址D)元素a[6]的值15.设有以下定义:则正确的叙述是()。char*cc[2]={"1234","5678"};A)cc数组的两个元素中各自存放了字符串"1234"和"5678"的首地址B)cc数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址C)cc是指针变量,它指向含有两个数组元素的字符型一维数组D)cc数组元素的值分别是"1234"和"5678"16.若有以下定义,则能够正确表示数组元素x[1][2]的表达式是()。intx[4][7、3]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=&x[0][0];A)p[1][2]B)(*p+1)+2C)p+5D)p[5]17.语句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;C8、)p=max(a,b);D)*p=max(a,b);19.下面程序段的运行结果是()。chara[]="language",*p;p=a;while(*p!='u'){cout<<(*p-32);p++;}A)LANGUAGEB)languageC)LANGD)language20.关于语句int*ptr();以下说法正确的是()。A)ptr是一个指针变量B)*ptr是一个函数名C)这
2、是指该变量的()。A)地址B)值C)名D)一个标志4.已有定义intk=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
3、”,*p); D)p=&a;scanf(“%lf”,p);6.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。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;cout<
4、'的地址D)无确定的输出结果9.设有下面的程序段:则下列叙述正确的是()。chars[]="china";char*p;p=s;A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)*p与s[0]相等D)s数组长度和p所指向的字符串长度相等10.若有定义inta[5],*p=a;则对a数组元素的正确引用是()。A)*&a[5]B)a+2C)*(p+5)D)*(a+2)11.若已定义chars[10];则在下面表达式中不表示s[1]的地址的是()。A)s+1B)s++C)&s[0]+1D)&s[1]12
5、.下面程序的运行结果是()。#include10#includeintmain(){char*s1="AbDeG";char*s2="Abdeg";s1+=2;s2+=2;cout<6、)元素a[5]的地址B)元素a[5]的值C)元素a[6]的地址D)元素a[6]的值15.设有以下定义:则正确的叙述是()。char*cc[2]={"1234","5678"};A)cc数组的两个元素中各自存放了字符串"1234"和"5678"的首地址B)cc数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址C)cc是指针变量,它指向含有两个数组元素的字符型一维数组D)cc数组元素的值分别是"1234"和"5678"16.若有以下定义,则能够正确表示数组元素x[1][2]的表达式是()。intx[4][7、3]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=&x[0][0];A)p[1][2]B)(*p+1)+2C)p+5D)p[5]17.语句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;C8、)p=max(a,b);D)*p=max(a,b);19.下面程序段的运行结果是()。chara[]="language",*p;p=a;while(*p!='u'){cout<<(*p-32);p++;}A)LANGUAGEB)languageC)LANGD)language20.关于语句int*ptr();以下说法正确的是()。A)ptr是一个指针变量B)*ptr是一个函数名C)这
6、)元素a[5]的地址B)元素a[5]的值C)元素a[6]的地址D)元素a[6]的值15.设有以下定义:则正确的叙述是()。char*cc[2]={"1234","5678"};A)cc数组的两个元素中各自存放了字符串"1234"和"5678"的首地址B)cc数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址C)cc是指针变量,它指向含有两个数组元素的字符型一维数组D)cc数组元素的值分别是"1234"和"5678"16.若有以下定义,则能够正确表示数组元素x[1][2]的表达式是()。intx[4][
7、3]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=&x[0][0];A)p[1][2]B)(*p+1)+2C)p+5D)p[5]17.语句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
8、)p=max(a,b);D)*p=max(a,b);19.下面程序段的运行结果是()。chara[]="language",*p;p=a;while(*p!='u'){cout<<(*p-32);p++;}A)LANGUAGEB)languageC)LANGD)language20.关于语句int*ptr();以下说法正确的是()。A)ptr是一个指针变量B)*ptr是一个函数名C)这
此文档下载收益归作者所有