版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、指针主要内容的习题及答案 选择题 1.变量的指针,其含义是指该变量的 A)值B)地址 B 。 D )一个标志 C)名 2.已有定义int k=2;int *ptr1,*ptr2; 且 ptrl 和 ptr2 均已指向变量k,下面不 能正确执行的赋值语句是 B 。 A) k=*ptr1+*ptr2B) ptr2=kC) ptr1=ptr2 D) k=*ptr1*(*ptr2) 3. 若有说明:int *p,m=5,n;以下程序段正确的是D。 A) p=B)p = seanf( %d”,seanf( %d”,*p); C) seanf( %d”,D)p = *p=n ;*p = m ; 4. 已有
2、变量定义和函数调用语句:int a=25;print_value(下面函数的输出 结果是 D。 void prin t_value(i nt *x) printf( %dn”,+*x); A) 23B) 24C) 25D) 26 5. 若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是 C。 A) p仁 p2=B) p仁 p2= *p1 =* p2 ; C) p仁 p2=p1 ;D) p仁 *卩仁*p2 ; 6. 若有语句:int *p,a=4;和p= *a=”ch in a”; B) char str1O= china”;等价于 char str1O; str =
3、china”; C) char *s=”china”; 等价于 char *s; s=”china” ; D) char c4=”abc,d4= ”abc”;等价于 char c4=d4= ”abc ; 8. 下面程序段中,for循环的执行次数是C。 char *s=”ta018bc”; for ( ; *s!= 0; s+) printf( *”); A) 9B) 7C) 6D) 5 9. 下面能正确进行字符串赋值操作的是_C。 A)char s5= ABCDE”;B)char s5= A,B, C)char *s ; s=”ABCDE ” ;D)char *s; scanf( %s”,s)
4、; 10. 下面程序段的运行结果是 _C。 char *s=”abcd6; s+=2 ; printf( %d”,s); A)cdeB)字符cC)字符c的地址D)不确 疋 11. 设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正 确执行的赋值语句是_B。 A) c=*p1+*p2B) p2=cC) p仁p2D) c=*p1*(*p2) 12. 设有程序段:char s =”china”;char *p ; p=s ;则下面叙述正确的是 D。 A) s和p完全相同 B) 数组s中的内容和指针变量p中的内容相等 C) s数组长度和p所指向的字符串长度相等 D) *p与s0相等
5、13. 以下与库函数strcpy(char *p1,char *p2)功能不相等的程序段是 D。 A) strcpy1(char *p1,char *p2) while (*p1+=*p2+)!= 0; B) strcpy2(char *p1,char *p2) while (*p 仁*p2)!= 0) 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 =”anguagW
6、, *p ; p=a ; while (*p!= ) printf( %c”,*p-32); p+ ; A) LANGUAGEB) IanguageC) LANGD) Ian gUAGE 16. 以下与库函数strcmp(char *s,char *t)功能相等的程序段是 C。 A) strcmp1(char *s,char *t) for ( ; *s+=*t+;) if (*s= = 0return 0 ; return (*s- *t); B) strcmp2(char *s,char *t) for ( ; *s+=*t+;) if (!*s) return 0 ; return (*
7、s- *t); C) strcmp3(char *s,char *t) for ( ; *t= =*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 ; retur n (*t-*s); 17. 以下说明不正确的是D。 A) char a10=”china”;B) char a10,*p=a; p=”china”; C) char *a; a=”china” ;D) char a10,*p; p=a= c
8、hina ; 18. 设有说明语句:char a= ” It is mine” ;char *p= ” It is mine” ;则以下 不正确的叙述是_D。 A) a+1表示的是字符t的地址 B) p指向另外的字符串时,字符串的长度不受限制 C) p变量中存放的地址值可以改变 D) a中只能存放10个字符 19. 若已定义char s10;则在下面表达式中不表示 s1的地址是 B。 A) s+1B)s+C) 则对a数组元素的正确引用是D。 A )* 则对a数组元素地址的正确引用是 D。 A) p+5B) *a+1C) 则对a数组的第i行第j列元素值的正确引用是 A。 A) *(*(a+i)+
9、j)B) (a+i)jC) *(a+i+j)D) *(a+i)+j 23. 若有定义:int a23; 则对a数组的第i行第j列元素地址的正确引用是_ D。 A) *(ai+j)B) (a+i) 24. 若有程序段:int a23,(*p)3; p=a; C) *(a+j)D)ai+j 则对a数组元素地址的正确引用 B) p2 C) p1+1 A) *(p+2) (p+1)+2 25. 若有程序段:int a23,(*p)3; p=a;则对a数组元素的正确引用是 C。 A) (p+1)0B) *(*(p+2)+1)C) *(p1+1)D) p1+2 26. 若有定义:int a5; 则a数组中
10、首元素的地址可以表示为 _C。 A)则标识符pC。 A) 是一个指向整型变量的指针 B) 是一个指针数组名 C) 是一个指针,它指向一个含有四个整型元素的一维数组 D) 定义不合法 28. 以下与int *q5;等价的定义语句是_C。 A) int q5B) int *qC) int *(q5)D) int (*q )5 29. 以下正确的说明语句是_B。 A) int *b=1,3,5,7,9; B) int a5,*num5= C) int a=1,3,5,7,9; int *num5=a0,a1,a2,a3,a4; D) int a34,(*num)4; num1= 30. 若有定义:i
11、nt b46,*p,*q4;且0W i4,则不正确的赋值语句是 D。 A) qi=bi;B) p=b;C) p=bi;D) qi=B) int k;C) char *a3D) int b10; in t *a= int *a=p; int *a=b+1; 33.以下选项中, 对指针变量p的正确操作是 Bo A) int a3, *p; B) int a5, *p; C) int a5; D) int a5 p= p=a; int *p=a=100; int *p1,*p2=a; *卩仁*p2; 34. 若有定义:int x10=0,1,2,3,4,5,6,7,8,9,*p1;则数值不为3的表达
12、式是 C。 A) x3B) p1=x+3,*p1+ C) p1=x+2,*(p1+)D) p1=x+2,*+p1 35. 下面程序段的输出是C。 int a =2,4,6,8,10,12,14,16,18,20,22,24,*q4,k; for (k=01; k4; k+) qk= printf( %dn”q30); A) 8B) 16C) 20D)输 出不合法 36. 若要对a进行自增运算,则a应具有下面说明_D。 A) int a32;B) char *a = 12”ab”; C) char (*a) 3D) int b10, *a=b; 37. 若有定义int a46; 则能正确表示a数
13、组中任一元素aij( i,j均在 有效范围内)地址的表达式Ao A) p=x , pp = printf( %d”*(p+); printf( %3d”*pp); A) 4 4B)2 4C) 2 2D) 4 6 39. 若有定义 int x43=1,2,3,4,5,6,7,8,9,10,11,12; int (*p)3=x ;则能够正确表 示数组元素x12的表达式是_D。 A) *(*p+1)2)B) (*p+1)+2 C) *(*(p+5)D) *(*(p+1)+2) 40. 若有说明:char *language=FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”;
14、J则 Ianguage2 的值是 B。 A )一个字符B )一个地址C) 一个字符串D )一 个不定值 41. 设有定义:char *cc2= 1234”,”5678”;则正确的叙述是 _A。 A) cc数组的两个元素中各自存放了字符串”1234”和”5678”的首地址 B) cc数组的两个元素分别存放的是含有 4个字符的一维字符数组的首地址 C) cc是指针变量,它指向含有两个数组元素的字符型一维数组 D) cc元素的值分别维”1234”和”5678” 42. 已有定义int (*p)(); 指针p可以 B。 A)代表函数的返回值B)指向函数的入口地址 C)表示函数的类型D )表示函数返回值
15、的类型 43. 已有函数max(a,b),为了让函数指针变量p指向函数max正确的赋值方法 是 A。 A) 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和ar
16、gv C) 当main函数带有形参时,传给形参的值只能从命令行中得到 D) 若有说明:int main(int argc,char *argv),则 argc 的值必须大于 1 三.程序阅读题 1. 写出下面程序的运行结果。5 fun c(char *s,char a,i nt n) int j; *s=a; j=n ; while (*ssj) j -; return j; mai n () char c6; int i ; for (i=1; i=5 ; i+) *(c+1)= +i+1; printf( %dn”,func(c,E,5); 2. 写出下面程序的运行结果。6 fun (ch
17、ar *s) char *p=s; while (*p) p+ ; return (p-s); mai n () char *a=”abcdef; printf( %dn”,fu n( a); 3. 写出下面程序的运行结果。abcdefglkjih sub(char *a,i nt t1,i nt t2) char ch; while (t1t2) ch = *(a+t1); *(a+t1)=*(a+12); *(a+t2)=ch ; t1+ ; t2-; mai n () char s12; int i; for (i=0; i12 ; i+) si= A+i+32 ; sub(s,7,11
18、); for (i=0; i12 ; i+) pri ntf ( %c”,si); printf( h”; 976531 4. 当运行以下程序时,写出输入6 /的程序运行结果 sub(char *a,char b) while (*(a+)!= 0); while (*(a- 1)=0; j -) printf( %sn”,*(p-); 四程序填空题 1. 下面函数的功能是从输入的十个字符串中找出最长的那个串,请填(2)空使程 序完整。 void fun( char str1081,char *sp) int i; *sp =【1str0】; for (i=1; i10; i+) if (strlen (*sp)strlen(stri) 【2】; 2. 下面函数的功能是将一个整数字符串转换为一个整数,例如:”-1234”转换为 1234,请填(3)空使程序完整。 int chnu m(char *p) int num=0,k,le n,j ; len = strle n(p); for (;【1】;p+) k=【2*p- 0】;j=(- len); while (【3j- !=0】)k=k*10 ; num = num + k ; return (nu m); 3. 下面函数的功能使统计子串
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 齐齐哈尔大学《教育研究方法》2023-2024学年第一学期期末试卷
- 股权协议 合同范本
- 齐齐哈尔大学《管理定量分析》2022-2023学年第一学期期末试卷
- 装修设计合同范本工装
- 2024届甘肃省临夏市高考模拟调研卷数学试题(二)
- 2024年消防安装工程协议样本详尽
- 房屋买卖交易合同范本
- 苏大成教计算机网络课程完整题目与答案
- 办公场所装修改造协议样本2024
- 2024年《习作他了》课件:写作教学的新篇章
- MOOC 葡萄酒文化与鉴赏-西北工业大学 中国大学慕课答案
- 交警进校园宣传安全
- 品牌卡通IP设计方法
- 审计部工作总结及计划
- 山东开放大学2024《控制系统CAD》形考作业1-3答案
- 小学生心肺复苏培训意义
- 大数据专业职业规划
- 人教版九年级上学期期中考试数学试卷及答案解析(共5套)
- 逆境中的积极心态与成就
- 山东省2023年高考物理模拟(一模、二模)试题知识点训练:电磁学解答题
- 门诊健康宣教 课件
评论
0/150
提交评论