下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第10章指针数组字符串1.以下定义指向整型变量i的指针变量p,正确的是(4 )。int i,p=i; int i,*p=i; int i,p=&i; int i,*p=&i;2.int i,*p;以下表示将i的地址送入变量p的操作正确的是(4 )。*p=i; p=i; *p=&i; p=&i;3.int i,*p=&i;以下与&i不等价的是(1 )。*p *&p &*p p4.float *p;若p=(float *)2000;则执行完p+后p=(4 )。(float *)2000 (float *)2001 (float *)2002 (float *)20045.以下程序段不正确的是(4
2、)。#include stdio.h void main() char *s=Good!;printf(%s,s); #include stdio.h void main() char s80=Good!;printf(%s,s); #include stdio.h void main() char *s;s=Good!;printf(%s,s); #include stdio.h void main() char s80;s=Good!;printf(%s,s);6.以下程序段正确的是(2 )。#include stdio.h void p(char a) printf(%s,a);void
3、 main() char *s=Good!;p(*s); #include stdio.h void p(char *a) printf(%s,a);void main() char s80=Good!;p(s); #include stdio.h void p(char a) printf(%s,a);void main() char *s=Good!;p(s); #include stdio.h void p(char *a) printf(%s,a);void main() char s80=Good!;p(s80);7.与变量i等价的是(135 )。*&i &*i *&*&i &*&*
4、i *&*&*&i8.定义完int i=0,a10;后,以下表示地址的是(12345 )。&i&ai&*&iaa+i9.定义完int n=10,*p=&n;后,变量的地址和内容如下图所示,与n等价的是(123 )。(int *)2000 *(int *)3000) *&p或&*p或p或&*&n &p或(int *)3000 *&n或*(int *)2000)或*p或&*n10.定义完int n=10,a10,*p,*q=&n;后,可以对指针变量p赋值的表达式有(1245 )。&n或&a0 (int *) NULL q11.与while(*p)printf(%c,*p);p+;等价的语句有(12
5、45 )。while(*p)printf(%c,*p+); while(*p)printf(%c,*(p+); while(*p)printf(%c,(*p)+); while(*p)printf(%c,*p),p+; while(*p)printf(%c,*p),+p;12.要使以下程序运行结果输出: 7 ,则可以使用的表达式有(1245 )。#include stdio.h void main() int a5=1,3,5,7,9,*p=&a0; printf(%d,_);p3 *(p+3) *p+3 *(a+3) a313.要使以下程序运行结果输出a数组10个元素的值,则可以使用的表达式
6、有( 1345 )。#include stdio.h void main() int a10=0,1,2,3,4,5,6,7,8,9,*p=&a0,i; for(i=0;i10;i+)printf(%d,_);*p+ *a+ pi ai *(p+)14.要使以下程序运行结果输出a数组10个元素的值,则可以使用的表达式有(1345 )。#include stdio.hvoid main() int a10=0,1,2,3,4,5,6,7,8,9,*p=&a0,i; for(i=0;i10;i+)printf(%d,_); *p+ *a+ *(p+i)*(a+i)*(p+)15.要使以下程序运行结
7、果输出a数组10个元素的值,则可以使用的表达式有( 15 )。#include stdio.hvoid main()int a10=0,1,2,3,4,5,6,7,8,9,*p=&a0,i; for(i=0;i10;i+)printf(%d,_); *p+*(+p)(*p)+(*p) *(p+)16.要使以下程序运行结果输出a数组10个元素的值,则定义函数p()可以使用的有(12345 )。#include stdio.h /* 此处定义函数p() */void main()int a10=0,1,2,3,4,5,6,7,8,9; p(a); void p(int x )int i;for(i
8、=0;i10;i+)printf(%d,xi); void p(int x1)int i;for(i=0;i10;i+)printf(%d,xi); void p(int x10)int i;for(i=0;i10;i+)printf(%d,xi); void p(int *x)int i;for(i=0;i10;i+)printf(%d,xi); void p(int x20)int i;for(i=0;i10;i+)printf(%d,xi);17.已知int a10,i=1,*p=a;则与&ai是等价的有(12345 )。a+i &*(a+i) p+i &*(p+i) &pi18.以下程
9、序用于输出二维数组,在下划线处可填的表达式有(1235 )。#include stdio.h void main() int a34=0,1,2,3,4,5,6,7,8,9,10,11,i,j;for(i=0;i3;i+) for(j=0;j4;j+)printf(%2d ,_); printf(n);运行结果输出: 0 1 2 3 4 5 6 7 8 9 10 11 *(*(a+i)+j) *(ai+j) (*(a+i)j *(a+i)j aij19.以下程序用于输出二维数组,在下划线处可填的表达式有(1235 )。#include stdio.h void Pr(int (*p)4)int
10、 i,j;for(i=0;i3;i+)for(j=0;j4;j+)printf(%2d ,_);printf(n);void main() int a34=0,1,2,3,4,5,6,7,8,9,10,11; Pr(a);运行结果输出: 0 1 2 3 4 5 6 7 8 9 10 11*(*(p+i)+j) *(pi+j) (*(p+i)j *(p+i)j pij20.以下下划线处可以填的表达式有(125 )。#include stdio.h void f(int _ )int i,j; for(i=0;i3;i+)for(j=0;j4;j+)printf(%3d,pij); printf(
11、n);void main()int a34=1,2,3,4,5,6,7,8,9,10,11,12;f(a);运行结果输出: 1 2 3 4 5 6 7 8 9 10 11 12(*p)4 p 4 *p4 *(p4) p4421.以下程序用于输出字符串s的值,在下划线处不可填的表达式有(4 )。#include stdio.hvoid main()char _=Good!;printf(%s,s);运行结果输出:Good! s s10 *s s22.以下程序段中cpy()函数实现字符串复制,正确的是(2345 )。#include stdio.h void cpy(char *t,char *f
12、) for(;*f!=0;f+,t+)*t=*f;void main() char s10;cpy(s,Good!);printf(%s,s); #include stdio.h void cpy(char *t,char *f) for(;(*t=*f)!=0;f+,t+);void main() char s10;cpy(s,Good!);printf(%s,s); #include stdio.h void cpy(char *t,char *f) for(;*t=*f;f+,t+);void main() char s10;cpy(s,Good!);printf(%s,s); #inc
13、lude stdio.h void cpy(char *t,char *f) for(;*t+=*f+;);void main() char s10;cpy(s,Good!);printf(%s,s); #include stdio.h void cpy(char *t,char *f) while(*t+=*f+);void main()char s10;cpy(s,Good!);printf(%s,s);23.以下程序运行结果是:7,9_#include stdio.hvoid main()int a3=5,7,9,*p=&a1,x=*p+;printf(%d,%d,x,*p);24.以下
14、程序运行结果是:_7,8_#include stdio.hvoid main()int a3=5,7,9,*p=&a1,x=(*p)+; printf(%d,%d,x,*p);25.以下程序运行结果是:_5,7_#include stdio.hvoid swap(int x,int y)int t; t=x;x=y;y=t; void main()int a=5,b=7; swap(a,b); printf(%d,%d,a,b);26.以下程序运行结果是:_7,5_#include stdio.hvoid swap(int *x,int *y) int t;t=*x;*x=*y;*y=t;vo
15、id main()int a=5,b=7; swap(&a,&b);printf(%d,%d,a,b);27.#include stdio.hvoid main()int a=3,b=5,c=7,*p=&a,x; printf(%x,%x,%x,%xn,&a,&b,&c,p); p+;x=(*p)+; printf(%d,%d,%d,%d,%dn,a,b,c,*p,x);TC下运行结果输出:ffca,ffcc,ffce,ffca (这些都是变量的地址,具体因系统而异)_3,6,7,6,5_28.#include stdio.hvoid main()int a=3,b=5,c=7,*p=&b,x
16、; printf(%x,%x,%x,%xn,&a,&b,&c,p); p+;x=(*p)+; printf(%d,%d,%d,%d,%dn,a,b,c,*p,x);VC下运行结果输出:12ff7c,12ff78,12ff74,12ff78(这些都是变量的地址,具体因系统而异)_4,5,7,4,3_29.#include stdio.h void main() int i=5,j=4,k=3,*p=&i;printf(%d,%d,i,*p); p+; printf(%d,%d,i,*p); *p=*p+2; printf(%d,%d,%d,i,j,*p);TC下运行结果输出:_ 5,5,5,4,
17、5,6,6_30.#include stdio.h void main() int i=5,j=4,k=3,*p=&i; printf(%d,%d,i,*p); p-; printf(%d,%d,i,*p); *p=*p+2; printf(%d,%d,%d,i,j,*p);VC下运行结果输出:_ 5,5,5,4,5,6,6_31.#include stdio.h void main() int *p,n=10; p=&n; printf(%d,%dn,*p,n);运行结果输出:_10,10_32.#include stdio.h void main() char s80=How are yo
18、u?,*p;p=&s0;while(*p)printf(%c,*p);p+; 运行结果输出:_ How are you?_33.#include stdio.h void main() int a=10,b=12,c=14,d=16,*p=&a;printf(*p=%d,*(p+1)=%d,*(p+2)=%d,*(p+3)=%d,*p,*(p+1),*(p+2),*(p+3);TC下运行结果输出:_*p=10,*(p+1)=12,*(p+2)=14,*(p+3)=16_34.#include stdio.h void main()char s80=How are you?,*p; p=&s0;
19、 printf(%c%c%c,*p,*(p+1),*(p+2);运行结果输出:_ How _35.设int a10,*p;,则与p=&a0;等价的语句是_ p=a;p=a;_。36.int a10,*p=&a0;也可以表示成如下两条语句:int a10,*p;_ p _=&a0;37.以下程序运行结果输出:_25_#include stdio.h void p(int x )printf(%d,*x);x=x+3;printf(%d,*x);void main() int a10=0,1,2,3,4,5,6,7,8,9; p(a+2);38.以下程序运行结果输出:_9,8,7,6,5,4,3,
20、2,1,0,_#include stdio.h void p(int a ,int n)int i=0,j=n-1,t; while(ij)t=ai;ai=aj;aj=t;i+,j-;void main() int a10=0,1,2,3,4,5,6,7,8,9,i;p(a,10);for(i=0;i10;i+)printf(%d,ai);39.定义完int a10=1,3,5,7,9;后,sizeof(a)/sizeof(a0)的值为_10_。40.以下程序运行前如下图所示,则TC下运行后结果输出:_ Good,d _#include stdio.h#include string.hvoid
21、 main()char *p=OK,*s=Good;strcpy(p,s);printf(%s,%s,p,s);41.以下程序的作用是将变量a和b的内容互换并输出。运行后输入:1 25,则输出结果:25 1参考答案:#include stdio.h/*【*/void swap(int *x,int *y)/*】*/*【*/int z;/*】*/*【*/z=*x;*x=*y;*y=z;/*】*/void main()int a,b;scanf(%d %d,&a,&b);/*【*/swap(&a,&b);/*】*/*【*/printf(%d %d,a,b);/*】*/42.以下第空填入适当内容,第空填入4种应用形式.#include stdio.h void main()int s10=1,3,5,7,9,11,13,15,17,19; int i,*point; point=_; for(i=0;i10;i+)printf(%d ,_);运行结果输出:1 3 5 7 9 11 13 15 17 19 在处可以填入的内容有:_或_(按表达式长度从小到大)在处可以填入的内容有: si、_、_、_(按表达式长度从小到大);s ;&s0 ;*(s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校流动红旗奖惩制度
- 小学语文班级奖惩制度
- 完善两违治理奖惩制度
- 网络游戏奖惩制度规定
- 中交安全生产奖惩制度
- 幼师安全考评奖惩制度
- 中国国旅员工奖惩制度
- 交警考核办法奖惩制度
- 某小学安全工作奖惩制度
- 电商客服中差评奖惩制度
- 锅炉满水培训课件
- 放射科质控管理(技师组)
- 2026年江西单招新能源汽车技术专业基础经典题详解
- 手键拍发课件
- 2026春教科版(新教材)小学科学一年级下册(全册)教学设计(附教材目录)
- 小儿股静脉抽血课件
- 管理研究方法:逻辑、软件与案例 课件 第6章:社会网络分析及应用
- DB32∕T 5274-2025 聚氨酯硬泡体防水保温工程技术规程
- 2026年湖南有色金属职业技术学院单招职业技能考试题库附答案
- 数字普惠金融对于乡村振兴影响的实证分析-以河南省为例
- 2025年《教育管理》知识考试题库及答案解析
评论
0/150
提交评论