指针150讲解

上传人:我** 文档编号:113633243 上传时间:2019-11-09 格式:DOC 页数:17 大小:99KB
返回 下载 相关 举报
指针150讲解_第1页
第1页 / 共17页
指针150讲解_第2页
第2页 / 共17页
指针150讲解_第3页
第3页 / 共17页
指针150讲解_第4页
第4页 / 共17页
指针150讲解_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《指针150讲解》由会员分享,可在线阅读,更多相关《指针150讲解(17页珍藏版)》请在金锄头文库上搜索。

1、指针1若有定义:int x,*pb; 则以下正确的赋值表达式是( )A*pb&x;Bpbx;Cpb&x;D*pb*x;参考答案C2执行以下程序后,a的值为main() int a,b,k4,m6,*p1&k,*p2&m;ap1&m;b(*p1)/(*p2)+7;printf(“a%dn”,a);printf(“b%d”,b); A1B1C0D4参考答案C3下面程序中调用scanf 函数给变量a输入数值的方法是错误的,其错误原因是( )main() int *p,q,a,b;p&a;scanf(“%d”,*p);A*p表示的是指针变量p的地址;B*p表示的是变量a的值,而不是变量a的地址C*p表

2、示的是指针变量p的值D*p只能用来说明p是一个指针变量参考答案B4若有int k2,*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的语句是( )Ak*ptr1+*ptr2;Bptr2k; Cptr1ptr2; Dk*ptr1*(*ptr2);参考答案B5变量的指针,其含义是指该变量的A值B地址C名D一个地址参考答案B6若有语句int *point a4;和point &a;下面均代表地址的一组选项是( )Aa,point,*&aB&*a,&a,*point C*&point,*point,&aD&a,&*point,point参考答案D7若有说明:int *p,m

3、5,n;下面正确的程序段是Ap&n; scanf(“%d”,&p); Bp&n;scanf(“%d”,*p);Cscanf(“%d”,&n); *pn; Dp&n;*pm;参考答案D8设char *s”ta017bc”;则指针变量s指向字符串所占的字节数是A9B5C6D7参考答案C9下面程序段中,for循环的执行次数是( )char *s”ta018bc”;for( ; s!0;s+) printf(“*”);A9B5C6D7参考答案C10下面能正确进行字符串赋值操作的是Achar s5“ABCDE”; Bchar s5A,B,C,D,E;Cchar *s sABCDE;Dchar *s; s

4、canf(“%s”,s);参考答案C11下面程序段的运行结果是( )char *s”abcde”;s+2;printf(“%d”,s);AcdeB字符c C字符的c地址D无确定的输出结果参考答案C12设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不正确执行的赋值语句是( )Ac*p1+*p2;Bp2c;Cp1p2;Dc*p1*(*p2);参考答案B13设有下面的程序段:char s”china”; char *p; ps;则下列叙述正确的是( )As和p完全相同B数组s中的内容和指针变量p中的内容相等C*P与s0相等Ds数组长度和p所指向的字符串长度相等参考答案C14下面程序段

5、的运行结果是( )char *format”%s,a%d,b%dn”;int a1,b10;a+b;printf(format,”a+b”,a,b);Afor,”a+b”,ab Bformat,”a+b”Ca+b,a11,b10 D以上结果都不对参考答案C15若有语句:char s1”string”,s28,*s3,*s4”string2”;则对库函数strcpy()的正确调用是Astrcpy(s1,”string2”); Bstrcpy(s4,”string1”);Cstrcpy(s3,”string1”); Dstrcpy(s2,s4);参考答案D16下面说明不正确的是Achar a10”

6、china”; Bchar a10,*pa;p”china”;Cchar *a; a”china”; Dchar a10,*p; pa”china”;参考答案D17若有说明语句 char a”It is mine”; char *p”It is mine”;则以下不正确的叙述是( )Aa+1表示的是字符t的地址;Bp指向另外的字符串时,字符串的长度不受限制;Cp变量中存放的地址值可以改变;Da中只能存放10个字符;参考答案D18若有定义 char s10; 则在下面表达式中不表示s1的地址是As+1Bs+ C&s0+1D&s1参考答案B19下面程序段的运行结果是( )char s6; s”ab

