欢迎您访问重庆自考网!  今天是
当前位置: 主页 > 历年真题 >

全国2003年1月自考(课程代码:00342)高级语言程序设计(一)试题

2018-06-08 13:34来源:重庆自考网
全国2003年1月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
第一部分  选择题
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.属于C语言基本数据类型的是(     )
  A.指针型               B.无符号整型
  C.数组型               D.结构型
2.C语言的长整型数值在计算机中占用的字节个数是(     )
  A.1               B.2
  C.3               D.4
3.C语言中,″\x3d″在内存中占用的字节数是(     )
  A.1               B.2
  C.4               D.5
4.设int  x;则执行printf(″%x\n″,~x^x);的结果是(     )
  A.0               B.1
  C.ff              D.ffff
5.对于while语句,错误的说法是(     )
  A.用条件控制循环体的执行次数
  B.循环体至少要执行一次
  C.循环体有可能一次也不执行
  D.循环体中可以包含若干条语句
6.设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是(     )
  A.9,19               B.9,20
  C.10,19              D.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,7               B.6,7,8
  C.8,7,6               D.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[3][3]={1,2,3,4,5,6,7,8,9};
  则下面语句
   for(i=0;i<3;i++)
  printf(″%d″,x[i][2-i]);
  的输出结果是(     )
  A.147                   B.159
  C.357                   D.369
10.设int b[ ]={1,2,3,4},y,*p=b;
   则执行语句y=*p++;之后,变量y的值为(     )
  A.1                             B.2
  C.3                             D.4
11.设int a,*p;则语句p=&a;中的运算符“&”的含义是(     )
  A.位与运算                 B.逻辑与运算
  C.取指针内容               D.取变量地址
12.若函数能被其它编译单位引用,那么函数定义时的存储类型应选用(     )
  A.auto                  B.static
  C.extern                 D.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^3                   B.pow(a,3)
  C.a**3                  D.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[4];float b[3]};
                     char c[16];}aa;
   则printf(″%d\n″,sizeof(aa));的输出是(     )
  A.32                  B.16
  C.12                  D.8
17.数据-35.78在文本文件中占用的字节个数是(     )
  A.4                B.5
  C.6                D.8
18.在下列有关宏替换的叙述中,正确的说法是(     )
  A.宏替换占用运行时间
  B.宏名有类型
  C.带参数的宏替换和函数等价
  D.宏替换只是字符替换
19.下列程序的运行结果是(     )
     # define  A  5
     # define  B  A+1
     main( )
     {int a;
      a=B;
      printf(″%d\n″a--);
     }
  A.6               B.5
  C.4               D.出错
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[3][4]={{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[12];
    float score[3];
   {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[10],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 N  8
   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分)。
本自考试题WORD文档下载:
全国2003年1月自考(课程代码:00342)高级语言程序设计(一)试题

上一篇:全国2002年10月自考(课程代码:00342)高级语言程序设计(一)试题

下一篇:全国2003年10月自考(课程代码:00342)高级语言程序设计(一)试题