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

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

2015-02-09 10:42来源:重庆自考网
全国2006年10月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.以下属于C语言保留字的是(   )
A.fopen                                                         B.include
C.get                                                            D.unsigned
2.C语言中,错误的int类型的常数是(   )
A.1E5                                                           B.0
C.037                                                            D.0xaf
3.在C语言中,′a′和″a″存储所占用的字节数分别是(   )
A.1,1                                                          B.1,2
C.2,1                                                          D.2,2
4.对于数学表达式,正确的C语言表达式是(   )
A.2sqrt(x)+(a+b)/3sin(x)                                 B.2sqrt(x)+(a+b)/(3sin(x))
C.2*sqrt(x)+(a+b)/3/sin(x)                               D.2*sqrt(x)+(a+b/3*sin(x))
5.设int x=10, a=0, b=25;,条件表达式x<1?a+10︰b的值是(   )
A.0                                                               B.1
C.10                                                              D.25
6.C语言中,下列运算符优先级最高的是(   )
A.!                                                               B.%
C.>>                                                             D.= =
7.sizeof(double)是(   )
A.函数调用                                                   B.int型表达式
C.double型表达式                                         D.非法表达式
8.设有以下程序段:
     int a=1, b=10, c=1, x;
     x=a&&b||++c;
     printf(″%d, %d\n″,x,c);
     执行后输出的结果是(   )
A.0,0                                                          B.0,1
C.1,0                                                          D.1,1
9.设int x;,则以下语句中错误的输入是(   )
A.scanf (″%d″,x);
B.scanf (″%d″,&x);
C.scanf (″%o″,&x);
D.scanf (″%x″,&x);
10.设int(*P)();,p的含义是 (   )
A.指向一维数组的指针变量
B.指向二维数组的指针变量
C.指向一个整型变量的指针变量
D.指向整型函数的指针变量
11.在C语言中,运算符″=″和″==″的功能分别是(   )
A.关系运算和赋值运算                                  B.赋值运算和关系运算
C.都是关系运算                                            D.都是赋值运算
12.设int x[]={1,2,3,4,5},*p=x;,则值为3的表达式是(   )
A.p+=2, *p++                                                B.p+=2, *++p
C.p+=2, p++                                                  D.p+=2, ++*p
13.设for(i=0, j=10; (j>0)&&(i<4); i++, j--);,该语句的循环次数是(   )
A.0                                                               B.3
C.4                                                                D.无限
14.设函数定义如下:
     float f1 (float a, float b)
     {
     return (a+b);
     }
     若有float x=1.1, y=2.2;,则以下语句中正确的函数调用是(   )
A.printf (″%f″, f1(x));
B.printf (″%f″,f1(&x, y));
C.printf (″%f″,f1(*x,*y));
D.printf (″%f″,f1(x, y));
15.结构型变量占用内存的字节数是(   )
A.各成员占用内存字节数之和
B.第一个成员占用的内存字节数
C.占用内存最大成员所需的字节数
D.最后一个成员占用的内存字节数
16.设enum color {purple, black, red, white} d;, 若将d赋值为枚举常量red,则正确的是
(   )
A.d=(enum color)2;                                        B.d=(enum color)3;
C.d=″red″;                                                 D.d=color;
17.若main()函数带参数,参数个数最多是(   )
A.0                                                               B.1
C.2                                                                D.3
18.设宏定义#define PI 3.1415926,用宏名PI替换的是(   )
A.算术表达式                                                B.字符串
C.单精度实型数                                            D.双精度实型数
19.调用系统函数fabs时,应选用的文件包含是(   )
A.#include ″stdio.h″                                   B.#include ″string.h″
C.#include ″ctype.h″                                  D.#include ″math.h″
20.设
     struct st
     { int i;
       int j;
     } *p;
     main ( )
     {
       struct st m[ ]={{10, 1}, {20, 2}, {30, 3}};
       p=m;
       printf (″%d\n″,(*++p). j);
     }
     则程序的输出结果是(   )
A.1                                                               B.2
C.3                                                                D.10
二、填空题(本大题共10小题,每小题2分,共20分)
       请在每小题的空格中填上正确答案。错填、不填均无分。
