您的位置:自考365 > 复习指导 > 笔记串讲 > 工学 > 2003年1月份全国高等教育自学考试高级语言程序设计(一)试题

2003年1月份全国高等教育自学考试高级语言程序设计(一)试题

2005-06-11 00:00   【 】【我要纠错

  课程代码:00342

  第一部分选择题

  一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

  1.属于C语言基本数据类型的是()

  A.指针型B.无符号整型

  C.数组型D.结构型

  2.C语言的长整型数值在计算机中占用的字节个数是()

  A.1B.2

  C.3D.4

  3.C语言中,″\x3d″在内存中占用的字节数是()

  A.1B.2

  C.4D.5

  4.设intx;则执行printf(″%x\n″,~x^x);的结果是()

  A.0B.1

  C.ffD.ffff

  5.对于while语句,错误的说法是()

  A.用条件控制循环体的执行次数

  B.循环体至少要执行一次

  C.循环体有可能一次也不执行

  D.循环体中可以包含若干条语句

  6.设int a=9,b=20;则printf(″%d,%d\n″,a-,-b);的输出结果是()

  A.9,19B.9,20

  C.10,19D.10,20

  7.执行下列语句

  int a=8,b=7,c=6;

  if(a<b)if(b>c){a=c;c=b;}

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

  后输出的结果是()

  A.6,7,7B.6,7,8

  C.8,7,6D.8,7,8

  8.设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么()

  A.x数组的长度等于y数组的长度

  B.x数组的长度大于y数组的长度

  C.x数组的长度少于y数组的长度

  D.x数组与y数组的存储区域相同

  9.设int i,x={1,2,3,4,5,6,7,8,9};

  则下面语句

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

  printf(″%d″,x[i][2-i]);

  的输出结果是()

  A.147B.159

  C.357D.369

  10.设int b[ ]={1,2,3,4},y,*p=b;

  则执行语句y=*p++;之后,变量y的值为()

  A.1B.2

  C.3D.4

  11.设int a,*p;则语句p=&a;中的运算符“&”的含义是()

  A.位与运算B.逻辑与运算

  C.取指针内容D.取变量地址

  12.若函数能被其它编译单位引用,那么函数定义时的存储类型应选用()

  A.autoB.static

  C.externD.register

  13.下面函数定义有错误的是()

  A.f1(x1,x2)B.f1(x1,x2)

  int x1,x2;int x1;int x2;

  {函数体}{函数体}

  C.f1(int x1,x2)D.f1(int x1,int x2)

  {函数体}{函数体}

  14.C语言中计算a3正确的表达是()

  A.a^3B.pow(a,3)

  C.a**3D.power(a,3)

  15.下列定义正确的是()

  A.anum t={a,b}x;B.enum t{1,2}x;

  C.anum {′+′,′-′}x;D.enum t{a,b}x;

  16.设有定义:union u{int a;float b};

  char c;}aa;

  则printf(″%d\n″,sizeof(aa));的输出是()

  A.32B.16

  C.12D.8

  17.数据-35.78在文本文件中占用的字节个数是()

  A.4B.5

  C.6D.8

  18.在下列有关宏替换的叙述中,正确的说法是()

  A.宏替换占用运行时间

  B.宏名有类型

  C.带参数的宏替换和函数等价

  D.宏替换只是字符替换

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

  # defineA5

  # defineBA+1

  main( )

  {int a;

  a=B;

  printf(″%d\n″a-);

  }

  A.6B.5

  C.4D.出错

  20.为了向二进制文件尾部增加数据,打开文件的方式应采用()

  A.″ab″B.″rb+″

  C.″wb″D.″wb+″

  第二部分非选择题

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

  21.设int y;执行表达式(y=4)||(y=5)||(y=6)后,y的值是______.

  22.设char ch=′A′;则printf(″%c″,(ch>=′A′ && ch<=′Z′)ch+32:ch);的值是_____.

  23.结构化程序设计的三种基本结构是:选择结构、循环结构和______.

  24.下列程序

  int x=3;

  do{printf(″%d″,-x);}while(!x);

  循环执行的次数是______.

  25.在C语言中,一个二维数组可以看成若干个______数组。

  26.设int a={{1,3,5,7},{2,4,6,8}};则*(*a+1)的值为______.

  27.若函数定义为

  int data()

  {float x=9.9;

  return(x);

  }

  则函数返回的值是______.

  28.设struct student

  {int no;char name ;

  float score;

  {s1,*p=&s1;。

  用指针变量p给s1的成员no赋值1234的方法是______.

  29.判断文本文件是否结束时使用的符号常量EOF的值是______.

  30.设有一个名为″myfile.c″的C程序,

  其主函数为mian(int argc,char *argv[ ])。如果在执行时,输入的命令行为

  myfile aa bb ↙

  则形式参数argc的值是______.

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

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

  31.fun(int x)

  {

  int y=0;

  static int z=3;

  z++;++y;

  return(x+y+z);

  }

  main( )

  {

  int I,x=2;

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

  printf(″%5d″,fun(x++));

  }

  32.main( )

  {

  int s=0,i;

  for(i=1;;i++)

  {

  if(s>50)break;

  if(i%2==0) s+=i;

  }

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

  }

  33.gcd(int m,int n)

  { if(m==n)return m;

  else if(m>n) return gcd(m-n,n);

  else return gcd(m,n-m);

  }

  main( )

  {

  printf(″Gcd=%d\n″,gcd(24,36));

  }

  34.# include<stdio.h>

  main( )

  {int i=0;

  char c,s&#;=″SABC″;

  while(c=s[i])

  {

  switch(c)

  {

  case ′A′:i++;break;

  case ′B′:++i;

  default:putchar(c);i++;

  }

  putchar(′*′);

  }

  }

  35.int a1=300,a2=400;

  main( )

  {int a3=100,a4=200;

  sub1(a3,a4);

  sub1(a1,a2);

  printf(″%d,%d,%d,%d\n″,a1,a2,a3,a4);

  }

  sub1(int x,int y)

  { a1=x;

  x=y;

  y=a1;

  }

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

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

  36.将十个整数输入数组,求出其平均值并输出。

  main( )

  {int i,a ,sum=0,*p=______;/*第一空*/

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

  { scanf(″%d″,p);sum+=______;/*第二空*/

  printf(″%8.2f\n″,______);/*第三空*/

  }

  37.输入一个无符号整数后求出它的各位数之和并输出。

  例如若输入123,则将各位之和6(即1+2+3)输出。

  ______f(num)/*第一空*/

  unsigned int num;

  { unsigned int k=0;

  do

  { k+=______;/*第二空*/

  num/=10;

  } while(num);

  ______;/*第三空*/

  }

  main( )

  {unsigned int n;

  scanf(″%d″,&n);

  printf(″%u\n″,f(n));

  }

  38.为数组输入数据,逆序置换后输出。(逆序置换是指:数组的首元素和末元素置换,第二个元素和倒数第二个元素置换,………)

  # define N8

  main()

  {int i,j,t,a[N];

  for(i=0;i<N,i++)scanf(″%d″,a+i);

  i=0;j=N-1;

  while(i<j)

  { t=*(a+i);________;/*第一空*/

  ______=t;/*第二空*/

  i++;______;/*第三空*/

  }

  for(i=0;i<N;i++)printf(″%5d″,*(a+i));

  }

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

  39.将100个整数输入数组后按每行10个数输出。

  40.计算e=1+ 的值并输出(设n=20)。

  41.生成Fibonacci数列的前20项并输出,其中

  fi=

 

本文转载链接:2003年1月份全国高等教育自学考试高级语言程序设计(一)试题

分享到:
  • 站内搜索
  • 课程搜索
  • 试题搜索

热门搜索:教材 报名 查分 免考 考试计划