A、c=*p1+*p2; B、p2=c; C、p1=p2; D、c=*p1*(*p2) 150、 下面判断正确的是( )
A、char *a=”china”;等价于char *a;*a=”china”;
B、char str[10]={“china”};等价于char str[10];str[]={”china”}; C、char *a=”china”;等价于char *s;s=”china”;
D、char c[4]=”abc”,d[4]=”abc”;等价于char c[4]=d[4]=”abc”; 151、 下面能正确进行的字符串赋值操作的是( )
A、char s[5]={“ABCDE”};B、char s[5]={‘A’,’B’,’C’,’D’,’E’}; C、char *s;s=”ABCDE”; D、char *s;scanf(“%s”,s); 152、 若有以下定义,则对a数组元素的正确因用是( ) int a[5],*p=a;
A、*&a[5] B、a+2 C、*(p+5) D、*(a+2)
153、 若有定义:int a[2][3];则对a数组的第i行第j列元素值得正确引用为( ) A、*(*(a+i)+j) B、(a+i)[j] C、*(a+i+j) D、*(a+i)+j 154、 若有以下定义和语句,则对a数组元素地址的正确引用为( ) int a[2][3],(*p)[3]; p=a;
A、*(p+2) B、p[2] C、p[1]+1 D、(p+1)+2 155、 以下与int *q[5];等价的定义语句是( )
A、int q[5]; B、int *q; C、int *(q[5]) D、int (*q)[5]
156、 若有定义int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[4],k;则下面程序段的输出是( for(k=0;k<4;k++) q[k]=&a[k*3]; printf(“%d\\n”,q[3][0]);
A、8 B、16 C、20 D、输出项不合法,结果不确定 157、 语句int (*prt)();的含义是( )
A、prt是指向一维数组的指针变量 B、prt是指向int型数据的指针变量
C、prt是指向函数的指针,该函数返回一个int型数据
D、prt是一个函数名,该函数的返回值是指向int型数据的指针 158、库函数strcpy用以复制字符串。若有以下定义和语句:
char str1[]=”string”,str2[8],*str3,*str4=”string”; 则对库函数strcpy的不正确调用是( )
A、 strcpy(str1,”HELLO1”); B、 strcpy(str2,”HELLO2”); C、 strcpy(str3,”HEELO3”); D、 strcpy(str4,”HELLO4”); 159、若已定义:
int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中0<=i<=9,则对a数组元素的引用不正确的是( ) A、a[p-a] B、 *(&a[i]) C、p[i] D、*(*(a+i)) 160、以下程序段给数组所有元素输入数据,应在下划线处填入的是
A、a+(i++) B、 &a[i+1] C、a+i D、&a[++i] main()
{int a[10], i=0;
while(i<10)scanf(“%d”,___): ??}
161、以下程序的输出结果是( )
A、3 B、4 C、1 D、2
) main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a; printf(“%d\\n”,*(p+2) ); }
162、以下程序的输出结果是( )
A、不确定的值 B、3 C、2 D、 1 main()
{ int n[2]={0},i,j,k=2; for(i=0; i for(j=0; j 163、以下程序的输出结果是 ( ) A、 17 B、 18 C、 19 D、 20 main() { int a[]={2,4,6,8,10}, y=1, x,*p; p=&a[1]; for(x=0; x<3; x++) y+=*(p+x); printf(“%d\\n”,y); } 164、以下程序的输出结果是( ) A、 6 B、8 C、 4 D、2 main() { int a[]={2,4,6,8}, *p=a, i; for(i=0; i<4; i++) a[i]=*p++; printf(“%d\\n”,a[2]); } 165、以下程序的输出结果是( ) A、 720 B、120 C、24 D、6 f(int b[ ],int n) {int i,r=1; for(i=0;i<=n;i++) r=r*b[i]; return r;} main(){ int x, a[ ]={2,3,4,5,6,7,8,9}; x=f(a,3); printf(“%d\\n”,x);} 166、以下程序中若第一个printf语句输出的是194,则第二个printf语句的输出结果是(A、212 B、204 C、1a4 D、1a6 main() {int a[]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf(\printf(\ ) 167、以下程序的输出结果是 ( ) A、 4 4 B、2 2 C、2 4 D、4 6 main(){ int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf(\printf(\ 168、当运行以下程序时输入三行,每行都是在第一列上开始, 则程序的输出结果是 ( ) A、abcdef B、 a C、a D、a b b b c cd cdef d e f #include \#define N 6 main(){ char c[N]; int i=0; for(i=0;i int c[4][5], (*cp)[5]; cp=c; 则对c数组元素的引用正确的是( ) A、 cp+1 B、*(cp+3) C、*(cp+1)+3 D、*(*cp+2) 170、若已定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p=a[0]; 则能够正确表示数组元素a[1][2]的表达式是( ) A、 *((*prt+1)[2]) B、*(*(p+5)) C、(*prt+1)+2 D、*(*(a+1)+2) 171、若有定义和语句: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p[4], i; 则不能正确表示a数组元素的表达式是( ) A、a[4][3] B、p[0][0] C、prt[2][2] D、(*(p+1))[1] 172、以下程序的输出结果是( ) A、 23 B、 26 C、33 D、36 main() {int aa[3][3]={{2},{4},{6}},i,*p=&aa[0][0]; for(i=0;i<2; i++) {if(i==0) aa[i][i+1]=*p+1; else ++p; printf(\} printf(\ 173、以下程序的输出结果是( ) A、 60 B、68 C、99 D、108 main() {int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int (*p)[4]=a,i,j,k=0; for(i=0;i<3;i++) for(j=0;j<2;j++) k+=*(*(p+i)+j); printf(\} 174、以下程序的输出结果是( ) A、 1,5,9, B、1,4,7, C、3,5,7, D、3,6,9, main() {int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf(\ 175、若有定义语句int (*p)[M]; 其中的标识符p是( ) A、M个指向整型变量的的指针 B、指向M个变量的函数指针 C、一个行指针,它指向具有M个整型元素的一维数组指针 D、具有M个指针元素的一维指针数组,每个元素都只能指向整型量 176、以下能正确进行字符串赋值、赋初值的语句组是( ) A、 char s[5]={‘a’,’e’,’i’,’o’,’u’}; B、 char *s; s=”good!”; C、 char s[5]=”good!”; D、 char s[5]; s=”good”; 177、以下程序段的输出结果是( ) char str[ ]=”ABCD”,*p=str; printf(“%d\\n”,*(p+4)); A、 68 B、 0 C、 字符D的地址 D、不确定的值 178、以下程序段的输出结果是( ) printf(“%d\\n”,strlen(“ATS\\n012\\1\\\\”)); A、 11 B、 10 C、 9 D、 8 179、当运行以下程序是输入OPEN THE DOOR〈CR〉代表ENTER键),则输出结果是( A、Open tHE door B、open the door C、 OPEN THE DOOR D、Open The Door #include “stdio.h” char fun(char* c) ) { if(*c<=’Z’&&*c>=’A’) *c-=’A’-‘a’; return *c;} main() { char s[81]; *p=s; gets(s); while(*p) { p=fun(p); putchar (*p); p++;} putchar(‘\\n’);} 180、以下程序的输出结果是( ) A、GFEDCBA B、AGADAGA C、AGAAGAG D、GAGGAGA #include “stdio.h” #include “string.h” void fun(char *w,int m) {char s,*p1,*p2; p1=w; p2=w+m-1; while(p1 {s=*p1++; *p1= *p2--; *p2=s;} } main() { char a[ ]=”ABCDEFG”; fun(a,strlen(a)); puts(a);} 181、以下程序的输出结果是( ) A、ABCD B、 A C、 D BCD B C ABC CD C B AB D D A A main() { char s[ ]=”ABCD”, *p; for(p=s; p A、aa数组元素中的值分别是字符串”abcd” 和”ABCD” B、aa是指针变量,它指向含有两个数组元素的字符型一维数组 C、aa数组的两个元素分别存放的是含有四个字符的一维数组的首地址D、aa数组的两个元素中各自存放了字符’a’和’A’的地址 183、以下程序的输出结果是( ) A、6385 B、69825 C、63825 D、693825 main() {char ch[2][5]={“6937”,”8254”},*p[2]; int i,j,s=0; for(i=0; i<2; i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0; p[i][j]>’\\0’&&p[i][j]<=’9’; j+=2) s=10*s+p[i][j]-‘0’; D、 ABCD