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

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

2018-06-08 13:31来源:重庆自考网
全国2001年10月自考高级语言程序设计(一)试题 课程代码:00342
第一部分  选择题
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.C语言程序编译时,程序中的注释部分
   A.参加编译,并会出现在目标程序中
   B.参加编译,但不会出现在目标程序中
   C.不参加编译,但会出现在目标程序中
   D.不参加编译,也不会出现在目标程序中
2.下列表达式的值为0的是(      )
   A.3%5          B.3/5.0          C.3/5           D.3<5
3.正确的C语言用户自定义标识符是(      )
  A.print         B.float          C.when?         D.random%2
4.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是(      )
  A.0和2          B.0和3           C.1和2          D.1和3
5.下列叙述中,正确的是(      )
   A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致
   B.宏名必须用大写字母表示
   C.宏替换不占用运行时间,只占编译时间
   D.在程序的一行上可以出现多个有效的宏定义
6.下列保留字中用于构成循环结构的是(      )
   A.if           B.while           C.switch           D.default
7.与语句if(a>b)if(c>d)x=1;else x=2;等价的是(      )
   A.if(a>b){if(c>d)x=1;else x=2;}
   B.if(a>b){if(c>d)x=1;}else x=2;
   C.if((a>b)&&(c>d))x=1;else x=2;
   D.if(a<=b)x=2;else if(c>d) x=1;
8.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是
   A.x=a,y=97     B.x=97,y=a       C.x=97,y=97         D.x=a,y=a
9.设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是(      )
   A.2            B.3              C.4                 D.无确定值
