




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、指针习题及答案一.选择题1.变量的指针,其含义是指该变量的A)值B)地址BC)名2.已有定义int k=2;int *ptr1,*ptr2;且pt门和ptr2均已指向变量 k,D) 一个标志卜面不能正确执行的赋值语句是 BA) k=*ptr1+*ptr2B) ptr2=kC)3.若有说明:A) p=&n ;scanf(C) scanf(*p=n ;int *p,m=5,n;以下程序段正确的是B)"%d ,&p);"d,&n);D)ptr1=ptr2Dp = &n ;scanf( " %d' ,*p);p = &n ;
2、*p = m ;D) k=*ptr1*(*ptr2)4.已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的输出结果是D 。 void print_value(int *x) printf(A) 235.若有说明:“i%d ,+*x); B) 25D) 26int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是A) p1=&m; p2=&p1 ;C) p1=&m; p2=p1 ;B) p1=&m; p2=&n; *p1=*p2 ;D) p1=&m; *p1=*p2 ;6.若有语句:A) a,
3、p,*&aint *p,a=4;和p=&a ;下面均代表地址的一组选项是7.下面判断正确的是B) &*a,&a,*pCC) *&p,*p,&aD) &a,&*p,pA) B) C) D)char *a=" char str10= char *s="char c4=8.下面程序段中,char *s="for ( ; *s!=A) 9chin冷价于 char *a; *a=力 _l_ 力china“chir#价甘 char str10; str =chinsF价于 char *s; s=力 _l_ 力ch
4、ina“china;)“ abc” ,d4=等Obc”char c4=d4=for循环的执行次数是 018bc” ;”_ I”abc ( s+) printf( B) 6D) 59.下面能正确进行字符串赋值操作的是A) char s5="ABCDE ;C) char *s ; s= " ABCDE ;10.下面程序段的运行结果是Cchar *s= " abcde"s+=2 ; printf(" %d' ,s);A) cdeB)字符'c'11.设pl和p2是指向同一个字符串的指针变量,语句是A) c=*p1+*p2B) p
5、2=c12.设有程序段:char s =" china ”A) s和p完全相同B)D)C)char s5= ' A char *s; scanf(字符的地址,B,,,C,,,D,,,E,;"%s" ,s);D)不确定c为字符变量,则以下不能正确执行的赋值C) p1=p2;char *下而=!叙述正确的是D) c=*p1*(*p2)B)数组s中的内容和指针变量p中的内容相等C) s数组长度和p所指向的字符串长度相等D) *p与s0相等13.以下与库函数 strcpy(char *p1,char *p2)功能不相等的程序段是D。A) strcpy1(char
6、*p1,char*p2) while (*p1+=*p2+)!=) ; 'B) strcpy2(char *p1,char *p2) while (*p1=*p2)!=) p1+; p2+ C) strcpy3(char *p1,char *p2) while (*p1+=*p2+); D) strcpy4(char *p1,char *p2) while (*p2) *p1+=*p2+ ; 14.下面程序段的运行结果是C。char a =" language ” , *p ;p=a ;while (*p!=' u' ) printf( -32);"
7、p%+' ,*pA) LANGUAGEB) languageC) LANGD) langUAGE16 .以下与库函数 strcmp(char *s,char *t)功能相等的程序段是C。A) strcmp1(char *s,char *t) for ( ; *s+=*t+;)if (*s= = ) re turn 0 ;return (*s-*t);B) strcmp2(char *s,char *t) for ( ; *s+=*t+;)if (!*s) return 0 ;return (*s-*t);C) strcmp3(char *s,char *t) for ( ; *t= =
8、*s;) if (!*t) return 0 ; t+ ; s+ ; return (*s-*t);D) strcmp4(char *s,char *t) for ( ; *s=*t; s+, t+ )if (!*s) return 0 ;return (*t-*s);B) char a10,*p=a; p= " chinaD) char a10,*p; p=a= " china ;char *p= 则旗下而面确白叙述是17 .以下说明不正确的是DA) char a10=" china "C) char *a; a=" china "
9、18 .设有说明语句:char a=" It is mineA) a+1表示的是字符t的地址B) p指向另外的字符串时,字符串的长度不受限制C) p变量中存放的地址值可以改变D) a中只能存放10个字符19 .若已定义char s10;则在下面表达式中不表示s1的地址是BA) s+1B) s+C) &s+1D) &s120 .若有定义:int a5,*p=a;则对a数组元素的正确引用是D。A) *&a5B) a+) *(p+5)D) *(a+2)21 .若有定义:int a5,*p=a;则对a数组元素地址的正确引用是D 。A) p+5B) *a+) &
10、a+1D) &a022 .若有定义:int a23;则对a数组白第i行第j列元素值的正确引用是A 。A) *(*(a+i)+j)B) (a+i)jC) *(a+i+j)D) *(a+i)+j23 .若有定义:int a23;则对a数组白第i行第j列元素地址的正确引用是D ,A) *(ai+j)B) (a+i)C) *(a+j)D) ai+j24 .若有程序段:int a23,(*p)3; p=a;则对a数组元素地址的正确引用是。A) *(p+2)B) p2C) p1+1D) (p+1)+225 .若有程序段:int a23,(*p)3; p=a;则对a数组元素的正确引用是 C 。A)
11、(p+1)B) *(*(p+2)+1)C) *(p1+1)D) p1+226 .若有定义:int a5;则a数组中首元素的地址可以表示为C。A) &aB) a+) aD) &a127 .若有定义:int (*p)4;则标识符p C。A)是一个指向整型变量的指针B)是一个指针数组名C)是一个指针,它指向一个含有四个整型元素的一维数组D)定义不合法28 .以下与int *q5;等价的定义语句是C。A) int q5B) int *qC) int *(q5)D) int (*q)529 .以下正确的说明语句是B。A) int *b=1,3,5,7,9;B) int a5,*num5=
12、&a0,&a1,&a2,&a3,&a4;C) int a=1,3,5,7,9; int *num5=a0,a1,a2,a3,a4;D) int a34,(*num)4; num1=&a13;D) qi=&b00D) int b10;int *a=b+1;D) int a5int *p1,*p2=a;*p1=*p2;30 .若有定义:int b46,*p,*q4;且0W i<4®不正确的赋值语句是DA) qi=bi;B) p=b;C) p=bi;32 .若要对a进行自减运算,则a应有下面说明DA) int p3;B) int
13、 k;C) char *a3int *a=p;int *a=&k;33 .以下选项中,对指针变量p的正确操作是B 。A) int a3, *p;B) int a5, *p;C) int a5;p=&a;p=a;int *p=a=100;则数值不为3的表达式是B) p1=x+3,*p1+D) p1=x+2,*+p134.若有定义:int x10=0,1,2,3,4,5,6,7,8,9,*p1;A) x3C) p1=x+2,*(p1+)35.下面程序段的输出是Cint a =2,4,6,8,10,12,14,16,18,20,22,24,*q4,k;for (k=01; k<
14、4; k+) qk=&ak*3;printf("% d,q30);A) 8B) 20D)输出不合法36.若要对a进行自增运算,则a应具有下面说明D。A) int a32;B) char *a ="," ab" ;C) char (*a) 3D) int b10, *a=b;B) &a00+4*j+iD) &a00+6*j+I37 .若有定义int a46;则能正确表示a数组中任一元素 aij (i,j均在有效范围内)地址的 表达式 A。A) &a00+6*i+jC) &a00+4*i+j38 .下面程序的运行结果是
15、Bmain () int x5=2,4,6,8,10, *p, *pp ;p=x , pp = &p ;printf(" %d' ,*(p+);printf(" %3d' ,*pp);A) 4 4B) 2 ) 2 2D) 4 6则能够正确表示数组元素39.若有定义 int x43=1,2,3,4,5,6,7,8,9,10,11,12; int (*p)3=x ;x12的表达式是 DA) *(*p+1)2)C) *(*(p+5)40.若有说明:char *language=language2的值是BA) 一个字符B) 一个地址B) (*p+1)+2D)
16、 *(*(p+1)+2)“FORTRAN ," BASIC"," PASCAJ;"CJAVC)一个字符串D) 一个不定值41.设有定义:char *cc2=正正确的叙述是AA) cc数组的两个元素中各自存放了字符串“和”的首地址B) cc数组的两个元素分另存放的是含有4个字符的一维字符数组的首地址C) cc是指针变量,它指向含有两个数组元素的字符型一维数组D) cc元素的值分别维“和“OB)指向函数的入口地址D)表示函数返回值的类型42 .已有定义int (*p)();指针p可以A)代表函数的返回值C)表示函数的类型43 .已有函数max(a,b),为了
17、让函数指针变量p指向函数max,正确的赋值方法是AA) p=max;B) p=max(a,b);C) *p=max;D) *p=max(a,b);44 .若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是 C 或p(a,b) 。A) (*p)max(a,b) B) *pmax(a,b);C) (*p)(a,b);D )*p(a,b);45 .以下正确的叙述是C。A) C语言允许main函数带形参,且形参个数和形参名均可由用户指定B) C语言允许main函数带形参,形参名只能是 argc和argvC)当main函数带有形参时,传给形参的值只能从命令行
18、中得到D)若有说明:int main(int argc,char *argv),贝U argc 的值必须大于 1三.程序阅读题1 .写出下面程序的运行结果。5func(char *s,char a,int n) int j;*s=a; j=n ;while (*s<sj) j-;return j;main () char c6;int i ;for (i=1; i<=5 ; i+) *(c+1)=' A +i+1;printf("n%d,func(c,' E' ,5);2 .写出下面程序的运行结果。6fun (char *s) char *p=s;
19、while (*p) p+ ;return (p-s);main () char *a= " abcdef " printf("n% d ,fun(a);3 .写出下面程序的运行结果。abcdefglkjihsub(char *a,int t1,int t2) char ch;while (t1<t2) ch = *(a+t1); *(a+t1)=*(a+t2) ; *(a+t2)=ch ;t1+ ; t2-;main () char s12;int i;for (i=0; i<12 ; i+) si=' A +i+32 ;sub(s,7,11
20、);for (i=0; i<12 ; i+) printf (" %c' ,si);printf( n"");4 .当运行以下程序时,写出输入6/的程序运行结果。976531sub(char *a,char b) while (*(a+)!= );'while (*(a-1)<b)*(a-)=*(a-1);*(a-)=b;main () char s=" ,c;c = getchar ();sub(s,c); puts(s);5 .写出下面程序的运行结果。JavadBaseC LanguagePascalmain () cha
21、r *a="Pascal " ," C Language " ," dBase" ," Java" ;char (*p) ; int j ;p = a + 3 ;for (j=3; j>=0; j-) printf("r% s,*(-);四.程序填空题1 .下面函数的功能是从输入的十个字符串中找出最长的那个串,请填(2)空使程序完整。void fun(char str1081,char *sp) int i;*sp =【1 str0;for (i=1; i<10; i+)if (strlen (*sp)<strlen(stri) 2 *sp=stri;2 .下面函数的功能是将一个整数字符串转换为一个整数,例如:'转换为1234,请填(3)空使程序完整。int chnum(char *p) int num=0,k,len,j ;len = strlen(p);for (;【1*p!
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年休闲食品行业健康化转型下的市场拓展与品牌形象塑造策略研究报告
- 2025年食品与饮料行业:食品行业绿色环保包装应用报告
- 直肠癌临终病人的护理
- 人无信不立主题班会课件
- 乙醇水精馏塔设计
- 膝关节炎的中医护理措施
- 肾脏内科护理疑难病例讨论
- 游戏策划书模板范例3
- 亲子旅游景点行业跨境出海项目商业计划书
- 生物基材料降解性能研究行业跨境出海项目商业计划书
- 矿山采掘计划终稿
- 电磁场与电磁波电磁波的辐射
- 四羊方尊专题知识
- 【教案】 电源与电流 教学设计 -2022-2023学年高二上学期物理人教版(2019)必修第三册
- GB/T 40805-2021铸钢件交货验收通用技术条件
- GB 18401-2003国家纺织产品基本安全技术规范
- 《科研创新实践》课程教学大纲
- 报价单模板及范文(通用十二篇)
- 开发票申请单
- 五年级异分母分数加减法第一课时课件
- 学校食堂操作流程图
评论
0/150
提交评论