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

2013计算机二级考试C语言备考试题二(附解析)(3)

2013-01-28 

  (27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是

  A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);

  (28)有以下程序

  #include

  #define N 5

  #define M N+1

  #define f(x) (x*M)

  main()

  { int i1,i2;

  i1=f(2);

  i2=f(1+1);

  printf("%d %d\n",i1,i2);

  }

  程序的运行结果是

  A)12 12 B)11 7 C)11 11 D)12 7

  (29)若有以下说明和定义

  union dt

  { int a; char b; double c;}data;

  以下叙述中错误的是

  A)data的每个成员起始地址都相同 B)变量data所占内存字节数与成员c所占字节数相等

  C)程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000 D)data可以作为函数的实参

  (30)有以下程序

  #include

  main()

  {FILE *fp;int k,n,a[6]={1,2,3,4,5,6};

  fp=fopen("d2.dat","w");

  fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);

  fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);

  fclose(fp);

  fp=fopen("d2.dat","r");

  fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);

  fclose(fp);

  }

  程序运行后的输出结果是

  A)1 2 B)1 4 C)123 4 D)123 456

  (31)若已定义

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

  其中 则对a数组元素不正确的引用是

  A)a[p-a] B)*(&a[i]) C)p[i] D)a[10]

  (32)有以下程序

  #include

  void fun(int *s,int n1,int n2)

  { int i,j,t;

  i=n1; j=n2;

  while(i

  }

  main()

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

  fun(a,0,3); fun(a,4,9); fun(a,0,9);

  for(k=0;k<l0;k++)printf("%d",a[k]); p="" printf(?\n?);

  }

  程序的运行结果是

  A)0987654321 B)4321098765 C)5678901234 D)0987651234

  (33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为

  #include

  #include

  #include

  int fun (char *str)

  { int i,j=0;

  for(i=0;str[i]!=′ \0′;i++)

  if(str[i]!=′ ′)str[j++]=str[i];

  str[j]= ′\0′;

  }

  main()

  {

  char str[81];

  int n;

  printf("Input a string : ");

  gets(str);

  puts(str);

  fun(str);

  printf("%s\n",str);

  }

  A)asdafaaz67 B)asd af aa z67 C)asd D)z67

  (34)有以下程序

  int fun(int n)

  {if(n==1)return 1;

  else

  return(n+fun(n-1));

  }

  main()

  {int x;

  scanf("%d",&x); x=fun(x);printf("%d\n",x)

  }

  执行程序时,给变量x输入10,程序的输出结果是

  A)55 B)54 C)65 D)45

  (35)下面程序段中,输出*的个数是

  char *s="\ta\018bc";

  for(;*s!='\0';s++)printf("*");

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

  (36)C语言结构体类型变量在程序运行期间

  A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元 B)所有的成员一直驻留在内存中

  C)只有最开始的成员驻留在内存中 D)部分成员驻留在内存中

  (37)已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是

  A)一个整型变量,代表要读入的数据项总数 B)一个文件指针,指向要读的文件 C)一个指针,指向要读入数据的存放地址 D)一个存储区,存放要读的数据项

  (38)设有以下语句

  char x=3,y=6,z;

  z=x^y<<2;

  则z的二进制值是

  A)00010100 B)00011011 C)00011100 D)00011000

  (39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是

  A)auto和register B)extern和register C)auto和static D)static和register

  (40)设有定义语句int (*f)(int);,则以下叙述正确的是

  A)f是基类型为int的指针变量 B)f是指向函数的指针变量,该函数具有一个int类型的形参

  C)f是指向int类型一维数组的指针变量 D)f是函数名,该函数的返回值是基类型为int类型的地址

热点排行