首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 二级考试 >

2013计算机二级C语言练习题四(附答案)

2013-03-04 

  (26)下列程序是用来判断数组中特定元素的位置所在的。

  #include

  #include

  int fun(int *s, int t, int *k)

  { int i;

  *k=0;

  for(i=0;i

  if(s[*k]

  return s[*k]; }

  main()

  { int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;

  fun(a, 10, &k);

  printf("%d, %d\n",k,a[k]);}

  如果输入如下整数:876 675 896 101 301 401 980 431 451 777

  则输出结果为

  A)7,431 B)6 C)980 D)6,980

  (27)下面程序的文件名为t.exe,在DOS下输入的命令行参数为:t to meet me<回车>

  则程序输出的结果是

  #include "stdio.h"

  main(argc,argv)

  int argc;char *argv[];

  { int i;

  printf("%d\n",argc);}

  A)3 B)4 C)2 D)以上答案都不正确

  (28)有如下程序

  int a[10]={1,2,3,4,5,6,7,8,9,10};

  int *p=&a[3],b;b=p[5];

  则b的值是

  A)5 B)6 C)9 D)8

  (29)以下叙述中错误的是

  A)改变函数形参的值,不会改变对应实参的值 B)函数可以返回地址值

  C)可以给指针变量赋一个整数作为地址值 D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL

  (30)下面程序的输出结果是

  #include

  main()

  { int a[]={1,2,3,4,5,6,7,8,9,0},*p;

  p=a;

  printf("%d\n",*p+9);}

  A)0 B)1 C)10 D)9

  参考答案

  (26)D

  【解析】本题中直接使用指针变量k,但在使用时要注意对k的指针运算。此外,一开始应知道*k的值为数组中的某一下标值,即*k=0,本函数的功能是找出数组中的最大元素的位置及最大元素的值。

  (27)B

  【解析】 argc中存入的是命令行中字符串的个数。argv是一个指向字符型的指针数组的指针。

  (28)C

  【解析】 p=&a[3]将指针指向数组a的第4个元素,p[5]指向数组a的第9个元素,而a[8]=9,所以b=9。

  29)C

  【解析】函数形参和实参分别占用不同的内存单元,改变形参的值不会影响对应实参的值,选项A)正确。指针类型的函数可以返回地址值,选项B)正确。在文件stdio.h中,NULL被定义为void 型的指针,选项D)也正确。指针变量的值只能是存储单元地址,而不能是一个整数,选项C)错误。

  (30)C

  【解析】此题考查了指针引用一维数组元素的方法。*p+9因为运算符"*"的优先级高于"+",所以输出结果为p指向的元素1,然后加9,值为10。


热点排行