![c语言备考习题及部分答案_第1页](http://file4.renrendoc.com/view/44785db0f349f1d5d19bd0df72a56502/44785db0f349f1d5d19bd0df72a565021.gif)
![c语言备考习题及部分答案_第2页](http://file4.renrendoc.com/view/44785db0f349f1d5d19bd0df72a56502/44785db0f349f1d5d19bd0df72a565022.gif)
![c语言备考习题及部分答案_第3页](http://file4.renrendoc.com/view/44785db0f349f1d5d19bd0df72a56502/44785db0f349f1d5d19bd0df72a565023.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二、单选题已知int a[3][4], p = a; p += 6; A.零 B.负数 C.正数那么与*p的值相同的是(那么与*p的值相同的是(D。A)*(a+6)B)*(&a[0]+6)C)*(a[1]+2)D)*(&a[0][0]+6).12.以下程序的输出结果是(D 。* s1=* s1=%15s** s2=%-5s*有定义:int x,*p;,能使指针变量p向变量x的语句是(B 。
{ printf ", "chinabeijing");A) *p=&x; B) p=&x; printf ("\nC) *p=x; D) p=*&x;有定义x,*p1=&x, *p2;,则能得p2也指向x的语句是。A) *p2=&x; B) C) p2=*p1; D) p2=&p1;.4.有定义x,y=10,*p=&y;,则能使得x的值也等于10的语句是(D 。A) x=p; B) x=&p;x=&y; D) x=*p;有定义*p1,*p2;,则正确的赋值句为。A) p1*=p2; B) C) p1+=p2; D) p1+=3;有定义*p1,*p2;,则正确的赋值语句为(A 。A) p1=p2; B) C) p1+=p2; D) p1*=p2;.7.有定义:int a[5][4], *p=a[0];,则*(p+2*4+3)等于。A) a[2][0] B) a[2][1]C) a[2][2] D) a[2][3].8.有定义a[5][4], (*p)[4]=a;,数组a的首地址为等(D A)116 B) 118 C)120 D) 122.9.有定义:int a[5][4], (*p)[4]=a;,则*(*(p+2)+3)等于。A) a[2][0] B) a[2][1]C) a[2][2] D) a[2][3].10.有定义值为5的表达式是。A) p+=2, *p++ B) p+=2, C) p+=2, (*p)++ D) a+=2, *a. 11. 有如下定义:char*s1="AbCdE",*s2="aBcDe"; strcmp(s1+1,s2+1) 的值是(C)
", "chi" );}* s1 = chinabeijing_ _ _* (B) * s1 =chinabeijing_ _ _ ** s2 = * * chi * ;=chi_=chi__*) * s1 = * _ _ chinabeijing* (D)*s1=___chinabeijing**s2=__chi;*s2=chi__*;(13.若有intk=2;int*ptr1,*ptr2;ptr1=&k;ptr2=&k;(A)k=*ptr1+*ptr2ptr2=ptr1*2ptr1=*(ptr1+ptr2)ptr1=*ptr1*(*ptr2)设有如下的程序段:charstr[]="hello";char*ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为( B。(A)o'' (B) ''\0'' (C)不确定的值(D)''o''的地址若有以下定义和语句,则输出结果是(B。char printf("%d",strlen(sp));A) 12 B) 3 C) 1713对于基类型相同的两个指针变量之间不可进行的运算是。A)== B)= C)+ D)–已知:int *p( ); p是( D )。int型的指针变量int型的指针数组回值是int型int型的指针变量有定义:float 假定变量y为(A。D)A)为(A。D)A)100B) 101C)28.102 D) 103.19.有定义x,*p=&x;,则能为变量x正确赋值的语句是(B 。A) scanf(“%d”,x); scanf(“%d”,p);C) scanf(“%d”,*p); scanf(“%f”,&x);.20.有定义则能正输出变量x值的语句是(C 。A) printf(“%d\n”,*x); printf(“%d\n”,p);C) printf(“%d\n”,*p); printf(“%d\n”,&p);. 21. 有定义:int a[10], n,*p1=a,*p2=&a[9];,则正确的赋值语句为(A)A。n=p2-p1;B)n=p2*p1;C) n=p2+p1; D) n=p1/p2;.22.有定义:int a[5], *p1=a,*p2=p1;,则能够正确表示元素a[2]的是(。A) *(p2+2) B)p2+2C) *p1+2 D) *p2+2.23.有定义:int a[5],*p=a;,则不能表元素a[4]地址的是(B 。A) p+4 B) &a+4 C)&a[0]+4 D) a+4.24.有定义:int a[5],*p=a;,则不能表元素a[4的是( 。A) *(p+4) B) *(&a+4)C) *(&a[0]+4) D) *(a+4)25.有定义a[5], *p=a;,数组a的地址为100,则p+2等于(C 。A) 100 B) 102 C)
104 D) 106.26.有定义:int a[5], *p=a;,则*(p+2)等于(C 。A) a[0] B) a[1] C)a[2] D) a[3].27.有定义:int a[5][4], *p=a[0];,数a 的首地址为100,则p+2*4+3 等(D 。A) 116 B) 118 C) 120122有定义:int x, *p1=&x,**p2=&p1;,则能够表示变量x 值的是(D 。A) p1 B) p2 C)*p2 D) **p2.29.有定义char *s\tName\\Address”\n”;,那么strlen(s)等于(B 。A) 15 B) 16 C) 17D) 18.30.已知定义b[ 则执行y=*p++后,y的值应(A )。(A)1 (B)2 (C)3 (D)431.设有以下语句:charchar *strp[4]; int i;for(i=0;i<4;i++) strp[i]=str[i];若0<=k<4,下列选项中对字符串的非法用是(A )(A)strp (B)str[k] (D)*strp.32.假定ptr1和ptr2分别是指向某个字符串的指针,则在下列选项中非法的语句中( D)。(A)if(ptr1==ptr2) (B)*ptr1=48+(ptr1-ptr2);(C)*(ptr1+=2)=*ptr2;(D)*(ptr1-1+ptr2)=getchar();.33. 执行下列程序片段后,变量m是(A)int a[]={7,4,6,3,10};int for (k=0;k<5;k++)m=*(ptr+k),m?*(ptf+k):m;.34.下述程序执行后变量i的正确结果是 }(B ) A)5 B)4 C)int i; D)不确定char *s="a\045+045\''b"; 41.设有定义“int a=3,b,*p=&a;”,则下列for (i=0;*s++;i++) 语句中使b不为3的语句( B )。A.7 B.8 C.9 D.10 (A) b=*&a; (B) b=*a; (C)若有以下说明和语句,那么对c数组 b=a; (D) b=*p;元素的正确引用是(D 。 42.若要用下面的程序段使指针变量p指向int c[4][5],(*cp)[5]; 一 个cp=c;(A) cp+1 (B) (cp+3) (C)*(cp+1)+3 (D) *(*cp+2)设有如下程序:#include void main(){ int **k,*j,i=100;j=&i; k=&j;}上述程序的输出结果是(B 。运行错0 (B)100 (C)i的地址 (D)j的地址s[4]="cba";char*p;执行语句序列p=s;printf("%c\n",*p+1);后,其输出为(D。字符字符字符’a’D)字符已有定义intk=2;int*ptr1,*ptr2, 且ptr1和ptr2均已指向变量k ,下面不能正确执行的赋值语句(B )A) k=*ptr1+*ptr2; ptr2=k;C) ptr1=ptr2; D)k=*ptr1(*ptr;若有定义int i=2,a[10],*p=&a[i];则与*p++ 等价的是。A)a[i++] B)a[i]++ D)a[++i]以下程序的输出结果是(C 。void main(){ int p1=&a,p2=&p1;(*p1)++;printf("%d\n",**p2);
整型变量的动态存储单元:int*p;p= 则下画线上应填入(D )A)int B)int* C)(*int)D)(int*)43.若有说明:inti,j=7,*p=&i;则与i=j;等价的语句是(B)A)i=*P; B)*P=*&j; D)i=**p;44.有定义:inta[10][10],*p=a[0],j,k;,其j和k围内,那么能够正确引用元素a[j][k]值的是(A。A) *(a[j]+k) B) *((p+j)+k)C) *(p[j]+k) D) (a+j)+k.45.j和k围内,那么能够正确引用元素a[j][k]地址值的是(B。A)*(p+j)+k B)C)p[j]+k D)p+100.46.有定义:inta[10][10],(*p)[10]=a,j,k;,其中jk范围内,那么能够正确引用元素a[j][k]值的是(C。A) *(p+j*10+k) B) *(p+j)[k]C) *(*(p+j)+k) D) *p[j][k]47.有定义:int a[10][10],(*p)[10]=a,j,k;,其中j和k表示数组元下标并在数组允许范围内那么能够正确用元素a[j][k]地址值的是(D。A) p+j*10+k B) *p[j]+kC) p[j][k] D) p[j]+k48. 有定义:int a[4][10], 其中j和k示数组元素下标并在数组允许范围内那么 .50. 下列程序的输出结果(A )能够正确引用元素a[j][k]值的是。 #include "stdio.h"A) (*(p+j))[
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大数据金融项目建议书
- 昆虫记中的生命奥秘征文
- 太阳能光伏系统投资合同
- Pyridoxine-tri-2-hexyldecanoate-生命科学试剂-MCE
- Imidazole-salicylate-Standard-生命科学试剂-MCE
- 工业废水处理与循环利用项目合同
- 自卸车自愿租赁协议书
- 肉类供应购销合同
- 中学生如何克服困难的故事征文
- 项目收尾阶段的工作总结报告
- 财产保险招标评分细则表
- 培卵素是什么
- 《细菌》初中生物优秀教学设计(教案)
- PID烙铁恒温控制器设计与制作_图文
- ihaps用户手册
- 铁塔组立施工作业指导书抱杆计算
- 总生产成本年度比较表
- 新媒体运营全工作计划表(共2页)
- 2020河南中考化学试卷含答案
- 医疗器械全生命周期风险管理
- DNA甲基化检测技术
评论
0/150
提交评论