您现在的位置: 乐外网 >> 学历类 >> 自学考试 >> 历年真题 >> 2004年 >> 文章正文 用户登录 新用户注册
2004年10月自考“高级语言程序设计”试题         ★★★ 【字体:
2004年10月自考“高级语言程序设计”试题
作者:未知    文章来源:搜狐教育    点击数:    更新时间:2006-8-22
一、单项选择题(本大题共20小题,每小题1分,共20分)

  1.下列不正确的转义字符是( )

  A. ′\\′ B. ′\″

  C. ′\086′ D. ′\0′

  2.下列运算符中,优先级最高的是( )

  A.[] B.++

  C.% D.&&

  3.下列标识符中,不是C语言保留字的是( )

  A. char B. while

  C. min D. default

  4.下列数据中,不是C语言常量的是( )

  A. ′\n′ B. ″a″

  C. e-2 D. 012

  5.若定义了int a;char b;float c;,则表达式a*b-c的类型是( )

  A. float B. int

  C. char D. double

  6.若定义了int a,x,y;,则下列语句中不正确的是( )

  A. x=3,y=5; B. ++x;

  C. x=y+=x*30; D. a=y+x=30;

  7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是( )

  A.数组的长度 B.数组的首地址

  C. 数组第一个元素的值 D. 整个数组元素的值

  8.在C语言中,函数返回值的类型是由( )

  A.定义的函数类型决定 B.return语句中表达式的类型决定

  C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定

  9.若定义了int b[][3]={1 ,2,3,4,5,6,7};,则b数组第一维的长度是( )

  A. 2 B. 3

  C. 4 D.无确定值

  

  10.若定义了char ch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语

  句的输出结果是( )

  A. def B. d

  C. e D. 0

  11.若定义了x=100;,则表达式x++>100?x+20:x+10的值是( )

  A.110 B.111

  C.120 D.121

  12.执行printf(″%d\n″,strlen(″t\″066\xee\n″));语句的输出结果是( )

  A.7 B.12

  C.13 D.输出项不合法,无正常输出

  13.在函数中定义的局部变量,若未指定存储类别,则其隐含的存储类别是( )

  A. static B. anto

  C. extern D. register

  14.若定义了unsigned short a=32768;,则执行printf(″a=%d″,a);语句的输出结果是

  ( )

  A. a=-32768 B. a=-1

  C. a=32768 D.数据类型不一致,出错

  15.若定义了int m,n=0,*p1=&m;,则下列与m=n;等价的正确语句是( )

  A. m=*p1; B. *p1=&*n;

  C. *&p1=&*n; D. *p1=*&n;

  16.下列程序的运行结果是( )

    main( )

    {int a[][4]={1,3,5,7,9,11,13,15,17,19,21,23};

   int (*p)[4],i=2,j=1;

   p=a;

   printf(″%d\n″,*(*(p+i)+j));

  }

  A.9 B.11 C.17 D.19

  17.若有宏定义:#define MOD(x,y) x%y

  则执行以下语句后的输出结果是

  int a=13,b=94;

  printf(″%d\n″,MOD(b,a+4));

  A.5 B.7 C.9 D.11

  

  18.若定义了( )

    union

  { char a[10];

    short b[4][5];

    long c[5];

  }u;

  则执行printf(″%d\n″,sizeof(u));语句的输出结果是( )

  A.10 B.20 C.40 D.70

  19.若定义了( )

  enum color

  {yellow,green,blue=5,red,brone};

  则枚举常量yellow和red的值分别是

  A.0,3 B.0,6

  C.1,6 D.3,6

  20.若定义了( )

  struct num

  { int a;int b;

  }d[3]={{1,4},{2,5},{6,7}};

  则执行printf(″%d\n″,d[2].a*d[2].b/d[1].b);语句的输出结果是( )

  A.2 B.2.5 C.8 D.8.4

  二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

  21.一个C程序一般由若干个函数构成,其中至少应包含一个 函数。

  22.在Turbo C中,一个int型变量所能表示的数的范围是 。

  23.表达式10<<3+1的值是 。

  24.若定义了int a[10],*p;,将数组元素a[8]的地址赋给指针变量p的赋值语句是 。

  25.若定义了int a=1;,则执行printf(″%d\n″,((a=a+4,a+5),a+6));语句的输出结

  果是 。