7、cd”; printf(“”%s”n”,s);A”abcd”B”abcd “C”abcd” D编译出错参考答案D20若有下面定义,则对a数组元素的正确引用是( )int a5, *pa;A*&a5Ba+2C*(p+5)D*(a+2)参考答案D21若有下面定义,则对a数组地址的正确引用是( )int a5, *pa;A&a0B&a+1 Cp+5D*a+1参考答案A22若有下面定义,则p+5表示( )int a10, *pa;A元素a5的地址B元素a5的值 C元素a6的值D元素a6的地址参考答案A23若有下面定义: char *cc2“1234”,”5678”;则正确的描述是Acc数组的两个元素中

8、各自存放了字符串“1234“和”5678“的首地址;Bcc数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址;Ccc是指针变量,它指向含有两个数组元素的字符型一维数组;Dcc数组元素的值分别是“1234“和”5678“;参考答案B24以下程序段给数组所有元素输入数据,空处应填入( )main() int a10,i0;while(i10) scanf(“%d”,_); Aa+iB&a+iCa+(i+) D&ai参考答案C25下面程序是把数组元素中的最小值放入a0中,则在if语句中应填入( )main() static int a103,5,3,4,5,6,65,345,2,45,*p

9、a, i;for(i0; i10; i+,p+)if(_) *a*p;Apa B*pa0C*p*a0D*p0*a0参考答案B26若有定义语句int (*p)M;其中的标识符p是AM个指向整型变量的指针;B指向M个整型变量 的函数指针;C一个具有M个整型元素的一维数组的指针变量;D具有M个指针元素的一维指针数组,每个元素都只能指向整型变量;参考答案C27下面叙述中不正确的是A预处理命令行都必须以#号开始;B在程序中凡是以#号开始的语句都是预处理命令行;CC程序在执行过程中对预处理命令行进行处理;D以下是正确的宏定义 #define IBM_PC参考答案C28下面叙述中正确的是A在程序的一行上可以

10、出现多个有效的预处理命令行;B使用带参 的宏时,参数的类型应与宏定义时的一致;C宏替换不占用运行时间,只占编译时间;D在以下定义中C R是称为“宏名”的标识符;参考答案C29设有int a =10,11,12,*p=&a0;则执行完*p+;*p+=1;后a0,a1,a2的值依次是A10,11,12B11,12,12C10,12,12D11,11,12参考答案C30若有以下说明和语句,int a=1,2,3,4,5,6,7,8,9,0, *p, i; p=a;且0=i10,则下面哪个是对数组元素地址的正确表示 。A&(a+1)Ba+C&pD&p i 参考答案D31若有以下说明和语句,int a1

11、0,*p1, *p2 ; p1=a; p2=&a5; 则p1-p2 的值为 。A4B5C6D没有指针与指针的减法参考答案B32已知有以下的说明:int a = 8,1,2,5,9,4,7,6,0,3 ; 则a*(a+a 3 ) 的值为 A9B5C0D1参考答案A33设有说明int k2=2,3,*p=&k0; 则下列错误的C语句是Ak+=1;Bp+=1;C*p+;D(*P)+;参考答案A34若有以下说明和语句,int a=1,2,3,4,5,6,7,8,9,0, *p, i; p=a;且0=i10,则下面哪个是对数组元素的错误引用 A* (a+i)Bap-aCp+iD* (& a i )参考答

12、案C35已知有以下的说明,float a3=1.2 ,45.6 ,-23.0 ; float *p=a ; 那么执行语句 a=p+a; 后,a 0 的值等于 A1.2B45.6C23.0D语句有错参考答案D36设有说明int s2=0,1,*p=s; 则下列错误的C语句是 As+=1;Bp+=1;C*p+;D(*P)+;参考答案A37设有说明int a=3,2,0,1,4,5,9,8,6;则a*(a+a4)的值为 A4B3C2D1参考答案A38若有下面程序段,则正确的输出是_。char *p=”break”, a10=a,b,c,d;printf(“%c,%c,%c,%c”,*(p+1),p2,*(a+2),a1);Ae,k,b,cBr,a,a,bCr,e,c,bD有语法错,无正确输出参考答案C39若有以下说明:int m=1,2,3,4,5,6,7,8,*p=m;则数值为7的表达式是A*p+7Bp+6C*p+=6D*(p+7)参考答案C40若有以下说明,且0=i5,则_是对数组元素的错误引用 。int a=10,20,30,40,50;int *p=a,i;A*(&ai)Bap+iC*(p+i)D*(a+i)参考答案B41假定P1和P2是已赋值的字符指针,则下述有关运算中,_是非

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号