2013年计算机二级考试C语言课后习题(第八章)_第3页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年1月11日

  二、填空题

  8.13 以下程序段的输出结果是_____。

  int *var,ab;

  ab=100; var=&ab; ab=*var+10;

  printf("%d\\n",*var);

  答案:100

  8.14 以下程序的输出结果是_____。

  int ast(int x,int y,int *cp,int *dp)

  { *cp=x+y;

  *dp=x-y;

  }

  main()

  { int a,b,c,d;

  a=4; b=3;

  ast(a,b,&c,&d);

  printf("%d %d\\n",c,d);

  }

  答案:7 1

  8.15 若有定义:char ch;

  (1) 使指针p可以指向变量ch的定义语句是_____。

  答案:char *p=&ch;

  (2) 使指针p可以指向变量ch的赋值语句是_____。

  答案:p=&ch;

  (3) 通过指针p给变量ch读入字符scanf函数调用语句是_____。

  答案:scanf("%c",*p);

  (4) 通过指针p给变量ch的赋字符的语句是_____。

  答案:ch=*p;

  5) 通过指针p输出ch中字符的语句是_____。

  答案: printf("%c",*p);

  8.16 若有如图8.5所示五个连续的int类型的存储单元并赋值如图,且p和s的基类型皆为int,p已指向存储单元a[1]。

  (1) 通过指针p,给s赋值,使其指向最后一个存储单元a[4]的语句是____。

  答案: s=p+3;

  (2) 用以移动指针s,使之指向中间的存储单元a[2]的表达式是____。

  答案: s=s-2;

  (3) 已知k=2,指针s已指向存储单元a[2],表达式*(s+k)的值是____。

  答案: 50

  (4) 指针s已指向存储单元a[2],不移动指针s,通过s引用存储单元a[3]的表达式是____。

  答案: *(a+1)

  5) 指针s已指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是____。

  答案: 2

  6) 若p指向存储单元a[0],则以下语句的输出结果是____。

  for(i=0; i<5;i++) printf("%d ",*(p+i));

  printf("\\n");

  答案:10 20 30 40 50


首页 1 2 3 尾页

相关文章