




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7单元 指针一 单项选择题1.若有以下定义,则对a数组元素的正确引用是_。int a5, *p=a;A)*&a5 B)a+2 C)*(p+5) D)*(a+2)2.若有以下定义,则对a数组元素地址的正确引用是_ 。int a5, *p=a;A)p+5 B)*a+1 C)&a+1 D)&a03.如下程序的执行结果是_。#include void main()static int a =1,2,3,4,5,6;int *p;p=a;*(p+3)+=2;printf(“%d,%dn “,*p,*(p+3);A)1,3 B)3,6 C)1,6 D)1,4void main()int x8=8,7,6
2、,5,0,0,*s;s=x+3;printf(%dn,s2);执行后输出结果是_。A) 随机值 B) 0 C) 5 D) 6int *p,a=10,b=1p=&a;a=*p+b;执行该程序段后,a的值为_。A) 12 B) 11 C) 10 D) 编译出错 6 若已定义a为int型变量,则是对指针变量p的正确说明和初始化。A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句:static int a=2,4,6,8static int *p=a,a+1,a+2,a+3;int *q;q=p;则表达式*(q+2)的值是。A 6
3、B 2 C 4 D 88 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该。A *px B a C px D &a9 若指针px为空指针,则。A px指向不定 B px的值为零 C px的目标为零 D px的地址为零 10 对下语句int *px10;,下面正确的说法是。A px是一个指针,指向一个数组,数组的元素是整数型。B px是一个数组,其数组的每一个元素是指向整数的指针。C A和B均错,但它是C语言的正确语句。D C语言不允许这样的语句。11 具有相同基类型的指针变量p和数组y,下列写法中不合法的是。A p=y B *p=yi C p=&yi D p=&y12
4、 已知static int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p; ,则表达式 *(p0+1)+*(q+2) 的值是。A 5 B 4 C 6 D 713.如下程序的执行结果是_。#include void main( )static int a 4=1,3,5,7,9,11,13,15,17,19,21,23;int (*p)4, i=1,j=2; p=a;printf(“%d n “, *(*(p+i)+j);A)9 B)11 C)13 D)1714 设有如下程序段char s20=Beijing,*p; p=s;则执行p=s;语句后,以下叙述正确的是。A 可以
5、用*p表示s0B s数组中元素个数和p所指字符串长度相等C s和p都是指针变量D 数组s中的内容和指针变量p中的内容相同15 设int型变量i、n均已定义,指针变量s1、s2各指向一个字符串。在for(i=0;in;i+)循环中,下列语句用以实现将s2所指字符串中前n个字符复制到s1所指字符串中,其中代码正确的是。A *s1+=*s2+; B s1n-1=s2n-1;C *(s1+n-1)=*(s2+n-1); D *(+s1)=*(+s2);16 给出下列程序的运行结果。#include void main() static char a=language,b=program;char *p
6、tr1=a,*ptr2=b;int k;for(k=0;k7;k+)if(*(ptr1+k)=*(ptr2+k) printf(%c,*(ptr1+k);A gae B ga C language D 有语法错误 17 以下程序执行后的输出结果是。void fun1(char *p) char *q;q=p;while(*q!=0) (*q)+; q+; main() char a=Program,*p;p=&a3; fun1(p); printf(%sn,a);A Prohsbn B Prphsbn C Progsbn D Program 18 以下程序执行后的输出结果是。void swap
7、(char *x,char *y) char t;t=*x; *x=*y; *y=t;main() char *s1=abc,*s2=123;swap(s1,s2); printf(%s,%sn,s1,s2);A 123,abc B abc,123 C 1bc,a23 D 321,cba 19 以下程序执行后的输出结果是。main() char *p=3697,2584;int i,j; long num=0;for(i=0;i2;i+) j=0;while(pij!=0) if(pij-0)%2) num=10*num+pij-0;j+=2;printf(%dn,num);A 35 B 37
8、 C 39 D 3975 20 下列程序运行后的输出结果是。void main() char str=The_Microsoft; int n=4;sub(str,0,n-1);sub(str,0,strlen(str)-1);printf(%sn,str);sub(str,n1,n2)char *str;int n1,n2; char c,*p;p=str+n2;str=str+n1;while(strp) c=*str; *str=*p; *p=c;str+; p-;A tfosorciMThe_ B. ehT_Microsoft C tfosorciM_ehT D. Microsoft_
9、The二 填空题1 以下程序的定义语句中,x1的初值是 ,程序运行后输出的内容是 。main() int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,*p4,i;for(i=0; i4; i+) pi=&x2*i+1; printf(%d, pi0); printf(n);2 以下程序的输出结果是 。void swap(int *a, int *b) int *t;t=a; a=b; b=t;main() int i=2,j=5,*p=&i,*q=&j;swap(p,q); printf(%d %dn,*p,*q)3 以下程序的输出结果是 。main()
10、int a5=2,4,6,8,10, *p;p=a; p+;printf(%d, *p);4 以下程序的输出结果是_。#define M 5#define N M+Mmain() int k;k=N*N*5; printf(%dn,k);5 若有定义语句:int a4=0,1,2,3,*p;p=&a1;则+(*p)的值是 。 6 若有定义:int a23=2,4,6,8,10,12;则*(&a00+2*2+1)的值是 ,*(a1+2)的值是 。7 若有程序段:int *p3,a6,i;for(i=0;i3;i+) pi=&a2*i ;则*p0引用的是a数组元素 ,*(p1+1)引用的是a数组元
11、素 。三 程序填空题1 下面函数的功能是从输入的十个字符串中找出最长的那个串,请填空使程序完整。void fun(char str1081,char *sp) int i;*sp = 【1】 ;for(i=1;i10; i+)if(strlen(*sp)strlen(stri) 【2】 ;2 下面函数的功能是将一个整数字符串转换为一个整数,例如:1234转换为1234,请填空使程序完整。int chnum(char *p) int num=0,k,len,j;len=strlen(p);for( ; 【3】 ; p+) k= 【4】 ; j=(-len);while( 【5】 ) k=k*10
12、;num=num+k;return (num);3 下面函数的功能使统计子串substr在母串str中出现的次数,请填空使程序完整。int count(char *str, char *substr) int i,j,k,num=0;for(i=0; 【6】 ;i+)for( 【7】 ,k=0;substrk=strj;k+,j+)if(substr 【8】 =0) num+ ; break ; return (num);4 下面函数的功能是用递归法将一个整数存放到一个字符数组中,存放时按逆序存放,如483存放成“384”,请填空使程序完整。void convert(char *a, int n) int i;if(i=n/10)!=0) convert( 【9】 ,i);else *(a+1)=0;*a= 【10】 ;四 程序编写1. 编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串。请用指针完成。2. 编写一函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆迁安置房交易合同及房屋产权继承约定
- 车辆维修后质量保障及过户合同范本
- 艺术品典当担保合同示例
- 设备租赁合同(20篇)
- 汽车租赁合同模板(18篇)
- 中国上市公司数智化指数报告(2012年至2023年)
- 人力资源外包服务合同与保密条款
- 集成电路设计开发合作合同
- 数字化农业技术推广与推广服务合同
- 个人与个人合同协议书
- 项目产出科技资源汇交方案
- 文稿成果pcb承认书
- 公司《质量管理标准化手册》
- (精华完整版)国家开放大学电大本科《农业生态学》网络课形考网考作业及答案
- 电子招生网站设计--网络课程设计
- 运动控制系统思考题参考答案阮毅
- 附件:10kV 及以下配网工程设计说明书(范本)
- 贝腾《创业总动员》客户端登录说明
- 电机维修报价单(共1页)
- 小品剧本《清考风波》
- 配料间管理制度(食品)
评论
0/150
提交评论