26.在C语言中,整型常量的书写形式包括:八进制、十进制和 进制。

  27.在C语言中,一个双精度数-5.88在二进制文件里占用的字节数是 。

  28.C语言标识符的第一个字符必须为下划线或者 。

  29.在C语言中,当定义一个函数的类型为void时,说明执行该函数后 。

  

  30.若使用fopen函数打开一个新的二进制文件,对该文件进行读写操作,则文件使用方式字符串应该是 。

  三、程序分析题(本大题共5小题,每小题5分,共25分)

  

  阅读下列程序,将输出结果写到各题右侧的空白处。

  

  31.main( )

  {

   int a[3][3]={1,4,17,3,6,19,2,5,18},i,s=0;

   for (i=0;i<

   s=s+a[i][2-i];

   printf(″s=%d\n″,s);

   }

  32.main( )

    { int i;

  for(i=0;i<5;i++)

  switch(i%2)

   {case 0:printf(″1″);break;

    case 1:printf(″0″);

   }

    }

  33.main( )

  {

   int x=20,y=40,*p;

   p=&x;printf(″%d,″,*p);

   *p=x+10;

   p=&y;printf(″%d\n″,*p);

   *p=y+20;

   printf(″%d,%d\n″,x,y);

  }

  34.#include″string.h″

  struct worker

  {char name[15];

  int age;

  float pay;

  };

  main( )

  {struct worket x;

  char *t=″Lilei″;

  int d=20;float f=100;

  strcpy(x.name,t);

  x.age=d*2;x.pay=f*d;

  printf(″%s\t%d\t%.0f\n″,x.name, x.age,x.pay);

  }

  35.int f(int a)

  {

  int b=4

  static int c=4

  b++;

  c++;

  return(a+b+c);

  }

  main( )

  {

  int a=4,i;

  for(i=0;i<3;i++)

    printf(″%4d″,f(a));

  }

  四、程序填充题(本大题共3小题,每小题6分,共18分)

  

  给出下列程序,将横线处缺少的部分补上,使其能正确运行。

  

  36.求三个数中的最大值和最小值。

  void maxmin(a,b,c,m,n)

  int,a,b,c,*m,*n;

  { int t;

  if(a<

  if(a<

  if(b<

   =a; /*第一空*/

   =c; /*第二空*/

  }

  main( )

  {int a,b,c,max,min;

  printf(″Please input a b c:\n″);

  scanf(″%d%d%d″,&a,&b,&c);

  maxmin(a,b,c, );/*第三空*/

  printf(″a=%d,b=%d,c=%d\n″,a,b,c);

  printf(″max=%d,min=%d\n″,max,min);

  }

  37.下列程序的功能是:统计从键盘输入的字符($作为结束)中每个小写英文字母出现的个数,n[0]、n[1]、···、n[25]分别存放小写字母a、b、···、z。并输出统计结果。

  #include″stdio.h″

  main( )

  {int n[26]={0},k,char c;

  while(( )!= ′$′) /*第一空*/

  if(c>=′a′&&c<

    n[c ]+=1; /*第二空*/

  for(k=0; ;k++) /*第三空*/

    printf(″%c:%d\n″,k+′a′,n[k] );

  }

  38.从键盘输入一个字符串,判断其是否是回文。若是输出"Yes",否则输出"No"。回文是指正向、反向的拼写都一样。例如:ABCBA、aaaa等是回文;china、ABC等不是回文。

  #include ″stdio.h″

  main( )

  {char string[80];

  int i,j,n;

  gets (string);

  n= ; /*第一空*/

  j=n-1;

  for (i=0;i

  if (string [i]!=string[j]) ;/*第二空*/

  if( )printf(″Yes\n″); /*第三空*/

  else printf (″No\n″);

  }

  五、程序设计题(第39小题5分,第40、41小题各6分,共17分)。

  

  39.编写一个程序,用循环结构输出以下图形。(5分)

  &&&&&&&&&

  &&&&&&&

  &&&&&

  &&&

  &

  40.输入年份year,如果是闰年,则输出" Yes!",否则输出" No!"。(每400年有97个闰

  年,即在4的倍数年份中除去第100、200、300三个年份)(6分)

  41.在主函数中定义两个双精度变量x,y,并输入。利用函数交换两个双精度数x,y,并且

  要求函数的参数是指针类型。(6分)

文章录入:chuwa    责任编辑:chuwa 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    如何报名参加自学考试
    高等教育自学考试专业类型详…
    自考与普高同类证书效力相同
    自考生如何办理考研手续
    自考本科生能否考研?
    自考生报考2005年司法考试各…
    自考提升学历手册:自考生参加…
    如何避开自考中的招生陷阱
    自考之路:哪些青年适合选择…
    自学考试各专业课程的学分怎…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)