55.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),則以下正確答案為( A )。
main()
{int a[10], i=0;
while (i<10) scanf(“%d”, );
…
}
A) a+(i++)
B) &a[i+1]
C) a+i
D) &a[++i]
56.在下列敘述中,正確的一條是( B )。
A) 語句int *pt中的*pt是指針變量名
B) 語句int *p=a;等價于int *p; p=&a[0];
C) 運(yùn)算符*和&都是取變量地址的運(yùn)算符
D) 已知指針變量p指向變量a,則&a和*p值相同,都是變量a的值
57.下列語句執(zhí)行后的結(jié)果是( A )。
y=5; p=&y; x=*p++;
A) x=5,y=5
B) x=5,y=6
C) x=6, y=5
D) x=6, y=6
58.在下列語句中,其含義為“p為帶回一個指針的函數(shù),該指針指向整型數(shù)據(jù)”的定義語句是( A )。
A) int *p();
B) int **p;
C) int (*p)();
D) int *p;
59.在下面關(guān)于指針的說法中,錯誤的一條是( B )。
A) 變量的指針就是變量的地址
B) 可以將一個整型量或任何其他非地址類型的數(shù)據(jù)賦給一個指針變量
C) 一個指針變量只能指向同一個類型的變量
D) 指針變量中只能存放地址
60.在下列程序中,輸出結(jié)果與其它程序不同的是( D )。
A) main()
{int a[10];
int i;
for(i=0;i<10;i++) scanf(“%d”,&a[i]);
printf(“\n”);
for(i=0;i<10;i++) printf(“%d”,a[i]);
}
B) main()
{int a[10];
int i;
for(i=0;i<10;i++) scanf(“%d”,&a[i]);
printf(“\n”);
for(i=0;i<10;i++) printf(“%d”,*(a+i));
}
C) main()
{int a[10];
int i, *p;
for(i=0;i<10;i++) scanf(“%d”,&a[i]);
printf(“\n”);
for(p=a;p<(a+10);p++) printf(“%d”,*p);
}
D) main()
{int a[10];
int i, *p;
for(i=0;i<10;i++) scanf(“%d”,&a[i]);
printf(“\n”);
for(i=0;i<10;i++) printf(“%d”,*(p+i));
}
61.以下程序的輸出結(jié)果是( D )。
sub(int *s, int y)
{static int t=3;
y=s[t]; t--;
}
main()
{int a[ ]={1, 2, 3, 4}, n;
int x=4;
for(n=0; n<4; n++)
{sub(a, x); printf(“%d”, x); }
printf(“\n”);
}
A) 1234
B) 3333
C) 4321
D) 4444
62.以下程序的輸出結(jié)果為( B )。
#idefine FORMAT “%u, %u”
main()
{int a[3][4]={1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23};
printf(“\n”);
printf(FORMAT, **a, *a[0]);
printf(FORMAT, *(a[0]+1), *&a[0][1]);
printf(FORMAT, a[1][1], *(*(a+1)+1));
}
A) 3,3 5,5 9,9
B) 1,1 3,3 9,9
C) 1,1 3,3 5,5
D) 5,5 7,7 9,9
63.以下程序的輸出結(jié)果為(D )。
f(char *s)
{char *p=s;
while(*p!=‘\0’) p++;
return(p-s);
}
main()
{ printf(“%d\n”, f(“12345678”)); }
A) 12345678
B) 7
C) 1
D) 8
64.以下程序的輸出結(jié)果為( C )。
move(int array[6], int n, int m)
{int *p, array_end;
array_end=*(array+n-1);
for(p=array+n-1;p>array;p--)
*p=*(p-1);
*array=array_end;
m--;
if(m>0) move (array, n, m);
}
main()
{static int number[6]={1, 2, 3, 4, 5, 6};
int m=4, j;
move(number, 6, m);
for(j=0;j<5;j++)
printf(“%d,”, number[i]);
printf(“%d”, number[5]);
}
A) 1,2,3,4,5,6
B) 6,5,4,3,2,1
C) 3,4,5,6,1,2
D) 6,1,2,3,4,5
65.在下列敘述中,正確的一條是( B )。
A) 以下程序運(yùn)行結(jié)果為Computer and c:
main()
{char str[4];
str=“Computer and c”;
printf(“%s\n”, str);
}
B) 下面兩種表示方式等價
(1) int fun(int x,int y)
(2) int fun(x,y)
int x,y;
C) 若輸入1、2,以下程序的運(yùn)行結(jié)果為12
main()
{int *p,i,a[2];
p=a;
for(i=0;i<2;i++) scanf(“%d”,p++);
for(i=0;i<2;i++,p++) printf(“%d”,*p);
}
D) 以下程序的運(yùn)行結(jié)果為3
main()
{int *p,a[5]={1,3,4,5,6};
p=a;
printf(“%d”,*p++);
}
66.以下程序的輸出結(jié)果是( A )。
point(char *pt);
main()
{char b[4]={‘a(chǎn)’, ‘c’, ‘s’, ‘f’}, *pt=b;
point(pt);
printf(“%c\n”, *pt);
}
point(char *p)
{p+=3;
}
A) a
B) c
C) s
D) f
67.以下程序的輸出結(jié)果為( A )。
void move(int *pointer)
{int i, j, t;
for(i=0; i<3; i++)
for(j=i; j<3; j++)
{t=*(pointer+3*i+j);
*(pointer+3*i+j)=*(pointer+3*j+i);
*(pointer+3*j+i)=t;
}
}
main()
{int a[3][3]={1, 2, 3, 4, 5, 6, 7, 8, 9}, *p, i;
p=&a[0][0];
move(p);
for(i=0; i<3; i++)
printf(“%d%d%d”, a[i][0], a[i][1], a[i][2]);
}
A) 147258369
B) 123456789
C) 987654321
D) 127485639
68.以下程序的輸出結(jié)果是( A )。
sub(int x, int y, int *z)
{*z=y-x+2;}
main()
{int a, b, c;
sub(16, 7, &a); sub(9, a, &B); sub(a, b, &C);
printf(“%d, %d, %d\n”, a, b, C);
}
A) –7,-14,-5
B) –7,-16,-9
C) –7,-12,-9
D) –9,-14,-5
69.變量p為指針變量,若p=&a,下列說法不正確的是( D )。
A) &*p==&a
B) *&a==a C) (*p)++==a++
D) *(p++)==a++
70.若輸入10,以下程序的輸出結(jié)果是( B )。
#define MAX 50
main()
{int i, k, m, n, num[MAX], *p;
scanf(“%d”, &n);
p=num;
for(i=0; i *(p+i)=i+1; i=0; k=0; m=0; while(m {if(*(p+i)!=0) k++; if(k= =3) {*(p+i)=0; k=0; m++;} i++; if(i= =n) i=0; } while(*p= =0) p++; printf(“%d\n”, *p); } A) 10 B) 4 C) 50 D) 60 71.以下程序的輸出結(jié)果是( B )。 main() {char *alpha[5]={“a”, “bc”, “def”, “1”, “23”}, **p; int i; p=alpha; for(i=0; i<3; i++, p++) printf(“%s”, *p); printf(“\t”); p=p-3; for(i=0; i<3; i++, p++) printf(“%c\t”,**p); } A) abcdef d e f B) abcdef a b d C) abcdef 1 23 D) defabc 1 23
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |