全国2018年10月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共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<=2;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)
{2020年四六级考试时间
int b=4
static int c=4
b++;
c++;
return(a+b+c);