21.C语言中,标准输入设备的文件指针名是___________________。
22.一个C语言程序的基本组成单位是___________________。
23.C语言中,&作为双目运算符表示的运算是___________________。
24.连接两个字符串的系统函数名是___________________。
25.设float a [4][5];,则数组a中第一维下标的最大值是___________________。
26.设char str [ ]=″book″;,则执行 printf (″%d\n″, sizeof (str));后输出的值是___________________。
27.设
     #define F(x) x*x
     main ( )
     { int a=3, b=4, c;
       c=F(a+b);
       printf (″%d\n″, c);
     }
     则程序执行后输出的值是___________________。
28.设int a; float b; char c; long d; double e; , 则表达式a/c-b+d-e值的类型是______________。
29.设
     int x=5;
     x+=x-=x+x;
     则执行printf (″%d\n″, x);后输出的值是___________________。
30.设
     union
     {
      int i; long j; char k;
     } t, *p=&t;
     则用指针法给t的成员i赋值为20的语句是___________________。
三、程序分析题(本大题共5小题,每小题5分,共25分)
       阅读下列程序,将输出结果写到各题右侧的空白处。
31.main (  )
       {int i, s=0;
        for (i=1; i<10; i+=2) s+=i+1;
       printf (″%d\n″, s);
       }
32.main ( )
       { int x=15, y=21, z=0;
         switch (x%3)
         {case 0: z++; break;
          case 1: z++;
          switch (y%2)
          {default: z++;
           case 0: z++; break;
          }
         }
         printf (″%d\n″, z);
      }
33.main( )
      { int a=0, b=5, c=3;
        while (c>0 && a<5)
          {b=b-1;
           ++a;
           c--;
          }
        printf (″%d, %d, %d\n″, a, b, c);
      }
34.int z=5;
      f ( )
      { static int x=2; int y=5;
        x=x+2; z=z+5;
        y=y+z;
        printf (″%5d%5d\n″, x, z);
       }
       main ( )
       { static int x=10; int y;
        y=z;
        printf (″%5d%5d\n″, x, z);
f ( );
        printf (″%5d%5d\n″, x, z);
        f ( );
      }
35.struct prob
      { char *a;
        int b;
      } x[ ]={ ″Zhang San″, 19, ″Li Si″, 21, ″Wang Wu″, 20};
      main ( )
      { int i, m1, m2;
        m1=m2=x[0].b;
        for (i=1; i<3; i++)
          if (x[i].b>m1)m1=x[i].b;
          else if (x[i].b<m2)m2=x[i].b;
        for (i=0; i<3; i++)
          if (x[i].b!=m1&& x[i].b!=m2)
            {printf (″%s:%d\n″, x[i].a, x[i].b);
             break;
            }
      }
四、程序填充题(本大题共3小题,每小题6分,共18分)
       给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0, 1, 2, ……, 10时各阶乘的值。
      计算公式: n!=
      long fac (int n)
      {
       if (________)return (1); /* 第一空 */
       else return ________; /* 第二空 /
   }
      main ( )
      {
       int m; long int fa;
       for (m=0; m<=10; m++)
       {
        ________; /* 第三空 */
        printf (″%d!=%1d\n″, m, fa);
       }
      }
37.使用二维数组形成并按下列形式输出数据
     
      main ( )
      { int i, j, ________; /* 第一空 */
        for (i=0; i<5; i++)
          for (j=0; j<5; j++) a [i] [j] =________; /* 第二空 */
        for (i=0; i<5; i++)
         {
          for (j=0; j<5; j++) printf (″%2d″, a [i] [j]);
          ________; /* 第三空 */
         }
      }
38.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str. dat中。
#include <stdio. h>
       main ( )
       {
         char ch; int sumch=0;
         FILE *fp;
         fp=fopen (″str. dat″, ″w″);
         while ((ch=getchar ( ))!= ________) /* 第一空 */
         {
          sumch ++;
          putchar (ch);
          fputc (________, fp); /* 第二空 */
         }
         printf (″sumch=%d\n″, sumch);
         fprintf (________, ″sumch=%d\n″, sumch); /* 第三空 */
         fclose (fp);
       }
五、程序设计题(本大题共3小题,第39小题5分,第40、41小题各6分,共17分)
39.为实型变量x输入一个值后,输出x的值、x的平方根、x的平方、x的立方根和x的立方。
40.输入三个整型数,找出其中数值最大者并输出。
41.根据Fibonacci数列公式:
         Fn=
      计算并输出sum=前20项之和。
自考试题WORD文档下载地址:
全国2006年10月自考(课程代码:00342)高级语言程序设计(一)试题

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

下一篇:全国2011年1月自考办公自动化原理及应用试题(课程代码:00346)