10.执行下列程序
     int a[3][3]={{1},{2},{3}};
     int b[3][3]={1,2,3};
     main()
     {printf("%d\n”,a[1][0]+b[0][0]);}
     后输出的结果是
   A.0                B.1              C.2             D.3
11.设char str[100];int i=5;则引用数组元素的错误形式是(      )
   A.str[i+10]       B.*(str+i)         C.*(str+i-1)      D.*((str++)+i)
12.设int x[]={1,2,3,4,5,6},*p=x;则值为3的表达式是(      )
   A.p+=2,*++p        B.p+=2,*p++      C.p+=3,*p       D.p+=2,++*p
13.在函数内,定义变量时存储类型符可省略的是(      )
   A.auto              B.static            C.extern          D.register
14.执行下列程序(      )
    int a=3,b=4;
    void fun(int x1,int x2)
    {printf("%d,%d\n",x1+x2,b);}
    main()
    {int a=5,b=6;fun(a,b);}
    后输出的结果是
   A.3,4            B.11,1             C.11,4             D.11,6
15.设有定义语句
     struct
     {int a;float b;} d[3]={{1,4},{2,5},{6,7}};
  则printf("%3.1f\n",d[2].a*d[2].b/d[1].b);的输出是(      )
   A.2.5             B.2.0              C.8.0               D.8.4
16.设有定义语句:enum t1 {a1,a2=7,a3,a4=15}time; (     )
   则枚举常量a2和a3的值分别为
   A.1和2            B.2和3             C.7和2               D.7和8
17.将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是(      )
   A.2和2            B.2和5             C.5和2               D.5和5
18.在文件使用方式中,字符串"rb"表示(      )
   A.打开一个已存在的二进制文件,只能读取数据
   B.打开一个文本文件,只能写入数据
   C.打开一个已存在的文本文件,只能读取数据
   D.打开一个二进制文件,只能写入数据
19.执行下列程序(      )
   # define F(y) 15>>y
   #define PRINT(a)  printf("%d",a)
   main()
   {
   PRINT(F(2));
   }
   后输出的结果是
  A.3                B.3.5             C.14              D.7.5
20.main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为(      )
   A.int argv          B.char * argv[];    C.char argv[];       D.char **argv[];
第二部分  非选择题
二、填空题(本大题共10小题,每小题2分,共20分)
21.初始化值是0.618的双精度变量a的定义形式为____________。
22.表达式!10!=1的值是____________。
23.“20<x≤30”的C语言表达式是____________。
24.表达式a=1,a+=1,a+1,a++的值是____________。
25.设int i = 5;则循环语句while(i>=1)i--;执行后,i的值为____________。
26.被调函数在执行结束时,这个函数中定义的____________类型的变量不被释放。
27.设
   struct student
   {
   int no;
   char name[12];
   float score[3];
  }s1,*p=&s1;
  用指针法给s1的成员no赋值1234的语句是____________。
28.C语言程序中对文本文件的存取是以____________为单位进行的。
29.设char string[]="This_is_a_book!";则数组的长度应是____________。
30.设int a[2][3]={{2},{3}};则数组元素____________的值为3。
三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列程序,将输出结果写到各题右侧的空白处
31.int a=200;
   main()
   {int i;
   for(i=1;i<=5;i++)
    {a++;
     printf("%d,",a);
     s();
    }
   }
   s()
   {static int a=20;
    a++;
    printf(%d\n",a);
   }
32.# include "stdio.h"
   main()
   {char c;
    c=getchar();
   if(c>='a'&&c<='w'||c>='A'&&c<='W')c=c+3;
    else if(c>='x'&&c<='z')||c>='X'&&c<='Z')c=c-23;
    printf("%\n",c);
   }
   设从键盘上输入Next ↙
33.# define N 7
   main()
   {int i,j,temp,a[N]={1,2,3,4,5,6,7};
    for(i=0;i<N/2;i++)
      {j=N-1-i;
       temp=a[i];a[i]=a[j];a[j]=temp;
      }
     for(i=0;i<N;i++)printf("%5d",a[i]);
   }
34.struct porb
   {char *name;
    int count;
   }x[]={"Li ning",19,"Lang ping",21,"Zhu jian hua",20};
   main()
   {int i;
    for(i=0;i<3;i++)
          printf("%s:%d\n",x[i].name,x[i].count);
   }
35.main()
   {union
      {short a;char ch;
      }M;
       M.a=100;M.ch='A';
     printf("%d,%d,%c\n",sizeof(M),M.a,M.ch);
   }
四、程序填充题(本大题共3小题,每小题6分,共18分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.以下程序的功能是用选择法对数组a中的整数由小到大进行排序。
   void sort (int b[],int n)
   {int i,j,t;
    for(i=0;i<n-1;i++)
        for(__;i<n;i++)
         if(b[i]___b[j])
           {t=b[i];_________;b[j]=t;}
   }
   main()
   { int a[]={5,8,6,2,7,4,1,3};
     int i;
     sort(a,8);
     for(i=0;i<8;i++)
       printf("%5d",a[i]);
     printf("\n");
   }
37.输入一字符串(换行为结束标志)统计其中数字(0,1,2,…,9不单独统计)、空白和其它字符出现的次数。
   # include“stdio.h"
   main()
   {  char c;
      int_____________;
       while((c=getchar())!='\n')
      {
       if(________________)digit++;
       else if(c==''||c=='\t')++blank;
       else____________;
      }
      printf("digit=%d,blank=%d,other=%d\n",digit,blank,other);
   }
38.先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。
   main()
   { int i,x,a[10];
     for(i=0;i<10;i++)scanf("%d",___);
     scanf("%d",&x);printf("%d",x);
     for(i=0;i<10;i++)if(____________)break;
     if(i___10) printf(“position:%d\n”,i);
     else printf(" Not found! \n",x);
   }
五、程序设计题(第39小题5分,第40、41小题各6分,共17分)。
39.求出10至1000之内能同时被2、3、7整除的数,并输出。
40.求1到100之间的奇数之和及偶数之和,并将二者输出。
41.输入一字符串,检查是否回文(回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。
本自考试题WORD文档下载:
全国2001年10月自考(课程代码:00342)高级语言程序设计(一)试题

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

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