C语言程序设计-电气-桂林电子科技大学

C语言程序设计-电气-桂林电子科技大学

开课学校:桂林电子科技大学授课老师:刘华东中国大学MOOC

第11周 指针一

1、【单选题】如有下面的语句说明, 则表达式 *(p+3) 的值是 ()。 int a[]={2,3,4,5,6,7}; int *p=a;

A. 3
B. 4
C. 5
D. 6

参考答案: 请先登录

2、【单选题】如有下面的语句说明, 则正确的赋值语句是 ()。 char a[10], *p=a;

A. a[10]=”VC++”;
B. a=”VC++”;
C. p=”VC++”;
D. *p=”VC++”;

参考答案: 请先登录

3、【单选题】若有程序段 int b[4],*p,*q; p=&b[1]; q=&b[3]; 则q-p表示的意义是()。

A. 表达式错误
B. p与q之间数据个数
C. p占据的字节数
D. p与q之间的字节数

参考答案: 请先登录

4、【单选题】若有定义: float *p,m; , 则以下正确的表达式是()。

A. p=&m
B. p=m
C. *p=&m
D. *p=*m

参考答案: 请先登录

5、【不定项选择题】若有以下语句,则&a[2]-p的值是()。 int a[3],*p=a;

A. 2
B. 3
C. 1
D. 不确定

参考答案: 请先登录

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";

A. 5
B. 6
C. 7
D. 8

参考答案: 请先登录