if( )*a=*p; printf(\,*a);
}
A) P>a B) *P>a[0] C) *P>*a[0] D) *P[0]>*a[0] B
63. 以下程序的输出结果是: #include
{char *a=\;int k; fun(a);puts(a); }
fun(char *s)
{int x,y;char c;
for(x=0,y=strlen(s)-1;x A) ihgfedcba B) abcdefghi C) abcdedcba D) ihgfefghi A 64. 以下程序的输出结果是 main() {char ch[3][4]={\,\,\,*p[3]; int i; for(i=0;i<3;i++) p[i]=ch[i]; for(i=0;i<3;i++) printf(\,p[i]); } A) 123456780 B) 123 456 780 C) 12345678 D) 147 C 65. 以下程序的输出结果是 #include int a[3][3]={1,2,3,4,5,6,7,8,9},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf(\,*p); } f(int *s,int p[ ][3]) {*s=p[1][1];} A) 1 B) 4 C) 7 D) 5 D 66. 以下程序的输出结果是: main() {char *s=\; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) {switch(s[k]) {case '1':i=0; case '2':i=1; case '3':i=2; case '4':i=3; } v[i]++; } for(k=0;k<4;k++) printf(\ \,v[k]); } A) 4 2 1 1 B) 0 0 0 8 C) 4 6 7 8 D) 8 8 8 8 B 67. 以下程序的输出结果是 #include main() { char *p1,*p2,str[50]=\; p1=\;p2=\; strcpy(str+1,p2+1);strcpy(str+3,p1+3); printf(\,str); } A) AfghdEFG B) Abfhd C) Afghd D) Afgd D 68. 若已定义:int a[9],*p=a;并在以后的语句中未改变P的值,不能表示a[1]地址的表达式是: A) p+1 B) a+1 C) a++ D) ++P C 69. 以下程序的输出结果是 main() { char a[10]={'1','2','3','4','5','6','7','8','9',0},*P; int i;i=8;p=a+i; printf(\,p-3); } A) 6 B) 6789 C) '6' D) 789 B 70. 下列程序执行后的输出的结果是 main() {int a[3][3],*p;p=&a[0][0]; for(i=0; i<9;i++) p[i]=i+1; printf(\} A) 3 B) 6 C) 9 D) 随机数 B 71. 下列程序执行后的输出的结果是 void func(int *a,int b[ ]){b[0]=*a+6;} main() {int a,b[5];a=0;b[0]=3; func(&a,b); printf(\} A) 6 B) 7 C) 8 D) 9 A 72. 下列程序运行后的输出结果是 void fun(int *x,int *y) {printf(\,*x,*y);*x=3;*y=4;} main() {int x=1,y=2; fun(&x,&y); printf(\} A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2 C 73. 下列程序的输出结果是 main() {int a[ ]={1,2,3,4,5,6,7,8,9,0},*P; p=a;printf( \,*p+9); } A) 0 B) 1 C) 10 D) 9 C 74. 以下程序运行后,输出的结果是 main() {char *s=\;s+=2;printf(\,s);} A) cde B) 字符C的ASCII码值 C) 字符C的地址 D) 出错 C 75. 现已定义:char b[5],*p=b;下列正确的赋值语句是 A) b=\; B) *b=\; C) p=\; D) *p=\; C 76. 现已定义:char s[10],*p=s;下列不正确的赋值语句是 A) p=s+5; B) s=[p+5]; C) s[2]=p[4]; D) *p=s[0]; B 77. 现有定义语句:char **s;下列正确的赋值语句是 A) s=\; B) *s=\; C) **s=\; D) *s='A'; B 78. 现有定义语句:char *p,* q;下列正确的赋值语句是 A) p*=3; B) p/=q; C) p+=3; D) p+=q; C 79. 说明语句\ (*p)();\的含义是 A) P是一个指向一维数组的指针变量 B) P是指针变量,它指向一个整型数据的指针 C) P是一个指向函数的指针,该函数的返回值为整型 D) 以上答案都不对 C 80. 下列程序段执行后,变量i的正确结果是 int i; char *s=\; for(i=0;*s++;i++); A) 7 B) 8 C) 9 D) 10 B 81. 已知定义\ a[ ]={1,2,3,4},y,*p=&a[1];\执行y=(*- -p)++后,y的值是 A) 0 B) 1 C) 2 D) 3 B 82. 已知定义\ b[ ]={1,2,3,4},y,*p=b;\执行y=*p++后,y的值是 A) 1 B) 2 C) 3 D) 4 A 83. 已知定义\char *a,b[5];\,并执行了a=malloc(80);之后, 以下语句中正确的是 A) scanf(\,*a); B) b=a; C) b=\; D) a=\; D 84. C语言的说明语句\ *p[5];\的 含义是 A) P是一个指针数组,其数组的每一个元素是指向字符的指针 B) P是一个指针,指向一个数组,数组的元素为字符型 C) A和B均不对,但它是C语言正确的语句 D) C语言不允许这样的说明语句 A 85. 若有以下说明和语句,且0<=i<10,则对数组元素的错误引用是 int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,i; p=a; A) *(a+i) B) a[p-a] C) p+i D) *(&a[i]) C 86. 若有以下说明和语句,且0 A) *(a+i) B) a[p-a] C) p+i D) *(&a[i]) C 87. 在以下说明中,标识符prt是 int (*prt)[3]; A) 说明不合法 B) 是一指针数组名,每个元素是一个指向整型变量的指针 C) 是一个指针,它指向一个具有三个整型元素的一维数组 D) 是一个指向整型变量的指针 C 88. 下列程序的输出结果是 #include {int a[ ]={1,2,3,4,5,6},*p; p=a; *(p+3)+=2; printf(\} A) 0,5 B) 1,5 C) 0,6 D) 1,6 D 89. 与以下说明语句等价的说明语句是 int *p[4]; A) int p[4]; B) int *p; C) int *(p[4]); D) int(*p)[4]; C 90. 若有说明语句\ a[4][10];\且0<=i<4,0<=j<10, 则对数组元素a[i][j]的错误引用是 A) *(&a[0][0]+10*i+j) B) *(a+i)[j] C) (*(*a+i)+j) D) *(a[i]+j) B 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言指针章节选择题(3)在线全文阅读。
相关推荐: