2006年4月全国计算机等级考试二级C语言考前密卷2
来源:优易学  2011-11-20 16:32:00   【优易学:中国教育考试门户网】   资料下载   IT书店

26)下面程序的输出结果是__________。
  #define p1(x)printf(x)
  main()
  {
  char d[]。"p";
  pl(d);
  p1("d");
  }
  a)pd          b)d"d" 
  c)"p"d          d)"p""d"
  答案:a
  评析:带参数的宏定义的一般形式为:#define宏名(参数表)字符串
  程序中的pl(d);经宏置换后为printf(d);,所以输出字符串p;程序中的pl("d");经宏置换后printf("d")。  
(27)以下选项中,能定义s为合法的结构体变量的是__________。
  a) typedef struct abc
  {  double a;
  charb[10];
  }s;
  b) struct
  {  double a;
  char b[10];
  }s;
  c) struct abc
  {  double a;
  char b[10];
  }
  abc s:
  d) typedef abc
  {  double a;
  char b[10];
  }
  abc s:
  答案:b
  评析:定义一个结构体类型的变量,可采用三种方法:
  ①先定义结构体类型,再定义变量名;②在定义类型的同时定义变量:③直接定义结构类型变量,即不出现结构体名:选项b符合第三种定义方法。
  
(28)请读程序:
  #include
  #include
  main()
  {
  char*s1="abcdef", *s2="ab";
  s1++; s2++;
  printf("%d、n",strcmp(sl,s2));
  }
  上面程序的输出结果是________。
  a)正数         b)负数 
  c)零          d)不确定的值
  答案:a
  评析:strcmp(x1,x2)是串比较函数,本题中"s1"、"s2"分别表示这两个串中第一个字符的地址,s1++和s2++是将指针指向串的第二个字符,则*sl为"bcdef’’,*s2为"b"。在字符串比较中,大小的确定是各个字符串相应位置字符的ascii码值的大小决定的, sl>s2,返回值为正数。
  
(29)请读程序:
  #include
  main()
  {
  int a=5,b=7,c=9;
  printf("%d,%d,",a,b,c);
  printf("%d,%d,%d,"a,b);
  }
  上面程序的输出结果是________。
  a)5,7,9,5,7     b)5,7,5,7 
  c)5,7,不定,7,9    d)5,7,5,7,不定
  答案:d
  评析:printf函数按格式控制符的个数输出表列中对应的数据,若输出表列的个数大于格式控制符个数,则输出与格式控制符对应的输出表列的数据,输出表列中多的则省略;若格式控制符个数大于输出表列的个数,则输出与格式控制符对应的输出表列的数据,格式控制符多的部分输出的数据是随机的。
 (30)请读程序:
  #inciude
  func(int a,int b){
  int c;
  c=a+b:
  return c:
  }
  main(){
  int x=6,y=7,z=8,r;
  r=func((x--,y++,x+y),z--);
  printf("%d\n",r);
  }
  上面程序的输出结果是____

[1] [2] [3] [4] [5] [6] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训