第11周 指针一
1、【单选题】如有下面的语句说明, 则表达式 *(p+3) 的值是 ()。 int a[]={2,3,4,5,6,7}; int *p=a;
参考答案: 请先登录
2、【单选题】如有下面的语句说明, 则正确的赋值语句是 ()。 char a[10], *p=a;
参考答案: 请先登录
3、【单选题】若有程序段 int b[4],*p,*q; p=&b[1]; q=&b[3]; 则q-p表示的意义是()。
参考答案: 请先登录
4、【单选题】若有定义: float *p,m; , 则以下正确的表达式是()。
参考答案: 请先登录
5、【不定项选择题】若有以下语句,则&a[2]-p的值是()。 int a[3],*p=a;
参考答案: 请先登录
6、【问答题】若有定义:char ch,*p=&ch; 通过指针p用格式输出函数输出ch中字符的语句是______。
参考答案: 请先登录
7、【问答题】将字符数组s1中的字符串拷贝到字符数组s2中,并输出s2,请完善程序。 #include <stdio.h> int main() { char s1[80],s2[80],*p1,*p2; gets(s1); p1=s1; p2=s2; while(*p2++=*p1++); printf("s2=%s",________); return 0; }
参考答案: 请先登录
8、【问答题】如有变量的定义int i, *p=&i; 则表达式 p==&i的值是 。
参考答案: 请先登录
9、【问答题】若已定义char *p;,使指针p指向变量ch的赋值语句是______ 。
参考答案: 请先登录
10、【问答题】将输入的字符串按逆序输出,例如输入abcd,则按dcba顺序输出出来,请完善程序。 #include <stdio.h> #include <string.h> int main() { char *str, s[20]; int n; str=s; scanf("%s",str); n=strlen(str); while(--n>=0) { str=&s[____]; printf("%c",*str); } return 0; }
参考答案: 请先登录
11、【问答题】若有定义:char ch,*p=&ch; 通过指针p给变量ch读入字符的scanf调用语句是______。
参考答案: 请先登录
12、【问答题】若有定义:char ch,*p=&ch; 通过指针p给变量ch赋字符'a'的语句是______。
参考答案: 请先登录
13、【问答题】若有定义:char ch; 使指针p指向变量ch的定义语句是_______。
参考答案: 请先登录
14、【问答题】删除字符串的所有前导空格,请完善程序。 #include <stdio.h> void f1(char *s) { char *t; t=________; while(*s==’ ’) s++; while(*t++=*s++); } int main() { char str[80]; gets(str); f1(str); puts(str); return 0; }
参考答案: 请先登录
15、【单选题】如有下面的语句说明, 则执行语句for(i=0;*s++;i++); 后变量i的值是( )int i;char *s="a\n46\b";
参考答案: 请先登录